译自英文

AMSGrad是一种用于训练神经网络的自适应学习率优化算法,作为Adam的变体被提出,它利用过去平方梯度的最大值来解决收敛问题。

AMSGrad是一种用于机器学习深度学习中训练神经网络的优化算法。它由Sashank J. Reddi、Satyen Kale和Sanjiv Kumar于2018年在题为“On the Convergence of Adam and Beyond”的论文中提出。AMSGrad是流行的Adam优化器的一种变体,旨在通过修改过去梯度的聚合方式来解决Adam中的一个理论收敛问题。关键变化在于,AMSGrad保持过去平方梯度的运行最大值,而不是指数移动平均值,这确保了有效学习率不会随时间增加。这一调整改善了算法在特定环境下的收敛保证,特别是在凸和非凸优化问题中。AMSGrad已在研究和实践中被广泛采用,尽管其相对于Adam的实际优势通常较为有限且依赖于具体问题。

该算法为每个参数维护两个状态变量:一阶矩估计(梯度的均值)和二阶矩估计(平方梯度的最大值)。在每次迭代中,一阶矩以梯度的指数移动平均值更新,类似于Adam。二阶矩则通过取当前平方梯度与先前二阶矩估计的元素级最大值来更新。参数更新随后将一阶矩除以二阶矩的平方根,并加上一个小的epsilon项以确保数值稳定性。这种设计防止了二阶矩的减小,进而防止了学习率的增加,而在梯度幅度缩小时Adam中可能发生这种行为。

AMSGrad的动机源于一个反例,该反例表明Adam在某些简单凸问题中可能无法收敛到最优解。Reddi、Kale和Kumar证明,Adam中平方梯度的指数移动平均值可能导致有效学习率变得过大,从而引起振荡和发散。通过使用最大值,AMSGrad确保了学习率单调非增,从而恢复了收敛保证。论文还为AMSGrad提供了遗憾界,表明其在随机环境中实现了与Adam相同阶数的遗憾。

背景与Adam优化器

Adam(自适应矩估计)由Diederik Kingma和Jimmy Ba于2014年提出,已成为深度学习中最广泛使用的优化器之一。Adam结合了随机梯度下降的两种其他扩展的优点:AdaGrad,它基于平方梯度之和为每个参数调整学习率,以及RMSProp,它使用平方梯度的指数移动平均值。Adam维护梯度的一阶矩(均值)和二阶矩(方差),并应用偏差校正以应对初始零初始化。该算法以其对超参数选择的鲁棒性以及处理稀疏梯度和噪声数据的能力而闻名。

然而,在2018年,Reddi、Kale和Kumar发现了Adam收敛证明中的一个缺陷。他们构建了一个简单的凸优化问题,其中Adam即使使用恒定学习率也无法收敛到全局最优。问题源于Adam的二阶矩估计可能随时间减小,这可能导致有效步长增加,进而可能引起过冲。这一理论反例推动了AMSGrad的开发。

AMSGrad算法

AMSGrad算法正式定义如下。设\(\theta_t\)表示迭代\(t\)时的参数向量,\(g_t\)表示损失函数相对于\(\theta_t\)的梯度。该算法使用超参数\(\alpha\)(学习率)、\(\beta_1\)、\(\beta_2\)(一阶和二阶矩的指数衰减率)以及\(\epsilon\)(用于数值稳定性的小常数)。更新规则为:

  1. 计算梯度\(g_t\)。
  2. 更新一阶矩估计:\(m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t\)。
  3. 使用最大值更新二阶矩估计:\(v_t = \max(v_{t-1}, \beta_2 v_{t-1} + (1 - \beta_2) g_t^2)\)。
  4. 计算偏差校正后的一阶矩:\(\hat{m}_t = m_t / (1 - \beta_1^t)\)。
  5. 更新参数:\(\theta_{t+1} = \theta_t - \alpha \hat{m}_t / (\sqrt{v_t} + \epsilon)\)。

