BN:
1、梯度好(避免梯度消失,梯度弥散问题)
2、使损失函数更加平滑,使用更大学习率,梯度下降更快
训练:
去整个batch的均值和方差进行BN,并且学习参数,scale,和shift。
测试:
只有一个样本,不存在均值和方差。因此需要在训练阶段,记录所有的均值方差,得到全局的均值方差。再根据训练阶段学习的scale和shift,就可以计算。
注:
全局的均值和方差:论文中是无偏估计,实际框架中是采用有偏估计替代的。
框架实现
除了BN之外的其他的正则策略:
https://blog.csdn.net/liuxiao214/article/details/81037416
https://zhuanlan.zhihu.com/p/61033175
分别是
- Batch Normalization,
- Layer Normalization
- Instance Normalization,
- Group Normalization
总体来说,思想相同都是将激活值进行归一化。只是计算均值方差时,划分元素的集合(计算均值的方差的集合)不同。
众所周知,深度网络中的数据维度一般是[N, C, H, W]或者[N, H, W,C]格式,N是batch size,H/W是feature的高/宽,C是feature的channel,压缩H/W至一个维度,其三维的表示如上图,假设单个方格的长度是1,那么其表示的是[6, 6,*, * ]。
只有Batch normalization与batch size N有关,其他方式都与N无关。
Batch Normalization:
取N个训练样本中,每个样本的对应的通道k,取通道K,N个实例N*W*H个神经元为集合
局限性:
1、如果 Batch Size 太小,则 BN 效果明显下降(有些任务要求,BN的size不能太大)
2、对于有些像素级图片生成任务来说,BN 效果不佳(比如图片风格转换等应用场景)
3、RNN 等动态网络使用 BN 效果不佳且使用起来不方便(batch无法确定,因为输入的长度的不统一)
4、训练时和推理时统计量不一致(训练时有batch,但是预测是单个样本)
Layer Normalization:
针对每个样本进行,取每个样本的所有通道上的神经元的激活值为集合。C *W*H个神经元
Instance Normalization:
针对每个通道进行,取每个通道上所有的的神经远为集合。W*H个神经元
Group Normalization:
针对每个样本的部分通道进行,将一个样本的所有通道,划分为g个group,C//g个通道为集合,C//g*W*H个神经元。
使用情况:
1、对于 RNN 的神经网络结构来说,目前只有 LayerNorm 是相对有效的;
2、如果是 GAN 等图片生成或图片内容改写类型的任务,可以优先尝试 InstanceNorm;
3、如果使用场景约束 BatchSize 必须设置很小,无疑此时考虑使用 GroupNorm;
4、而其它任务情形应该优先考虑使用 BatchNorm。
Normalization有效性的原因:
1、BN的提出者说是解决了 ICS(Internal Covariate Shift)问题,但是后续研究表明,并非如此。
有研究表情,是因为BN平滑了损失曲面,因此相对与原有的凹凸不平的损失曲面来说,更加容易优化。
2、Re-Scaling不变性
权重向量 Re-Scaling:
对于网络中某个神经元 i 来说,其对应的边权重向量假设为 W_i,所谓权重向量(Weight Vector)Re-Scaling,就是将 W_i 乘上一个缩放因子φ,如果神经元 i 在进行权重向量 Re-Scaling 之前和之后两种不同情况下做 Normalization 操作,若 Normalization 之后神经元 i 对应的激活值没发生变化,我们就说这种 Normalization 具备权重向量 Re-Scaling 不变性
数据 Re-Scaling
所谓数据 Re-Scaling,指的是把输入 X 乘上一个缩放因子φ,同样的,如果对输入做缩放前后两种情况下进行 Normalization 操作,若 Normalization 之后所有隐层神经元对应的激活值没发生变化,我们说这种 Normalization 具备数据 Re-Scaling 不变性
权重矩阵 Re-Scaling
而权重矩阵 Re-Scaling 指的是:对于某两个隐层(L 层 vs L+1 层)之间的所有边的权重参数 W_ij 同时乘上相同的缩放因子φ,如果在权重矩阵 Re-Scaling 之前和之后两种情形下对 (L+1) 层隐层神经元做 Normalization 操作,若两种情况下隐层所有神经元激活值没有变化,我们说这种 Normalization 具备权重矩阵 Re-Scaling 不变性
BN有效性的原因,以上仅仅是作者分析的观点,目前并没有相关实证研究,还请读者谨慎对待此观点。