# BatchNorm
对于一个二维输入 , 其中 是样本数, 是特征维度。
BatchNorm 是一种归一化方法,将输入按相同特征进行样本归一化。在训练过程中,对于每个 batch 进行归一化,而在预测时对整体进行归一化。
# LayerNorm
LayerNorm 与 BatchNorm 类似,区别在于 LayerNorm 是对每个样本内的各个特征进行归一化。
LayerNorm 在 NLP 中使用更为广泛的原因是,时序特征中各样本的长度往往不完全相同。
例如,如果输入是一系列句子组成的一个张量 , 其中 是句子数 (batch 大小), 是句子长度, 是特征维度。则 BatchNorm 可以表示为
而 LayerNorm 可以表示为
注意到,句子长度 是与 句子编号 唯一相关的,因此这样归一化不会引入填充的 . 因此,就可以处理长度变化差异更大的样本了。
# Ref
- 跟李沐学 AI: Transformer 论文逐段精读【论文精读】- Bilibili