4つの正規化手法
Batch / Layer / Instance / Group — 「どの範囲で平均・分散を計算するか」が違うだけ
前提正規化(Normalization)とは?
各層の出力値を平均0・分散1に揃える処理です。これにより学習が安定し、収束が速くなります。
4つの手法の違いは、μ(平均)とσ(標準偏差)を「どの範囲で計算するか」だけです。
数式は全て同じ。違いは「どこをまとめて平均するか」という範囲の取り方だけ。
データの3つの軸を理解する
CNNの中間データは3つの軸を持っています。正規化の違いは「どの軸を束ねるか」で決まります。
🎯 核心図:4つの手法の「正規化する範囲」
下図は「バッチ内の画像 × チャネル」を平面で表したものです。色がついた範囲で平均・分散を計算するのが各手法の違いです。
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手法の完全比較
| Batch | Layer | Instance | Group |
| 正規化の範囲 |
同チャネル×全画像 |
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に正規化)。違いは範囲だけ |