在深度学习模型中,Normalization是一种极为重要的技巧,Batch Normalization(BN)和Layer Normalization(LN)是其中最为常用的两种方法。然而,二者在实际应用中有着明显的区别与联系,尤其在Transformer的Attention机制中,LN有着独特的优势。
一、BN与LN的核心区别与联系
1. Batch Normalization (BN)
BN的思想源于一个叫Internal Covariate Shift(ICS)的概念,即在训练过程中,每个mini-batch的数据分布都会发生变化,导致训练变得困难。
BN的做法是在每个batch中,沿着特征通道对所有样本计算均值和方差,使数据强制保持均值为0、方差为1的分布。这有效地缓解了梯度消失的问题,加速了模型的训练过程。
BN计算公式为:
y =