在学习Layer Normalization之前建议大家先自行学习Batch Normalization.
鉴于BN存在一些问题,LayerNormalzation才得以提出,并且LayerNormalization可以直接应用于recurrent neural networks,并且也解决了BN当batch size=1不能进行在线学习,在线预测的问题。
layer normalization和BN的整个思想是相近的,不同的是应用场景和计算均值、方差的方法是不同,但是总体而言都是通过归一化来加快训练速度,找到更佳的优化点来提升效果的。
无论是BN还是LN都是基于“covariate shift”的问题而设计的。不同于BN,LN进行normalization的数据,均值和方差的计算集合是同一层所有隐节点,公式如下:
其中,H为隐层l的节点数量,为均值,
为方差,