近日,一位开发者在 Hacker News 上展示了一个极具创意的开源项目,他竟然使用标准的 SQL 查询语言实现了完整的神经网络训练过程。通常,神经网络训练依赖于 Python 中的 PyTorch 或 TensorFlow 等深度学习框架,但该项目反其道而行之,利用数据库的 `JOIN` 操作和聚合函数 `SUM` 来模拟矩阵乘法,通过 CASE 语句处理激活函数,甚至在数据库层面完成了反向传播的梯度计算。该项目针对 Fashion-MNIST 数据集构建了一个多层感知机(MLP),输入层包含 784 个像素,通过隐藏层最终识别 10 类图像。代码显示,其核心逻辑在于将张量转换为关系表,每一层的数据被视为表中的一行。通过 `xarray-sql` 库,开发者能够将原本需要在 GPU 上并行计算的矩阵运算,转化为 SQL 引擎可以处理的批量数据查询。虽然这种“用大炮打蚊子”的方式在训练效率上无法与传统框架相比,但它不仅是一个有趣的“极客”挑战,更直观地展示了关系代数与线性代数之间的深刻联系,引发开发者对于数据库计算潜力的重新思考。
事件分析
💡 核心观点:用 SQL 查询重写神经网络算法,生动揭示了关系代数与线性代数的同构性,打破了 AI 开发的语言边界。
原文链接:Hacker News





