← 返回课程 🛰️ E04 · 第6课 1986 年 · 人工智能简史 🧠 机器学习 · 神经网络派机器学习的一支:神经网络机器学习有两条路:一条是符号派「人写规则」,一条是神经网络「模仿大脑神经元连线、用数据训练」。神经网络这一支后来成了主流。层级:人工智能 ⊃ 机器学习 ⊃ 神经网络 ⊃ 深度学习本站在这一门里的位置:1986 年反向传播算法让多层网络终于能训练,神经网络从此有了「学习方法」。

🔁 反向传播:让神经网络学会纠错

🎯 理解 1986 年反向传播算法让多层神经网络能「向后纠错」,从错误中不断调整自己
1986 🔁 第 6 站 / 16 · 1986 年

反向传播:让神经网络学会纠错

「向后纠错」的魔法算法
🎯 本课目标:理解 1986 年反向传播算法让多层神经网络能「向后纠错」,从错误中不断调整自己

🕰️ 故事时间 · 那时候发生了什么?

1986 年 · 🔁
反向传播示意图:前向算出答案,再把误差从后往前传回每一层
反向传播——让「多层网络」真正学会的发动机:先算出答案,再把误差一层层倒着传回去,每层各自改一点权重。

🖼️ 图片来源:本课件自制示意图

📍 1947 · 背景
杰弗里·辛顿(Geoffrey Hinton)
杰弗里·辛顿(1947—),一直相信「让机器自己学」。Wikimedia Commons · CC BY-SA 4.0

1947 年,杰弗里·辛顿(Geoffrey Hinton)出生在伦敦一个「科学世家」里:他的曾曾祖父,正是发明了“布尔代数”的数学家乔治·布尔。他先在剑桥学心理学,又到爱丁堡研究「机器能不能像大脑一样自己学」。

那时大多数科学家相信:要把知识一条条写进电脑。辛顿偏偏相信另一条路——把很多层「人工神经元」叠在一起,让机器自己从例子里学

🧱 1969 · 一盆冷水
单层感知机只能画一条直线,多层网络用两条线就能分开
单层只能画一条线;多层叠起来,两条线就能分开。本课件自制 · 示意图

1969 年,明斯基和帕佩特出版了一本书《感知机》,指出一个严重的局限:单层感知机只能画一条直线,连「异或」都学不会(第 3 站我们见识过这个坑)。

那多叠几层呢?想法很美,可当时没人知道该怎么训练它——多层网络被当成一条走不通的死路,关注和经费都撕了。

❓ 难题 · 该怪哪一层
多层网络出错时很难判断该调整哪一层的权重
像传球接力:球掉了,到底该怪哪一层?本课件自制 · 示意图

就算把很多层叠起来,新问题马上冒出来:答案错了、负责的到底是第一层还是最后一层?每一层都可能有错,却看不清各自该改多少。

这个「责任分不清」的问题,把神经网络卡了将近 20 年。一直到 1986 年,才有人给出了一个漂亮的解法。

🧮 1970 · 数学地基
1970 年 Linnainmaa 提出反向模式自动微分:梯度沿计算图倒着算
把计算画成一张图,梯度就能倒着算。本课件自制 · 示意图

其实,「把误差倒着传」的数学工具早就有了。

1970 年,芬兰研究者 Seppo Linnainmaa 在他的硕士论文里提出了一种通用方法:把计算过程画成一张「图」,然后沿着箭头倒着走,就能高效地算出每一步的变化率(今天叫「反向模式自动微分」)。

这就是反向传播背后的算法引擎——只不过当时它还没有和「神经网络」连在一起。

💡 1974 · 第一次用在神经网络上
保罗·沃博斯(Paul Werbos)在 1991 年 IJCNN 会议上
保罗·沃博斯(Paul Werbos)。1974 年在博士论文里把它用到神经网络上。Rolf Kickuth · CC BY-SA 4.0 · Wikimedia Commons

把这个数学工具第一个用到人工神经网络上的,是美国研究者 Paul Werbos

