爱吧机器人网 » 技术 > 神经网络 > 正文

为什么很难训练深度神经网络?

译者 | 黄小凡
来源 | 云溪社区
 
自1994年开始,大家都认为深度神经网络难以训练的原因是由于梯度消失,然而本文作者通过深度线性网络的例子证明网络性能变差的原因并不是梯度消失,而是由于权重矩阵的退化导致模型的有效自由度减少,从而使得深度神经网络难以训练。
 
在这篇文章中,我将解释在深度神经网络训练中一个常见的误解。似乎大家都认为,训练深度神经网络很难的原因主要是因为梯度消失(或爆炸)的问题。“梯度消失”是指通过隐藏层从后向前看,梯度会变的越来越小。这也意味着,前面层的学习会显著慢于后面层的学习,所以学习会卡住,除非梯度变大。这个想法至少可以追溯到Bengio等人(1994年),如今这仍然被用于解释为什么很难训练深度神经网络。
 
我们首先考虑一个简单的情景:训练一个深度线性网络学习一个线性映射。从计算的角度来看,深度线性网络并不令人感兴趣,但是Saxe等人?(2013)认为,在线性网络学习仍然可以提供有关非线性网络学习的信息。因此,我们从这个简单的场景开始。下图是30层网络的学习曲线和初始梯度范数。

\
 
这些结果在图中标记为“Fold 0”。这里的梯度是关于层激活值的,网络权重通过进行初始化。训练损失开始时迅速下降,但不会消失(或爆炸),随后达到一个稳定的次优值。随着训练的进展,他们变得越来越小,但是这是可以预料的,而且从某种意义上说,这里的梯度“太小”并不清楚:

\
 
为了说明收敛到局部最优解的现象和梯度范数的大小本身没有任何关系,现在我将介绍一个会增加梯度范数的方法,但会恶化性能。如下图(蓝色):

\
 
那么,我做了什么?我只是简单地改变了初始化。原始网络中的每个初始权重矩阵是一个64X64的矩阵(使用标准初始化进行初始化)。在以蓝色显示的网络中,我将每个初始权重矩阵的前半部分复制到后半部分(初始权重矩阵被“Fold”一次,所以我将它们表示为“Fold 1”网络)。这降低了初始权重矩阵的秩,并使其更加退化。请注意,这种运算仅应用于初始权重矩阵,并没有加上其它对学习过程的约束,训练过程将保持不变。以下是梯度范数经过训练之后的效果:

\
 
这个方法总体上增大了梯度范数,但是性能明显变差了。接下来我将介绍另一种缩小梯度范数,但会大大提高性能的方法。这里是(绿色):

\
 
这种新的方法将权重矩阵初始化为正交。正交矩阵是固定(Frobenius)范数的矩阵中退化程度最低的,其中退化度可以用不同的方式来衡量,例如奇异值小于给定常数的比例。以下是梯度范数经过训练之后的效果:

\
 
如果梯度范数的大小不是训练困难的原因,那原因是什么呢?答案是模型的退化总体上决定了训练性能。为什么退化会损害训练性能?因为参数空间中学习的退化速度大大减慢,导致减少了模型的有效维数,就像上面的例子一样。所以,上面的“Fold 0”网络和“Fold 1”网络虽然梯度范数值很好,但网络的可用自由度对这些梯度范数的贡献极其不均衡:绝大多数(退化的)自由度根本没有任何贡献。正如 Saxe 等人的论文表明,随着相乘矩阵的数量(即网络深度)的增加,这种矩阵的乘积变得越来越退化。这里分别是1层,10层和100层网络的一个例子:

\
 
随着深度的增加,积矩阵的奇异值变得越来越集中0。这个结果不仅与线性网络有关,类似的事情也发生在非线性网络中:随着深度的增加,给定层中隐藏单元的维度变得越来越低维化,即越来越退化。事实上,在有硬饱和边界的非线性网络中(例如 ReLU 网络),随着深度增加,退化过程会变得越来越快。Duvenaud 等人 2014 年的论文里展示了关于该退化过程的可视化:

\
 
