batch Normalization
- 问题:由于神经网络的各层输出,由于它们经过了层内操作作用,其数据分布与各层对应的输入信号分布不同,并且这种差异会随着网络深度增大而增大
- 解决方法
引入了Batch Normalization,通过Batch Normalization可以调整数据的分布,不考虑激活函数,它让每一层的输出归一化到了均值为0方差为1的分布,让梯度将始终保持在一个合理的范围内。缓解了梯度消失或爆炸出现的问题。 - 原理
- 计算每个mini-batch里元素的均值
- 计算mini-batch的 方差
- 对每个元素进行归一化
- 论文中提到,使用γ和β是为了通过 “scale and shift” 操作来保证整个网络的capacity