Adam优化器的一阶矩二阶矩偏差修正与收敛性证明
Adam优化器结合了动量(一阶矩)和RMSProp(二阶矩)的优点,但在初始化时由于矩估计向零偏移,需要偏差修正。下面逐步推导修正公式并证明收敛性。
1. 算法定义
记在时间步 $t$,梯度为 $g_t = \nabla_\theta f_t(\theta_{t-1})$。Adam维护两个指数移动平均:
- 一阶矩估计:$m_t = \beta_1 m_{t-1} + (1-\beta_1)g_t$
- 二阶矩估计:$v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2$
其中 $m_0 = 0$,$v_0 = 0$,$\beta_1,\beta_2 \in [0,1)$ 通常取 $\beta_1=0.9$,$\beta_2=0.999$。
偏差修正后的估计:
- $\hat{m}_t = \frac{m_t}{1-\beta_1^t}$
- $\hat{v}_t = \frac{v_t}{1-\beta_2^t}$
参数更新规则:
$$ \theta_t = \theta_{t-1} - \alpha \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} $$
其中 $\alpha$ 是学习率,$\epsilon$ 是小常数防止除零(如 $10^{-8}$)。
2. 偏差修正的由来
由于 $m_0=0$,展开 $m_t$:
$$ m_t = (1-\beta_1)\sum_{i=1}^t \beta_1^{t-i} g_i $$
直接使用 $m_t$ 作为一阶矩估计会有偏差:
$$ \mathbb{E}[m_t] = \mathbb{E}[g_t] \cdot (1-\beta_1^t) $$
因为 $g_i$ 的期望假设为平稳,求和后系数为 $1-\beta_1^t$。类似地,$\mathbb{E}[v_t] = \mathbb{E}[g_t^2] \cdot (1-\beta_2^t)$。
为了得到无偏估计,需要除以衰减因子:
$$ \hat{m}_t = \frac{m_t}{1-\beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1-\beta_2^t} $$
这样 $\mathbb{E}[\hat{m}_t] = \mathbb{E}[g_t]$,$\mathbb{E}[\hat{v}_t] = \mathbb{E}[g_t^2]$。
3. 收敛性证明(简化框架)
证明 Adam 在凸优化问题中的收敛性,需要以下假设:
- 目标函数 $f_t(\theta)$ 对每个 $t$ 是凸函数,且梯度 $g_t$ 是 $L$-Lipschitz 连续的。
- 梯度有界:$\|g_t\|_\infty \leq G_\infty$。
- 参数空间 $\theta \in \mathbb{R}^d$ 有界直径 $D$。
定义 regret:
$$ R(T) = \sum_{t=1}^T f_t(\theta_t) - \min_\theta \sum_{t=1}^T f_t(\theta) $$
目标是证明 $R(T) = O(\sqrt{T})$。
关键引理:偏差修正确保更新方向与真实梯度方向一致。定义虚拟序列 $\theta_{t+1} = \theta_t - \alpha \frac{\hat{m}_t}{\sqrt{\hat{v}_t}+\epsilon}$,利用凸性可得:
$$ f_t(\theta_t) - f_t(\theta^*) \leq \frac{1}{2\alpha} \left( \|\theta_t - \theta^*\|^2 - \|\theta_{t+1} - \theta^*\|^2 \right) + \text{修正误差项} $$
误差项包括偏差修正的残差和二阶矩估计的波动。通过引理证明这些残差可以被上界控制,最终求和得到 $O(\sqrt{T})$。
详细步骤(省略繁琐代数):
- 展开 regret 为每步的 suboptimality gap 之和。
- 利用凸性 将 gap 链接到参数更新和梯度内积。
- 代入更新规则,利用偏差修正后的矩估计替换原始梯度。
- 界定量化:通过 Cauchy-Schwarz 和 Jensen 不等式,将 $\hat{m}_t$ 和 $\hat{v}_t$ 的波动控制为 $O(1/t)$ 量级。
- 求和 telescoping:参数距离的平方项形成裂项求和,剩余项之和为 $O(\sqrt{T})$。
最终得到:
$$ \frac{R(T)}{T} \to 0 \quad \text{当 } T \to \infty $$
即平均 regret 收敛到零,证明 Adam 在凸条件下收敛。
4. 实际注意事项
- 偏差修正在初始几步作用显著:$t=1$ 时 $1-\beta_1^1$ 很小,直接使用 $m_1$ 会严重低估。
- 非凸场景下严格证明较复杂,但经验上偏差修正仍能稳定训练。
- $\epsilon$ 的选择影响数值稳定性,建议设为 $10^{-8}$。
通过上述推导,Adam 的偏差修正保证了矩估计的无偏性,并支撑了收敛性证明的基础。

暂无评论,快来抢沙发吧!