训练深度神经网络失败的罪魁祸首不是梯度消失,而是退化

选自severelytheoretical

机器之心编译

参与:蒋思源、刘晓坤

作者通过深度线性网络的例子对照证明了导致最终网络性能变差的原因并不是梯度消失,而是权重矩阵的退化,导致模型的有效自由度减少,并指出该结论可以推广到非线性网络中。

在这篇文章中,我将指出一个常见的关于训练深度神经网络的困难的误解。人们通常认为这种困难主要是(如果不全是)由于梯度消失问题(和/或梯度爆炸问题)。「梯度消失」指的是随着网络深度增加,参数的梯度范数指数式减小的现象。梯度很小,意味着参数的变化很缓慢,从而使得学习过程停滞,直到梯度变得足够大,而这通常需要指数量级的时间。这种思想至少可以追溯到 Bengio 等人 1994 年的论文:「Learning long-term dependencies with gradient descent is difficult」,目前似乎仍然是人们对深度神经网络的训练困难的偏好解释。

让我们首先考虑一个简单的场景:训练一个深度线性网络学习线性映射。当然,从计算的角度来看,深度线性网络并不有趣,但是 Saxe 等人 2013 年的论文「Exact solutions to the nonlinear dynamics of learning in deep linear neural networks」表明深度线性网络中的学习动力学仍然可以提供非线性网络的学习动力学的信息。因此,我们从这些简单的场景开始讨论。下图是一个 30 层网络(误差线是由 10 次独立运行得到的标准差)的学习曲线和初始梯度范数(训练之前)。

我将在之后简短地解释图中的标签「Fold 0」的含义。这里的梯度是关于层激活值的(与关于参数的梯度的行为类似)。网络的权重使用标准的初始化方法进行初始化。起初,训练损失函数下降得很快,但很快渐进地收敛于一个次优值。此时,梯度并没有消失(或爆炸),至少在初始阶段。梯度确实随着训练过程变小,但这是预料之中的,从任何方面看都不能清楚表明梯度已经变得「太小」:

为了表明这里的收敛到局部最优解的现象和梯度范数的大小本身并没有关系,我将引入一种运算,它将增加梯度范数的值,却使得网络的性能变得更差。如下图所示(蓝线):

我只是简单地改变了初始化方法而已。初始网络的所有初始权重都是矩阵(使用标准方法初始化)。而在上图的蓝线中,我只是将每个初始权重矩阵的上半部分复制到下半部分(即初始权重矩阵被折叠了一次,因此称其为「Fold 1」网络)。这种运算降低了初始权重矩阵的秩,使得它们更加的退化(degenerate)。注意这种运算仅应用于初始权重矩阵,并没有加上其它对学习过程的约束,训练过程保持不变。经过几个 epoch 的训练之后,梯度范数的变化如下图所示:

因此,我引入了一种运算,它增大了全局的梯度范数,但是性能却变差了很多。相反地,接下来我将引入另一种运算以减小梯度范数,却能大幅地提升网络的性能。如下图所示(绿线):

正如图中的标签「Ortho」所示,这种运算将权重矩阵初始化为正交的。正交矩阵是固定(Frobenius)范数的矩阵中退化程度最低的,其中退化度可以用多种方法计算。以下是经过几个 epoch 训练之后的梯度范数:

如果梯度范数的大小本身和深度网络的训练困难并没有关系,那是什么原因呢?答案是,模型的退化基本上决定了训练性能。为什么退化会损害训练性能?直观地说,学习曲线基本上会在参数空间的退化方向变慢,因此退化会减少模型的有效维度。在以前,你可能会认为是用参数拟合模型,但实际上,由于退化,可以有效地拟合模型的自由度却变少了。上述的「Fold 0」和「Fold 1」网络的问题在于,虽然梯度范数值还不错,但是网络的可用自由度对这些范数的贡献非常不均衡:虽然一些自由度(非退化的)贡献了梯度的主要部分,但大部分(退化的)自由度对此没有任何贡献(仅作概念性的理解,并不是很准确的解释。可以理解为在每个层中只有少量的隐藏单元对不同的输入改变它们的激活值,而大部分隐藏单元对不同的输入都是相同的反应)。

正如 Saxe 等人的论文表明,随着相乘矩阵的数量(即网络深度)增加,矩阵的乘积变得更加退化(线性相关)。以下分别是该论文中的 1 层、10 层和 100 层网络的例子:

随着网络深度增加,积矩阵的奇异值变得越来越集中,而小部分出现频率很低的奇异值变得任意的大。这种结果不仅仅和线性网络相关。在非线性网络中也会出现类似的现象:随着深度增加,给定层的隐藏单元的维度变得越来越低,即越来越退化。实际上,在有硬饱和边界的非线性网络中(例如 ReLU 网络),随着深度增加,退化过程会变得越来越快。

Duvenaud 等人 2014 年的论文「Avoiding pathologies in very deep networks」里展示了关于该退化过程的可视化:

随着深度增加,输入空间(左上角)会在每个点都扭曲成越来越细的细丝,而只有一个与细丝正交的方向会影响网络的响应。在两个维度上表示出输入空间的变化可能会比较难,但是实验证明输入空间的点在局部会变为「hyper-pancakey」,即每一个点都有一个单一的方向正交于扭曲后的表面。若我们沿着这个敏感的方向改变输入,那么网络实际上对变化会非常敏感。

