加入收藏 | 设为首页 | 会员中心 | 我要投稿 泉州站长网 (https://www.0595zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

速度比肩Adam,性能媲美SGD

发布时间:2021-05-05 15:14:50 所属栏目:外闻 来源:互联网
导读:法适用于CV、NLP领域,可以用来开发解决各种流行任务的深度学习模型。而且AdaBound对超参数不是很敏感,省去了大量调参的时间。 两位本科生作为共同一作的这篇论文,也在Reddit上引发了热赞,作者本人也在这个论坛上展开了在线的答疑交流。 AdaBound已经开源

法适用于CV、NLP领域,可以用来开发解决各种流行任务的深度学习模型。而且AdaBound对超参数不是很敏感,省去了大量调参的时间。

两位本科生作为共同一作的这篇论文,也在Reddit上引发了热赞,作者本人也在这个论坛上展开了在线的答疑交流。

AdaBound已经开源,还放出了Demo。

AdaBound是什么

AdaBound结合了SGD和Adam两种算法,在训练开始阶段,它能像Adam一样快速,在后期又能像SGD一样有很好的收敛性。

SGD(随机梯度下降)算法历史悠久,它是让参数像小球滚下山坡一样,落入山谷,从而获得最小值。Adam算法跑得比SGD更快,却存在两大缺陷:结果可能不收敛、可能找不到全局***解。也就是说它的泛化能力较差,在解决某些问题上,表现还不如SGD。

而造成这两大缺陷的原因,可能是由于不稳定和极端的学习率。

AdaBound是如何解决这个问题的?

它给学习率划出动态变化的界限,让实现从Adam到SGD的渐进和平滑过渡,让模型在开始阶段有和Adam一样快的训练速度,后期又能保证和SGD一样稳定的学习率。

这种思路是受到2017年Salesforce的研究人员的启发。他们通过实验发现,Adam后期的学习率太低影响了收敛结果。如果控制一下Adam的学习率的下限,实验结果会好很多。

对学习率的控制就和梯度裁剪差不多。在防止梯度爆炸问题上,我们可以剪掉大于某个阈值的梯度。同样的,我们也可以剪裁Adam学习率实现AdaBound。面的公式中,学习率被限制在下限 η𝑙 和上限 η𝑢之间。当η𝑙 = η𝑢 = α时,就是SGD算法;当η𝑙=0、 η𝑢 =∞时,就是Adam算法。

为了实现从Adam到SGD的平滑过渡,让η𝑙 和 η𝑢变成随时间变化的函数:η𝑙 递增从0收敛到α,η𝑢从∞递减收敛到α。

在这种情况下,AdaBound开始时就像Adam一样训练速度很快,随着学习率边界越来越受到限制,它又逐渐转变为SGD。

AdaBound还有个非常大的优点,就是它对超参数不是很敏感,省去了大量调参的时间。

实验结果

作者分别对不同模型进行实验,比较

(编辑:泉州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读