跳转至

LFTP Chapter 5 §5.4:随机梯度下降

对应 Learning Theory from First Principles 第 5 章 §5.4 Stochastic Gradient Descent,以及习题 5.26--5.29。

本文由手写扫描稿整理,并统一了符号、补足了推导、纠正了若干关键笔误。


1. 为什么需要 SGD

机器学习中的经验目标通常写成

普通梯度下降每次需要计算完整梯度 \(F'(\theta_{t-1})\),因而要访问全部 \(n\) 个样本。SGD 用计算成本更低的随机梯度估计

代替完整梯度,并要求

其中 \(\mathcal F_{t-1}\) 表示前 \(t-1\) 次迭代产生的全部随机信息。

SGD 递推为

经验风险最小化

则在每次迭代中独立、均匀地抽取

并令

于是

校订: 不能把这里直接写成 \(i(t)=t\bmod n\)。循环顺序访问不是“每一步使用新鲜独立随机性”的无偏抽样,需用随机重排等另一套分析。

Mini-batch

若每轮独立抽取 \(m\) 个样本,则

它仍然无偏,但每轮计算成本约增加为原来的 \(m\) 倍。

期望风险最小化

则每次取一个新的独立样本 \((x_t,y_t)\),并令

在允许交换求导与期望的条件下,\(g_t\)\(F'\) 的无偏估计。

单次遍历数据时,该分析可以直接给出泛化误差界。实际训练常进行多轮遍历,此时通常需要显式正则化或 early stopping 来控制过拟合。

基本假设

  • (H-1) 无偏性
  • (H-2) 随机梯度有界

SGD 一般不是逐步下降算法:\(F(\theta_t)\) 可以上升,但适当平均后可获得期望收敛保证。


2. 命题 5.7:凸 Lipschitz 目标上的 SGD

设:

  1. \(F\) 为凸函数且是 \(B\)-Lipschitz;
  2. \(F\) 存在极小点 \(\theta_*\)
  3. \(\|\theta_0-\theta_*\|_2\le D\)
  4. 随机梯度满足 (H-1)、(H-2)。

并定义加权平均迭代点

证明:基本递推

展开平方:

利用条件无偏性,

再由 (H-2),

凸性给出

所以

求和与平均

\(s=1\)\(t\) 求和,距离项望远镜消去:

由凸性,

因此

\(\gamma_s=D/(B\sqrt s)\),利用

得到命题中的结论。

固定步长版本

若预先知道总迭代次数 \(T\),取固定步长

并使用均匀平均


3. 习题 5.26:SGD 的高概率界

考虑投影 SGD:

其中 \(\Pi_D\) 是到以原点为中心、半径为 \(D\)\(\ell_2\) 球的正交投影,并假设 \(\theta_*\) 也在该球中。

定义

鞅差性质

由条件无偏性,

投影保证

同时

因而

所以

一步不等式

由投影的非扩张性,

结合凸性,

校订: 这里必须是逐路径的不等式,距离项外不应写期望;否则无法与随机的 \(z_t\) 放在同一个一步递推中。

使用 Azuma 不等式

Azuma 不等式给出:以至少 \(1-\delta\) 的概率,

因此

\(\gamma_t\equiv\gamma\),则


4. SGD 与完整梯度下降的计算量比较

对线性预测和 Lipschitz 损失,统计误差通常为

若对经验风险使用完整梯度下降:

  • 每次完整梯度需要访问 \(n\) 个样本;
  • 为使优化误差降到与统计误差相同的量级,通常取 \(t\asymp n\)
  • 总计约访问 \(n^2\) 个单样本梯度。

若使用 SGD:

  • 每次只访问一个单样本梯度;
  • 进行 \(t=n\) 次更新即可达到同阶的 \(O(n^{-1/2})\) 上界;
  • 总计只需约 \(n\) 次单样本梯度访问。

因此,在大样本、只需统计精度的情形下,SGD 通常更合适;若要求极高的优化精度,完整梯度法或方差缩减方法可能更有优势。


5. 习题 5.27:Mini-batch SGD

其中条件于 \(\mathcal F_{t-1}\)\(g_t^{(1)},\dots,g_t^{(m)}\) 是相互独立、同分布的随机梯度。

无偏性

有界性

由平方范数的凸性,

因此,在仅有 (H-1)、(H-2) 时,命题 5.7 原样成立,但最坏情形收敛界不会自动出现 \(m\) 倍改进。

若进一步假设条件方差有界,

不过,在一般非光滑分析中,\(\|F'(\theta_{t-1})\|^2\) 仍然存在,故仅有方差缩小还不足以保证整体上界按 \(1/m\) 改进。光滑性可将这一确定性梯度项吸收到下降项中,这正是习题 5.28 中 mini-batch 能改进界的原因。


6. 习题 5.28:光滑随机函数上的 SGD

\(f_t:\mathbb R^d\to\mathbb R\) 是独立同分布的凸 \(L\)-smooth 随机函数,

\(F\) 存在极小点 \(\theta_*\)。考虑

注意:一般并没有 \(f_t'(\theta_*)=0\);只有

控制随机梯度的二阶矩

和凸 \(L\)-smooth 函数的 co-coercivity,

得到

取期望,并使用 \(F'(\theta_*)=0\),可得

主递推

展开平方并代入上式:

显式收敛率

取固定步长 \(0<\gamma\le1/(2L)\),并定义

由凸性

对主递推求和可得

其中 \(D=\|\theta_0-\theta_*\|_2\)。由于 \(\gamma\le1/(2L)\)

则自动有 \(\gamma\le1/(2L)\),且

因此收敛率为 \(O(T^{-1/2})\);当最优点处无随机噪声,即 \(\sigma_*=0\) 时,可得到 \(O(T^{-1})\)

Mini-batch 的改进

若每轮使用 \(m\) 个独立随机函数的平均

因为 \(\mathbb E[f_{t,j}'(\theta_*)]=F'(\theta_*)=0\) 且各项独立。因此

这解释了为什么 mini-batch 在光滑情形中能够改进迭代次数意义下的收敛常数。


7. 习题 5.29:非均匀抽样

\(F(\theta,z)\) 关于 \(\theta\) 为凸函数,并存在次梯度 \(F'(\theta,z)\) 满足

目标是最小化

实际从分布 \(q\) 中抽样。设

定义重要性加权随机梯度

因此该估计仍然无偏。

基于几乎处处上界的收敛率

\(\|g_t\|_2\le M(q)\)。若 \(\|\theta_0-\theta_*\|\le D\),固定步长 SGD 满足

得到

最优抽样分布

由于 \(B(z)\le M(q)r(z)\),积分后得到

下界由

达到。此时

为常数,因此

相比之下,若 \(q=p\),则 \(r\equiv1\)

\(B(z)\) 很不均匀时,按 \(B(z)\) 成比例抽样可把常数从最大值降为平均值。

二阶矩版本

利用命题 5.7 中“几乎处处有界可替换为二阶矩有界”的备注,也可定义

由 Cauchy--Schwarz,

同样由 \(r_*(z)\propto B(z)\) 取得最小值。

应用于线性 SVM

对经验 hinge loss,令 \(z=i\in\{1,\dots,n\}\)\(p_i=1/n\)

其次梯度满足

所以可取

最优抽样概率为

并对抽到的次梯度乘以重要性权重

均匀抽样的最坏界常数为

而最优非均匀抽样将其降为


主要校订

  1. 扫描稿后半部分对应的是 Chapter 5 §5.4,不是 Chapter 4。
  2. 经验风险 SGD 应使用均匀随机、有放回抽样;\(i(t)=t\bmod n\) 不满足这里采用的无偏独立抽样假设。
  3. 命题 5.7 的平均点是 \(\sum_s\gamma_s\theta_{s-1}/\sum_s\gamma_s\)
  4. 习题 5.26 的一步高概率递推应为逐路径不等式,距离项不应带期望。
  5. 习题 5.27 中,仅由随机梯度有界不能推出 mini-batch 自动改善最坏情形收敛率。
  6. 习题 5.28 中一般只有 \(F'(\theta_*)=\mathbb E[f_t'(\theta_*)]=0\),不能写成每个 \(f_t'(\theta_*)=0\)
  7. 非均匀抽样的梯度权重应为 \(1/(dq/dp)\),最优密度满足 \(dq/dp\propto B(z)\)