论文: https://arxiv.org/pdf/1607.06450v1.pdf
课代表的总结:
https://zhuanlan.zhihu.com/p/33173246
https://www.jiqizhixin.com/articles/2018-08-29-7
详细的介绍可以参见上述的参考资料,本文简单的做个概括:
layer normalization和batch normalization类似,缓解Internal Covariate Shift问题,可以将数据分布拉到激活函数的非饱和区,具有权重/数据伸缩不变性的特点。起到缓解梯度消失/爆炸、加速训练、正则化的效果。
二者原理上有些不同:
batch normalization对一个神经元的batch所有样本进行标准化,layer normalization对一个样本同一层所有神经元进行标准化,前者纵向 normalization,后者横向 normalization。
batch normalization的缺点:因为统计意义,在batch_size较大时才表现较好;不易用于RNN;训练和预测时用的统计量不同等。
layer normalization就比较适合用于RNN和单条样本的训练和预测。但是在batch_size较大时性能时比不过batch normalization的。
类似的normalization方法还有weight / Instance / group normalization