现在 CNN
网络中,没有不加 BN
层,来优化网络的,但是一直不怎么清楚原理,所以,在这里探究一下。
虽然,这里主要针对的是 CNN
之后的 BN
层,但是,其中的部分原理,对于数据的预处理归一化或者标准化也适用。
毕竟
Normalization
是数据标准化(归一化,规范化),Batch 可以理解为批量,加起来就是批量标准化。
参考资料
- 深度学习中 Batch Normalization为什么效果好?
- BatchNorm2d增加的参数track_running_stats如何理解?
- nn.BatchNorm2d
- 基础 | batchnorm原理及代码详解
论文
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- Group Normalization
BN 要解决的事情
- 梯度消失和梯度爆炸
- 数据分布不均