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. These findings bring us closer to a true understanding of our DNN training toolkit.
翻译:批量正常化( BatchNorm) 是广泛采用的一种技术, 能够更快和更稳定地培训深神经网络( DNNS ) 。 尽管批量正常化( BatchNorm ) 十分普遍, 但其有效性的确切原因仍然鲜为人知。 流行的信念是, 这种有效性来自于在培训期间控制层层投入分配的变化, 以减少所谓的“ 内部共变换 ” 。 在这项工作中, 我们证明, 层投入的这种分布稳定性与BatchNorm 的成功没有什么关系。 相反, 我们发现了批量Norm 对培训过程的更根本影响: 它使优化环境大大平滑。 这种顺畅性使得梯度的预测和稳定行为得以更快的培训。 这些发现使我们更接近于对 DNN 培训工具包的真正理解。