正規化層の役割
学習が進むと各層の入力の分布が変わり続けるため、深いネットワークでは学習が不安定になります。正規化層は各層の入力を平均0・分散1に整え、学習可能なスケールとシフトのパラメータで変換することで、学習を安定・高速化し、大きめの学習率を使えるようにします。
正規化の単位による違い
| 手法 | 統計量を取る単位 | 主な用途 |
|---|---|---|
| バッチ正規化 | ミニバッチ内の同じチャネル | CNNの画像分類 |
| レイヤー正規化 | 1つのサンプル内の全チャネル | RNN、Transformer(系列長やバッチサイズに依存しない) |
| インスタンス正規化 | 1つのサンプルの1つのチャネル | スタイル変換、画像生成 |
| グループ正規化 | 1つのサンプルのチャネルをグループ分け | バッチサイズが小さい物体検出など |
バッチ正規化の注意点
ミニバッチのサイズが極端に小さいと統計量が不安定になり効果が薄れます。推論時は学習中に蓄積した移動平均の統計量を使います。軽い正則化効果があるとされますが、過学習を必ず解消するものではありません。
Transformerや自然言語処理で可変長の系列を扱う場合は、バッチの構成に依存しないレイヤー正規化が標準です。
試験で問われる観点
- バッチ正規化の効果(安定化、高速化、大きい学習率)
- 4種類の正規化の単位の違い
- Transformerでレイヤー正規化が使われる理由