AI 课程网站首页
返回知识库

梯度下降与反向传播

从预测误差出发,推导各参数的梯度与更新。

本篇目录
  1. 标量目标函数
  2. 参数更新与收敛条件
  3. 局部下降的依据
  4. 批量线性回归的梯度
  5. 单隐藏层的反向传播
  6. 参考文献

预测误差可以是一个标量,网络却可能包含大量可调整系数。训练需要确定每个系数如何影响误差。梯度给出局部敏感性,反向传播通过共享的中间计算求得这些敏感性,优化器再据此更新参数。

梯度下降根据损失的导数更新参数,反向传播则通过计算图上的链式法则求取导数。前者规定更新方式,后者计算梯度,两者属于不同操作。

1. 标量目标函数

考虑 y^=wx\hat y=wx,固定输入 x=2x=2、目标 y=6y=6。采用不含 1/21/2 系数的平方损失,得到:

L(w)=(2w−6)2=4(w−3)2\mathcal L(w)=(2w-6)^2=4(w-3)^2

分别对外层平方与内层仿射函数求导,得到:

L′(w)=2(2w−6)⋅2=8w−24,L′′(w)=8\mathcal L'(w)=2(2w-6)\cdot2=8w-24, \qquad \mathcal L''(w)=8

在 w=1w=1 处,损失为 16,导数为 −16-16。因此,将 ww 增加足够小的量会降低损失;下文通过实际更新计算步长对结果的影响。

2. 参数更新与收敛条件

固定学习率 η\eta 的梯度下降规则为:

wt+1=wt−ηL′(wt)w_{t+1}=w_t-\eta \mathcal L'(w_t)

取 w0=1w_0=1、η=0.1\eta=0.1,得到 w1=2.6w_1=2.6,预测为 5.25.2,损失为 0.640.64。若取 η=1\eta=1,则得到 w1=17w_1=17,损失上升到 784。

对于这一二次目标,收敛条件可以精确推导。令相对于最小值点的误差为 et=wt−3e_t=w_t-3,则:

et+1=(1−8η)ete_{t+1}=(1-8\eta)e_t

非零初始误差收敛到零的条件为 ∣1−8η∣<1|1-8\eta|<1,即:

0<η<140<\eta<\frac14

当 η=1/8\eta=1/8 时,一次更新即可使误差归零。稳定区间由曲率八与规定的损失缩放共同决定。[1]

3. 局部下降的依据

对于可微标量目标 J(θ)J(\theta) 和小位移 Δ\Delta,一阶展开为:

J(θ+Δ)=J(θ)+∇J(θ)⊤Δ+o(∥Δ∥)J(\theta+\Delta) =J(\theta)+\nabla J(\theta)^\top\Delta +o(\|\Delta\|)

代入 Δ=−η∇J(θ)\Delta=-\eta\nabla J(\theta),线性项变为 −η∥∇J(θ)∥22-\eta\|\nabla J(\theta)\|_2^2。在非驻点处,只要 η>0\eta>0,这一项就为负。剩余项相对于位移可忽略属于局部极限结论,因此有限步长下的行为仍取决于步长选择。在驻点处,一阶分析本身不能保证严格下降。

4. 批量线性回归的梯度

设 X∈Rn×dX\in\mathbb R^{n\times d}、w∈Rdw\in\mathbb R^d、b∈Rb\in\mathbb R、y∈Rny\in\mathbb R^n,定义:

r=Xw+b1n−y,J(w,b)=12nr⊤rr=Xw+b\mathbf1_n-y,\qquad J(w,b)=\frac{1}{2n}r^\top r

与前面的标量例子不同,这里包含 1/21/2 系数。展开平方残差之和,再逐项求导,得到:

∂J∂wj=1n∑iriXij,∇wJ=1nX⊤r,∂J∂b=1n1n⊤r\frac{\partial J}{\partial w_j} =\frac1n\sum_i r_iX_{ij},\qquad \nabla_wJ=\frac1nX^\top r,\qquad \frac{\partial J}{\partial b}=\frac1n\mathbf1_n^\top r

加入 ρ∥w∥22/2\rho\|w\|_2^2/2 后,权重梯度增加 ρw\rho w。小批次版本将全量平均替换为选定批次的平均;求导形式不变,但梯度估计的统计性质取决于批次采样方式。

5. 单隐藏层的反向传播

具有 mm 个隐藏单元的标量输出网络可定义为:

z=Wx+b,a=ReLU⁡(z),y^=v⊤a+c,ℓ=12(y^−y)2z=\mathbf{W}x+b,\quad a=\operatorname{ReLU}(z),\quad \hat y=v^\top a+c,\quad \ell=\frac12(\hat y-y)^2

其中,x∈Rdx\in\mathbb R^d、W∈Rm×d\mathbf{W}\in\mathbb R^{m\times d}、b,v∈Rmb,v\in\mathbb R^m,c,y∈Rc,y\in\mathbb R。记 r=y^−yr=\hat y-y,从输出端求导得到:

∇vℓ=ra,∂cℓ=r\nabla_v\ell=ra,\qquad \partial_c\ell=r

继续经过激活函数与第一层仿射映射,得到:

δ=(rv)⊙1[z>0],∇Wℓ=δx⊤,∇bℓ=δ,∇xℓ=W⊤δ\delta=(rv)\odot\mathbf1[z>0],\qquad \nabla_\mathbf{W}\ell=\delta x^\top,\quad \nabla_b\ell=\delta,\quad \nabla_x\ell=\mathbf{W}^\top\delta

其中,⊙\odot 表示逐项相乘。ReLU 在零点不存在经典导数;在该处将反向传播乘数设为零属于实现约定。在非零位置,掩码对应通常意义下的导数。权重梯度的形状为 m×dm\times d,与待更新的 W\mathbf{W} 一致。

这套逆向累积过程称为反向传播,而 W←W−η∇Wℓ\mathbf{W}\leftarrow \mathbf{W}-\eta\nabla_\mathbf{W}\ell 属于随后执行的优化更新。普通推理时参数保持固定,只需进行前向计算。[2]

参考文献