- tags
- [AI, 深度学习, 算法, 基础理论]
- created
- 2026-04-14
- updated
- 2026-04-14
- sources
- [raw/notes/hinton-ai-40-years-2026.md]
定义¶
反向传播(backpropagation,全称 back-propagation of errors)是训练多层神经网络的核心算法。本质是链式法则的系统化应用:从输出层的误差出发,逐层向后计算每个参数对误差的贡献(梯度),然后按梯度方向调整参数,使误差逐步减小。
直觉解释:你给网络一个任务,它做错了,"错误信号"从输出层一层一层往回传,告诉每个连接"你该调大一点还是调小一点"。
算法流程¶
1. 前向传播:输入数据 → 逐层计算 → 得到输出 ŷ
2. 计算损失:L = loss(ŷ, y)(交叉熵、均方误差等)
3. 反向传播:∂L/∂w = ∂L/∂ŷ · ∂ŷ/∂h · ∂h/∂w(链式法则)
4. 参数更新:w ← w − η · ∂L/∂w(梯度下降)
5. 重复直到收敛
其中损失函数常用交叉熵(→ shannon-entropy),直接来自 Shannon 信息论。
历史¶
反向传播有多次独立发现的历史:
| 年份 | 人物 | 贡献 |
|---|---|---|
| 1960 | Henry J. Kelley | 控制论中的梯度计算 |
| 1970 | Seppo Linnainmaa | 自动微分的反向模式(芬兰硕士论文) |
| 1974 | Paul Werbos | 明确将反向传播用于神经网络(博士论文) |
| 1986 | Rumelhart, Hinton, Williams | Nature 论文:系统证明多层网络的实用性,引爆第一波复兴 |
1986 年论文的关键贡献不是算法本身,而是证明反向传播能让多层网络学到有意义的内部表示(hidden representations)——网络的中间层自动发现了人类未显式编程的特征。
为什么重要¶
反向传播解决了神经网络的"信度分配问题"(credit assignment problem):当一个复杂系统做出错误决策,如何判断系统中每个组件应该承担多少责任?
- 没有反向传播:只能训练单层网络(感知器),能力极其有限。Minsky & Papert(1969)正是证明了单层感知器无法解决异或(XOR)等非线性问题
- 有了反向传播:多层网络可以学习任意复杂的非线性映射。这是从感知器到深度学习的关键跨越
局限与后续发展¶
| 问题 | 解决方案 | 年代 |
|---|---|---|
| 梯度消失 | ReLU 激活函数、残差连接(ResNet) | 2010s |
| 梯度爆炸 | 梯度裁剪、BatchNorm | 2010s |
| 计算成本 | GPU 并行计算、混合精度训练 | 2010s |
| 局部最优 | Adam 等自适应优化器 | 2014 |
现代深度学习中反向传播的基本原理未变,变的是规模(从几百参数到万亿参数)和工程优化(自动微分框架:PyTorch、JAX)。
与信息论的连接¶
训练神经网络的标准损失函数——交叉熵 H(p, q) = −Σ p(x) log q(x)——直接来自 Shannon 1948 年的信息论。最小化交叉熵 = 让模型分布 q 逼近真实分布 p,交叉熵的下界就是真实分布的熵 H(p)。
反向传播 + 交叉熵损失 = 用梯度下降逼近 Shannon 熵率。从这个角度看,深度学习是信息论的工程实现。
相关概念¶
- geoffrey-hinton — 辛顿:1986 年论文使反向传播广为人知
- deep-learning-history — 深度学习发展史:反向传播是两次复兴的关键
- shannon-entropy — Shannon 熵:交叉熵损失函数的理论根基
- information-theory — 信息论:反向传播优化的目标函数来自 Shannon