先上结论,再做分析:
在文章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