因为用moving statistics的话,不能对这些统计量求导,这样会少很多梯度的性质。
例如除以标准差后的梯度方向,是与feature垂直的(严谨一点,减均值之后的feature),所以用这个梯度更新不会引起feature scale的剧变,从而解决了梯度爆炸/消失。
用moving average,不对标准差求导,梯度方向跟之前是一样的,只是乘了一个系数而已。这样只能吃到BN前向的好处,吃不到BN反向传播的好处。
但其实仍然有方法可以利用moving statistics来做到类似的性质,本质上是在反向过程也用moving average统计一些参数,具体请参考: Towards stabilizing batch statistics in backward propagation of batch normalization。