上一篇讲了BN是怎么缓解梯度消失与梯度爆炸的,这次详细看一下BN的实际操作,能够帮助我们更好的理解其作用。
BatchNormalize的具体操作
在训练和测试阶段,批量归一化的计算方式不同。
训练阶段
在每个隐藏层,Batch Normalization 将信号转换如下:
BN 层首先使用 (1) 和 (2) 确定整个批次的激活值的均值 𝜇 和方差 σ²。
然后它用 (3) 对***激活向量 Z^(i)*** 进行归一化。 这样,每个神经元的输出在批次中遵循标准正态分布。 (𝜀 是用于数值稳定性的常数)
批量标准化第一步。 一个 3 神经元隐藏层的示例,批次大小为 b。 每个神经元都遵循标准正态分布。 | 信用:作者 - 设计:Lou HD
最后,它通过使用 𝛾 和 𝛽 这两个可训练参数 (4) 应用线性变换来计算层的输出 Ẑ(i)。 这样的步骤