随着深度的增加,输入空间(左上角所示)会在输入空间中的每个点处被扭曲成越来越细的单丝,只有一个与细丝正交的方向影响网络的响应。沿着这个方向,网络实际上对变化变得非常敏感。
 
最后,在这一点上,我忍不住要提起我的论文。在本文中,通过一系列的实验,我认为退化问题严重地影响了非线性网络的训练,采用跳过连接(ResNet 中采用的重要方法)的方式训练深度网络可以打破这种退化。我怀疑像Batch Normalization或 layer normalization等方法除了其他潜在的独立机制外(如减少最初提出的内部变量转换),在一定程度上是通过类似的打破退化机制训练深层网络的。众所周知,分裂归一化是一种有效处理隐藏单元响应的方法,而这也可以被看作是一种打破退化的机制。


上一篇:助力卷积神经网络时空特征学习 史上最大行人重识别视频数据集被提出
下一篇:神经网络结构在命名实体识别(NER)中的应用
精选推荐

[2018-01-26]  纽约时报的报道,德国的研究人员已经开发出一种长约七分之一英寸的机器人,首先看起来不过是一小块橡皮条。然后它开始移动。机器人走路,跳跃,爬行,滚动和游泳。它甚至爬出......

智能机器人困惑的时候知道该问什么问题
智能机器人困惑的时候知道该问什么问题

[2017-03-20]   照片:Nick Dentamaro 布朗大学 上周,我们提到了麻省理工学院的一些研究,即通过链接人的大脑来帮助机器人在他们将要犯错误的时 ...

2022年全球工业机器人市场将达到790亿美元
2022年全球工业机器人市场将达到790亿美元

[2017-09-04]  预计到 2022年, 全球工业机器人市场将达到790亿美元, 并在预测期内登记11 5% 的复合年增长率。随着发展中国家中小型企业需求的不断增长, 采用自动化技术以确保生产质量......

受大脑控制的机器人
受大脑控制的机器人

[2017-03-21]   想让机器人做我们想做的,首先,他得全面地了解我们。通常,这就意味着人类需要要付出更多。比如,教机器人复杂的人类语言或者把一项任务 ...

科学家从蟑螂获得启发 教机器人更好地走路
科学家从蟑螂获得启发 教机器人更好地走路

[2017-12-11]  Weihmann指出:“我特别感到惊讶的是,动物运动稳定机制的变化与腿部协调的变化是一致的。昆虫的慢运行非常稳定,因为它的重心很低,三条腿总是以协调的方式运动。...

深度神经网络揭示了大脑喜欢看什么
深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...

人工智能准确预测患者一年内的死亡风险,原理却无法解释
人工智能准确预测患者一年内的死亡风险,原理却无法解释

[2019-11-13]  图片来自BURGER PHANIE SCIENCE PHOTO LIBRARY美国最新研究显示,人工智能通过查看心脏测试结果,以高达85%以上的准确率预测了一个人在一 ...

通过对抗性图像黑入大脑
通过对抗性图像黑入大脑

[2018-03-02]  在上面的图片中,左边是一张猫的照片。在右边,你能分辨出它是同一只猫的图片,还是一张看起来相似的狗的图片?这两张图片之间的区别在于, ...

本周栏目热点

神经网络:人工智能以及我们的未来

[2016-11-20]   作者:James Crowder翻译:王益军审校:心原文链接:techcrunch把自己想象成在一辆未来的自动驾驶汽车的乘客。这辆汽车与你以一种 ...

[2016-11-20]   include "stdio h" include "stdlib h" include "time h" include "math h" *********************************************i ...

OpenAI开辟全新AI音乐领域,发布Jukebox神经网络生产歌曲

[2020-05-19]  日前,外媒报道,人工智能(AI)技术生成的音乐会给人们带来非常奇妙体验。其中有两大原因,第一,这是一个非常吸引人的全新领域;第二,这 ...

50行代码玩转生成对抗网络GAN模型!(附源码)

[2018-07-30]  本文为大家介绍了生成对抗网络(Generate Adversarial Network,GAN),以最直白的语言来讲解它,最后实现一个简单的 GAN 程序来帮助大家加深理解。...

深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...