版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》一文主要介绍了Batch Normalization(批标准化)的概念、原理及其在深度神经网络训练中的应用。
论文背景
深度神经网络在训练过程中,由于前面层的参数变化,会导致后面层输入的分布发生变化,这种现象被称为“Internal Covariate Shift”(内部协变量偏移)。这种偏移会使得网络训练变得复杂,需要较低的学习率和谨慎的参数初始化,从而减慢了训练速度,并可能导致模型难以收敛。为了解决这个问题,作者提出了Batch Normalization方法。
Batch Normalization的原理
Batch Normalization的基本思想是对每个mini-batch的数据进行归一化处理,使得网络层的输入具有相同的均值和方差。具体来说,对于每个mini-batch的输入数据,Batch Normalization会先计算其均值和方差,然后使用这些统计量对输入数据进行标准化处理。这个处理过程可以使得网络层的输入分布更加稳定,从而加速网络训练。
Batch Normalization的实现
在实现上,Batch Normalization被作为模型体系结构的一部分,插入到每个需要标准化的层之后。对于每个mini-batch的数