章节 01
导读 / 主楼:NeuralForge:从零构建神经网络引擎,TypeScript实现完整训练流程
一个纯TypeScript实现的神经网络引擎,不依赖任何ML库,完整实现反向传播、Adam优化器、He/Xavier初始化,并配有Vue 3实时可视化界面。
正文
一个纯TypeScript实现的神经网络引擎,不依赖任何ML库,完整实现反向传播、Adam优化器、He/Xavier初始化,并配有Vue 3实时可视化界面。
章节 01
一个纯TypeScript实现的神经网络引擎,不依赖任何ML库,完整实现反向传播、Adam优化器、He/Xavier初始化,并配有Vue 3实时可视化界面。
章节 02
章节 03
大多数开发者使用TensorFlow、PyTorch等机器学习框架时,往往将其视为「黑盒」——输入数据、调用API、获得结果,但对内部的运作机制缺乏深入理解。NeuralForge项目挑战了这一现状:它是一个完全从零开始、用纯TypeScript编写的神经网络引擎,不依赖任何机器学习库,完整实现了现代神经网络的核心算法。
这个项目不仅是一个学习工具,更是一个功能完整的神经网络训练系统,配有基于Vue 3的实时可视化界面,让用户能够直观地观察训练过程和决策边界的形成。
章节 04
NeuralForge实现了神经网络从底层到顶层的每个组件,每个模块都经过精心设计,代码清晰易懂:
章节 05
作为整个引擎的数学基础,Tensor类基于Float32Array实现行优先矩阵存储,支持:
这些基础操作构成了神经网络前向传播和反向传播的数学基石。
章节 06
实现了五种常用激活函数,每个都包含前向计算和解析导数:
每个激活函数的导数实现都经过仔细验证,确保反向传播时梯度计算的正确性。
章节 07
DenseLayer实现了全连接层的完整生命周期:
前向传播:
Z = X @ W + b // 线性变换
A = σ(Z) // 激活
反向传播(完整链式法则):
dZ = dA ⊙ σ'(Z) // 元素级乘以激活函数导数
dW = Xᵀ @ dZ / m // 权重梯度
db = sum(dZ) / m // 偏置梯度
dX = dZ @ Wᵀ // 向上游传播梯度
Adam优化器(带偏差校正):
m_t = β₁·m_{t-1} + (1-β₁)·g // 一阶矩估计
v_t = β₂·v_{t-1} + (1-β₂)·g² // 二阶矩估计
m̂ = m_t / (1-β₁ᵗ) // 偏差校正
v̂ = v_t / (1-β₂ᵗ)
w ← w - α · m̂ / (√v̂ + ε) // 参数更新
章节 08
将各层组合成完整的多层感知机(MLP),提供: