立即尝鲜!碾压Adam,最好的AI优化器RAdam来了
栏目:公司动态 发布时间:2024-04-29
今日宜:放弃旧爱Adam,拥抱新欢RAdam。最近的一篇新论文介绍了RAdam,或称“RectifiedAdam”。它是经典Adam优化器的一种新变体,它基于对训练期间方差和动量的影响的详细研究,为自适应学习率提供自动、动态的调整。它有望为几乎所有AI应用提供更好的收敛,更好的训练稳定性(对选择的学习率

今日宜:放弃旧爱Adam,拥抱新欢RAdam。

最近的一篇新论文介绍了RAdam,或称“Rectified Adam”。它是经典Adam优化器的一种新变体,它基于对训练期间方差和动量的影响的详细研究,为自适应学习率提供自动、动态的调整。

它有望为几乎所有AI应用提供更好的收敛,更好的训练稳定性(对选择的学习率不那么敏感)以及准确性和泛化性。

与 Adam相比,可立即提高AI准确度:

RAdam对不同的学习速度具有鲁棒性,同时仍能快速收敛并获得更高的精度(CIFAR数据集)


相关人员已经在FastAI框架内测试了RAdam,并很快获得了新的高精度记录。




RAdam和XResNet50,5个 epochs的86%

Imagenette排行榜——当前精度=84.6%


不仅仅是CNNs: RAdam在对Billion Word数据集的LSTM语言建模方面表现出色


所有AI研究人员的目标 - 快速稳定的优化算法

作者指出,虽然每个人都在努力实现快速稳定的优化算法,但包括Adam,RMSProp等在内的自适应学习速率优化器都存在收敛到较差的局部最优的风险 (如果不用warmup方法实现的话。)因此,几乎所有人都使用某种形式的warmup(FastAI在其Fit_One_Cycle中有内置热身)......但为什么需要warmup?

由于目前对AI社区warmup启发式的潜在原因甚至最佳实践的理解有限,作者试图揭示这个问题的基础。他们发现,根本问题在于自适应学习率优化器的方差太大,特别是在训练的早期阶段,并且基于有限的训练数据进行过度跳跃......因此可以适应较差的局部最优。

因此,当优化器仅使用有限的训练数据时,warmup(具有低得多的学习速率的训练的初始阶段)是自适应优化器抵消过多方差的必要条件。

这是一个视觉效果,展示了在没有warmup的情况下Adam最初的情况 - 在10次迭代中,梯度分布很快被扰乱乱:


注意,在没有warmup的情况下,初始正态分布是如何迅速扭曲的

简而言之,vanilla Adam和其他自适应学习率优化器在早期的训练中,基于太少的数据做出错误的决策。因此,如果没有某种形式的warmup,他们很可能一开始就陷入糟糕的局部最优状态,因为糟糕的开始使得训练曲线更长、更困难。

然后,作者测试了在没有warmup的情况下运行Adam,但是在前2000次迭代(Adam -2k)中避免使用任何动量。他们发现,实现了与Adam加热相似的结果,从而验证了warmup功能在最初的训练中起到了一种“方差减少”的作用,并避免了Adam在一开始没有足够的数据可用时陷入糟糕的优化状态。

RAdam中的“整流器”

考虑到warmup是一种方差减速器,但所需的warmup程度是未知的,而且数据集之间也是不同的,因此,作者决定了一种数学算法来作为一种动态方差减速器。因此,他们建立了一个整流器(rectifier)项,这将允许自适应动量缓慢但稳定地得到充分表达作为一个基础方差的函数。他们的完整模型是这样的:


RAdam是它的核心。蓝色方框突出了整流器r(t)在步长上的最终应用。

作者指出,在某些情况下,由于衰减率和基本方差,RAdam可以在动量等效的情况下退化为SGD。

总结,虽然是RAdam根据方差的散度动态地打开或关闭自适应学习速率。实际上,它提供了动态warmup,不需要可调参数。

作者证实,RAdam的性能优于传统的手动warmup调优,其中需要warmup或猜测warmup步骤的数量:


RAdam自动提供方差缩减,在不同的warmup长度和不同的学习速度下,它的性能优于手动的warmup。

总结:RAdam可以说是AI最先进的优化器

如您所见,RAdam提供了一种动态启发式算法,可以提供自动化的方差减少,从而消除了训练期间warmup所需的手动调整。

此外,RAdam对学习速率变化(最重要的超参数)具有更强的鲁棒性,并且可以在各种数据集和各种AI架构中提供更好的训练准确性和泛化。

简而言之,强烈建议您将RAdam放入您的AI架构!:)

RAdam适用于 PyTorch ,GitHub:

github.com/LiyuanLucasL

FastAI用户可以轻松插入RAdam,如下所示:


导入RAdam,声明为一个局部函数(根据需要添加参数)


通过前面声明的部分用RAdam覆盖默认的AdamW优化器。

完整的论文链接如下

“On the Variance of the Adaptive Learning Rate and Beyond”

arxiv.org/abs/1908.0326

建议跳过这篇论文,直接来测试RAdam,因为RAdam会立即改进您的模型的几率非常高!

参考链接:medium.com/@lessw/new-s

平台注册入口