LayerNorm 与 BatchNorm异同

       思想与BatchNorm一致,都是通过将某一部分变为均值为0,方差为1来正则化

,并且可以通过学习参数 γ 将其变为方差/均值为任意值的参数。

不同点:

  1. BatchNorm是对feature即列进行归一化,而LayerNorm是对每一个batch即行进行归一化。
  2. batchnorm是对全局做一个均值方差,这样碰到sequence长度不一致的时候,会导致之前拟合的参数不好用了。
  3. layernorm则是以batch为单位计算均值方差,相对来说更加稳定。

方法:Pytorch

x.mean(axis=, keepdim=)
x.std(axis=, keepdim=)

你可能感兴趣的:(深度学习,人工智能,transformer)