[P] 一个从零开始用 NumPy 构建的小型 MLP,带有一个 GUI 可以在训练时查看其内部(权重分布、每层的 t-SNE、神经元消融...)[P]

Reddit r/MachineLearning 工具

摘要

一个使用 NumPy 构建的教育工具,带有 GUI 可以可视化小型 MLP 的训练过程,包括权重分布、每层的 t-SNE 和神经元消融,旨在帮助学生和教师理解神经网络。

大家好,我构建了一个教育工具,可以展示小型 MLP 在训练过程中内部发生的情况,并希望从教授机器学习的人那里得到一些反馈。一切都是纯 NumPy 实现,没有自动梯度:手动反向传播、带动量的 SGD、L2 正则化、dropout、余弦衰减和 4 种激活函数。在 MNIST 上,使用完整训练集可以达到约 98.5% 的准确率。在训练过程中,你可以看到每个小批次和每个周期的损失、每层的梯度范数及不活跃神经元的百分比、当前权重分布与初始化时的对比,以及第一层的感受野。然后有:• 一个测试集的 PCA / t-SNE(也是用 NumPy 实现),逐层进行,从每个错误预测到它被混淆的数字的聚类画一条线 • 用于噪声和旋转的鲁棒性曲线,加上一个置信度阈值,显示覆盖率与准确率的对比 • 一个实验室,在这里你可以消融或重新缩放单个神经元、修剪、向权重添加噪声或改变 softmax 温度,测试准确率会立即更新。我希望它对从高中到机器学习入门课程的学生、自学的人以及想在课堂上展示网络的教师都有用。https://github.com/dev-luigi/neural-network-digits
查看原文

相似文章

以数据为中心的调试:面向训练神经网络的团队 [P]

Reddit r/MachineLearning

WeightsLab 是一个开源、PyTorch 原生的工具,允许团队在训练过程中暂停、检查实时损失信号,并在数据问题(如标签错误和类别不平衡)影响模型性能之前发现它们。它专为处理图像、视频和 LiDAR 点云的计算机视觉工程师而设计。