用 SQL 实现了一个神经网络
来源:github.com — 2026-07-13
📋 概述
一个极客实验:用纯 SQL 查询实现神经网络的前向传播。项目使用 Xarray-SQL(106 Stars),通过 SQL 的 JOIN、聚合和窗口函数来模拟矩阵乘法和激活函数——将深度学习最底层的运算翻译成数据库能理解的语言,在 Postgres 等关系数据库中运行推理。
🔑 核心要点
- Xarray-SQL 是底层引擎,支持用 SQL 语法查询多维数组数据集——桥接了关系数据库和科学计算
- 神经网络的前向传播本质是矩阵运算链:输入×权重→激活→下一层,每一步都可用 SQL 的 SELECT 和 JOIN 表达
- 使用递归 CTE(公用表表达式)实现多层网络的逐层计算,每层结果作为下一层的输入
- 激活函数(如 ReLU、Sigmoid)通过CASE WHEN语句在 SQL 中实现——条件判断即非线性变换
- 这个实验的价值在于概念验证:证明图灵完备的 SQL 确实能跑机器学习推理,尽管性能不是目标
- HN 讨论热点:数据库工程师们兴奋于"SQL 能做更多",而 ML 工程师们认为这是"优雅的徒劳"
💡 金句
当你在 SQL 里跑通一个神经网络,你就不再把它当数据库引擎看了——它是一台伪装成数据仓库的通用计算机。
← 返回 HN 首页