神经网络

反向传播算法(BP算法)

反向传播BP算法链式法则梯度参数优化
一句话摘要

训练神经网络的核心算法,利用链式法则从输出层向输入层逐层计算梯度,实现参数优化。

什么是反向传播?

反向传播(Back Propagation,BP) 是训练神经网络的核心算法,用于计算损失函数对网络中每个参数(权重和偏置)的梯度。

名字的由来

"反向"是指计算方向:从输出层开始,逐层向输入层方向传播误差信息。与数据流动的方向(前向传播)相反。

神经网络训练的完整流程

第1步:前向传播

输入数据从输入层出发,经过每一层的计算(线性变换 + 激活函数),最终在输出层得到预测结果。

输入 → 隐藏层1 → 隐藏层2 → ... → 输出层 → 预测值

第2步:计算损失

用损失函数(如交叉熵、均方误差)衡量预测值与真实标签之间的差距。

第3步:反向传播

利用链式法则,从输出层开始,逐层计算损失对每个参数的偏导数(梯度)。

损失 → 输出层梯度 → 隐藏层2梯度 → 隐藏层1梯度

第4步:参数更新

用梯度下降法更新所有参数:

参数 = 参数 - 学习率 × 梯度

第5步:重复

重复以上步骤,直到损失收敛到满意的程度。

链式法则

反向传播的数学基础是微积分中的链式法则。如果 y = f(g(x)),那么:

dy/dx = dy/dg × dg/dx

对于多层网络,每一层的梯度都可以通过后面一层的梯度递推得出,这就是"反向传播"的实质。

反向传播 vs 梯度下降

这两个概念经常一起出现,但要区分清楚:

概念作用
反向传播计算每个参数的梯度
梯度下降使用梯度来更新参数

反向传播负责"算方向",梯度下降负责"走一步"。

考试要点

  • 反向传播的主要作用是调整网络的权重和偏置
  • 利用链式法则逐层计算梯度
  • 训练流程:前向传播 → 计算损失 → 反向传播 → 参数更新 → 重复
  • 反向传播计算梯度,梯度下降使用梯度
微信二维码

扫码备注【NOAI】加交流群