Type: concept
Confidence: 0.95
Created: 2026-04-18
Updated: 2026-04-18
Tags: 机器学习深度学习神经网络

反向传播

概述 (50-200字符)

反向传播(Backpropagation)是训练多层神经网络的核心算法,通过微积分链式法则将输出层误差沿计算图逆向传播,高效计算每个权重对损失的梯度贡献,使深度网络训练成为可能。

关键内容 (≥300字符, 用双链)

  1. 核心思想:反向传播的本质是链式法则在神经网络中的应用。对于损失函数 L 关于某层权重 W 的梯度 ∂L/∂W,通过逐层分解为 (∂L/∂ŷ)·(∂ŷ/∂h)·(∂h/∂W),每一层只需知道"从上层传来的误差信号"和"自己局部的导数"即可计算梯度,完全局部化,可无限叠加层数。
  2. 前向与反向两阶段:前向传播计算预测值与损失(记录中间值),反向传播沿计算图逆向求梯度。一次前向+一次反向 = O(1) 次前向传播的计算量,相比数值微分的 O(N) 次(N为参数量),训练速度提升 N 倍。
  3. 激活函数的关键作用:没有非线性激活函数,多层线性变换等价于单层。Sigmoid激活函数是论文原始选择,其导数 σ'(x) = σ(x)·(1-σ(x)) 形式优雅,但最大值仅 0.25,多层相乘导致梯度消失。后来被ReLU激活函数取代(AlexNet, 2012),正区间导数恒为 1,梯度不衰减。
  4. 历史意义:1986 年 Rumelhart、Hinton 和 Williams 在 Nature 发表的论文使多层感知机训练成为可能,解锁了非线性问题(如XOR问题)的求解。反向传播是深度学习的"发动机"——无论 CNN、RNN、Transformer,训练都依赖 BP。自动微分框架(PyTorch/TensorFlow)的核心即 BP 的工程化实现。

来源

相关