为什么Transformer模型使用Layer Normalization而不是Batch Normalization
我觉得最重要的有两点:
- 处理变长序列的稳定性:BN是在不同样本的同一维度做归一化,因为在seq2seq的场景中,样本数量不是固定的/输入序列是变长的,使用BN会导致不稳定。LN是在同一样本的不同维度做归一化,这样会更稳定。
- 小批量下的鲁棒性:Batch Norm的性能受批量大小影响显著,小批量可能导致统计量估计不准确。Layer Norm的统计量仅依赖单个样本,不受批量大小限制,尤其适合资源受限的训练环境。

浙公网安备 33010602011771号