深度学习中优化器的AMSGrad算法原理与自适应学习率修正机制
字数 873 2025-11-01 09:19:03
深度学习中优化器的AMSGrad算法原理与自适应学习率修正机制
题目描述:AMSGrad是Adam优化器的一个改进版本,专门解决Adam在某些情况下可能不收敛的问题。这个算法通过修改自适应学习率的更新机制,确保历史梯度平方的移动平均值是单调非递减的,从而提供理论上的收敛保证。你需要理解AMSGrad的核心修改点、数学原理以及与传统Adam的区别。
解题过程:
-
问题背景
Adam优化器结合了动量法和自适应学习率,但在某些非凸优化问题中可能发散。研究发现这是因为Adam中二阶矩估计(梯度平方的指数移动平均)的指数衰减导致有效学习率可能随时间增加,从而错过最优解。 -
AMSGrad的核心思想
AMSGrad通过维持历史梯度平方的最大值而不是简单的指数平均,确保每个参数的学习率是单调递减的。具体来说,它记录过去所有梯度平方的指数移动平均的最大值,而不是直接使用当前的指数移动平均值。 -
数学推导步骤
设目标函数为f(θ),参数为θ,在时间步t的梯度为g_t
a) 一阶矩估计(动量项):
m_t = β₁·m_{t-1} + (1-β₁)·g_t
b) 二阶矩估计(原始Adam):
v_t = β₂·v_{t-1} + (1-β₂)·g_t²
c) AMSGrad的关键修改:
引入v̂_t = max(v̂_{t-1}, v_t)
即每个时间步都取历史二阶矩估计的最大值
d) 参数更新:
θ_t = θ_{t-1} - η·m_t/(√v̂_t + ε)
- 与传统Adam的区别
- 原始Adam使用偏差校正后的v̂_t = v_t/(1-β₂^t)
- AMSGrad不使用偏差校正,而是直接比较当前和历史值
- 通过取最大值操作,保证v̂_t序列是单调非递减的
- 算法优势
- 理论保证:在更宽松的条件下也能保证收敛
- 实践效果:在某些问题中比Adam更稳定
- 计算复杂度:与Adam相同,没有增加额外计算负担
- 实现注意事项
- 需要维护额外的v̂_t变量
- 超参数β₁、β₂的选择与Adam类似
- 学习率η通常设置为0.001左右