BN层的作用
1、背景:
因为神经网络层与层之间的高度耦合性,导致存在ics问题(即参数变化会改变输出数据的分布,导致上层的网络要不断的适用这种变化),使训练过程困难缓慢
2、优势
主要作用是加速收敛。可以看图感受一下他的强大功能
该层在每一个batch上,将前一层的激活值重新规范化,使输出数据的均值接近0,方差为1,然后再输入下一层。使得每一层网络的输入数据的均值与方差都在一定范围内,使得后一层网络不必不断去适应底层网络中输入的变化,从而实现了网络中层与层之间的解耦,允许每一层进行独立学习,有利于提高整个神经网络的学习速度。
(1)加速收敛;使每一层输入数据的分布相对稳定,缓解ICS问题。
(2)使网络对初始权重不那么敏感。
(3)控制过拟合,可以少用或不用Dropout和正则。
(4)缓解激活函数梯度饱和问题(梯度消失),允许网络使用sigmoid,tanh函数
(5)允许使用较大的学习率。
3、缺点:
降低了模型的表征能力,我们通过变换操作改变了原有数据的信息表达(representation ability of the network),使得底层网络学习到的参数信息丢失。
涉及到背景、原理、训练和测试阶段的不同,优势
参考 知乎文章 https://zhuanlan.zhihu.com/p/34879333 写的非常好