您好!欢迎光临某某钣金加工有限公司网站!
钣金加工一站式制造供应商
设计定制、生产加工、整机装配、设备接线
客户咨询服务热线:
400-123-4567
新的深度学习优化器Ranger: RAdam + LookAhead的协同组合,两者兼得。
您的位置: 首页 > 新闻中心 > 行业动态 > 新的深度学习优化器Ranger: RAdam + LookAhead的协同组合,两者兼得。

新的深度学习优化器Ranger: RAdam + LookAhead的协同组合,两者兼得。

作者:佚名    发布时间:2024-04-29 04:13:33     浏览次数 :


新的state of the art优化器:Rectified Adam(RAdam),相比adam,可以稳定提高准确率,关键是,真的有用。

Liu, Jian, He等人的一篇新论文介绍了RAdam,也叫作“Rectified Adam”。这是经典Adam优化器的一个新变种,在自动的、动态的调整自适应学习率的基础上,他们详细研究了训练期间的变化和动量的影响。与vanilla Adam相比,RAdam有希望即刻对每一个AI架构进行提升。

让我们深入研究RAdam,了解它在内部的作用,以及为什么它有望提供更好的收敛,更好的训练稳定性(对选择的学习率更不敏感)以及几乎所有AI应用的更好的准确性和通用性。

当优化器仅使用有限的训练数据时,预热(具有低得多的学习速率的训练的初始阶段)是自适应优化器要求抵消过度方差的要求。这是一个视觉效果,显示最初对亚当没有预热的情况 - 在10次迭代中,梯度分布迅速被扰动:

简而言之,vanilla Adam和其他自适应学习速率优化器根据培训早期的数据太少而做出错误决策。因此,如果没有某种形式的热身,他们很可能最初会陷入糟糕的局部最优状态,这使得训练曲线由于糟糕的开局而变得更长更难。

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

RAdam中的“整流器”:

鉴于预热用作方差减少器,但所需的预热程度未知并且数据集与数据集不同,作者随后转而确定数学算法以用作动态方差减少器。因此,他们建立了一个整流项,这将允许缓慢但稳定地允许自适应动量作为基础方差的函数进行充分表达。

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

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

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


“关于自适应学习率和超越的变化”(链接到RAdam论文)

PyTorch的官方github提供了RAdam的实现:https://github.com/LiyuanLucasLiu/RAdam

Keras版RAdam的实现:https://github.com/CyberZHG/keras-radam

参见:https://blog.csdn.net/weixin_37947156/article/details/98208772

为什么RAdam和LookAhead是互补的:

RAdam可以说是优化者在培训开始时建立的最佳基础。RAdam利用动态整流器根据方差调整Adam的自适应动量,并有效地提供自动预热,根据当前数据集定制,以确保扎实的训练开始。

LookAhead受到深度神经网络损失表面理解的最新进展的启发,并在整个训练期间提供了稳健和稳定探索的突破。

引用LookAhead团队 - LookAhead“减少了对广泛超参数调整的需求”,同时实现“以最小的计算开销实现不同深度学习任务的更快收敛”。

因此,两者都在深度学习优化的不同方面提供了突破,并且这种组合具有高度协同性,可能为您的深度学习结果提供最佳的两种改进。因此,对更加稳定和强大的优化方法的追求仍在继续,通过结合两项最新突破(RAdam + LookAhead),Ranger的整合有望为深度学习提供又一步。

Ranger的源文件在这里

使用Lookahead实现 - 信用LonePatient:

https://github.com/lonePatient/lookahead_pytorch/blob/master/optimizer.py

RAdam代码(PyTorch):

https://github.com/LiyuanLucasLiu/RAdam

各自论文的链接:

LookAhead(Zhang,Lucas,Hinton,Ba) - “?Lookahead Optimizer:k向前迈进,后退一步?”

RAdam(Liu,Jiang,He,Chen,Liu,Gao,Han) - “?关于自适应学习率和超越的变化?”

平台注册入口