バッチ正規化 - 学習を安定させる技術

学習を安定・高速化するバッチ正規化の仕組みとメリットを分かりやすく解説します。

編集・検証: AIパスポートスタディ編集部 公式情報: GUGA 生成AIパスポート公式ページ 制作・検証方針

バッチ正規化 (Batch Normalization) は、各層への入力を正規化して学習を安定させる技術。2015年の登場以来、深層学習の標準装備になっています。超深層ネットワークを可能にした裏方のスターです。

深見 つむぎ(普段) 深見 つむぎ

補足すると、バッチ正規化はミニバッチ単位で中間層の出力を平均0・分散1に正規化して、さらに学習可能なスケーリング (γ) とシフト (β) を加える手法なんですよね。

香月 リサ 先生(普段) 香月 リサ 先生

正確ね。
各層に入るデータの分布が学習中に大きく変動すると、学習が不安定になるの。
これを『内部共変量シフト』と呼んで、バッチ正規化がこの変動を抑えるのよ。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

内部共変量シフト? 名前がいかついなぁ……要は、層ごとの入力が毎回変わっちゃって混乱するってこと?

香月 リサ 先生(笑顔) 香月 リサ 先生

そのとおり。
毎回テストの点数を偏差値に直すみたいなもので、基準を揃えれば学習率を大きくでき、結果として学習が速くなるの。

雪村 ましろ(笑顔) 雪村 ましろ

ぽわわ、お菓子作りで材料の分量をちゃんと量るのと似てますぅ。
きちんと量らないと、毎回味が違っちゃいますもんね。

香月 リサ 先生(笑顔) 香月 リサ 先生

和菓子屋さんの娘らしい例えね。
さらにバッチ正規化には、軽い正則化効果もあって、過学習をある程度防ぐ副次的なメリットがあるのよ。

深見 つむぎ(普段) 深見 つむぎ

2015年のIoffeとSzegedyの論文で提案されて以来、ResNetをはじめ多くのCNNで標準採用されています。
学習の高速化、大きな学習率の許容、初期化への頑健性と、恩恵が多い技術ですね。

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

めっちゃ万能じゃん!

香月 リサ 先生(普段) 香月 リサ 先生

ただし万能ではないわね。
バッチサイズが小さいと統計量が不安定になる問題があって、その場合はLayer Normalizationなどの代替手法が使われるわ。

深見 つむぎ(普段) 深見 つむぎ

Transformer系モデルではバッチ正規化ではなくLayer Normalizationを使うのが標準ですね。
モデル構造に応じて使い分けます。

雪村 ましろ(笑顔) 雪村 ましろ

用途によって道具を変えるのは、お料理も深層学習も同じなんですねぇ。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

『材料の分量を揃える』って例え、試験勉強でも使えそう!

香月 リサ 先生(普段) 香月 リサ 先生

他にも Group Normalization、Instance Normalization、RMSNorm などさまざまな正規化手法があるけれど、『入力分布を揃えることで学習を安定化させる』という基本思想は共通よ。

深見 つむぎ(普段) 深見 つむぎ

生成AIパスポート試験では『バッチ正規化 = 学習の安定化・高速化』というキーワードを押さえれば十分です。

香月 リサ 先生(普段) 香月 リサ 先生

ちなみにバッチ正規化は、学習時はミニバッチの統計量、推論時は学習全体の移動平均を使うというふうに、挙動が変わるのよ。
この切り替えがうまくいっていないと推論精度が落ちる、という落とし穴にも注意ね。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

裏側は『入力の分布を揃える』っていうシンプルな発想なのに、こんなに効くんだ! シンプル is 最強じゃん!

確認クイズ

バッチ正規化の主な効果として最も適切なものはどれか?

  1. モデルのパラメータ数を削減する
  2. 学習を安定させ高速化する
  3. データの量を増やす
  4. 勾配消失問題を完全に解決する
こたえを見る

正解: 2. 学習を安定させ高速化する

バッチ正規化の主な効果は、各層への入力分布を正規化することで学習を安定させ、高速化することです。副次的に勾配消失の緩和や軽い正則化効果もありますが、完全解決ではありません。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。