论文阅读之Transformer(LayerNorm与BatchNorm)

二维输入

  1. batchnorm:每一次把每个列,也就是每个特征,把它在一个mini-batch里面,均值变为0方差变为1。训练的时候可以做小批量,在预测的时候,可以把全局的均值算出来

  1. layernorm:每一次把每个行,也就是每个样本,把它均值变为0方差变为1。

三维输入

看图 ,跟二维差不多解释

为什么layernorm用得多一点?

1. 在持续的这些序列模型里面,每个样本的长度可能会发生变化,在算均值和方差的时候,会发现如果你的样本长度变化比较大的时候,每次做小批量,算出来的均值方差,它的抖动相对来说是比较大的。

2.在做预测的时候,是没有batch的,batchnorm我们要把全局的均值和方差记录下来,如果是batchnorm,这个全局的均值和方差如果碰到一个新的预测样本,如果特别特别长,在训练的时候没见过,那么在之前计算的均值和方差可能不那么好用的,但对layernorm没有这个问题,因为它是对每个样本自己来算,也不需要去存全局的均值和方差

论文阅读之Transformer(LayerNorm与BatchNorm)_第1张图片

沐神B站之图

你可能感兴趣的:(深度学习新知识,深度学习,transformer)