Adan:用于加速深度模型优化的自适应Nesterov动量算法
机器学习
2024-12-02 v5 最优化与控制
摘要
在深度学习中,不同类型的深度网络通常需要不同的优化器,必须在多次试验后才能选定,使得训练过程低效。为缓解此问题并跨深度网络一致地提升模型训练速度,我们提出了ADAptive Nesterov动量算法,简称Adan。Adan首先重构了朴素Nesterov加速以开发一种新的Nesterov动量估计(NME)方法,避免了在外推点计算梯度的额外开销。然后,Adan采用NME在自适应梯度算法中估计梯度的一阶和二阶矩以加速收敛。此外,我们证明了在非凸随机问题(例如深度学习问题)上,Adan在随机梯度复杂度内找到-近似一阶驻点,匹配已知最优下界。大量实验结果表明,Adan在视觉、语言和RL任务上一致超越相应的SoTA优化器,并为许多流行网络和框架(如ResNet、ConvNext、ViT、Swin、MAE、DETR、GPT-2、Transformer-XL和BERT)刷新了SoTA。更令人惊讶的是,Adan可使用SoTA优化器一半的训练代价(轮数)在ViT、GPT-2、MAE等上达到更高或相当的性能,并且对大范围小批量大小(例如从1k到32k)表现出极佳的容忍度。代码发布于https://github.com/sail-sg/Adan,并已被多个流行深度学习框架或项目使用。
引用
@article{arxiv.2208.06677,
title = {Adan: Adaptive Nesterov Momentum Algorithm for Faster Optimizing Deep Models},
author = {Xingyu Xie and Pan Zhou and Huan Li and Zhouchen Lin and Shuicheng Yan},
journal= {arXiv preprint arXiv:2208.06677},
year = {2024}
}