专栏首页机器之心三辩三驳:这篇论文告诉你传统优化分析与现代DL有哪些不匹配

三辩三驳:这篇论文告诉你传统优化分析与现代DL有哪些不匹配

选自offconvex

作者:Zhiyuan Li 等

机器之心编译

编辑:小舟、陈萍

你的学习率的大小调合适了吗?

从事机器学习方面相关研究的人都了解,网络模型的最终性能少不了优化。其中损失函数扮演了非常重要的角色,而随机梯度下降算法(SGD)由于其良好的收敛性,常常被用来进行梯度更新。为了加快收敛速度,缩短训练时间,同时为了提高求解精度,采用随机梯度下降算法应该注意学习率(Learning Rate, LR)等参数的调整。那么 LR 的大小对现代深度学习与传统优化分析的是怎样的呢?下面通过一篇论文进行解答。

该论文就是《Reconciling Modern Deep Learning with Traditional Optimization Analyses: The Intrinsic Learning Rate》,指出了归一化网络与传统分析之间的不兼容性。在深入研究这些结果之前,先回顾一下权重衰减(又名ξ2 正则化)训练归一化网络。则随机梯度下降 (SGD) 的第 t 次迭代为:

λ表示权重衰减 (WD) 因子(或者ℓ2 - 正则化系数),ηt 表示学习率,Bt 表示 batch,∇L(wt,Bt)表示 batch 梯度。

在比较理想的假设下(即在随机初始化期间固定顶层不会影响最终准确度),用于训练此类归一化网络的损失函数尺度不变,这意味着 L(wt ; Bt)=L(cwt ; Bt), ∀c>0。

尺度不变性的结果就是:对于任意 c>0,∇wL|w=w0=c∇wL|w=cw0 以及∇2wL|w=w0=c2∇2wL|w=cw0。

传统观点(Conventional Wisdom, CW)

CW1:当 LR 降至零时,优化动态收敛到一条确定的路径(梯度流),沿着该路径训练损失显著减小。

回想一下,在解释传统(确定)梯度下降中,如果 LR 小于损失函数平滑度的倒数,那么每一步都会减少损失。SGD 是随机的,在可能的路径上都有分布。但是,极小的 LR 可以看作是 full-batch 梯度下降(GD),它在无穷小的步长范围内接近梯度流(GF)。

上述推理表明,极小的 LR 至少可以减少损失,那么更高的 LR 也可以。当然,在深度学习中,我们不仅关注优化,还关注泛化。在这里小的 LR 是有危害的。

CW2:为达到最好的泛化能力,LR 在几个 epoch 之后必须迅速地变大。

这是一个经验发现:从一开始使用太小的学习率或太大的批量(所有其他超参数固定)会导致更糟糕的泛化。

对这种现象的一个普遍解释是,在 SGD 过程中梯度估计中的噪声有利于泛化(如前所述,当 LR 非常小的时候,这种噪声会趋于平均)。许多研究者认为,噪声之所以有帮助,是因为它使轨迹远离尖锐极小值(sharp minima),而这些极小值让泛化变得更差,尽管这里有一些不同的意见。

Yuanzhi Li 等人在论文《Towards Explaining the Regularization Effect of Initial Large Learning Rate in Training Neural Networks》中给出一个示例,一个简单的双层网络。其中,由于 LR 小而导致的泛化结果更差在数学上得到了证明,同时也得到了实验验证。

CW3:用随机微分方程(Stochastic Differential Equation, SDE)在固定高斯噪声的连续时间内对 SGD 进行建模。也就是说,可以把 SGD 看做是一个扩散过程,它在训练过的网络上混合一些类吉布斯(Gibbs-like)分布。

SGD 是带有噪声项的梯度下降,它具有的连续时间近似可以描述为以下扩散过程:

其中,σWt 为随机梯度∇L(Wt;Bt)的协方差,Bt 为适当维数的布朗运动(Brownian motion)。一些研究采用了 SDE 观点,对噪声的影响进行了严格的分析。

在本文中,SGD 变成了一个环境中的几何随机游走,原则上可以更深入地探索环境。例如,偶尔采取增加损失的步骤。但是,由于缺乏对损失情况的数学描述,分析起来很困难。

各种文献假设 SDE 中的噪声是各向同性高斯分布(isotropic Gaussian),然后根据常见的吉布斯分布导出随机游走平稳分布的表达式。由于噪声的大小(与 LR 和 batch 大小有关)控制着收敛速度和其他特性,这种观点直观地解释了一些深度学习现象。例如,在论文《Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour》中,SDE 近似意味着线性扩展规则。

