反向传播

一种利用链式法则将误差从输出层向输入层反向传播,高效计算损失函数对各网络参数梯度的算法。

反向传播(Backpropagation)是训练神经网络的核心算法。它利用微积分的链式法则,将输出层的预测误差逐层向输入方向传播,高效计算损失函数对每个权重参数的梯度。1986 年 Rumelhart 等人的论文使该算法广为人知。

训练流程分为前向传播和反向传播两个阶段:

反向传播面临的主要挑战包括梯度消失(深层网络中梯度趋近于零)和梯度爆炸。残差连接(ResNet)、批量归一化和梯度裁剪等技术有效缓解了这些问题,使百层以上的深度网络训练成为可能。

现代深度学习框架(PyTorch、TensorFlow)通过自动微分机制实现反向传播,开发者只需定义前向计算图,梯度计算由框架自动完成。

误差反向传播法 (Backpropagation) 借助链式法则 (Chain Rule),从输出层向输入层逆序计算损失函数对各权重参数的偏导数。先由前向传播 (Forward Pass) 从输入算出预测值并求得误差,再由反向传播 (Backward Pass) 逐层计算梯度——ResNet-50 的约 2,500 万个参数全部靠这一机制同时优化。PyTorch 的 autograd 与 TensorFlow 的 GradientTape 会动态构建计算图并自动执行反向传播,无需手写梯度公式。图像模型的训练中,对 1 批 (例如 32 张) 图像执行 1 组前向与反向传播,再用梯度的平均值更新参数。

相关术语

相关文章