先上结论,再做分析:

  1. 没有证据表明BN的work,是因为减少了ICS(Interval Covariate Shift)
  2. BN work的根本原因,是因为在网络的训练阶段,其能够让优化空间(optimization landscape)变的平滑。
  3. 其他的normalization技术也能够像BN那样对于网络的训练起到作用。

一、BN和ICS的关系

在文章Batch Normalization:Accelerating Deep Network Training by Reducing Internal Covariate Shift中,其对与ICS是这样解释的:由于前一层的参数更新,所以这一层的输入(前一层的输出)的分布会发生变化,这种现象被称之为ICS。同样,这篇文章的观点认为BN work的真正原因,在与其将数据的分布都归一化到均值为0,方差为1的分布上去。因此,每一层的输入(上一层输出经过BN后)分布的稳定性都提高了,故而整体减小了网络的ICS。

但是,本文作者就提出了两个疑问:

1、BN work的原因是否真的与ICS有关?

2、BN层是否真的能够稳定输入分布?

1.1 BN是否真的与ICS有关?

对比实验:

在训练阶段,使用一下三种训练方法进行训练

观察上图左,可以发现加了noisy BN和标准的BN在training accuracy和收敛速度上几乎没有差异,并且都优于不加BN的方法。

结论:

没有证据表明BN的性能是因为提高了输入分布的稳定性。即BN与ICS无关。

1.2 BN是否能够减少ICS