Zing 论坛

正文

NeuralForge:从零构建神经网络引擎,TypeScript实现完整训练流程

一个纯TypeScript实现的神经网络引擎,不依赖任何ML库,完整实现反向传播、Adam优化器、He/Xavier初始化,并配有Vue 3实时可视化界面。

神经网络TypeScriptVue 3反向传播Adam优化器机器学习深度学习可视化从零实现教育
发布时间 2026/06/14 08:45最近活动 2026/06/14 08:50预计阅读 3 分钟
NeuralForge:从零构建神经网络引擎,TypeScript实现完整训练流程
1

章节 01

导读 / 主楼:NeuralForge:从零构建神经网络引擎,TypeScript实现完整训练流程

一个纯TypeScript实现的神经网络引擎,不依赖任何ML库,完整实现反向传播、Adam优化器、He/Xavier初始化,并配有Vue 3实时可视化界面。

3

章节 03

项目概述

大多数开发者使用TensorFlow、PyTorch等机器学习框架时,往往将其视为「黑盒」——输入数据、调用API、获得结果,但对内部的运作机制缺乏深入理解。NeuralForge项目挑战了这一现状:它是一个完全从零开始、用纯TypeScript编写的神经网络引擎,不依赖任何机器学习库,完整实现了现代神经网络的核心算法。

这个项目不仅是一个学习工具,更是一个功能完整的神经网络训练系统,配有基于Vue 3的实时可视化界面,让用户能够直观地观察训练过程和决策边界的形成。


4

章节 04

核心实现:从零开始的神经网络组件

NeuralForge实现了神经网络从底层到顶层的每个组件,每个模块都经过精心设计,代码清晰易懂:

5

章节 05

1. Tensor类 —— 矩阵运算基础

作为整个引擎的数学基础,Tensor类基于Float32Array实现行优先矩阵存储,支持:

  • 矩阵乘法(matmul)
  • 矩阵转置(transpose)
  • 广播加法(broadcasting add)
  • Hadamard积(逐元素乘法)
  • Box-Muller算法生成正态分布随机数

这些基础操作构成了神经网络前向传播和反向传播的数学基石。

6

章节 06

2. Activation类 —— 激活函数与前向/反向传播

实现了五种常用激活函数,每个都包含前向计算和解析导数:

  • ReLU:线性整流,计算简单,梯度稀疏
  • Leaky ReLU:解决ReLU的「死亡神经元」问题
  • Sigmoid:将输出压缩到(0,1)区间,适合二分类
  • Tanh:输出中心化为零,梯度更稳定
  • Linear:恒等映射,用于回归任务

每个激活函数的导数实现都经过仔细验证,确保反向传播时梯度计算的正确性。

7

章节 07

3. Layer类 —— 全连接层与优化器

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̂ + ε)       // 参数更新
8

章节 08

4. Network类 —— 多层感知机

将各层组合成完整的多层感知机(MLP),提供:

  • 前向传播计算
  • 二元交叉熵损失(BCE loss,带ε裁剪保证数值稳定)
  • 反向传播
  • 训练步骤
  • 网络重置