这就引出了一个问题:SGD 是否真的像一个在损失环境中混合的扩散过程?

传统观点的挑战

现在对归一化网络的真实发现进行描述,这表明上述传统观点相当不合理。

针对 CW1:全批次梯度下降≠梯度流。

众所周知,如果 LR 小于光滑度的倒数,那么梯度下降的轨迹将接近梯度流的轨迹。但是对于归一化网络,损失函数的尺度不变,因此可以证明在原点附近是非光滑的(即平滑度变得无限)。这种非光滑性问题是非常真实的,并且在任何非零学习率下,使得全批次 SGD 的训练变得不稳定甚至混沌。这在经验上和可证明的情况下都会发生,并与一些 toy 损失有关。

注意,WD 在这种影响中起着关键作用,因为没有 WD,参数范数单调增加,这意味着 SGD 始终远离原点。

聪明的读者或许想知道使用较小的 LR 是否可以解决此问题。不幸的是,使用较小的 LR 将不可避免地靠近原点,这是因为一旦梯度变小,WD 将主导动力学,并以几何速度减小范数,从而在尺度不变的情况下导致梯度再次增加。只要梯度任意地缩小(现实中并不能降为零),就会发生这种情况。

实际上,这一点极好(也极罕见),即使正确地优化损失,也必须提前停止。

针对 CW 2:小 LR 可以与大 LR 一样好地泛化。

令人惊讶的是,即使没有其他超参数变化,泛化能力也不会受到太小 LR 的影响。论文《An Exponential Learning Rate Schedule for Deep Learning》中,研究者通过其他超参数的变化来补偿小 LR。

针对 CW 3:SGD 的随机游走和 SDE 视角差得很远。没有证据表明,这两种视角会像传统理解那样混合在一起,至少在标准训练时间内不会。

实际上,通过随机权重平均(Stochastic Weight Averaging, SWA)现象,就已经存在反对全局混合的证据。在 SGD 的轨迹上,如果来自两个不同 epoch 的网络参数进行平均化处理,那么平均测试损失会比任何一个小。

如下图 3 所示,通过平均值改进的运行时间比平时长 10 倍。然而,对于从不同初始化中获得的两个解,SWA 的准确度并没有提升。因此,检查 SWA 是否成立,可以区分从同一轨迹得出的解对和从不同轨迹得出的对,这表明扩散过程在标准训练时间内没有混合到平稳分布(这并不奇怪,因为混合的理论分析并不表明它发生得很快)。

实际上,Izmailov 等人在论文《Averaging Weights Leads to Wider Optima and Better Generalization》中已经注意到,SWA 排除了 SGD 是一个混合到单一全局均衡的扩散过程。他们认为,假设损失表面是局部强凸的,则 SGD 的轨迹可以很好地用局部极小值 W^* 邻域的多变量 Ornstein-Uhlenbeck(OU)过程来近似。由于对应的平稳点是局部极小值 W^* 邻域的多维高斯函数 N(W^*, Σ),这就解释了为什么 SWA 有助于减少训练损失。

但是,我们注意到 Izmailov 等人在论文《Averaging Weights Leads to Wider Optima and Better Generalization》中的建议也被以下事实所驳斥:来自 epoch T 和 T+Δ权重的ℓ2 距离随着每个 T 的Δ单调增加(如上图 3 所示),而在 OU 过程中,E[| W^T−W^T+Δ |^2]应作为 T, →+∞收敛至常数 2Tr[Σ]。这表明与 OU 过程中假设的不同,所有这些权重都是相关的。

为何这样?

这篇论文有一个新的理论(一些部分得到了严格的证明,另一些部分得到了实验的验证),表明 LR 并没有扮演大多数讨论中假定的角色。

人们普遍认为,LR η 通过改变噪声的大小来控制 SGD 的收敛速度,并通过改变噪声的大小来影响泛化。然而,对于用 SGD+WD 训练的归一化网络,LR 的作用更为微妙,因为它扮演两个角色:1)损失梯度之前的乘数;2)WD 之前的乘数。从直观上讲,人们认为 WD 部分是无用的,因为损失函数是尺度不变的,因此第一个角色更重要。但令人惊讶的是,这种直觉是完全错误的,事实证明第二个角色比第一个角色重要得多。进一步的分析表明,更好地衡量学习速度的方法是ηλ,研究者称之为内在学习率或内在 LR,用λ_e 表示。

