一、随机梯度下降法(SGD)背景#
许多机器学习与数据科学中的目标函数都具有求和结构:
x∈Rnminf(x)=m1j=1∑mfj(x)例如,fj(x)=∥ajTx−yj∥2,(aj,yj) 是数据点,m 很大。
标准梯度下降法每步需计算:
∇f(xk)=m1j=1∑m∇fj(xk)计算复杂度高达 O(mn),昂贵且不适合大规模问题。因此我们考虑近似计算梯度。
二、随机梯度与SGD算法#
1、小批量梯度与期望#
定义:对任意索引集 S={j1,...,jp},可定义小批量目标和梯度:
fS(x)=p1ℓ=1∑pfjℓ(x),∇fS(x)=p1ℓ=1∑p∇fjℓ(x)若 jℓ 独立均匀采样自 {1,...,m},则
E[∇fS(x)]=∇f(x)即小批量梯度是全梯度的无偏估计。
2、SGD算法流程#
- 给定初始点 X0(可随机)。
- 对 k=0,1,2,… 重复:
- 随机采样 Sk={j1,...,jpk},每个 jℓ 独立采自 {1,...,m}
- Gk=∇fSk(Xk)
- Xk+1=Xk−αkGk
- 步长 αk 可固定或动态调整,pk 常常取1(单样本),也可取小批量。
由于 ∇f(Xk)T(−Gk) 不一定 <0,每步不保证严格下降,因此分析期望下降。
三、条件期望与马尔可夫性质#
- 记 Ek[Y] 为对 (X0,S0,…,Sk) 的期望。
- Xk+1 仅依赖于 Xk 和 Sk,是马尔可夫过程。
- 有 E[Gk∣Xk]=∇f(Xk)。
四、数值举例#
1、二分类问题(MNIST 4 vs 9)#
目标函数:
x∈Rnminm1i=1∑m(aiTx−yi)2其中 yi=1(数字9),yi=−1(数字4)。
SGD设置:αk=0.001,∣Sk∣=1。数值结果显示目标减少但后期有波动(噪声地板,noise floor)。
2、一般化SGD#
更一般形式为:
f(x)=Eξ[F(x,ξ)]每步采样 ξk,取 Gk=∇xF(Xk,ξk)。同理,
Eξk[∇xF(Xk,ξk)∣Xk]=∇f(Xk)
五、L-光滑情形下的SGD收敛性#
1、假设#
-
每个 fj 都是 L-光滑函数 ⇒f 也是 L-光滑。
-
存在 M>0,使得
VAR(Gk∣Xk):=E[(Gk−∇f(Xk))T(Gk−∇f(Xk))∣Xk]≤M
即条件方差有界。
证明:
由于 Gk=∇fSk(Xk) 是对样本集 Sk 的梯度均值,且每个 jℓ 独立均匀采样自 {1,...,m},我们有
E[Gk∣Xk]=∇f(Xk)
计算条件方差:
VAR(Gk∣Xk)=E[∥Gk−∇f(Xk)∥2∣Xk]
对于单样本(∣Sk∣=1),
VAR(Gk∣Xk)=m1j=1∑m∥∇fj(Xk)−∇f(Xk)∥2
若每个 ∥∇fj(x)∥ 在所有 x 上有界,即存在 C>0 使得 ∥∇fj(x)∥≤C,则
VAR(Gk∣Xk)≤4C2
因此,若每个分量梯度有界,则条件方差有界,满足假设2。
2、关键引理:期望过估计(Overestimation in expectation)#
引理:
在上述假设下,
E[f(Xk+1)∣Xk]≤f(Xk)−αk∥∇f(Xk)∥2+2L(αk)2E[∥Gk∥2∣Xk]若进一步有条件方差界 M,则
E[f(Xk+1)∣Xk]≤f(Xk)+αk(2Lαk−1)∥∇f(Xk)∥2+2ML(αk)2
- 当 αk 足够小,右侧为严格下降。
证明:
由 L-光滑性,
f(Xk−αkGk)≤f(Xk)−αk∇f(Xk)TGk+2L(αk)2∥Gk∥2对 Gk 条件期望,利用 E[Gk∣Xk]=∇f(Xk),由 L-光滑性,有
f(Xk−αkGk)≤f(Xk)−αk∇f(Xk)TGk+2L(αk)2∥Gk∥2对 Sk 条件期望(即对 Gk 关于 Xk 的条件期望):
E[f(Xk+1)∣Xk]≤f(Xk)−αk∇f(Xk)TE[Gk∣Xk]+2L(αk)2E[∥Gk∥2∣Xk]由于 E[Gk∣Xk]=∇f(Xk),代入得
E[f(Xk+1)∣Xk]≤f(Xk)−αk∥∇f(Xk)∥2+2L(αk)2E[∥Gk∥2∣Xk]3、收敛性定理(L-光滑情况下)#
定理:
设 f 有下界 f,满足上述假设。SGD 用定步长 αk≡η/L,η∈(0,1],则
0≤i≤k−1minE[∥∇f(Xi)∥2]≤ηM+kη2L(f(x0)−f)即噪声存在,∥∇f(Xk)∥2 只收敛到 ηM,无法无限趋近于零(称为noise floor)。
证明:
由关键引理,
E[f(Xk+1)∣Xk]≤f(Xk)+αk(2Lαk−1)∥∇f(Xk)∥2+2MLαk2取 αk≡η/L,其中 η∈(0,1],则
2Lαk−1=2η−1≤0因此,
E[f(Xk+1)∣Xk]≤f(Xk)−2η∥∇f(Xk)∥2+2LMη2对 Xk 取全期望,记 fk=E[f(Xk)],有
fk+1≤fk−2ηE[∥∇f(Xk)∥2]+2LMη2移项并累加 k=0 到 k−1,得
i=0∑k−1E[∥∇f(Xi)∥2]≤η2(f0−fk)+LMηk由于 fk≥f(f 为下界),
i=0∑k−1E[∥∇f(Xi)∥2]≤η2(f(x0)−f)+LMηk两边同时除以 k,并取最小值有
0≤i≤k−1minE[∥∇f(Xi)∥2]≤k1i=0∑k−1E[∥∇f(Xi)∥2]≤ηM+kη2L(f(x0)−f)证毕。
六、强凸情形下的SGD收敛性#
1、假设#
- fj L-光滑,f L-光滑。
- f 是 γ-强凸函数,即
2γ(f(x)−f(x∗))≤∥∇f(x)∥2
极小点 x∗ 唯一。
- 步长 αk≡η/L,η∈(0,1]
- 有界方差:VAR(Gk∣Xk)≤M
2、收敛性定理#
定理(SGD 强凸情形):
SGD 以 Q-线性速率收敛到残差:
设条件数 κ=L/γ,则
E[f(Xk)]−f(x∗)≤2γηM+(1−κη)k[f(x0)−f(x∗)−2γηM]
- k→∞ 时,极限误差为 2γηM,依赖噪声和步长。
证明:
由基础引理(L-光滑且 γ-强凸):
E[f(Xk+1)]−f(x∗)≤(1−γαk)(E[f(Xk)]−f(x∗))+2ML(αk)2取 αk=η/L,代入得
E[f(Xk+1)]−f(x∗)≤(1−Lγη)(E[f(Xk)]−f(x∗))+2LMη2记 κ=L/γ,则 1−Lγη=1−κη,上式变为
E[f(Xk+1)]−f(x∗)≤(1−κη)(E[f(Xk)]−f(x∗))+2LMη2递归展开(不等式迭代 k 次):
E[f(Xk)]−f(x∗)≤(1−κη)k(f(x0)−f(x∗))+2LMη2i=0∑k−1(1−κη)i等比数列求和,∑i=0k−1ri=1−r1−rk,其中 r=1−κη,所以
i=0∑k−1(1−κη)i=κη1−(1−κη)k代入得
E[f(Xk)]−f(x∗)≤(1−κη)k(f(x0)−f(x∗))+2LMη2⋅κη1−(1−κη)k化简右侧第二项:
2LMη2⋅ηκ[1−(1−κη)k]=2γMη[1−(1−κη)k]最终得
E[f(Xk)]−f(x∗)≤2γMη+(1−κη)k[f(x0)−f(x∗)−2γMη]证毕。