反向传播算法

00:00
8 min Intermediate 2026/6/15

链式法则、计算图、梯度计算与常见优化器。

1. 链式法则

1.1 标量链式法则

,则:

1.2 向量链式法则

,则:

2. 计算图

2.1 前向计算图

为例:

2.2 反向传播

输出输入逐层计算

2.3 通用反向传播规则

于任意节点

3. 神经网络反向传播

3.1 符号定义

符号含义
激活
加权输入
层权重
层偏置
层误差项

3.2 四个基本方程

BP1输出层误差

BP2:隐藏层误差

BP3:偏置梯度

BP4:权重梯度

3.3 完整算法

前向传播:
  对于 l = 1, 2, ..., L:
    z^l = W^l · a^{l-1} + b^l
    a^l = σ(z^l)

反向传播:
  δ^L = ∇_a L ⊙ σ'(z^L)
  对于 l = L-1, L-2, ..., 1:
    δ^l = (W^{l+1})^T · δ^{l+1} ⊙ σ'(z^l)
    ∂L/∂W^l = δ^l · (a^{l-1})^T
    ∂L/∂b^l = δ^l

参数更新:
  W^l ← W^l - η · ∂L/∂W^l
  b^l ← b^l - η · ∂L/∂b^l

4. 梯度问题

4.1 梯度消失

时,梯度指数衰减。

解决方案:ReLU、残差连接、BatchNorm、合适的初始化

4.2 梯度爆炸

当权重矩阵的谱半径 时,梯度指数增长

解决方案梯度裁剪、权重正则化、BatchNorm

4.3 梯度裁剪

裁剪

范数裁剪

5. 优化器

5.1 SGD及其变体

SGD

SGD + Momentum

Nesterov Momentum

5.2 自适应学习率

AdaGrad

RMSProp

Adam

5.3 优化器选择

优化适用场景推荐
SGD+MomentumCV、需要精细调优
Adam通用、NLP、快速原型
AdamWTransformer、大模型
LAMB大batch训练

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式