深度拾遗(01) - 梯度爆炸/梯度消失/Batch Normal

什么是梯度爆炸/梯度消失?

深度神经网络训练的时候,采用的是反向传播方式,该方式使用链式求导,计算每层梯度的时候会涉及一些连乘操做,所以若是网络过深。
那么若是连乘的因子大部分小于1,最后乘积的结果可能趋于0,也就是梯度消失,后面的网络层的参数不发生变化.
那么若是连乘的因子大部分大于1,最后乘积可能趋于无穷,这就是梯度爆炸html

如何防止梯度消失?

sigmoid容易发生,更换激活函数为 ReLU便可。
权重初始化用高斯初始化网络

如何防止梯度爆炸?

1 设置梯度剪切阈值,若是超过了该阈值,直接将梯度置为该值。dom

2 使用ReLU,maxout等替代sigmoid
区别:机器学习

  1. sigmoid函数值在[0,1],ReLU函数值在[0,+无穷],因此sigmoid函数能够描述几率,ReLU适合用来描述实数;
  2. sigmoid函数的梯度随着x的增大或减少和消失,而ReLU不会。
  3. Relu会使一部分神经元的输出为0,这样就形成了网络的稀疏性,而且减小了参数的相互依存关系,缓解了过拟合问题的发生
    图片名称

sigmoid导数最大为1/4
a的数值变化范围很小,若x数值仅在[-4,4]窄范围内会出现梯度消失,若大于4则梯度爆炸。
对于sigmoid更容易出现梯度消失。函数

Battch Normal

ref

解决了梯度消失与加速收敛(数据自己在0均值处)和internal covariate shift(内部神经元分布的改变) 数据分布不一致问题。
传统的深度神经网络在训练是,每一层的输入的分布都在改变,所以训练困难,只能选择用一个很小的学习速率,可是每一层用了BN后,能够有效的解决这个问题,学习速率能够增大不少倍.学习

  1. 经过将activation规范为均值和方差一致的手段使得本来会减少的activation的scale变大。
  2. 初始化的时候,咱们的参数通常都是0均值的,所以开始的拟合y=Wx+b,基本过原点附近,如图b红色虚线。所以,网络须要通过屡次学习才能逐步达到如紫色实线的拟合,即收敛的比较慢。若是咱们对输入数据先做减均值操做,如图c,显然能够加快学习。更进一步的,咱们对数据再进行去相关操做,使得数据更加容易区分,这样又会加快训练,如图d。 经过把梯度映射到一个值大但次优的变化位置来阻止梯度太小变化。
    图片名称spa

  3. 统计机器学习中的一个经典假设是“源空间(source domain)和目标空间(target domain)的数据分布(distribution)是一致的”。若是不一致,那么就出现了新的机器学习问题,如,transfer learning/domain adaptation等。
    covariate shift就是分布不一致假设之下的一个分支问题,它是指源空间和目标空间的条件几率是一致的,可是其边缘几率不一样,即:对全部\(x\in \mathcal{X},P_s(Y|X=x)=P_t(Y|X=x)\),可是\(P_s(X)\ne P_t(X)\).
    对于神经网络的各层输出,因为它们通过了层内操做做用,其分布显然与各层对应的输入信号分布不一样,并且差别会随着网络深度增大而增大,但是它们所能“指示”的样本标记(label)仍然是不变的,这便符合了covariate shift的定义。因为是对层间信号的分析,也便是“internal”的来由。
    所以至少0均值1方差的数据集能够减小样本分布的变化问题
  4. 使用BN训练时,一个样本只与minibatch中其余样本有相互关系;对于同一个训练样本,网络的输出会发生变化。这些效果有助于提高网络泛化能力,像dropout同样防止网络过拟合,同时BN的使用,能够减小或者去掉dropout相似的策略。.net

BN(Batch Normalization)层的做用orm

  1. 加速收敛
  2. 控制过拟合,能够少用或不用Dropout和正则
  3. 下降网络对初始化权重敏感
  4. 容许使用较大的学习率
    在每一层输入的时候,加个BN预处理操做。BN应做用在非线性映射前,即对x=Wu+b作规范化。在BN中,是经过将activation规范为均值和方差一致的手段使得本来会减少的activation的scale变大。能够说是一种更有效的local response normalization方法

PS:
Batch Norm会忽略图像像素(或者特征)之间的绝对差别(由于均值归零,方差归一),而只考虑相对差别,因此在不须要绝对差别的任务中(好比分类),有锦上添花的效果。而对于图像超分辨率这种须要利用绝对差别的任务,Batch Norm只会添乱。htm

参考
参考

常见问题备查
1
2
3

相关文章
相关标签/搜索