论文 · arXiv 1412.6980
Adam:一种随机优化方法
Adam: A Method for Stochastic Optimization
三句话总结
- 🎯 随机梯度下降在面对带噪梯度、非平稳目标以及跨参数病态曲率时表现欠佳。
- 🔧 利用历史梯度和历史平方梯度的指数衰减移动平均来计算各个参数独立的自适应学习率,并进行了关键的初始化偏差校正。
- 📈 证明了凸在线设定下 的后悔界,并在多种深度学习基准测试中超越了带动量的 SGD、AdaGrad 和 RMSProp。
摘要
我们提出了 Adam,一种基于低阶矩自适应估计的随机目标函数一阶梯度优化算法。该方法实现简单、计算高效、内存需求小,对梯度的对角缩放具有不变性,并且非常适合在数据量和/或参数量庞大的问题上应用。该方法同样适用于非平稳目标以及具有高度噪声和/或稀疏梯度的问题。其超参数具有直观的物理意义,通常几乎无需微调。我们还讨论了启发 Adam 的相关算法之间的联系。此外,我们分析了该算法的理论收敛性质,并给出了在线凸优化框架下与已知最优结果相当的收敛速度后悔界(regret bound)。实证结果表明,Adam 在实践中表现良好,优于其他随机优化方法。最后,我们探讨了基于无穷范数的 Adam 变体——AdaMax。
英文原文摘要
We introduce Adam, an algorithm for first-order gradient-based optimization of stochastic objective functions, based on adaptive estimates of lower-order moments. The method is straightforward to implement, is computationally efficient, has little memory requirements, is invariant to diagonal rescaling of the gradients, and is well suited for problems that are large in terms of data and/or parameters. The method is also appropriate for non-stationary objectives and problems with very noisy and/or sparse gradients. The hyper-parameters have intuitive interpretations and typically require little tuning. Some connections to related algorithms, on which Adam was inspired, are discussed. We also analyze the theoretical convergence properties of the algorithm and provide a regret bound on the convergence rate that is comparable to the best known results under the online convex optimization framework. Empirical results demonstrate that Adam works well in practice and compares favorably to other stochastic optimization methods. Finally, we discuss AdaMax, a variant of Adam based on the infinity norm.
论文解读
问题与动机
随机一阶优化是现代机器学习的核心基石。然而,标准随机梯度下降(SGD)对所有坐标应用相同的步长,这使得它对梯度缩放、病态曲率和随机噪声非常敏感。虽然 AdaGrad 利用历史平方梯度自适应调整各坐标步长,但其学习率在深度网络架构中会迅速衰减至零。RMSProp 和 AdaDelta 通过指数移动平均缓解了这一衰减问题,但 RMSProp 在非平稳环境下缺乏理论保证,且两者都未考虑移动平均从零开始时的初始化偏差。
作者旨在结合两种范式的优势:AdaGrad/RMSProp(适应稀疏和不同尺度的梯度)与经典 Momentum(加速平坦方向的收敛并平滑噪声)。
核心思想
- 一阶矩与二阶矩估计:Adam 同时维护梯度(一阶原点矩 )和平方梯度(二阶非中心矩 )的滑动指数移动平均。
- 偏差校正(Bias Correction):由于 和 初始化为零向量,其标准滑动平均会偏向于零——特别是在早期迭代或衰减率()接近 1 时。Adam 通过除以 和 在解析上校正了这一偏差。
- 梯度重缩放不变性:有效更新方向大致与信噪比 成比例,从而提供了自然的步长边界,并对梯度的对角缩放具有不变性。
- AdaMax:将 中对梯度的 范数跟踪泛化到 范数,由此衍生出 AdaMax。这是一种数值上更稳定的变体,且无需进行二阶矩偏差校正。
方法(及核心公式)
在时间步 ,给定目标函数 、梯度 、步长 、指数衰减率 以及极小常数 :
更新有偏一阶矩估计:
更新有偏二阶原点矩估计:
计算偏差校正后的矩估计:
更新参数:
论文推荐的默认超参数为 、、 以及 。
结果(及重要指标)
- 理论收敛性:在梯度有界且参数域 有界的在线凸优化框架下,Adam 实现了理论后悔界 ,对应平均后悔率为 。
- 逻辑回归与多层感知机:在 MNIST 分类任务中,Adam 在多种网络结构下的收敛速度均快于 AdaGrad、RMSProp 以及带 Nesterov 动量的 SGD,并且对超参数扰动的敏感度极低。
- 卷积神经网络:在 CIFAR-10 上使用多层 CNN(包含 dropout 和 pooling)进行评估,Adam 展现出更快的训练损失下降速度,并达到了比 RMSProp 和 AdaDelta 更低的最终损失。
局限性与开放问题
- 凸优化与非凸理论:理论后悔界基于凸函数假设;对于非凸深度学习目标的理论收敛行为,当时尚未给出严格的形式化证明。
- 后续发现的理论漏洞:后来的研究(如 Reddi et al., 2018)指出 Adam 的收敛性证明存在缺陷,即 不一定为半正定,有时会导致实验中出现发散(这也催生了 AMSGrad 等变体)。
- 泛化差距(Generalization Gap):该论文发表后的实证研究表明,尽管 Adam 初始训练更快,但在某些图像分类任务上,精心微调的带动量 SGD 往往能找到泛化性能稍好的解。
关键术语
- Adam
- 一种源自“自适应矩估计(adaptive moment estimation)”的一阶梯度随机优化算法。
- First Moment Vector (一阶矩向量)
- 历史随机梯度的指数衰减移动平均,代表所估计的平均梯度方向。
- Second Raw Moment Vector (二阶原点矩向量)
- 历史逐元素平方随机梯度的指数衰减移动平均,用于跟踪非中心方差。
- Bias Correction (偏差校正)
- 通过除以 重新缩放移动平均,以消除优化早期向零偏置的初始化偏差。
- Signal-to-Noise Ratio (SNR) (信噪比)
- 比值 ,它会缩小不确定性较高维度的步长,并扩大置信度较高维度的步长。
- AdaMax
- Adam 的一种变体,将基于 范数的二阶矩估计推广到了 范数。
- Regret Bound (后悔界)
- 衡量算法累积损失与事后最佳固定参数累积损失之间差距的理论指标。
常见问题
为什么 Adam 中需要进行偏差校正?
由于 和 初始化为零向量,移动平均在初始迭代中严重偏向于零(特别是当 和 接近 1 时)。除以 和 可以校正估计量的期望值,使其与真实矩相匹配。
Adam 推荐的默认超参数是多少?
作者推荐的学习率为 ,一阶矩衰减率 ,二阶矩衰减率 ,数值稳定性常数 。
Adam 与 RMSProp 有何区别?
RMSProp 仅使用平方梯度的指数移动平均,缺少了一阶矩的移动平均(动量项),且未进行初始化偏差校正。
什么是 AdaMax?
AdaMax 将 Adam 的 范数二阶矩跟踪扩展到 范数,用绝对梯度的滑动最大值替代了平方梯度的滑动和,从而无需进行二阶矩偏差校正。
本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。