バッチ正規化

Batch Normalization

バッチ正規化(Batch Normalization)とは、ニューラルネットワークの各層の入力をミニバッチ単位で正規化(平均0、分散1に変換)する手法です。2015年にIoffeとSzegedyにより提案され、深層学習の学習を安定・高速化する標準的な技術となりました。

仕組み

各ミニバッチの平均と分散を計算し、各活性化を正規化します。さらに学習可能なスケールパラメータγとシフトパラメータβを導入し、必要に応じて正規化の効果を調整します。

効果

内部共変量シフト(層の入力分布が学習中に変化する問題)を軽減し、より大きな学習率の使用が可能になります。正則化効果もあり、ドロップアウトの必要性を減らすことができます。

注意点と代替手法

バッチサイズが小さい場合やシーケンスデータでは統計量の推定が不安定になります。Layer Normalization(TransformerではLNが標準)、Group Normalization、Instance Normalizationなどの代替手法もあります。