4つの正規化手法

Batch / Layer / Instance / Group — 「どの範囲で平均・分散を計算するか」が違うだけ

前提正規化(Normalization)とは?

各層の出力値を平均0・分散1に揃える処理です。これにより学習が安定し、収束が速くなります。

x̂ = (x − μ) / σ  →  y = γ x̂ + β
μ = 平均、σ = 標準偏差、γ・β = 学習可能なパラメータ(スケール・シフト)
4つの手法の違いは、μ(平均)とσ(標準偏差)を「どの範囲で計算するか」だけです。
数式は全て同じ。違いは「どこをまとめて平均するか」という範囲の取り方だけ。

データの3つの軸を理解する

CNNの中間データは3つの軸を持っています。正規化の違いは「どの軸を束ねるか」で決まります。

バッチ (N) チャネル (C) R, G, B や 特徴マップ 空間 (H × W) 画像の縦 × 横ピクセル 3つの軸 N(バッチ):画像の枚数 例:32枚を同時に処理 C(チャネル):特徴の種類 例:エッジ、色、形 等の特徴マップ H×W(空間):画像の大きさ 例:32×32 ピクセル

🎯 核心図:4つの手法の「正規化する範囲」

下図は「バッチ内の画像 × チャネル」を平面で表したものです。色がついた範囲で平均・分散を計算するのが各手法の違いです。

← チャネル (C) → ← バッチ (N) → バッチ正規化 (BN) 画像1 画像2 画像3 画像4 C1 C2 C3 C4 C5 C6 同じチャネルを 全画像にまたがって 正規化(縦方向) レイヤー正規化 (LN) 1つの画像の 全チャネル 正規化(横方向) インスタンス正規化 (IN) 1画像・1チャネル だけで正規化 (1マスだけ) グループ正規化 (GN) グループ1 チャネルを グループに分けて 各グループ内で正規化 4つの手法の関係 Layer Norm(全チャネル) Group Norm(数チャネル) Layer Norm のチャネルを分割 → Group Norm 1チャネルずつに分割 → Instance Norm つまり IN は「グループ数 = チャネル数」のGN LN は「グループ数 = 1」のGN

BNバッチ正規化(Batch Normalization)

範囲:同じチャネルを、バッチ内の全画像にまたがって正規化。「チャネルごとに縦に束ねる」イメージ。

2015年にGoogleが提案。CNNの学習を劇的に安定させた画期的な手法です。

メリット
学習が速く安定する。学習率を大きくできる。Dropoutが不要になることも。CNNで最も広く使われる。
デメリット
バッチサイズに依存する。バッチが小さいと平均・分散の推定が不安定になり性能が落ちる。推論時は訓練中の移動平均を使う必要がある。

LNレイヤー正規化(Layer Normalization)

範囲:1つの画像(サンプル)の全チャネルをまとめて正規化。「画像ごとに横に束ねる」イメージ。

バッチ内の他の画像を見ないので、バッチサイズに依存しません。

メリット
バッチサイズに依存しない。バッチサイズ1でも動作する。RNNやTransformerで標準的に使われる。
デメリット
異なるチャネル(異なる種類の特徴)をまとめて正規化するので、CNNの画像認識ではBNより精度が出にくいことがある。

INインスタンス正規化(Instance Normalization)

範囲:1つの画像の1つのチャネルだけで正規化。最も狭い範囲。

各画像の各チャネル(特徴マップ)を独立に正規化します。

メリット
各画像のスタイル(色調やコントラスト)を除去できる。画風変換(Style Transfer)で特に有効。
デメリット
正規化の範囲が狭すぎて統計量が不安定になりやすい。一般的な認識タスクには不向き。

GNグループ正規化(Group Normalization)

範囲:チャネルをいくつかのグループに分けて、各グループ内で正規化。LNとINの中間。

Facebookが2018年に提案。LN(全チャネル=1グループ)とIN(各チャネル=全部別グループ)の間を取った手法です。

メリット
バッチサイズに依存しない(BNの弱点を解消)。物体検出やセグメンテーションなどバッチが小さくなるタスクで有効。
ポイント
グループ数Gはハイパーパラメータ。G=1ならLayer Norm、G=Cなら Instance Normと等価になる。

📋 4手法の完全比較

BatchLayerInstanceGroup
正規化の範囲 同チャネル×全画像 1画像×全チャネル 1画像×1チャネル 1画像×数チャネル
束ねる方向 バッチ方向(縦) チャネル方向(横) 空間方向のみ チャネルの一部(横の一部)
バッチ依存 あり なし なし なし
得意なタスク CNN画像認識 RNN / Transformer(NLP) 画風変換 小バッチのCNN
提案年 2015(Google) 2016 2016 2018(Facebook)

G検定での出題ポイント

Batch Norm 最も広く使われるがバッチサイズに依存するのが弱点。バッチが小さいと性能低下
Layer Norm バッチ非依存。TransformerやRNNで標準的に使用
Instance Norm 1画像1チャネルで正規化。Style Transfer(画風変換)で有効
Group Norm LNとINの中間。小バッチでBNの代替として有効。G=1→LN、G=C→IN
共通 数式は全て同じ(平均0・分散1に正規化)。違いは範囲だけ