Batch Normalization (BatchNorm) is a widely adopted technique that enables faster and more stable training of deep neural networks (DNNs). Despite its pervasiveness, the exact reasons for BatchNorm's effectiveness are still poorly understood. The popular belief is that this effectiveness stems from controlling the change of the layers' input distributions during training to reduce the so-called "internal covariate shift". In this work, we demonstrate that such distributional stability of layer inputs has little to do with the success of BatchNorm. Instead, we uncover a more fundamental impact of BatchNorm on the training process: it makes the optimization landscape significantly smoother. This smoothness induces a more predictive and stable behavior of the gradients, allowing for faster training.
翻译:批量正常化( BatchNorm) 是广泛采用的一种技术, 能够更快和更稳定地培训深神经网络( DNNs ) 。 尽管批量正常化( BatchNorm) 十分普遍, 但其有效性的确切原因仍然鲜为人知。 人们普遍认为, 批量正常化之所以有效,是因为在培训过程中控制了层层投入分配的变化,以减少所谓的“ 内部共变换 ” 。 在这项工作中, 我们证明, 层投入的这种分布稳定性与BatchNorm 的成功没有什么关系。 相反, 我们发现了批量Norm 对培训过程的更根本影响: 它使优化环境大大平滑。 这种顺畅使梯度的预测和稳定行为得以更快地进行培训。