从动力学角度看优化算法:为什么学习率不宜过小?

原创 · 作者|苏剑林

单位|追一科技

研究方向|NLP、神经网络

本文的主题是“为什么我们需要有限的学习率”,所谓“有限”,指的是不大也不小,适中即可,太大容易导致算法发散,这不难理解,但为什么太小也不好呢?一个容易理解的答案是,学习率过小需要迭代的步数过多,这是一种没有必要的浪费,因此从“节能”和“加速”的角度来看,我们不用过小的学习率。

但如果不考虑算力和时间,那么过小的学习率是否可取呢?Google 最近发布在 Arxiv 上的论文 Implicit Gradient Regularization [1] 试图回答了这个问题,它指出有限的学习率隐式地给优化过程带来了梯度惩罚项,而这个梯度惩罚项对于提高泛化性能是有帮助的,因此哪怕不考虑算力和时间等因素,也不应该用过小的学习率。

对于梯度惩罚,笔者已有过多次讨论,在文章对抗训练浅谈:意义、方法和思考(附 Keras 实现)泛化性乱弹:从随机噪声、梯度惩罚到虚拟对抗训练中,我们就分析了对抗训练一定程度上等价于对输入的梯度惩罚,而文章《我们真的需要把训练集的损失降低到零吗?》[2] 介绍的 Flooding 技巧则相当于对参数的梯度惩罚。

总的来说,不管是对输入还是对参数的梯度惩罚,都对提高泛化能力有一定帮助。

降得最快的方向

该论文跟这个系列的文章一样,将优化过程看成是求解微分方程。回顾之前的文章从动力学角度看优化算法:一个更整体的视角,设损失函数为 ,我们将 看成是看成是沿着某种时间参数 t 变化的轨迹 ,现在我们考虑它的变化率:
我们希望 随着时间的变化是递减的(Loss 越小越好),所以希望上式小于 0,当模长 固定时,上式右端的最小值在梯度的反方向 取到,所以我们说梯度的负方向下降得最快方向。简单期间,我们可以直接令:
那么求解参数 就转化为求解上述常微分方程组,这也是“从动力学角度看优化算法”这个系列的基本出发点。

藏在学习率中的正则

然而,实际的问题是,我们没法真正去求解微分方程组(2),我们只能用数值迭代,比如采用最简单的欧拉法,得到:
这其实就是最朴素的梯度下降法,其中 也就是我们常说的学习率。上式本质上就是一个差分方程。
可以想象,从 出发,得到的点 与方程组(2)的精确解 会有一定的出入。
如何衡量出入到什么程度呢?不妨这样想象, 其实也是某个类似(2)的微分方程组的精确解,只不过对应的 换成了某个新的 ,我们比较 与 的差异就好了。
经推导,如果仅保留到 的一阶项,那么有:
推导过程我们放在下一节。可以看到,其实就相当于往损失函数里边加入了梯度惩罚形式的正则项 ,而梯度惩罚项有助于模型到达更加平缓的区域,有利于提高泛化性能。
这也就是说,离散化的迭代过程隐式地带来了梯度惩罚项,反而是对模型的泛化是有帮助的,而如果 ,这个隐式的惩罚则会变弱甚至消失。
因此,结论就是学习率不宜过小,较大的学习率不仅有加速收敛的好处,还有提高模型泛化能力的好处。当然,可能有些读者会想,我直接把梯度惩罚加入到 loss 中,是不是就可以用足够小的学习率了?理论上确实是的,原论文将梯度惩罚加入到 loss 中的做法,称为“显式梯度惩罚”。
差分方程到微分方程

对于差分方程到微分方程的转换,我们可以用普通的“摄动法”来求解,笔者也有过简单介绍(可以查看标签“摄动” [3] )。不过更漂亮的解法是直接利用算符的级数运算来做,参考之前的文章《算符的艺术:差分、微分与伯努利数》[4] 。

我们用泰勒级数展开 :
如果将对 t 求导的运算记为 D,那么上式实际上是:
所以差分方程(3)可以写为:
跟常规的代数运算一样,我们有:
等号左端就是 ,因此等号右端就是 的表达式了,保留到一阶项为:
也就是:
所以一阶的,推导完毕。

例行公事的小总结

深度学习的发展和普及离不开基于梯度下降的优化器的成功应用,而梯度下降为何能如此成功,依然还没得到深刻的解释。众多研究人员在“炼丹”过程中,多多少少也能总结出一些不知道为什么有效的“奇技淫巧”出来,诸如 batch_size 该取多大、学习率该怎么调,估计每个人也有自己的经验。

对于“学习率不能过小”这个现象,大家应该都有所体会,很多时候可能已经默认作为一个“常识”使用,而懒得思考背后的原理了。