虽然先前的论文注意到 LR 和 WD 之间存在密切的相互作用,但在论文《An Exponential Learning Rate Schedule for Deep Learning》中给出了数学证明,即如果 WD* LR,则λη是固定的,改变 LR 对动力学的影响相当于重新标定初始参数。据研究者所知,在现代体系架构上,SGD 的性能对于初始化的规模具有鲁棒性(通常独立于初始化),因此在保持固有 LR 不变的同时更改初始 LR 的影响也可以忽略不计。

论文《An Exponential Learning Rate Schedule for Deep Learning》通过对归一化网络的 SGD 提供新的 SDE 风格分析来深入了解内在 LR λ_e 的作用,得出以下结论(部分取决于实验):

在归一化网络中,SGD 确实会导致快速混合,但在函数空间(即网络的输入 - 输出行为)中不会。混合发生在 O(1/λ_e)迭代之后,与传统扩散游走分析在参数空间中保证的指数慢混合不同。

为了解释函数空间中混合的含义,研究者将 SGD(执行固定数量的步骤)视为从已训练网络分布中对已训练网络进行采样的一种方法。因此,来自固定初始化的 SGD 的最终结果可以看作是概率分类器,其在任何数据点上的输出都是 K 维向量,其第 i 个坐标是输出标签 i 的概率(K 是标签总数)。现在,如果两个不同的初始化都导致 SGD 对保留的数据点生成存在 5% 误差的分类器。那么先验者将想象在给定的保留数据点上,第一个分布的分类器与第二个分布中的分类器不一致。

但是,在函数空间中收敛到一个均衡分布并不意味着不一致的可能性近乎为零,也就是说,分布几乎不基于初始化而改变。这是研究者在实验中发现的,他们的理论也是围绕这一现象展开的。

原文链接:http://www.offconvex.org/2020/10/21/intrinsicLR/

本文分享自微信公众号 - 机器之心(almosthuman2014)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-11-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ICRA 2019最佳论文公布:斯坦福大学李飞飞组获奖

    图源:https://twitter.com/animesh_garg/status/1131263955622604801

    机器之心
  • 从浅层模型到深度模型:概览机器学习优化算法

    选自arxiv 机器之心编译 参与:乾树、蒋思源 学习算法一直以来是机器学习能根据数据学到知识的核心技术。而好的优化算法可以大大提高学习速度,加快算法的收敛速度...

    机器之心
  • 业界 | 美媒称李飞飞或将离开谷歌,重返斯坦福

    据外媒 Business Insider 的消息,谷歌云首席科学家李飞飞因谷歌军事合同问题陷入困境。消息称泄露邮件显示李飞飞更担心谷歌的公众形象,而非谷歌军事合...

    机器之心
  • AI+安全,是机遇亦是挑战 | FIT 2019议题前瞻「前沿安全神盾局」

    从“互联网+”到“AI+”,信息化时代向新的阶段进化。2018年,人工智能的发展逐渐落到实处,少了许多浮夸和空谈。网络安全战略意义的升级,“网络安全+AI”已经...

    FB客服
  • SAP API management portal - 如何创建API provider

    (1) The API Provider is used to abstract the connection to the backend / target ...

    Jerry Wang
  • Android自定义控件之可拖动控制的圆环控制条实例代码

    前几天收到这么一个需求,本来以为挺简单的,没想到最后发现实现起来还是有点小麻烦的,在这里小小的总结一下。

    砸漏
  • Learning to Learn by Gradient Descent by Gradient Descent网络前向计算图

    Learning to Learn By Gradient Descent by Gradient Descent 前向计算图(黄色线表示梯度流动方向)

    ke1th
  • [开源]基于Arduino+OpenCV的颠球机器人

    看完了,是不是觉得似曾相识呢?这不就是2017年的电赛B题目的升级版吗?17年电赛那个题目,常用的解决方案是把摄像头放在上面,而且小球只在平板上进行二维运动。这...

    单片机点灯小能手
  • 吉尔德定律

    摩尔定律(Moore’s Law),吉尔德定律(Gilder’s Law),麦特卡尔夫定律(Metcalfe’s Law)是制约同时也是引导信息产业发展的内在规...

    瓜大三哥
  • 《Don't Make Me Think》读书笔记

    nimomeng

扫码关注云+社区

领取腾讯云代金券