Batch Normalization

更新日:2025年12月18日

正式タイトル:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

著者:Ioffe, Szegedy

発表年:2015年

掲載:ICML 2015

所属:Google

原著論文:arXiv:1502.03167

1. 概要

Batch Normalization(BatchNorm)は、各ミニバッチにおいて層の入力を正規化(平均0、分散1)する手法である。学習を大幅に高速化し、より高い学習率を使用可能にした。現代の深層学習で最も広く使用される技術の一つである。

2. 研究の背景

深層ネットワークの学習において、各層の入力分布が学習中に変化する「内部共変量シフト(Internal Covariate Shift)」が問題となっていた。これにより学習が遅くなり、より慎重なパラメータ初期化と低い学習率が必要だった。

3. 提案手法

各ミニバッチにおいて、層の入力xを正規化する: x̂ = (x - μ_B) / √(σ²_B + ε)。ここでμ_B、σ²_Bはミニバッチの平均と分散。正規化後、学習可能なスケールγとシフトβで変換: y = γx̂ + β。推論時は学習中に計算した移動平均を使用する。

4. 実験結果

ImageNetでの学習を14倍高速化した。同じ精度を達成するまでのステップ数が大幅に減少した。より高い学習率を使用でき、正則化効果も得られた。Inception v2アーキテクチャで最先端の精度を達成した。

5. 意義と影響

BatchNormは現代の深層学習で最も広く使用される技術の一つとなった。Layer Normalization(Transformerで使用)、Group Normalization、Instance Normalization(スタイル変換で使用)など多くの派生手法を生んだ。ほぼすべてのCNNアーキテクチャで標準的に使用されている。

6. 関連論文

論文関係
ResNetBatchNormを採用した深いネットワーク
Attention Is All You NeedLayer Normalizationへの発展
Dropout別の正則化手法
参考文献
[1] Ioffe, S., & Szegedy, C. (2015). Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. ICML 2015.
[2] arXiv:1502.03167

免責事項
本ページの情報は筆者の理解に基づくものである。正確な内容は原著論文を参照されたい。

関連書籍