训练与优化 / 优化器 原理笔记进阶 4 分钟阅读 查看源文件 ↗

Adam 的统计解释#

TL;DR#

本页内容7 个部分

1. 背景与问题#

Adam 用一阶矩除以二阶矩的平方根。这个比值常被解释为“信号相对噪声的大小”,但分子与分母都由同一段随机梯度产生,不能直接把它们替换成各自均值。本篇从一个局部随机模型推导这种近似何时合理。[1]

2. 目标与定义#

以下只分析一个参数坐标,并将梯度看作具有固定均值 μ\mu、方差 σ2\sigma^2 的平稳随机序列。这是理解优化器的局部模型;真实训练中的梯度分布会随参数变化。稳态指固定 β1,β2∈[0,1)\beta_1,\beta_2\in[0,1),经过足够长时间使零初始化的影响消失。

本篇计算的是归一化更新的统计量,不另提出训练目标。记单坐标归一化方向为 dt=mt/vtd_t=m_t/\sqrt{v_t},先忽略零初始化与 ϵ\epsilon,再检查近似条件。

3. 方法与推导#

3.1 从二阶矩得到信噪比近似#

对 EMA 递推取期望,在稳态有:

E[mt]=μ,E[vt]=E[gt2]=μ2+σ2.\mathbb E[m_t]=\mu, \qquad \mathbb E[v_t]=\mathbb E[g_t^2]=\mu^2+\sigma^2.

因此 Adam 归一化的尺度是 μ2+σ2\sqrt{\mu^2+\sigma^2},而不是标准差 σ\sigma。例如恒定梯度 gt=2g_t=2 的方差为 0,但其二阶矩为 4、RMS 为 2。

在稳态、忽略 ϵ\epsilon,且分母相对波动足够小时,平均归一化更新可近似为:

E ⁣[mtvt]≈μμ2+σ2.\mathbb E\!\left[\frac{m_t}{\sqrt{v_t}}\right] \approx \frac{\mu}{\sqrt{\mu^2+\sigma^2}}.

这个近似量与 gradient signal-to-noise ratio 密切相关。对 σ>0\sigma>0,令带符号的信噪比 r=μ/σr=\mu/\sigma,则它等于 r/1+r2r/\sqrt{1+r^2}:

梯度统计 归一化平均更新近似 直觉
∣μ∣≫σ\lvert\mu\rvert\gg\sigma sign⁡(μ)\operatorname{sign}(\mu) 梯度方向稳定,归一化后接近固定量级
∣μ∣≪σ\lvert\mu\rvert\ll\sigma μ/σ\mu/\sigma 均值相对 RMS 很小,平均定向更新较小

参数变化还要乘以 −η-\eta。平均定向更新小不代表每一步都小;即使 μ=0\mu=0,随机梯度仍会让参数波动。这个表也不是对每一步 Adam 更新幅度的严格界。

3.2 一阶矩 EMA 的波动#

进一步假设梯度在时间上 iid、方差有限。稳态下展开为:

mt=(1−β1)∑k=0∞β1kgt−k.m_t=(1-\beta_1)\sum_{k=0}^{\infty}\beta_1^k g_{t-k}.

独立性使不同时间项的协方差为 0,因此:

Var⁡(mt)=(1−β1)2σ2∑k=0∞β12k=1−β11+β1σ2.\operatorname{Var}(m_t) =(1-\beta_1)^2\sigma^2\sum_{k=0}^{\infty}\beta_1^{2k} =\frac{1-\beta_1}{1+\beta_1}\sigma^2.

该结果不要求高斯分布,当然也适用于 gt∼iidN(0,σ2)g_t\overset{\mathrm{iid}}{\sim}\mathcal N(0,\sigma^2)。例如 β1=0.9\beta_1=0.9 时,方差缩为原梯度的 1/191/19;更强平滑也意味着对均值变化的响应更慢。存在时间相关性时,需要保留协方差项,不能直接套用此式。

3.3 何时可以把分母近似成常数#

集中性(concentration) 指随机变量以高概率落在某个典型值附近。知道 E[vt]\mathbb E[v_t] 并不意味着 vt≈E[vt]v_t\approx\mathbb E[v_t];关键是随机波动相对自身尺度是否足够小。

一个可直接计算的例子是 gt∼iidN(0,σ2)g_t\overset{\mathrm{iid}}{\sim}\mathcal N(0,\sigma^2),其中 σ>0\sigma>0。此时 E[gt2]=σ2\mathbb E[g_t^2]=\sigma^2、Var⁡(gt2)=2σ4\operatorname{Var}(g_t^2)=2\sigma^4。稳态下:

vt=(1−β2)∑k=0∞β2kgt−k2,Var⁡(vt)=2σ41−β21+β2.v_t=(1-\beta_2)\sum_{k=0}^{\infty}\beta_2^k g_{t-k}^2, \qquad \operatorname{Var}(v_t) =2\sigma^4\frac{1-\beta_2}{1+\beta_2}.

