🏠 home › concepts › backpropagation
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):当一个复杂系统做出错误决策,如何判断系统中每个组件应该承担多少责任?

局限与后续发展

问题 解决方案 年代
梯度消失 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 熵率。从这个角度看,深度学习是信息论的工程实现。

相关概念