nn.LayerNorm 简介

在Transformer中一般采用LayerNorm,LayerNorm也是归一化的一种方法,与BatchNorm不同的是它是对每单个batch进行的归一化,而BatchNorm是对所有batch一起进行归一化的,如下所示:

LayerNorm.png

nn.LayerNorm 参数介绍

nn.LayerNorm(normalized_shape, eps=1e-05, elementwise_affine=True, device=None, dtype=None)

normalized_shape:归一化的维度,int(最后一维)list(list里面的维度)
eps:加在方差上的数字,避免分母为0
elementwise_affine:bool,True的话会有一个默认的affine参数
elementwise_affine就是公式中的γ和β,前者开始为1,后者为0,二者均可学习随着训练过程而变化