1974 年,他在哈佛大学的博士论文里明确提出:用「反向传播误差」来训练多层网络。可惜那正是人工智能的冬天,这份开创性的工作几乎没人注意

思想已经在了,只是还在等一个被世界看见的时机。

📄 1986 · 提出
1986 年自然杂志论文:用反向传播学习表征,作者 Rumelhart、Hinton、Williams
1986 年 10 月 9 日,《自然》登出这篇论文。本课件自制 · 示意图

1986 年 10 月 9 日,杂志《自然》(Nature)登了一篇论文:「用反向传播学习表征」(Learning representations by back-propagating errors),作者是三个人:Rumelhart、Hinton、Williams

这篇论文把前人的数学工具和神经网络连在一起,讲得清楚、实验有力,「反向传播」这个名字从此传遍全世界::答案错了,就把误差从最后一层倒着传回去,逐层算出每个权重该改多少。它证明了多层网络能学到有用的内部表征,连单层怎么也学不会的「异或」也能解决——多层网络第一次真正「学」得起来。所以很多人把他们当作反向传播的「集大成者」。

⚙️ 原理 · 一招「反向纠错」
链式法则:误差从最后一层往回传,逐层算出每个权重该改多少
链式法则:每个权重都能算出自己该负多少责任。本课件自制 · 示意图

靠什么能一层层倒着算?密钥是数学里的链式法则:一个结果受谁影响、影响多大,可以一层层乘回去。

于是每个权重都知道了「我该改多少」,各自微调一点点。反复几万次之后,网络就真的学会了——这就是今天所有神经网络的学习方式。

❄️ 1987—1993 · 发展①
1987 到 1993 年第二次 AI 寒冬:经费与论文数量下滑,辛顿还在坚持
二度冬天:经费被砍、论文难发,他还在坚持。本课件自制 · 示意图

可惜好景不长。期待过高、承诺没兑现,投资人撕资、经费被砍,「神经网络」在申请里几乎成了禁区。1987—1993 年,正是第二次「AI 冬天」。

1987 年,辛顿干脆搬到了加拿大,因为那里还有人愿意支持「让机器自己学」。他像一团小火苗,在漫长的冬天里安静地烧着——一烧,就是好几十年。

🌟 2006 · 发展②
2006 年逐层预训练:先一层层单独点亮,再整体微调
2006 年:先一层层点亮,再整体微调。本课件自制 · 示意图

2006 年,辛顿提出深度信念网络,用一个巧妙的办法把深层网络重新点亮:先让每一层单独学(像一层一层点灯),再合起来整体微调。

这一次,人们终于相信:深层网络不只是想象,是真能训练的

🚀 2012 · 发展③
2012 年 AlexNet 把图像识别错误率从 26.2% 降到 15.3%
2012 年:错误率从 26.2% 一口气降到 15.3%。本课件自制 · 示意图

2012 年,辛顿带着两名学生做出 AlexNet,去参加全球图像识别比赛:把错误率从 26.2% 一口气降到 15.3%,而第二名还在 26% 上下。

从那一年起,「深度学习」成了全世界最热的方向。而让这些深层网络能学会的,正是 1986 年那个算法。

🎩 最大贡献人 · 一段接力
戴维·鲁梅尔哈特(David Rumelhart)在会议上发言
戴维·鲁梅尔哈特(1942—2011),1986 年论文的第一作者。Rolf Kickuth · CC BY-SA 4.0 · Wikimedia Commons

戴维·鲁梅尔哈特(David Rumelhart,1942—2011)是那篇论文的第一作者、当时「平行分布处理(PDP)研究组」的核心人物;辛顿与他并肩几十年,把这条路坚持到了最后;罗纳德·威廉姆斯则把链式法则的推导写得清清楚楚。

但这不是三个人的发明,而是一段跨越数十年的接力:后一棒总是接在前一棒上。

鲁梅尔哈特一生低调,2011 年去世,没能等到荣誉加身的那一天

