BN的真正作用,How Does Batch Normalization Help Optimization?

与BN相关的两篇论文

Batch Normalization说BN的作用是因为解决了Internal Covariate Shift(ICS,内部输入分布变化)问题
MIT 的 NeurIPS18 How Does Batch Normalization Help Optimization?从数学推导以及实验方面证明了BN的真正作用

BN原论文的理解与分析

原始论文作者认为 BN 减小了所谓的 internal covariate shift(ICS),是 BN 成功的根基;这一观点被广泛接受但是没有被证明。

  • BN:normalizing each layer,for each mini-batch
  • 将每个mini-batch都进行零均值归一化,将原始数据映射到均值为0,方差为1的分布上;假设原始特征的均值为μ,标准差为δ,那么归一化公式如下(输入减均值再除以标准差),为了保证原数据的表达能力所以增加的一个平移因子β,和一个放大因子γ,这两个参数均由学习得到BN的真正作用,How Does Batch Normalization Help Optimization?_第1张图片
  • 归一化的好处,让数据在相同的学习率下,不同X的更新速率会变得更为一致,容易更快的通过梯度下降找到最优解,节约计算资源。
  • 但是即使BN将每个batch数据的均值和方差分布控制在0,1,也不能说明每个batch的数据分布是一致的,因为不同分布的数据也可以有相同的均值和方差

How Does Batch Normalization Help Optimization?的理解分析

  • BN带来的性能跟输入分布的稳定性(ICS的减少)无关,并且在一定程度上认为BN并不能减少ICS;

  • BN的作用是因为它能使优化问题的解空间更加平滑,这使得梯度更具预测性和稳定性可以使用更大范围的学习速率加速网络收敛;

  • 实验证明这种平滑效果并非与BatchNorm唯一相关,许多其他的正则化技术也具有类似的效果,其效果在线性网络上不如L1),P范数正则化都能对训练性能提供类似的效果改善;

  • How Does Batch Normalization Help Optimization?的实验证明,如下

  • 实验具体讲解,转载至seniusen

你可能感兴趣的:(BN的真正作用,How Does Batch Normalization Help Optimization?)