所以相对方差为:

Var⁡(vt)E[vt]2=2(1−β2)1+β2.\frac{\operatorname{Var}(v_t)}{\mathbb E[v_t]^2} =\frac{2(1-\beta_2)}{1+\beta_2}.

由 Chebyshev 不等式,对任意相对误差阈值 δ>0\delta>0:

Pr⁡ ⁣(∣vt−σ2∣>δσ2)≤2(1−β2)(1+β2)δ2.\Pr\!\left(|v_t-\sigma^2|>\delta\sigma^2\right) \le \frac{2(1-\beta_2)}{(1+\beta_2)\delta^2}.

在这一稳态模型中,β2→1\beta_2\to1 时,相对波动趋小,才有理由用 vt≈σ2v_t\approx\sigma^2。例如 β2=0.999\beta_2=0.999 时,相对标准差约为 3.16%3.16\%。这是上述 iid 高斯假设下的推导,不是对任意训练过程的保证;β2\beta_2 越大,进入稳态所需历史也越长。

3.4 比值的期望不等于期望的比值#

一般而言,即便相关期望都存在,仍有:

E ⁣[mtvt]≠E[mt]E[vt].\mathbb E\!\left[\frac{m_t}{\sqrt{v_t}}\right] \ne \frac{\mathbb E[m_t]}{\sqrt{\mathbb E[v_t]}}.

mtm_t 与 vtv_t 来自同一串梯度,通常相关;即使假设二者独立,也只能拆成 E[mt] E[vt−1/2]\mathbb E[m_t]\,\mathbb E[v_t^{-1/2}],而 E[vt−1/2]\mathbb E[v_t^{-1/2}] 一般不等于 (E[vt])−1/2(\mathbb E[v_t])^{-1/2}。

分母集中且典型值远离 0 时,可以近似 mt/vt≈mt/E[vt]m_t/\sqrt{v_t}\approx m_t/\sqrt{\mathbb E[v_t]},再讨论平均更新。要严格控制期望误差,还需控制分母接近 0 的尾部及相关矩;仅有高概率集中并不自动足够。实际分析也应保留 ϵ\epsilon 的影响。强时间相关、重尾梯度、分布快速漂移或训练初期,都可能使这一近似失效。

4. 计算过程#

在第 3 节的稳态模型中,取梯度均值 μ=1\mu=1、标准差 σ=2\sigma=2、β1=0.9\beta_1=0.9:

统计量 计算 含义
梯度非中心二阶矩 12+22=51^2+2^2=5 RMS 为 5\sqrt5
一阶 EMA 方差,另需时间 iid [(1−0.9)/(1+0.9)]×4=4/19[(1-0.9)/(1+0.9)]\times4=4/19 方向经平滑后仍会波动
平均方向的集中近似 1/5≈0.4472141/\sqrt5\approx0.447214 还需二阶状态集中且远离零
学习率 η=0.1\eta=0.1 时平均参数变化近似 −0.1/5≈−0.044721-0.1/\sqrt5\approx-0.044721 并非每一步的固定变化

另用零均值 iid 高斯例子检查分母:β2=0.999\beta_2=0.999 时相对方差为 2(1−0.999)/(1+0.999)≈0.00100052(1-0.999)/(1+0.999)\approx0.0010005,相对标准差约为 3.163%。这是另一组用于检验集中性的假设,不把它与上面非零均值例子的高斯方差公式混用。

5. 比较与边界#

5.1 梯度缩放不变性的条件#

设从初始化开始,整段梯度历史都乘以相同常数 c>0c>0,且初始矩状态为 0、其余设置相同。则 mt′=cmtm'_t=cm_t、vt′=c2vtv'_t=c^2v_t,bias correction 后同样成立:

m^t′v^t′+ϵ=cm^tcv^t+ϵ=m^tv^t+ϵ/c.\frac{\hat m'_t}{\sqrt{\hat v'_t}+\epsilon} =\frac{c\hat m_t}{c\sqrt{\hat v_t}+\epsilon} =\frac{\hat m_t}{\sqrt{\hat v_t}+\epsilon/c}.

无动量 SGD 的更新会放大 cc 倍;Adam 在 ϵ=0\epsilon=0 且分母非零的理想情况下更新不变。固定 ϵ>0\epsilon>0 时并不严格不变,只有当两种尺度下的 RMS 都远大于 ϵ\epsilon 时才近似成立。

仅缩放当前一步、沿用未缩放的历史状态,不满足上述推导;梯度裁剪也可能改变有效缩放关系。这里讨论的是输入优化器的梯度缩放,不是对任意参数重参数化的不变性。AdamW 的梯度更新部分满足同样分析,直接衰减项则由学习率、衰减系数和当前参数决定。

参考资料#

  1. Adam(2015). Algorithm 1:矩状态定义;本文的方差、集中性和缩放公式在各节给定假设下直接推导。

相关阅读路线

理解优化器 ↗