レイヤー正規化とは
レイヤー正規化(Layer Normalization)は、2016年にBaらによって提案された正規化手法で、バッチ正規化のバッチサイズ依存性を解消する目的で開発されました。バッチ方向ではなく、各サンプルの特徴次元方向で平均と分散を計算して正規化します。Transformerアーキテクチャの標準的な正規化手法として広く採用されています。
バッチ正規化との違い
バッチ正規化がミニバッチ内の同じ特徴について統計量を計算するのに対し、レイヤー正規化は単一サンプル内のすべての特徴について統計量を計算します。このため、バッチサイズに依存せず、推論時も訓練時と同じ計算を行うことができます。系列長が異なるデータや、バッチサイズ1での処理が必要な場面に適しています。
Transformerにおけるレイヤー正規化
Transformerでは、各サブレイヤー(アテンションとフィードフォワード)の後にレイヤー正規化が適用されます(Post-LN)。近年の研究では、サブレイヤーの前にレイヤー正規化を適用するPre-LN構造がより安定した学習を実現することが示されており、GPTなどの大規模モデルではPre-LN方式が採用されています。
RMSNormなどの発展
レイヤー正規化の計算コストを削減するRMSNorm(Root Mean Square Normalization)が提案され、LLaMAなどの大規模言語モデルで採用されています。RMSNormは平均の計算を省略し、二乗平均平方根のみで正規化することで計算を簡略化します。このように、正規化手法の研究は現在も活発に進められています。