BN往往加到conv.后面,激活函数前面,用于让网络中的数据更加规范,以减轻网络梯度消失和梯度爆炸的问题(通常来说是消失的问题)
中心思想就是把数据减去均值除方差,来归一化数据,让数据分布更加均匀。在最基本的变化之上,又有一些优化,比如添加偏移。如图
通常,用于避免梯度消失的方法有:
1.数据预处理:在输入网络前就进行数据归一化
2.使用更好的激活函数:下有界,上无界,平滑,非单调。具体参考:激活函数小总结_爱不持久的博客-CSDN博客
3.使用ResNet
4.使用BN层
现在的任务一般是这四种都会使用。