【バッチせいきか】

バッチ正規化 とは?

💡 各層に「体調管理スタッフ」を配置して、データのコンディションを常にベストに保つ技術
📌 このページのポイント
バッチ正規化の仕組み 正規化前(ばらつき大) BN層 正規化後(平均0, 分散1) 処理の流れ ミニバッチの平均・分散を計算 → 正規化 → スケール&シフト(学習可能パラメータ)
バッチ正規化のイメージ
ひよこ ひよこ

バッチ正規化って、普通の正規化と何が違うの?

ペンギン先生 ペンギン先生

普通の正規化は入力データ全体に対して行うけど、バッチ正規化ニューラルネットワークの各層の中間出力に対して行うんだ。ミニバッチ単位でデータの平均を0、分散を1に揃える処理だよ。

ひよこ ひよこ

どうしてわざわざ途中で正規化する必要があるの?

ペンギン先生 ペンギン先生

ニューラルネットは層が深くなると、前の層の重みが更新されるたびに次の層への入力分布がどんどん変わってしまうんだ。これを「内部共変量シフト」と呼ぶんだけど、学習が不安定になる原因になるよ。バッチ正規化で各層の入力を整えてあげると、学習がスムーズに進むんだ。

ひよこ ひよこ

使うとどのくらい効果があるの?

ペンギン先生 ペンギン先生

学習速度が大幅に上がるのが一番の効果だね。学習率を大きく設定しても発散しにくくなるから、同じ精度に到達するまでの時間が短縮されるよ。さらに正則化効果もあるから、ドロップアウトなしでも過学習を抑えられることがあるんだ。

ひよこ ひよこ

推論のときもミニバッチの平均と分散を使うの?

ペンギン先生 ペンギン先生

いい質問だね。推論時は1件ずつ処理することが多いから、ミニバッチの統計量は使えないよ。代わりに学習中に計算した平均と分散の移動平均(running mean / running variance)を使うんだ。だから学習モードと推論モードで挙動が異なる点には注意が必要だよ。

ひよこ ひよこ

バッチ正規化以外にも似たような手法ってあるの?

ペンギン先生 ペンギン先生

あるよ。Layer Normalization(層全体で正規化)、Instance Normalization(画像1枚ごとに正規化)、Group Normalization(チャンネルをグループ分けして正規化)などがあるんだ。バッチサイズが小さいとバッチ正規化の精度が落ちるから、そういう場面ではGroup Normalizationが選ばれることが多いね。TransformerではLayer Normalizationが主流だよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「バッチ正規化」って出てきたら「ニューラルネットの各層でデータの分布を整えて学習を安定させる技術」と思えればだいたいOK!
📖 おまけ:英語の意味
「Batch Normalization」 = バッチ単位の正規化
💬 2015年にGoogleの研究者が提案した手法で、ミニバッチごとに平均0・分散1に正規化するから「バッチ正規化」と呼ばれるよ
← 用語集にもどる