反向传播

📂 深度学习

反向传播

一句话理解

前向传播是"从输入算到输出",反向传播是"从误差倒着算回去,看看每个权重该往哪调"。

为什么需要它

神经网络要学,就得知道损失(预测和真实的差距)怎么分摊到每个权重上。反向传播用链式法则把误差从输出层一层层传回输入层,得到每个权重对损失的影响(梯度)。

过程

  1. 前向传播:输入 x → 隐藏层 → 输出 y,算出损失 Loss
  2. 反向传播:从 Loss 开始,对每个参数求偏导 ∂Loss/∂w
  3. 梯度下降:每个权重按照负梯度方向更新一步
    w = w - learning_rate * ∂Loss/∂w
    

关键点

  • 数学基础就是高数里的链式求导法则
  • 反向传播的计算量 ≈ 前向传播,效率高
  • learning rate 太大容易震荡不收敛,太小收敛太慢
  • 梯度消失/爆炸:层数太多时梯度会指数级变小或变大,是深度网络难训的原因之一

类比

就像一个学生在考试(前向)之后,对着答案(标签)找到自己每道题错在哪(梯度),然后决定哪块知识要多补(更新权重),再考一次,直到对为止。