GEOSCIENCE DATA & AI

读懂神经网络可视化

实验指南 / NEURAL NETWORK

用几次可重复的小实验,观察输入特征、网络结构与学习过程之间的关系。

先认识实验台

数据
选择同心圆、XOR、双高斯或螺旋分类,也可以切换到平面、高斯曲面回归。这些都是二维合成数据。
输入特征
X₁、X₂ 是原始坐标,平方、乘积、正弦项是从它们计算得到的新特征。点击方块即可开启或关闭;至少保留一个输入。
隐藏层与连线
加减按钮调整网络结构。小热图表示神经元对二维空间的响应;连线粗细表示权重绝对值,橙色为负、蓝色为正。悬停可以查看,点击连线或偏置小块可以编辑数值。
输出与损失
散点表示真实标签,背景表示网络输出。测试数据不参与权重更新,用来观察模型对未参与训练数据的表现。损失是平均 ½(预测值 − 标签)²,不包含正则化惩罚,也不是分类准确率。

实验一:直线能分开同心圆吗?

  1. 选择“线性 vs 非线性”预设,先运行没有隐藏层、只用 X₁ 和 X₂ 的网络。
  2. 暂停并记录训练损失、测试损失和边界形状。
  3. 添加一个含 4 个神经元的隐藏层,保持数据种子与其他参数一致,再次训练。
  4. 比较两次结果:网络结构改变了什么?哪些圆环样本仍可能分错?

使用原始坐标时,同心圆无法由一条直线分开。非线性隐藏层可以帮助构建弯曲边界;收敛速度和最终结果仍取决于参数与训练过程。

实验二:给 XOR 一个新特征

  1. 选择“特征工程”,保持没有隐藏层,先仅使用 X₁、X₂ 训练。
  2. 暂停并记录结果,然后打开 X₁X₂ 输入,再次运行。
  3. 比较损失和边界。这个新特征为什么能区分两组对角象限?

加入乘积特征相当于改变数据的表示方式。这个实验可以帮助理解特征工程与模型复杂度之间的关系,不能据此推断所有问题都能用一个特征解决。

实验三:训练更好,测试也更好吗?

在演示页面下方选择“探索噪声与过拟合”,观察较少训练样本与噪声对两条损失曲线的影响。先记录结果,再增加 L2 正则化。每次只调整一个条件,比较相同训练轮次下的训练、测试损失。

训练损失下降不保证测试损失同步下降。一次随机划分的结果也不足以说明模型普遍有效;真实地学研究还需独立数据验证与领域解释。

保存实验记录

“复制实验链接”保存数据种子、网络结构和超参数,打开后从第 0 轮开始。“导出实验记录”保存当前参数、损失、轮次及真实权重的 JSON 快照;当前版本不支持导入权重继续训练。刷新页面不会恢复训练进度。

切到后台会暂停训练。如果学习率过大导致数值发散,页面会暂停并保留上一轮有效权重。降低学习率或简化网络后重新尝试。

建议记录这五项内容

问题与假设 → 数据与种子 → 网络与参数 → 训练 / 测试表现 → 对结果的解释。保存配置链接和导出记录,方便课堂讨论。

进入神经网络实验 ↗ ← 返回AI教学