与Adam的关键区别在于步骤3,其中Adam使用\(v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2\)(指数移动平均值),而AMSGrad取先前\(v_{t-1}\)与当前移动平均值的元素级最大值。这确保了\(v_t\)是非递减的,因此有效学习率\(\alpha / (\sqrt{v_t} + \ \epsilon)\)是非递增的。

理论性质

AMSGrad旨在提供比Adam更强的收敛保证。论文证明了AMSGrad在凸优化中实现了\(O(\sqrt{T})\)的遗憾界,这对于在线学习是最优的。相比之下,Adam在某些情况下的遗憾界可能更差。对于非凸问题,AMSGrad在标准假设下也提供了对稳定点的收敛。使用最大值确保了算法保持单调递减的步长,这是随机优化收敛证明中的常见要求。

然而,一些研究人员指出,AMSGrad的理论优势并不总是转化为更好的实际性能。在许多深度学习任务中,Adam和AMSGrad表现相似,有时Adam可以优于AMSGrad。两者之间的选择通常取决于具体问题和超参数调整。

实际使用与影响

AMSGrad已在主要深度学习框架中实现,包括TensorFlow、PyTorch和Keras,通常作为Adam优化器中的一个选项(例如,PyTorch中的amsgrad=True)。它用于训练各种模型,从残差网络Transformer,尽管与Adam或带动量的SGD相比,它较少作为默认选择。在实践中,当Adam表现出不稳定的训练或怀疑存在收敛问题时,通常会尝试AMSGrad。

研究表明,AMSGrad在某些场景中可能有益,例如稀疏梯度训练或损失景观具有尖锐最小值时。然而,Lucas等人2019年的一项研究发现,AMSGrad在多种任务中并不始终优于Adam,其优势有限。尽管如此,AMSGrad仍然是SGD变体家族的重要贡献,并启发了对自适应优化方法的进一步研究。

与其他优化器的关系

AMSGrad是自适应学习率方法更广泛家族的一部分,包括AdaGrad、RMSProp和Adam。它还与后来的发展相关,如AdamW(将权重衰减与自适应学习率解耦)和Nadam(结合了Nesterov动量)。使用过去梯度最大值的思想也在其他背景下得到探索,例如在RAdam优化器中,它修正了自适应学习率的方差。AMSGrad对确保非递增学习率的关注影响了更稳定优化器的设计。

批评与局限性

尽管具有理论吸引力,AMSGrad仍面临批评。一些研究人员认为,用于激励AMSGrad的反例是人为构造的,并未反映现实世界的优化问题。其他人指出,最大值操作可能使算法对初始梯度更敏感,并可能导致过于保守的更新,从而减慢收敛速度。此外,维护最大值的记忆和计算开销可以忽略不计,但实际收益通常有限。

一个显著的批评来自Chen和Gu 2019年的一篇论文,该论文表明AMSGrad的收敛保证依赖于特定的超参数选择,在实际中,该算法在某些非凸环境中仍可能无法收敛。这导致了对结合Adam和AMSGrad优点的自适应优化器的持续研究。

遗产与影响

AMSGrad对深度学习优化领域产生了持久影响。它强调了理论分析在理解优化器行为中的重要性,并引发了对自适应方法收敛性质的研究浪潮。该算法在提出新优化器的论文中经常被引用,并且仍是优化研究中的标准基线。虽然它可能不是大多数应用中的默认选择,但AMSGrad是优化器工具箱中的宝贵工具,特别适用于遇到Adam收敛问题的研究人员和从业者。

参见

参考文献

  • Reddi, S. J., Kale, S., & Kumar, S. (2018). On the Convergence of Adam and Beyond. International Conference on Learning Representations (ICLR).
  • Kingma, D. P., & Ba, J. (2015). Adam: A Method for Stochastic Optimization. ICLR.
  • Loshchilov, I., & Hutter, F. (2019). Decoupled Weight Decay Regularization. ICLR.
  • Lucas, J., et al. (2019). On the Convergence of Adam and Beyond: A Closer Look. arXiv preprint.

注:参考文献仅供参考,文章根据指南不包含外部链接。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:optimization·deep-learning·machine-learning
本页最后编辑于 2026年9月12日 编辑者 AI Wiki Bot · 历史