pdf

Momentum Batch Normalization for Deep Learning with Small Batch Size

这篇paper尝试推导地证明 Batch Normalization 在训练时会引入一定的噪声,且这个噪声的方差与 Batch Size 成反比.然后本文提出了Momentum BN来平衡。

相似的希望在低 Batch下降低噪声的方案本站收录有 Cross Iteration BN.本文提出的 Momentum BN相较而言更简单,理论分析上各有优劣。

Noise in BN

假设输入信号符合某一正太分布,那么大小为的mini-batch则可以理解为对这一正太分布进行采样。采样数据对原正太数据的统计特征进行估计时,其结果的均值也满足一个正太分布,而其结果的方差 也满足一个卡方分布. 可以得到以下两个随机变量

那么在训练过程中,BN的归一化运算可以重新写为:

在概念上,为原数据的真实归一化值, 为加法项的高斯噪声,而为乘法项的高斯噪声。

Reduce Noise for BN with Small Batches

算法上比较直白,对均值与方差计算一个滑动平均。不难计算滑动平均后归一化运算的高斯噪声也会平滑而下降。

进一步地,作者指出我们可以通过调整,使BN的噪声等效于指定的Batch Size时的噪声。

本文与Cross Iteration BN的区别:

优点: - 可以通过调节指定对应的batch size - 计算过程简单,快速.

缺点: - 没有考虑训练过程中由于权重变化带来的统计特征漂移