Batch Normalization
更新日:2025年12月18日
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. 関連論文
| 論文 | 関係 |
|---|---|
| ResNet | BatchNormを採用した深いネットワーク |
| Attention Is All You Need | Layer 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
免責事項
本ページの情報は筆者の理解に基づくものである。正確な内容は原著論文を参照されたい。
[1] Ioffe, S., & Szegedy, C. (2015). Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. ICML 2015.
[2] arXiv:1502.03167
免責事項
本ページの情報は筆者の理解に基づくものである。正確な内容は原著論文を参照されたい。
関連書籍
リンク