⚖️ 谁先想到的 · 一场学术争议
Jürgen Schmidhuber
Jürgen Schmidhuber:他认为核心功劳应归 Linnainmaa。ITU/R.Farrell · CC BY 2.0
Frank Rosenblatt
Frank Rosenblatt:1962 年提出了「反向传播误差」这个说法。CC BY-SA 4.0

这条线索可以追得更早:1960 年,Henry J. Kelley 就在控制理论里给出了连续版的前身算法;1962 年,Frank Rosenblatt(感知机的发明者)第一次用了「反向传播误差」这个说法。

所以「谁是发明者」一直有争论:当代最著名的批评来自 LSTM 之父 Jürgen Schmidhuber,他认为核心应归功Linnainmaa(1970),1986 年那三位的贡献在于「推广」。

不管怎么争,有一件事是明白的:反向传播是集体智慧的结晶——数学的洞见、引入神经网络的勇气、让它变成标准方法的推广,三步都不能少。

🏆 2018 / 2024 · 被看见
图灵奖奖杯(银碗)
2018 年图灵奖:计算机界最高荣誉。
杨立昆(Yann LeCun)
Yann LeCun。Jérémy Barande · CC BY-SA 2.0
约什亚·本吉奥(Yoshua Bengio)
Yoshua Bengio。Maryse Boyce · CC BY 4.0
2024 年诺贝尔物理学奖得主霍普菲尔德与辛顿
2024 年诺贝尔颁奖现场:霍普菲尔德与辛顿。Arthur Petron · CC BY-SA 4.0
诺贝尔物理学奖奖章
诺贝尔物理学奖奖章。

2018 年,计算机界最高奖——图灵奖颁给了深度学习的三位开拓者:Hinton、LeCun、Bengio(鲁梅尔哈特已于 2011 年去世)。

2024 年,辛顿与霍普菲尔德因「为人工神经网络奠基」获得诺贝尔物理学奖。当年被说成「死路」的方向,一口气拿下了两项最高荣誉。

✨ 最终影响
今天的大模型、文生视频、AI 智能体,训练时都在用反向传播
今天的大模型、文生视频、智能体,训练时都在用它。本课件自制 · 示意图

今天你用到的每一个大模型——聊天机器人、文生视频、AI 智能体——训练时都在用同一招:算出误差、倒着传回去、各自改一点点权重。

反向传播就是「让多层网络学会」的那台发动机:1986 年点火,一直烧到今天。

🖼️ 图片:辛顿、鲁梅尔哈特、LeCun、Bengio、诺贝尔四人合照与奖杯奖章照片来自维基共享资源(Wikimedia Commons);其余示意图为本课件自制。

📖 知识小课堂 · 记住这个魔法!

点击卡片翻开,看看背后的知识~

纠错算法👆 点我翻开
反向传播:把错误从输出层向后一层层传回去
🧱单层的墙👆 点我翻开
1969 年《感知机》证明:单层只会画一条直线,连「异或」都学不会
该怪哪一层👆 点我翻开
多层网络出错时,分不清该改哪一层——这一卡就是近 20 年
🧮数学地基👆 点我翻开
1970 年 Linnainmaa 把计算画成一张图,梯度就能倒着算
💡给每层分责任👆 点我翻开
每一层都收到「该调整多少」的信息,各自改正
📄1986 · 一篇论文👆 点我翻开
《自然》上的论文让「反向传播」传遍世界(Rumelhart、Hinton、Williams)
❄️漫长的冬天👆 点我翻开
1987—1993 第二次 AI 寒冬,辛顿搬到加拿大,一直没放弃
🔑意义👆 点我翻开
让多层神经网络真正能学习 → 现代深度学习的发动机

🧩 先看个小实验:为什么非要「多层」? 异或 XOR · 单层学不会,多层一学就会

