6. Stochastic Gradient Descent
当期望或完整梯度难以直接计算时,可以用随机样本构造一个带噪声的估计,再通过小步迭代逐渐接近目标。Robbins–Monro 随机逼近描述了这种方法能够收敛所需的基本条件,SGD 则是它在优化中的典型应用。
1. 从增量平均开始
给定样本 X1,X2,…,前 k 个样本的平均值为:
wk=k1i=1∑kXi.
当新样本 Xk+1 到来时,可以增量更新:
wk+1=wk+k+11(Xk+1−wk)=k+1kwk+Xk+1.
它的结构是:
新估计=旧估计+步长×(新样本−旧估计).
2. Robbins–Monro 随机逼近
假设我们想找到方程的根 w∗:
g(w∗)=0.
g(w) 可以称为平均场函数(mean field)或期望更新方向。实际中无法直接观测 g(wk),只能得到带噪声的估计:
gk=g(wk)+ηk.
Robbins–Monro 更新为:
wk+1=wk−αkgk.
要让 wk 逐渐接近 w∗,需要同时约束 g、随机噪声和步长。
2.1 函数 g 的条件
讲义采用的一维定理假设 g(w∗)=0 的解存在,并且:
0<c1≤g′(w)≤c2<∞,∀w.
这个条件的含义是:
- g′(w)>0:g 严格单调递增,根至多只有一个;
- g′(w)≥c1:函数不会过于平坦,仍能给出足够的修正方向;
- g′(w)≤c2:斜率不会任意大,更新方向不会因 g 过于陡峭而失控。
因为 g 单调递增且 g(w∗)=0:
{w>w∗⇒g(w)>0,w<w∗⇒g(w)<0,w−αg(w) 向左移动,w−αg(w) 向右移动.
所以平均更新方向总是指向根 w∗。
2.2 随机噪声的条件
设 Hk 表示第 k 次采样前已知的历史信息。通常要求:
E[ηk∣Hk]=0,E[ηk2∣Hk]≤C<∞.
第一个条件表示噪声没有固定的偏向;第二个条件表示噪声的平均平方幅度受控。
2.3 步长 αk 的条件
要求:
k=1∑∞αk=∞,k=1∑∞αk2<∞.
可以直观地理解为:
- ∑kαk=∞:总步长不能太小,否则可能还没到达根附近就已经“走不动”;
- ∑kαk2<∞:步长要逐渐减小,使累积噪声受控。
典型选择是 αk=1/k,因为:
k=1∑∞k1=∞,k=1∑∞k21=6π2<∞.
常数步长 αk=α>0 不满足第二个条件,因此通常用于持续跟踪变化中的目标,而不是证明精确收敛到固定点。
3. 均值估计例子
如果要估计随机变量 X 的期望,定义:
g(w)=w−E[X].
它的根是 w∗=E[X],并且 g′(w)=1,所以满足前面的函数条件。
因为 E[X] 未知,对新样本 Xk+1 使用:
gk=wk−Xk+1.
其中的噪声是:
ηk=E[X]−Xk+1.
若样本独立同分布且方差有限,则噪声条件成立。代入 Robbins–Monro 更新:
wk+1=wk−αk(wk−Xk+1).
当 αk=1/(k+1) 时,这正好就是增量平均。
4. 从随机逼近到 SGD
考虑:
wminJ(w),J(w)=EX[f(w,X)].
在可以交换求导与期望的条件下,真实梯度为:
g(w)=∇J(w)=EX[∇wf(w,X)].
在得到 wk 后,抽取一个新的随机样本 Xk+1 构造梯度估计:
gk=∇wf(wk,Xk+1).
若它是真实梯度的无偏估计:
E[gk∣Hk]=∇J(wk),
那么 Robbins–Monro 更新就变成 SGD:
wk+1=wk−αk∇wf(wk,Xk+1).
在多维优化中,一维条件 0<c1≤g′(w)≤c2 会被相应的凸性、梯度光滑性和稳定性条件取代,但“平均方向正确、噪声受控、步长逐渐减小”这三个核心思想不变。
5. GD、Batch GD 与 SGD
| 方法 | 每次更新所用的数据 | 特点 |
|---|
| GD | 精确期望梯度 | 方向稳定,但期望通常难以直接计算 |
| Batch GD | 整个有限数据集 | 单次成本高,梯度波动较小 |
| SGD | 一个随机样本 | 单次成本低,但梯度噪声较大 |
Mini-batch SGD 每次使用一小批样本,在计算成本和梯度方差之间折中。
6. 小结
Robbins–Monro 随机逼近的基本结构是:
wk+1=wk−αk(g(wk)+ηk).
其收敛的三类核心条件是:
- g 的根存在且平均更新方向指向该根;
- 噪声的条件均值为 0 且二阶矩有界;
- 步长满足 ∑kαk=∞ 与 ∑kαk2<∞。
SGD 的本质就是用随机样本梯度作为 g(wk) 的带噪声估计,然后按照同样的随机逼近模板迭代。