Up LayerNorm (Layer Normalization) 作成: 2025-06-28
更新: 2025-06-28


      x_i^(ℓ)
       ├───────┐
       │    Self-Attention
       │       ↓
       │      z_i^(ℓ)
       │       │← LayerNorm
       │← Residual ─┘
       │
       ├───────┐
       │      FFN
       │       ↓
       │      z'_i^(ℓ)
       │       │← LayerNorm
       │← Residual ─┘
       ↓
      x_i^(ℓ+1)


    LayerNorm は,トークンベクトルの移動ベクトル
        y = ( y_1, ‥‥ , y_D )
    に対し,y の成分を正規化する処理。
      Self-Attention では z_i = ( z_i1, ‥‥ , z_iD ) に読み換え
      FFN では z_i = ( z'_i1, ‥‥ , z'_iD ) に読み換え

  1. 数式表現
      LayerNorm( y )=γ⋅ (y−μ)/σ + β

      μ:y_1, ‥‥, y_D に対する成分の平均
      σ:同様に成分の標準偏差
      γ:スケーリング係数 (学習される)
      β:バイアス係数 (学習される)


  2. LayerNorm の理由(技術的理由)
    ・学習安定性の確保
      Self-Attention や FFN を通ると,出力ベクトルのスケール(大きさ)が暴れやすい。
      出力ベクトルごとにスケールが異なる──ある者は小さく,ある者は巨大になる。)
      このため,全ての出力ベクトルを一定のスケール・分布に揃えることで,勾配爆発や消失を防ぐ

    ・構造の繰り返しにおける分布の恒常性
      Transformer は層構造で深く積み重ねられる。
      各層ごとに「出力の分布」が変わると,学習の収束が著しく悪くなる。

    ・実験的にも,LayerNorm を通さない Transformer は,
      初期層での重みの選び方に大きく依存
      計算不安定・過学習しやすい
      といった課題が生じる