【バッチせいきか】
バッチ正規化 とは?
💡 各層に「体調管理スタッフ」を配置して、データのコンディションを常にベストに保つ技術
📌 このページのポイント
- ニューラルネットワークの各層でデータの分布(平均・分散)を揃える処理
- 学習の高速化と安定化に大きく貢献し、現代のディープラーニングでは標準的に使われる
- 内部共変量シフト(層を通るたびにデータの分布が変わる問題)を軽減する
- ドロップアウトと同様に正則化効果も持ち、過学習を抑える働きもある
普通の正規化は入力データ全体に対して行うけど、バッチ正規化はニューラルネットワークの各層の中間出力に対して行うんだ。ミニバッチ単位でデータの平均を0、分散を1に揃える処理だよ。
どうしてわざわざ途中で正規化する必要があるの?
使うとどのくらい効果があるの?
推論のときもミニバッチの平均と分散を使うの?
いい質問だね。推論時は1件ずつ処理することが多いから、ミニバッチの統計量は使えないよ。代わりに学習中に計算した平均と分散の移動平均(running mean / running variance)を使うんだ。だから学習モードと推論モードで挙動が異なる点には注意が必要だよ。
バッチ正規化以外にも似たような手法ってあるの?
📖 おまけ:英語の意味
「Batch Normalization」 = バッチ単位の正規化
💬 2015年にGoogleの研究者が提案した手法で、ミニバッチごとに平均0・分散1に正規化するから「バッチ正規化」と呼ばれるよ