- Batch Normalizationはミニバッチの平均と分散で中間の値を正規化し、学習可能な尺度とずれを加える。
- ImageNet実験ではBN-x5が元のInceptionと同じ72.2%の精度へ14分の1の学習ステップで到達した。
- 4.9%のTop-5検証誤り率は複数モデルを組み合わせた結果で、単体の速度結果とは別である。
何を確かめた研究か
Batch Normalizationの原論文は、深いネットワークで前段の変化に応じて後段の入力分布が変わり、学習が難しくなる問題を扱った。著者らはこれを「内部共変量シフト」と呼び、層の入力をミニバッチごとに正規化する。正規化した値に学習可能な尺度とずれを付けるため、表現を単にゼロ平均へ固定するわけではない。
どう検証したか
ImageNetのInceptionを基準に、BNを加えた構成と学習率を変えた構成の学習曲線を比較する。図3は同じ72.2%の検証精度に達するまでのステップ数を示す。別の図4は複数モデルを組み合わせた分類性能を示し、単体モデルの学習速度と分けて読む必要がある。
何が分かったか
BN-x5は元のInceptionと同じ72.2%の精度に、14分の1の学習ステップで達した。アンサンブルと複数切り出しを使う結果ではTop-5検証誤り率4.9%、テスト誤り率4.8%を報告した。論文は高い学習率を使いやすくなり、一部の設定ではDropoutを省けるとも述べる。ただし14倍は指定した精度への更新回数で、計算時間が常に14分の1になるという意味ではない。
正規化にはミニバッチ内で得た平均と分散を使い、その後で学習可能な係数を適用する。推論時は新しい一件の入力だけで平均を計算するのではなく、学習中に蓄積した統計を使う。この二つの段階を混ぜると、学習時の精度をそのまま運用時の精度と見なしてしまう。
限界と仕事との接点
ミニバッチから求めた統計はバッチ構成に依存し、推論時には蓄積した統計を使う。小さいバッチ、分布の変わるデータ、学習と推論で違う入力では別途検証が要る。導入時は同じモデル・データ・精度基準で更新回数と実時間を測り、推論時の誤差も確認したい。後半はTRAIL編集部の提案である。
特に画像の分布が撮影場所ごとに変わる場合は、検証集合を場所別に分けて点検したい。