第 3 站我们看到:单层感知机只会画一条直线,所以「与 AND」「或 OR」学得会,「异或 XOR」永远学不会——因为它要求「两个输入不一样才算 1」,这样四个点用一条直线怎么也切不开。下面左边跑单层、右边跑多层(2 → 2 → 1),点「🎬 一起训练」看看差别。

① 单层感知机(2 → 1)只会画一条直线 → 永远差一个点
网络结构:2 → 1(没有隐藏层)
② 多层神经网络(2 → 2 → 1)两个隐藏神经元各画一条线
网络结构:2 → 2 → 1(多一层隐藏神经元)
🎛️ 点两个开关,试四组输入
学习率 η =
状态: 就绪 📉 多层损失: 🔢 轮次: 0 单层准确率: 0% 多层准确率: 0%
线越粗 = 权重越大;蓝 = 正权值,红 = 负权值;节点下方数字 = 当前输出
单层感知机的损失 多层网络的损失 隐藏神经元 h₁ 的分界线 隐藏神经元 h₂ 的分界线
🧠神经网络实验室 · 扫地机器人训练一个小小的大脑,让扫地机器人自己学会清扫垃圾

🎯 实际问题

  • 在一个 10×10 的点阵地图里,随机分布着一些垃圾
  • 地图里有一只扫地机器人:它能看到周围 8 个方向(上下左右 + 4 个斜角),只能往 上、下、左、右 4 个方向移动。
  • 有时候好几个方向都有垃圾,有时候一个都没有——扫地机器人要自己判断该往哪儿走。
  • 我们训练一个神经网络,让扫地机器人根据"看到的 8 个方向"决定"往哪走",一步步找到垃圾。

🔴 红色扫地机器人随机移动,扫到绿色垃圾 🧹

🧠 ANN 可视化训练器 8 输入 · 8 隐藏 · 4 输出

先点「🎬 开始可视化训练」看完整训练过程(损失曲线 + 神经元点亮);再点「👣 单步」自动进入全屏(按 Esc 退出),一步一步看清楚:① 前向计算(逐个神经元算 h1…h8、上/左/下/右)② 反向计算(算误差 → 从输出层往回改 W2、W1)。

📚 训练数据集 100 组 · 点击加载
📊 测试数据集 100 组 · 点击加载
🧭 视野
正权值(线越粗值越大) 负权值 正在计算(前向) 正在回传/更新(反向)
就绪点「单步」开始:一步一步看「前向计算」→「反向计算」
学习率 η =
状态: 就绪 📉 损失: 🔢 步数: 0 📚 epoch: 0
📊 数据面板 当前样本

🤖 互动演示:扫地机器人

黄色格子 = 扫地机器人看到的 8 格;绿色圆点 = 垃圾;蓝色圆点 = 扫地机器人。扫地机器人用训练好的网络决定方向。(先点上方「开始可视化训练」效果最好!)

🧹 已扫:0 👣 走了:0

❓ 小测验 · 你学会了吗?

点选答案,答对会变绿、答错会变红(可重试)~

Q1. 「反向传播」主要解决什么问题?

Q2. 反向传播时,错误从哪里传到哪里?

Q3. 有了反向传播,神经网络最大的收获是什么?

Q4. 在异或 XOR 小实验里,单层感知机(2 → 1)为什么学不会?

Q5. 那个实验里,多层网络(2 → 2 → 1)靠什么分开了异或的四个点?

Q6. 扫地机器人看得到 8 个方向,它能往哪几个方向走?

Q7. 扫地机器人这张神经网络,输入的是什么?

Q8. 训练时那个「反向计算」的步骤,做的是什么?

🏁 回顾与完课 · 为自己盖章

我从故事里记住了一个新知识我能把这个故事讲给家人听我完成了一次小任务挑战我想把这一站和下一站连起来想一想

💭 思考一下:做错题的时候,是「从头再学一遍」有用,还是「找到错在哪一步、改那一步」更有用?为什么?

🏅

人工智能简史 · 完课证明

小小学员 完成了 本站反向传播:让神经网络学会纠错

学会:「向后纠错」的魔法算法

第 6 站
已完课