RAdam优化程序的发展:与LookAhead的强大协作可提高性能并加快速度-量子比特
上周,来自UIUC的中国博士生Liyuan Liu提出了一种兼具Adam和SGD两者之美的新型优化器RAdam。收敛速度快,鲁棒,一度登上GitHub趋势榜。
而今年7月,获得调音奖的Hinton团队也同样在优化程序上下了功夫,改良了SGD,提出了新的优化程序LookAhead,在各种深度学习任务中实现了更快的收敛。
那么,两者结合起来会发生什么呢?
把RAdam称赞为最先进的AI优化器的架构师Less Wright不仅这么想,还真的这么做了。
然后我们发现,通过将RAdam和LookAhead相结合,RAdam的效果得到了进一步的优化。
Less Wright将这个合作社命名为Ranger,成为开源,并合并为FastAI。
RAdam的先进之处在于,提供一种能够根据分散分散度动态地开启或关闭自适应学习率、不需要可变参数学习率预热的方法。兼具Adam和SGD两方面的优点,收敛速度快,不易落入局部最优解,在大学习率情况下,精度也优于SGD。
量子比特详细解读:https//MP.Weixin.QQ.com/s/scgkumj4lzulhmk69vwypa
另一方面,LookAhead可以触发深度神经网络损耗的表面演变,从而稳定深度学习的训练和收敛速度。LookAhead团队是这样介绍的:
两者从不同角度入手,分别为深度学习优化实现了新突破,但更妙的是,它们的组合具有高度的协同性。
根据RAdam的特点,分散稳定后,在剩下的训练阶段,RAdam与Adam和SGD基本相同。也就是说,RAdam的改善主要是在训练刚开始的时候。
LookAhead原理是保持两组权重并在它们之间进行插值。这将向前搜索较快的权重集,较慢的权重留在后面,从而获得更长期的稳定性。
也就是说,LookAhead实际上保留了额外的权重副本,并让内置的“更快”优化程序进行五个或六个batch培训。批处理间隔由k参数指定。
所以即使在1000个epoch之后,LookAhead仍然可以超过SGD。
另外,与LookAhead一起工作而得到“高速”的权重的该优化器可以是任何优化器。例如RAdam。
因此,Less Wright将RAdam和LookAhead愉快地组合在一起,形成了一个名为Ranger的新的优化器。
他在ImageNette进行测试,128px、20epoch测试中Ranger的训练精度达到93%,比目前FastAI排名的首位提高了1%。
但是,Less Wright说,在这个尝试中,需要进一步测试和优化使用LookAhead的RAdam的k参数和学习速率。但是,与之前最先进的方法相比,RAdam+LookAhead需要手动调整的超参数减少了很多。
Ranger的代码实现是开源的,并集成到FastAI中。如果你也对这个尝试感兴趣的话,现在就自己实验一下:
首先,将ranger.py复制到工作目录。
然后是import ranger。
创建partial,准备在FastAI中使用Ranger,并将opt_点func。
你可以开始测试了。
GitHub地址:
htps://github.com/lessw2020/ranger-deep-learning-optimizersource=post_page----2DC83f79a48d—
博客地址:
htps://medium.com/@lessw/new-deep-learning-optimizer-ranger-synergistic-combination-of-radam-looom
LookAhead论文地址:
htps://arxiv.org/ABS/1907.08610v1
原始论文地址:
htps://arxiv.org/ABS/1908.03265
-结束了