本文へスキップ

バッチ正規化とは?

ばっちせいきか

バッチ正規化とは、ニューラルネットワークの各層への入力をミニバッチ単位で正規化する手法で、学習の安定化・高速化に大きく貢献します。

バッチ正規化(Batch Normalization)は、2015年にIoffe and Szegedy(Google)が提案したニューラルネットワーク学習安定化技術です。深層学習における「内部共変量シフト(Internal Covariate Shift)」と呼ばれる問題、すなわち各層の入力分布が学習中に変化し続けることによる学習の不安定化を抑制することを目的としています。

仕組みとしては、ミニバッチ内のデータに対して各特徴量の平均を0・分散を1に正規化したうえで、学習可能なスケールパラメータγと移動パラメータβを用いて再スケーリングします。これにより各層の出力分布が安定し、勾配消失・勾配爆発が起きにくくなります。

バッチ正規化の主なメリットは以下の通りです。

  • 学習率を大きくしても発散しにくく、学習が高速化される
  • 重みの初期値選択に対する感度が下がり、チューニングが容易になる
  • 正則化効果があり、ドロップアウトを省略・簡略化できる場合がある
  • より深いネットワークを安定して学習できる

現在はResNetやVGGなど多くの有名なモデルに組み込まれています。一方、バッチサイズが小さい場合は推定精度が下がるため、グループ正規化(Group Normalization)やレイヤー正規化(Layer Normalization)が代替として使われることもあります。

使い方・例文

画像分類モデルの学習時にバッチ正規化を各畳み込み層に挿入することで、学習が安定し同じエポック数でより高い精度に達しやすくなります。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語