从SGD到Adam:用ε参数实现优化器平滑过渡

通过动态调节ε参数,将SGD与Adam统一为同一优化框架的两端,实现训练初期更稳健的收敛行为。
这篇文章介绍了一项名为"Jesus's Adam"的探索性优化器改进工作,核心思想是将ε(epsilon)从接近1逐渐衰减到接近0,使优化器在训练过程中从类SGD的稳健行为平滑过渡到Adam的自适应特性。作者揭示了ε在自适应优化器中的深层角色——它不仅是防止除零的数值保险丝,更是调控自适应程度的关键旋钮。配合这一机制,文章还提出可省略训练后期已无实质意义的偏差校正项,并通过λ*参数简化权重衰减的表达形式。整体思路为"连续参数化的优化器视角"提供了一个具体范例:SGD与Adam是同一优化族在参数空间的两端,而非两个独立算法。这一视角对强化学习等对初期收敛敏感的场景尤具参考价值,尽管目前仍属未发表的探索性工作,有待大规模独立验证。
优化器背后的连续统一视角
在深度学习训练中,优化器的选择常被看作一个非此即彼的决策——要么用SGD(随机梯度下降),要么用Adam(自适应矩估计)。然而,一位Reddit用户在其未发表的研究工作(Symphony-S2项目)中提出了一个颇具启发性的观点:SGD与Adam并非两个割裂的算法,而是同一优化框架在不同参数取值下的两个极端。
这项工作以"Jesus's Adam"为名,核心议题在于如何避免优化器在训练初期收敛到奇异策略(odd policies)——这在强化学习和敏感的训练场景中尤为关键。

ε参数如何连接SGD与Adam
从1到0的平滑过渡机制
作者提出的核心机制是:通过将ε(epsilon)从约等于1逐渐减小到约等于0,配合β₂的调控,优化器可以从SGD平滑地过渡到Adam。
这一思路的巧妙之处在于揭示了ε在自适应优化器中的真实角色。在标准的Adam实现中,ε通常是一个极小的常数(如1e-8),仅用于防止分母为零。但在这项工作中,ε被重新定位为一个控制自适应程度的关键旋钮:
- ε ≈ 1时:分母中的梯度二阶矩项被稀释,自适应缩放几乎不起作用,优化器行为接近纯粹的SGD
- ε ≈ 0时:二阶矩估计完全主导,优化器恢复为标准的Adam
这种设计意味着训练可以从一个更"温和"、更接近SGD的起点开始,随后逐渐引入Adam的自适应特性。
训练初期为何需要这种过渡
Adam在训练初期存在一个不用多说的问题:由于二阶矩估计尚未稳定,自适应学习率可能出现剧烈波动,导致模型过早地收敛到不理想的、"奇异"的策略区域。在强化学习中,这种早期的错误收敛往往是致命的,因为策略一旦陷入局部次优,后续很难跳出。
作者的方案本质上是一种**"从稳健到激进"的渐进策略**——先用类SGD的稳定更新建立良好的初始方向,再逐步释放Adam的加速能力。这与学习率warmup的理念有相通之处,但作用的维度更深:它调控的不仅是步长大小,而是优化器本身的行为模式。
偏差校正与权重衰减的工程简化
偏差校正项为何可以省略
作者指出,Adam中的偏差校正项(bias correction)可以在分子和分母中被省略,因为它们的影响在大约1000到2000个训练步之后就变得可以忽略不计。
这是一个实用主义的观察。标准Adam的偏差校正主要是为了修正训练初期一阶矩和二阶矩估计的低估问题。而当训练进入稳定阶段后,指数移动平均已经充分"预热",校正因子趋近于1,此时保留这些项只会增加计算与实现的复杂度而无实质收益。
权重衰减的参数化简化方法
工作中还引入了一个权重衰减常数λ*,其定义为:
λ* = 1 - αₗᵣ · λ
其中αₗᵣ为学习率,λ为原始权重衰减系数。这种"参数化削减"将权重衰减操作整合为一个乘性常数,简化了每一步更新的表达形式,使得整体优化器的实现更加紧凑。这与AdamW中解耦权重衰减的思路有异曲同工之处,都是在追求更清晰、更可控的正则化行为。
技术评价:价值与局限
连续参数化的优化器视角
这项工作最大的启发在于它提供了一个连续参数化的优化器视角。将SGD和Adam视为同一族算法的两端,不仅在理论上更优雅,也为实践中的"课程式优化"(curriculum optimization)打开了空间——我们可以设计一条从SGD到Adam的调度曲线,让优化器的特性随训练进程动态演化。
仍需审慎验证的部分
必须强调的是,这是一项尚未发表的工作,其结论主要来自作者在Symphony-S2项目中的实践观察,尚缺乏严格的理论证明和大规模的独立复现验证。以下几点值得进一步关注:
- 调度策略设计:ε从1到0的具体调度方式如何确定?是线性衰减、指数衰减还是基于训练动态自适应调整?
- 任务泛化性:"避免奇异策略收敛"的效果在多大范围的任务上成立?
- 极端场景风险:省略偏差校正是否会在某些极端场景(如极小batch size或高噪声梯度)下引入问题?
对深度学习实践者的启示
即便抛开具体实现,这项工作传递的核心思想仍具参考价值:优化器不必是一个固定的黑盒,其内部参数(尤其是ε这类常被忽视的量)可以成为训练调控的有效手段。对于正在与强化学习早期收敛问题搏斗的研究者而言,尝试对ε进行动态调度或许是一条值得探索的路径。
总结
"Jesus's Adam"以一个有趣的命名,包裹了一个务实的优化器改进思路——通过ε的平滑过渡统一SGD与Adam,辅以偏差校正省略和权重衰减简化,试图在训练初期获得更稳健的行为。虽然它仍是一项探索性的未发表工作,但其"连续统一"的视角,为我们重新审视优化器设计提供了有益的角度。感兴趣的读者可以查阅作者在GitHub上公开的Symphony-S2项目文档以了解更多细节。
相关推荐

Vercel AI SDK 发布 Vue 3.0.282 补丁更新
Vercel AI SDK 发布 @ai-sdk/vue@3.0.282 补丁更新,同步核心包 ai@6.0.282。本文解析该 Vue 生态 AI 开发工具的更新内容、版本节奏与开发者升级建议。

Vercel AI SDK 沙箱组件发布补丁更新
Vercel AI SDK 发布 sandbox-vercel@1.0.109 补丁更新,同步 harness 依赖至同版本。本文解读这次维护更新的内容及其对 AI 应用开发者的意义。

Claude的承重词汇:哪些关键词真正影响AI行为输出
探索Claude大语言模型中的承重词汇概念,解析特定关键词如何以超额权重影响AI行为输出,以及这一发现对提示工程优化、AI对齐研究和模型安全的实践启示。