一个纯前端、零安装依赖的神经网络可视化训练工具。直接在浏览器中搭建并训练神经网络,实时观察 Loss 曲线、混淆矩阵和决策边界。
用浏览器打开 index.html 即可使用,无需安装任何环境。Loss 图表依赖 Chart.js(CDN 加载,含多源备用与离线降级提示),图表以外的所有功能离线可用。
- 支持回归(MSE)和分类(Softmax + Cross Entropy)两种任务
- 自由配置输入/输出维度,任意增删隐藏层
- 激活函数:ReLU / Leaky ReLU / Sigmoid / Tanh
- 优化器:SGD / Momentum / RMSProp / Adam
- 正则化:Dropout + L2 权重衰减
- 支持 He 初始化
- 训练集 / 测试集自动划分,可自定义比例
- 基于验证 Loss 的 Early Stopping
- 双 Y 轴 Loss + 准确率实时曲线(Chart.js)
- 分类任务自动生成混淆矩阵,含 Precision / Recall / F1-Score
- 2D 输入分类任务自动绘制决策边界
- WebGL 硬件加速开关
- 内置 6 个预设示例:XOR、非线性拟合、正弦曲线、鸢尾花分类、螺旋分类、四象限分类
- 手动添加 / 编辑训练数据
- 模型导出为 JSON(含权重、超参数、训练历史)
- 支持模型导入恢复
- 独立推理面板,分类任务显示各类别概率
- 深色主题,响应式布局,适配手机 / 平板 / 桌面
整体采用 特征提取 + MLP 分类/回归 的二段式结构:
输入 → [架构模块] → 特征向量 → MLP 隐藏层 → 输出层
架构模块支持四种可选方案:
| 架构 | 说明 | 可配参数 |
|---|---|---|
| MLP | 全连接,输入直通,不做额外特征变换 | — |
| CNN 1D | 一维卷积,适合信号峰值检测等局部特征提取 | 卷积核大小、滤波器数量 |
| RNN | 循环网络,将序列逐步编码为隐藏状态,适合时间序列预测 | 隐藏维度 |
| Attention | 多头自注意力 + 均值池化,适合全局依赖建模与波形分类 | 嵌入维度、注意力头数 |
架构模块与后续 MLP 联合训练,共享同一优化器和损失函数。分类任务输出层经过 Softmax 得到类别概率。
| 模块 | 说明 |
|---|---|
| 神经网络 | 纯 JavaScript 手写,前向传播 + 反向传播 |
| 架构模块 | 手写 CNN 1D / RNN / Multi-Head Self-Attention |
| 优化器 | 手写 Adam / Momentum / RMSProp / SGD |
| 图表 | Chart.js 4(CDN) |
| 样式 | 纯 CSS |
所有运算均在浏览器本地完成,数据不会上传到任何服务器。
├── index.html # 全部代码与 UI(单文件)
└── README.md