Combining Adam and its Inverse Counterpart to Enhance Generalization of Deep Learning Optimizers

该论文提出了一种名为 DualAdam 的新型优化器,通过结合 Adam 及其逆版本 InvAdam 的更新机制,在确保收敛性的同时利用扩散理论帮助模型逃离尖锐极小值,从而在图像分类和大语言模型微调任务中显著提升了泛化性能。

Tao Shi, Liangming Chen, Long Jin, Mengchu Zhou

发布于 Tue, 10 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文提出了一种名为 DualAdam 的新方法,旨在解决深度学习训练中一个非常头疼的问题:模型学得太快,但“举一反三”的能力(泛化能力)却不够好。

为了让你轻松理解,我们可以把训练神经网络想象成在一个充满坑洼的山谷中寻找最低点(最佳模型参数)

1. 核心问题:为什么“快”反而不好?

  • 传统的 Adam 优化器(老练的登山者):
    它非常聪明,下山速度极快。它的策略是:如果脚下的路很陡(梯度大),它就迈小步;如果路很平,它就迈大步。

    • 缺点: 因为它太追求“稳”和“快”,它很容易掉进那些**又深又窄的坑(尖锐极小值)**里。
    • 比喻: 想象你在一个有很多小坑的草地上跑。Adam 跑得很快,但一旦掉进一个小坑,它觉得这里挺低,就停下来了。结果呢?只要稍微有点风(数据稍微变一点),它就会被吹出坑,摔得很惨。这就是泛化能力差,模型只能死记硬背训练数据,遇到新数据就“懵圈”。
  • 我们要找的目标:平坦的盆地(平坦极小值):
    理想的最低点应该是一个宽阔平坦的盆地

    • 比喻: 这里即使下点雨、刮点风(数据有波动),你依然稳稳地待在里面,不会轻易掉出去。这样的模型泛化能力极强,能很好地适应新情况。

2. 论文的创新:两个“分身”的接力赛

为了解决这个问题,作者设计了两个“分身”,并让它们接力合作:

第一棒:InvAdam(逆亚当)—— 勇敢的探险家

  • 它的绝招: 它是 Adam 的“逆反”版本。
    • Adam 是:路越陡,步子越小(怕摔)。
    • InvAdam 是:路越陡,步子越大!
  • 比喻: 想象 InvAdam 是个莽撞的探险家。当他发现脚下的坑很陡(尖锐极小值)时,他反而用力一跳,直接跨出这个坑,去寻找更宽阔的地方。
  • 作用: 它擅长逃离那些狭窄的深坑,把模型带到平坦的盆地边缘。
  • 缺点: 因为它步子太大、太莽撞,很难在终点停下来,容易在终点附近晃来晃去,导致无法收敛(训练结束不了)。

第二棒:DualAdam(双重亚当)—— 完美的接力教练

  • 它的策略: 既然 InvAdam 擅长“找路”,Adam 擅长“站稳”,那为什么不把它们结合起来呢?
  • 工作流程:
    1. 训练初期(探索阶段): 主要使用 InvAdam。这时候模型需要到处看看,利用它“大步跨越”的能力,迅速逃离那些狭窄的深坑,找到平坦的盆地。
    2. 训练后期(收敛阶段): 随着训练进行,慢慢切换到 Adam。这时候坑已经找得差不多了,需要 Adam 那种“稳扎稳打”的能力,让模型在平坦的盆地中心稳稳地停下来,完成训练。
  • 比喻: 这就像开车下山
    • 刚开始下山时,路况复杂,有很多小坑。你开一辆越野车(InvAdam),悬挂很硬,能直接冲过坑洼,快速找到平坦的大路。
    • 一旦上了平坦的大路,你就换回轿车(Adam),开得稳稳当当,精准地停在目的地。
    • DualAdam 就是那个聪明的司机,知道什么时候该换车,什么时候该切换模式。

3. 为什么要这样做?(理论支撑)

论文用了一种叫“扩散理论”的数学方法证明了:

  • Adam 在陡峭的地方(尖锐极小值)就像被粘住了一样,很难出来。
  • InvAdam 在陡峭的地方反而像装了弹簧,更容易弹出来。
  • 通过线性切换(慢慢从 InvAdam 过渡到 Adam),DualAdam 既拥有了探险家的视野(找到好位置),又拥有了老练登山者的定力(稳稳停住)。

4. 实验结果:真的有用吗?

作者在各种任务上测试了这个方法,包括:

  • 图片分类: 比如识别猫和狗(CIFAR, ImageNet 数据集)。
  • 大语言模型微调: 比如让 AI 学会写中文(OpenPangu-1B 模型)。

结果令人惊喜:

  • 泛化能力更强: 用 DualAdam 训练的模型,在没见过的测试数据上表现更好,准确率更高。
  • 防止过拟合: 在大语言模型实验中,AdamW(目前的主流方法)训练时损失很低,但验证时效果变差(过拟合了);而 DualAdam 虽然训练损失稍微高一点点,但验证效果非常稳定,说明它真的学到了“真本事”,而不是死记硬背。
  • 速度没慢多少: 虽然多了一点计算,但相对于整个训练过程,这点开销几乎可以忽略不计。

总结

这篇论文的核心思想就是:不要只用一种方法走到底。

  • Adam 是个快但容易迷路的选手。
  • InvAdam 是个能破局但站不稳的选手。
  • DualAdam 把两者结合,前期靠 InvAdam 破局找平路,后期靠 Adam 稳稳停住

这就好比教学生:刚开始学习时,要鼓励他大胆尝试、甚至犯错(大步探索),不要怕走弯路;等基础打好了,再要求他严谨细致、精益求精(稳步收敛)。这样培养出来的学生(模型),既聪明又稳健,考试(泛化)成绩自然最好!