深度学习的优化:理论和算法《Optimization for deep learning: theory and algorithms》论文阅读笔记 -3 神经网络的特定问题

4.神经网络特定问题

没有任何经验,训练神经网络来实现合理的准确度会变得非常有挑战。人们通过几十年的实验和研究,可以训练处非常大的神经网络,并且有很多的tricks.

4.1 由于梯度消失或梯度爆炸导致收敛比较慢

已知的神经网络训练的困难时梯度消失或梯度爆炸,通常的描述梯度消失或梯度爆炸是来源于信号处理的视角。梯度下降可以视为反馈纠错机制,最外层输出将会传递回之前的层,并通过权重调整来降低误差。

当网络层数较多时,权重的乘积会使得乘积的结果越来越大或越来越小。乘积到无穷大或0 时的情况就是梯度爆炸和梯度消失。


企业微信截图_40d31299-a4ee-4e6b-b372-2162509d9590.png

当w再0-0.8时会出现梯度消失,大于1.2时会出现梯度爆炸。

通常来说梯度消失或爆炸会导致很大的condation number 会导致选择合适的步长 变得困难。

4.2 精细的初始化

接下来会讨论在训练神经网络过程中三个主要的技巧。第一个是合理的初始化。
Naive initialization:

由于比较好的区域难以获得,比较简单的初始化方式包括以下几种。

  1. 所有值都初始化为0,
  2. 选择是只让其中的一部分点设置为非0点
  3. 让权重服从确定的随机分布

上述的几种初始化方式不一定总是有用,即使对某种特定的方式有用,也不一定对所有的方式有用。

LeCun initialization

对使用sigmoid 激活函数,使用初始化采用均值为0,方差为1/d_{l-1} ,也就是方差为1/fan-in, fan-in 是传入weight的节点数。

理论推导如下:考虑一个线性神经元有m个input 分别是x1,x2...xm,y=\sum_jw_jx_i 假设input xi 均值为0 方差为1.那么y的均值为0 ,方差为\sqrt{\sum_{j=1}^mw_j^2} 。为了满足y的方差也为1,选择权重w的方差为1/m 期望为0。 上述的推导适用于现象的激活函数,如果使用tanh的激活函数。tanh 在0附近和线性函数非常接近。因此y=tanh(\sum_jw_jx_j) 的方差会近似等于1。

Pre-training and Xavier initialization

Xavier initialization (or Glorot initialization )
E(W_{ij}^l)=0 ,var(W_{ij}^l)=\frac2{d_{l-1}+d_l}
或者有些时候被写作
var(W_{ij}^l)=2/(fan-in+fan-out)
fan-in和fan-out是输入和输出的维度。

Xavier initialization 可以推导如下:

对于前向传播,根据LeCun initialization 方差可以设置为1/fan-in。对于线性网络反向传播。e^l=(W^{l+1})^Te^{l+1} 。方差可以设置为1/fan-out。为了平衡正向传播和反向传播。最终的方差为2/(fan-in+fan-out)。

Kaiming initialization

LeCun and Xacier initialization 是用于sigmoid activation functions。在接近0的地方梯度接近线性。 但是对于ReLu 这种激活函数,使用前面的两种初始化方法就不说很合适。ReLu函数相当于把信号切了一半,因次有人提出了新的初始化方法
E(W_{ij}^l)=0 ,var(W_{ij}^l)=\frac2{d_{in}}\ or \ var(W_{ij}^l)=\frac2{d_{out}}
Kaiming initialization 没有像Xavier initialization 一样平衡信号的输入和输出。但是最近有人提议集合平均的方法来初始化方差 var(w)=c\sqrt{(fan-in)*(fan-out)} ,其中c是常数。

Infinite width networks with general non-linear activations

Kaiming 初始化方法不能直接应用到其他的非线性激活函数中。

Finite width networks.

Dynamical isometry.

Dynamical isometry for other networks.

Computing spectrum.

4.3 Normalization 方法

第二种方法是在算法的过程中进行normalization。这种方法可以视为初始化方法的扩展,一种表达的方式是batch normalization。这种方式现在已经成为标准的技术。

数据准备:对于线性回归,通常对数据进行标准化。使的特征的分布均值为0,方差为1。来减少hessian matrix 的条件数。

Motivation of BatchNorm layerwise normalization

在比较深的神经网络中,希望每一层的网络都服从标准正态分布。未来实现这个目标。比较naive的方法是在更新完梯度之后normalize matrix。

Essence of BatchNorm

Add BN layers to original neural network。原始的BatchNorm paper生成 BatchNorm 减少 internal covariate shift。但是新的观点认为BatchNorm 减少了Lipschitz constants.有人认为BatchNorm 会允许更大的学习率。不使用BatchNorm的话,会使得奇艺值更大。

Other normalization methods

对于Batch normalization.对每个mini-batch 规范化。但是如果mini-batches没有相似的统计结果。那么BN的效果不会很好。研究者提出了其他normalization方法。例如weight normalization, layer normalization, instance normalization, group normalization and spectral normalization 和switchable normalization.

这些normalization 方法可以分为两大类。第一类 是对神经网络的输出立即进行normalization.batchNorm normalize the rows. Layer normalization normalized the columns. Group normalization normalizes sub matrix that consists of a few columns and a few rows.

第二类是直接normalize weight metrics.

4.4 改变网络结构

第三种方式是改变网络结果。在2014年人们意识到网络网络层数越深。结果越好,因此增加网络的深度变得非常普遍。然而,即使使用非常好的初始化和BN,训练超过20-30层的网络也是非常困难。在VGG中,56层的网络在训练集和测试集上的结果会比20 层的网络更差。

ResNet: ResNet的关键是增加一个skip-connection在每层。
z^l=\phi(F(W^l,z^{l-1})+z^{l-1},\ l=1,2,...,L
F 代表原始的神经网络。

ResNet 实现了非常大的成功。

其他结构:high-way netowrks, DenseNet and ResNext. 虽然这些结构是人类设计的,但最新的成功是直接使用神经网络的自动搜索。制动搜素包括神经网络的参数,State-of art architectures EfficientNet 可以实现更好的结果。

ResNet 的分析和初始化

skip connections 的好处有很多,包括更好的泛化能力,更好的信号传播和更好的优化landscape。在ResNet中,梯度消失和梯度爆炸的情况可以避免,同时dynamic isometry可以在任何激活函数和初始化方法下实现。

4.5 训练ultra-deep 神经网络

有一些很少的方法来训练深度神经网络:

  1. Proper initialization,proper architecture BatchNorm.
  2. 非常精细的调整初始化点。
  3. 修正初始化方法和ResNet

除了上述方法,还有一些其他的设计来实现更好的神经网络,

  • 数据预处理方法比如数据增强,adversrial training

  • 优化方法如(optimization algo,learning rate schedule , learning rate dacay)

  • 正则化方法(l2-norm,droo out)

  • 神经网络架构,更深,更广,连接模式,

  • 激活函数(RELU,Leak ReLU, tanh,swish等。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容