Google 的这篇论文则为理解这个现象提供了一个可能的解释:适当而不是过小的学习率能为优化过程带来隐式的梯度惩罚项,有助于收敛到更平稳的区域。笔者认为其分析过程还是值得参考学习的。

参考文献

[1] https://arxiv.org/abs/2009.11162
[2] https://kexue.fm/archives/7643
[3] https://kexue.fm/tag/%E6%91%84%E5%8A%A8/
[4] https://kexue.fm/archives/3018
(0)

相关推荐

  • 控制方程的离散方法

    通常在进行CFD计算之前,首先要对计算区域离散化,即对空间上连续的计算域进行划分,然后生成网格,将控制方程在网格上离散,最终将微分方程转化为代数方程组进行求解.常用的离散化方法有,有限差分法.有限元法 ...

  • 读《几何人生:丘成桐自传》的一点感想

    最近在拜读<几何人生:丘成桐自传>这本书.作为一代宗师,丘先生的自传充满了精彩的人生智慧和深刻的学术思想.笔者觉得任何一个学者,都会从中得到启迪.特别是矢志投身科学事业的年轻人,如果能认真 ...

  • 什么是动力系统理论 | 集智百科

    本文是对集智百科中"动力系统理论"词条的摘录,参考资料及相关词条请参阅百科词条原文. 本词条由集智俱乐部众包生产,难免存在纰漏和问题,欢迎大家留言反馈或者前往对应的百科词条页面进行 ...

  • 【GAN优化】从动力学视角看GAN是一种什么感觉?

    今天讲述的内容是GAN与动力学,这是一个非常好玩.非常新鲜的视角.考虑到很多人微积分和线性代数等知识的涉猎不多,我将会对涉及的内容都做出基本说明,也并不会涉及过深入的东西,然后争取串成一个故事,扩展一 ...

  • 【AI初识境】如何增加深度学习模型的泛化能力

    这是专栏<AI初识境>的第9篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中的generalization问题,也就是泛化和正则化有关的内容. 作者 ...

  • 从力学角度看太极拳的听劲与懂劲

    刘光鼎院士 从力学的观点出发,我们再对听劲和懂劲做如下的具体说明. 任何一个力的组成都有三项要素:大小.方向和着力点.因此,在力学中通常用矢量来表示力.要想了解一个力,首先必须与此力接触,才能感觉到它 ...

  • 峻峻:基于业财融合的角度看如何优化出国费的报销流程

    今天我们谈的是优化报销流程,那么需要将概念范围限制在报销的环节,一切以报销便捷.记账方便.信息查询快捷为目标.本文不涉及如何规范出国事项的管理.   一.明确十个工作环节 1.编列年度部门预算: 2. ...

  • 地理角度看日本水果为什么这么贵!

    众所周知,在日本,韩国这两个国家,水果不是你想吃就能吃的. 草莓按颗卖,西瓜按片卖,还要就盐吃. 小编忽然想起自己在夏天吃西瓜吃一半不好吃还会丢掉-- 现在觉得这种行为真的是壕到爆表了!分分钟扔出&q ...

  • 从另外一个角度看重庆

    耿直的重庆人 虽然去过重庆,但每次都是车来车送,车上打瞌睡,下车忙事情,匆匆而来,忙忙而去.对重庆的印象除了坡多道斜,和其他城市几乎没有多少区别.今年五一,终于抽出时间,不想惊扰任何人,暗自去重庆一游 ...

  • 【独家】从投行角度看工程机械后市场的“机遇”

    [今日工程机械]曾几何时,中国还是全世界最热闹的工程机械市场,在4万亿经济刺激的作用下,中国市场似乎遍地是黄金,一场促销会签约上亿元的订单是家常便饭,工程机械设备似乎要供不应求,可转眼之间一切都烟消云 ...

  • 从哲学的角度看《觉醒年代》:腐败问题是最大威胁

    原创:周期律"是指世界上任何一个国家的政权都会经历兴衰治乱,往复循环呈现出的周期性现象.极端的不公导致社会的崩溃,从而达到新的相对公平,周而复始. 文章首发于牛虻公众号 "历史 在 ...

  • 从命理角度看,哪些人事业,更容易成功

    八字看一个人的事业格局高低.成就大小,主要看十神组合的情况: 1.正官和偏官(七杀)是事业星 正官与偏官都可以代表工作事业,而正官多主官运,偏官多主事业.如果正官为用而比较旺相,或正官为忌弱而受制的, ...

  • 人脑是如何感知现实的?从物理学角度看深度学习,与大脑哲学相似

    如今,人工智能几乎出现在我们生活的方方面面.智能手机.社交媒体.推荐引擎.在线广告网络和导航工具等基于人工智能的应用程序每天都在影响着我们.深度学习在语音识别.自动驾驶.机器翻译和视觉对象识别等领域已 ...