最后我忍不住想提一下我和 Xaq Pitkow 的论文。在论文 SKIP CONNECTIONS ELIMINATE SINGULARITIES 中,我们通过一系列实验表明本文讨论的退化问题严重影响了深度非线性网络的训练,而跳过连接(ResNet 中采用的重要方法)帮助深度神经网络实现高精度的训练同样是一种打破退化的方法。我们同样怀疑其它如批量归一化或层级归一化等方法有助于深度神经网络的训练,除了原论文所提出的如降低内部方差等潜在的独立性机制,也至少有一部分原因是退化被破坏而实现的。我们都知道分裂归一化(divisive normalization)对于解相关隐藏单元的响应非常高效,它也可以看成一种打破退化的机制。

除了我们的论文外,我还应该提一下 Pennington、 Schoenholz 和 Ganguli 最近提出的论文 Resurrecting the sigmoid in deep learning through dynamical isometry: theory and practice。在该论文中,正交初始化完全移除了线性网络中的退化问题。他们提出了一种计算非线性网络雅可比矩阵的整个奇异值分布的方法,并表明在 hard-tanh 非线性网络(而不是在 ReLU 网络)中能实现独立于深度的非退化奇异值分布。实验结果表明有独立于深度的非退化奇异值分布的网络要比奇异值分布变得更宽(更高的方差)的网络快几个数量级。这是消除退化和控制整个网络奇异值分布的重要性的有力证明,而不只是该论文比较有意思。

论文:SKIP CONNECTIONS ELIMINATE SINGULARITIES

论文地址:https://openreview.net/pdf?id=HkwBEMWCZ

跳过连接(Skip connections)使得深度网络训练成为了可能,并已经成为各种深度神经架构中不可缺少的部分,但目前它并没有一个非常成功和满意的解释。在本论文中,我们提出了一种新的解释以说明跳过连接对训练深度网络的好处。训练深度网络的难度很大程度是由模型的不可识别所造成的奇异性(singularities)而引起。这样的一些奇异性已经在以前的工作中得到证明:(i)给定层级结点中的置换对称性(permutation symmetry)造成了重叠奇异性,(ii)消除(elimination)与对应的消除奇异性,即结点的一致性失活问题,(iii)结点的线性依赖性产生奇异问题。这些奇异性会在损失函数的表面产生退化的流形,从而降低学习的效率。我们认为跳过连接会打破结点的置换对称性、减少结点消除的可能性以及降低节点间的线性依赖来消除这些奇异性。此外,对于典型的初始化,跳过连接会移除这些奇异性而加快学习的效率。这些假设已经得到简化模型的实验支持,也得到了大型数据集上训练深度网络的实验支持。

原文链接:https://severelytheoretical.wordpress.com/2018/01/01/why-is-it-hard-to-train-deep-neural-networks-degeneracy-not-vanishing-gradients-is-the-key/

机器之心发布首份《人工智能技术趋势报告》,纵览人工智能的 23 个分支技术。明晰历史发展路径,解读现有瓶颈及未来发展趋势。点击阅读原文,立即获取报告完整版。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2018-01-07

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CreateAMind

论文解读:生成模型采样-类比学习应用 多图

1001
来自专栏AI派

【技术综述】你真的了解图像分类吗?

图像分类是计算机视觉中最基础的任务,基本上深度学习模型的发展史就是图像分类任务提升的发展历史,不过图像分类并不是那么简单,也没有被完全解决。

1721
来自专栏SIGAI学习与实践平台

Large scale GAN training for high fidelity natural image synthesis解读

尽管最近几年在生成式图像建模上取得了进步,但从ImageNet这样的复杂数据集生成高分辨率、多样化的图像仍然是一个具有挑战性的工作。为了达到这一目标,本文作者训...

1813
来自专栏新智元

【直观梳理深度学习关键概念】优化算法、调参基本思路、正则化方式等

作者:张皓 【新智元导读】深度学习论文众多,而理解的前提是对基础概念的掌握。本文旨在直观系统地梳理深度学习各领域常见概念与基本思想,使读者对深度学习的重要概念...

40013
来自专栏机器之心

从自编码器到生成对抗网络:一文纵览无监督学习研究现状

选自Medium 机器之心编译 参与:Nurhachu、蒋思源、吴攀 无监督学习是深度学习的圣杯。它的目的是希望能够用极少量且不需要标注的数据训练通用系统。本文...

3979
来自专栏用户2442861的专栏

深层学习为何要“Deep”(上)

http://blog.csdn.net/u010751535/article/details/52739803

2241
来自专栏新智元

何恺明抛出重磅炸弹!ImageNet并非必要

刚刚,何恺明等人在arxiv贴出一篇重磅论文,题为《重新思考“ImageNet预训练”》,让似乎本已经平静的ImageNet湖面,再掀波澜!

834
来自专栏AI科技大本营的专栏

经典 | 深度学习的7大实用技巧

编译 | AI科技大本营 参与 | 林椿眄 编辑 | 谷 磊 对于许多具有挑战性的现实问题,深度学习已经成为最有效的解决方法。 例如,对于目标检测,语音识...

3457
来自专栏人工智能头条

王晓刚:图像识别中的深度学习

3032
来自专栏量子位

刷剧不忘学CNN:TF+Keras识别辛普森一家人物 | 教程+代码+数据集

王小新 编译自 Medium 量子位 出品 | 公众号 QbitAI Alexandre Attia是《辛普森一家》的狂热粉丝。他看了一系列辛普森剧集,想建立一...

3305

扫码关注云+社区

领取腾讯云代金券