Deep Learning 1 : Batch Normalization,Weight Normalization and Layer Normalization

BN与WN区别
WN与BN都属于参数重写(Reparameterization)的方法,但采用的方式不同。WN相比BN主要有三点优势:
1.WN通过重写深度学习网络的权重W的方式来加速收敛,没有引入对minibatch的以来,可以用于RNN网络。而BN因为依赖于minibatch,不能用于RNN,原因是:1.RNN处理的Sequence是不断变长的;2.RNN是基于time step计算的,若直接使用BN处理,需要保存每个time step下minibatch的均值与方差,效率低且内存需求大。
2.BN基于minibatches的数据计算均值与方差,而不是基于整个Training set,在每次迭代中引入了随机性,相当于在进行梯度计算时引入了noise。因此,BN不能用于对噪声敏感的Generative models以及Reinforcement models。而WN通过标量g和向量v对权重W进行重写,重写向量v固定,相比BN引入的噪声要少得多。
3.WN不需要额外的存储空间来保存minibatch的均值和方差,正向和反向传播实现时额外的计算开销也更小。
但是WN不具备BN把网络每一层的输出Y固定在一个变化范围内的能力,因此采用WN时需要注意参数初始化策略的选择。
(以上基本完全参考Weight Normalization 相比batch Normalization 有什么优点呢?问题下lqfarmer的回答。)

BN的局限性[1]
在梯度消失问题中,当网络深度达到一定的层数之后,部分神经元趋向于always active,另一部分则趋向always inactive,使得在反向传播时梯度的流动受阻。其中,always active的神经元可以被视为是线性的神经元,而always inactive的神经元可以被视为不存在。所以BN本质上是提高了rectifier nets的非线性效率,但是这种提高是有代价的,如果仅使用BN来解决gradients vanishing的问题,数据在前向传播的过程中其spatial structure会被逐渐抹去。而Resnet中的skip connection能在更有效的利用神经元非线性的同时,某种程度上保存数据的spatial structure。

[1]The Shattered Gradients Problem:If resnets are the answer, then what is the question?

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值