AI 教学改革实践研究计划AI 教改实践研究计划 全国高等院校计算机基础教育研究会 ×实战云


AI 课件库 › 深度学习 › 神经元与前馈网络

神经网络游乐场

A Neural Network Playground · Google Big Picture 团队作品,2016(无配套论文)

在浏览器里搭一个前馈神经网络:加层、加神经元、调学习率,实时看损失曲线往下掉、决策边界怎么长出来。

适用
人工智能导论、机器学习基础、深度学习、神经网络原理
概念
神经元、前馈网络、隐藏层、激活函数、学习率、正则化、批量大小、特征工程
课时
入门 · 建议 25 分钟
网络
离线可用(不依赖外网,需能打开本站)

全屏打开实验 ↗ 原作源代码 ↗

交互实验(可直接投屏)

原作是一个完整的网页应用,下面直接嵌入;屏幕小或要投影时,点「全屏打开实验」更清楚。

动手三步

  1. 点左边的「运行」,看右上角测试损失一路掉下来(默认同心圆数据约 450 轮降到 0.001)
  2. 在「数据」列换成「双螺旋」再运行:同一个网络这次学不动,跑 1500 轮损失还卡在 0.4 到 0.5
  3. 点「+」加隐藏层和神经元,重新运行,看要加到多大才拟合得出螺旋
  4. 把学习率从 0.03 调到 1 再运行,看损失上下乱跳;调到 0.0001,看它慢得几乎不动
  5. 鼠标停在任意一条连线上会弹出「权重的当前取值」,点一下可以直接改成别的数字

课堂怎么用

  • 把「隐藏层」讲成看得见的东西:先只留 1 层 1 个神经元,让学生预测能不能分开同心圆,再逐个加上去
  • 学习率对照实验:0.0001 / 0.03 / 1 各跑 30 秒,全班一起看损失曲线的三种形状(太慢、稳降、发散)
  • 双螺旋只给两个原始特征要很深的网络才学得动,勾上 sin 特征两层就够,用来讲「特征选得好,模型可以很简单」
  • 接 A-06 感知机与 B-01 手写数字识别:从一个神经元到一层,再到能自己调结构

思考题

  1. 同样的网络,为什么能分开同心圆却分不开双螺旋?
  2. 学习率调大以后,损失为什么反而上下乱跳?
  3. 把正则化从「无」改成 L1 再训练,网络里的连线发生了什么变化?为什么说这是在做特征选择?

已知限制

  • 特征标签按数学记号保留原样,不翻译
  • 正文里的书名与团队名保留英文
  • 页面按 1024 像素宽设计,投影建议 1366×768 及以上,手机上会挤
  • 数据是二维合成数据,只能演示原理,不代表真实任务的难度
  • 原作的统计脚本已移除;「保存这个链接」的功能保留,可课前配好参数把网址发给学生

原作 A Neural Network Playground(Daniel Smilkov、Shan Carter 等(Google Big Picture 与 Google Brain 团队),Google Big Picture 团队作品,2016(无配套论文)),Apache-2.0 许可(原文),界面已中文化。

← 前馈神经网络:手写数字识别 反向传播可视化讲解 →

使用与数据说明 · 来源与许可