[NeurIPS] Adam 没坏:深度解析 vanilla Adam 的收敛相变
Adam Converges Without Any Modification On Update Rules
本文针对经典优化器 Adam 的收敛性问题进行了深度理论重构,提出了首个在 (β1, β2) 二维平面上的“散敛相变”理论。研究证明,无需修改 Adam 的更新规则,只需通过与问题相关的超参数(特别是大 β2)即可保证其在非凸优化中的收敛性。
TL;DR
长期以来,AI 界一直笼罩在“Adam 可能发散”的阴影下,导致诞生了无数强行修改更新规则的变体(如 AMSGrad, AdaBound)。本文作者通过严密的数学证明告诉我们:Adam 本身没有问题,问题出在我们选择参数的逻辑上。 研究揭示了 Adam 存在一个从发散到收敛的“相变”过程,且这个过程由 (β1, β2) 与 Batch Size 的互动决定。
背景定位:一场延续 7 年的误解
2018 年,Reddi 等人的论文获得 ICLR 最佳论文,其核心观点是:对于任何超参数,都能找到让 Adam 发散的例子。这给原生 Adam 判了“死刑”。但不可思议的是,工业界(尤其是大模型 LLM 领域)依然在大规模使用 vanilla Adam。
作者敏锐地发现了两者的错位:理论研究通过改变“问题”来迎合“参数”以构造发散;而现实中开发者是固定“问题”,寻找适配的“参数”。
核心直觉:为什么大 β2 是救命稻草?
Adam 的本质是一个随机非线性动力系统。其更新步长中包含 ,当 (梯度的二阶矩估计)波动剧烈时,步长会瞬间爆炸。
1. 集中效应 (Concentration Effects)
作者证明,当 β2 增大时, 的变化变慢,原本剧烈波动的随机变量 开始向其期望值 集中。这意味着不稳定的随机系统在宏观上表现出了确定性算法的平滑特质。
如图所示:在大 β2 区域(蓝色),Adam 的更新方向贴近负梯度,系统收敛;而在小 β2 区域(红色),方向发生剧烈偏转,导致发散。
为大模型训练正名:Batch Size 的暗示
论文最具有实践价值的贡献在于揭示了 β2 阈值与 Batch Size 的负相关性。
- 数学直觉:Batch Size 越小,噪声 (mini-batches 数量)越大,为了抵消噪声,二阶矩估计必须更加“长效”,即 β2 需要更靠近 1。
- 行业印证:这解释了为什么在 GPT-3、Llama 以及最新的 DeepSeek 训练报告中,工程师往往会微调 β2。
MNIST 与 CIFAR-10 的实验印证了理论:存在明显的蓝色收敛区。当 β2 > 0.99 时,几乎所有的 β1 都能跑出良好的收敛曲线。
方法论:势函数与 zk 序列
为了克服一阶动量(β1)带来的历史偏差,作者没有直接分析原始序列 ,而是巧妙地构造了一个辅助序列: 通过分析 的势函数变化,作者避开了 Adam 轨迹中复杂的耦合作用,证明了即使在梯度无界(Unbounded Gradient)的假设下,只要参数落在“安全区”,原生 Adam 依然能达到临界点。
实验与战绩
- 收敛速度:证明了原生 Adam 具有 的收敛率,这与精心设计的变体处于同一量级。
- 发散反例:作者通过构造特定的目标函数(见下表及热力图),清晰界定了发散区域的边界。
随着数据集切分更细(n 增大),发散区域(橙色)逐渐扩张。这意味着在超大规模分布式训练(小 Batch)中,调优 β2 是生死攸关的。
总结与启示
这篇论文是优化理论领域的一次“拨乱反正”。它告诉我们:
- 尊重 Vanilla:原生 Adam 依然是极具生命力的。
- 调参指南:当你遇到模型训练崩溃时,不要急着换 AMSGrad,试着调大 β2(例如从 0.99 增加到 0.999),尤其是当你的单卡 Batch Size 很小时。
- 相变视角:理解深度学习优化不应只看单一收敛点,而应关注超参数空间的相变边界。
资深主编点评:本文在 L-smooth 假设下撤销了梯度有界(Bounded Gradient)这一不切实际的“安全带”,在裸奔状态下证明了 Adam 的安全性,这才是符合工业界直觉的硬核理论。
