Adam A Method for Stochastic Optimization/zh

    From Marovi AI
    Revision as of 03:44, 27 April 2026 by DeployBot (talk | contribs) (Batch translate Adam A Method for Stochastic Optimization unit 24 → zh)
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
    Other languages:
    Research Paper
    Authors Diederik P. Kingma; Jimmy Lei Ba
    Year 2015
    Venue ICLR
    Topic area Optimization
    Difficulty Research
    arXiv 1412.6980
    PDF Download PDF

    Adam: A Method for Stochastic Optimization 是 Kingma 和 Ba 于 2015 年发表的论文,提出了 Adam 优化器,这是一种针对随机目标函数的一阶基于梯度的优化算法。Adam 将两种早期方法的优势——AdaGrad(按参数自适应调整学习率)和 RMSProp(使用平方梯度的滑动平均)——结合到一个具有偏差校正矩估计的单一算法中。Adam 已成为大多数领域中训练神经网络的默认优化器。

    概述

    训练深度神经网络需要使用随机梯度估计来最小化一个高维、非凸的目标函数。标准的随机梯度下降(SGD)对所有参数使用单一的全局学习率,当不同参数的梯度量级差异很大,或损失曲面具有高度各向异性的曲率时,这种方式可能并非最优。

    先前的自适应方法(如 AdaGrad)在整个训练过程中累积平方梯度,导致学习率单调衰减至零——这对于非凸问题是有问题的。RMSProp 通过使用指数滑动平均解决了这一问题,但缺乏偏差校正。Adam 通过对梯度的一阶矩(均值)和二阶矩(非中心方差)进行偏差校正估计,将这些思想统一起来,提供了一个有效且计算高效的优化器,并具有表现良好的默认超参数。

    主要贡献

    • Adam 优化器:一种自适应学习率方法,基于梯度一阶矩和二阶矩的偏差校正估计,为每个参数维护各自的学习率。
    • 偏差校正:一种用于抵消矩估计向零初始化偏差的机制,这在训练的初始步骤中尤为重要。
    • AdaMax 变体:基于无穷范数的推广,在某些具有稀疏梯度的问题上有时能优于 Adam。
    • 实用默认值:推荐的超参数取值($ \beta_1 = 0.9 $$ \beta_2 = 0.999 $$ \epsilon = 10^{-8} $),在广泛的问题上表现良好。

    方法

    Adam 维护两个指数滑动平均:$ m_t $ 表示一阶矩(梯度的均值),$ v_t $ 表示二阶矩(平方梯度的均值):

    $ m_t = \beta_1 \cdot m_{t-1} + (1 - \beta_1) \cdot g_t $

    $ v_t = \beta_2 \cdot v_{t-1} + (1 - \beta_2) \cdot g_t^2 $

    其中 $ g_t = \nabla_\theta f_t(\theta_{t-1}) $ 是第 $ t $ 步的梯度,$ \beta_1, \beta_2 \in [0, 1) $ 控制指数衰减率。

    由于 $ m_t $$ v_t $ 被初始化为零向量,它们在初始步骤中会偏向零。Adam 通过 偏差校正估计 来纠正这一点:

    $ \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 \cdot \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} $

    其中 $ \alpha $ 是步长(学习率),$ \epsilon $ 是用于数值稳定性的小常数。

    一阶矩估计提供了类似动量的行为,沿着一致的梯度方向加速收敛。二阶矩估计将学习率与近期梯度的均方根成反比缩放,使每个参数拥有各自的有效学习率。这种组合意味着梯度始终较大的参数获得较小的更新,而梯度较小或噪声较大的参数获得相对较大的更新。

    论文还引入了 AdaMax,它将 Adam 中二阶矩使用的 $ L^2 $ 范数替换为 $ L^\infty $ 范数,得到一种更简单的更新规则,避免了对二阶矩的偏差校正。

    结果

    论文在多个基准测试上对 Adam 进行了评估:

    • 逻辑回归(MNIST 上):Adam 的收敛速度快于带动量的 SGD、AdaGrad 和 RMSProp。
    • 多层神经网络(MNIST 上):Adam 取得了最低的训练代价,其收敛速度与竞争方法相当或更优。
    • 卷积神经网络(CIFAR-10 上):Adam 的表现与经过精细调优动量和学习率调度的 SGD 相当。
    • 变分自编码器(VAEs):Adam 被成功用于优化变分下界,证明了其在生成模型中的适用性。

    论文提供了收敛性分析,表明 Adam 在在线凸优化框架下可达到 $ O(\sqrt{T}) $ 的遗憾界,与自适应方法已知的最佳界相匹配。

    影响

    Adam 成为深度学习中使用最广泛的优化器,从 2010 年代后期一直延续到 2020 年代,被大多数研究论文和生产系统选作默认优化器。它对超参数选择的鲁棒性以及在各种架构下的有效性,使其成为从业者的首选算法。

    后续工作指出了一些局限性,包括在某些情形下的收敛问题(由 AMSGrad 解决)、相较于精心调优的 SGD 可能存在的泛化差距(尤其是在图像分类中),以及对 $ \epsilon $ 取值的敏感性。诸如 AdamW(将权重衰减与自适应学习率解耦)等变体在训练大型 Transformer 模型时更受青睐。尽管有这些改进,Adam 及其变体仍然是现代神经网络优化的支柱。

    参见

    参考文献

    • Kingma, D. P. 与 Ba, J. (2015). Adam: A Method for Stochastic Optimization. Proceedings of ICLR 2015. arXiv:1412.6980
    • Duchi, J., Hazan, E., 与 Singer, Y. (2011). Adaptive Subgradient Methods for Online Learning and Stochastic Optimization. JMLR 12.
    • Loshchilov, I. 与 Hutter, F. (2019). Decoupled Weight Decay Regularization. ICLR 2019. arXiv:1711.05101.