[論文レビュー] Batch Normalization Biases Residual Blocks Towards the Identity Function in Deep Networks
tldr: 本論文は、バッチ正規化が初期化時に残差ブロックを単位直線性に偏らせることで非常に深いResNetの学習を可能にすることを説明し、正規化なしで深い残差ネットワークを訓練するためのSkipInitを導入し、バッチサイズが学習率と正則化に与える影響を調べる。
Batch normalization dramatically increases the largest trainable depth of residual networks, and this benefit has been crucial to the empirical success of deep residual networks on a wide range of benchmarks. We show that this key benefit arises because, at initialization, batch normalization downscales the residual branch relative to the skip connection, by a normalizing factor on the order of the square root of the network depth. This ensures that, early in training, the function computed by normalized residual blocks in deep networks is close to the identity function (on average). We use this insight to develop a simple initialization scheme that can train deep residual networks without normalization. We also provide a detailed empirical study of residual networks, which clarifies that, although batch normalized networks can be trained with larger learning rates, this effect is only beneficial in specific compute regimes, and has minimal benefits when the batch size is small.
研究の動機と目的
- バッチ正規化が非常に深い残差ネットワークのトレーニングを可能にする理由を説明する。
- 正規化なしで深いResNetを訓練するための初期化スキーム(SkipInit)を提案する。
- 正規化あり・なしネットワークにおける学習率の利点を、バッチサイズ別に経験的に研究する。
- 残差アーキテクチャにおけるバッチ正規化の正則化効果を定量化する。
- ImageNetにおけるSkipInitとFixupを、バッチ正規化と比較する。
提案手法
- 正規化ブランチと非正規化ブランチにおける初期化時の残差ブロックの分散伝播の理論分析。
- SkipInitの導入:残差ブランチ末端に学習可能なスカラーαを導入し、初期値をαに設定(0または1/√dが多い)して正規化による縮小を模倣。
- CIFAR-10上のWide-ResNetを深さ16–1000でSGD・モメンタム・データ拡張を用いて訓練し、BN・SkipInit・その派生を比較。
- BN・SkipInit・非正規化ネットの学習率とバッチサイズの相互作用を評価するための体系的なバッチサイズ実験(ゴーストバッチ手法を含む)。
- 正則化効果を、バッチサイズを変化させつつRegularized SkipInit(Dropout, バイアス)を導入して一般化を比較。
- BN・SkipInit・Fixupを、追加正則化の有無でImageNet上に比較する。
実験結果
リサーチクエスチョン
- RQ1なぜバッチ正規化は非常に深い残差ネットワークのトレーニングを可能にするのか?
- RQ2SkipInitのような初期化は正規化を使わずにBNの有益な効果を再現できるのか?
- RQ3BN、SkipInit、非正規化ネットの残差アーキテクチャにおいて、バッチサイズと学習率はどのように相互作用するのか?
- RQ4正規化の効果はSkipInitと比較してどうか?
- RQ5SkipInitとFixupは、ImageNetにおいてBNと比較して、バッチサイズの変化下でどう機能するのか?
主な発見
| 手法 | Depth | テスト精度 | 学習率 |
|---|---|---|---|
| Batch Normalization | 16 | 93.5±0.1 | 2^{-1} ( 2^{-1} to 2^{-1} ) |
| Batch Normalization | 100 | 94.7±0.1 | 2^{-1} ( 2^{-2} to 2^{-0} ) |
| Batch Normalization | 1000 | 94.6±0.1 | 2^{-2} ( 2^{-3} to 2^{-0} ) |
| SkipInit (α=1/√d) | 16 | 93.0±0.1 | 2^{-2} ( 2^{-2} to 2^{-1} ) |
| SkipInit (α=1/√d) | 100 | 94.2±0.1 | 2^{-1} ( 2^{-2} to 2^{-1} ) |
| SkipInit (α=1/√d) | 1000 | 94.2±0.0 | 2^{-1} ( 2^{-2} to 2^{-1} ) |
| SkipInit (α=0) | 16 | 93.3±0.1 | 2^{-2} ( 2^{-2} to 2^{-2} ) |
| SkipInit (α=0) | 100 | 94.2±0.1 | 2^{-2} ( 2^{-2} to 2^{-2} ) |
| SkipInit (α=0) | 1000 | 94.3±0.2 | 2^{-2} ( 2^{-3} to 2^{-1} ) |
| SkipInit (α=1) | 16 | 93.0±0.1 | 2^{-2} ( 2^{-2} to 2^{-1}) |
| SkipInit (α=1) | 100 | - | - |
| SkipInit (α=1) | 1000 | - | - |
| Divide residual block by √2 | 16 | 92.4±0.1 | 2^{-2} ( 2^{-2} to 2^{-1} ) |
| Divide residual block by √2 | 100 | 88.9±0.4 | 2^{-5} ( 2^{-5} to 2^{-5} ) |
| Divide residual block by √2 | 1000 | - | - |
| SkipInit without L2 (α=0) | 16 | 89.8±0.2 | 2^{-3} ( 2^{-3} to 2^{-3} ) |
| SkipInit without L2 (α=0) | 100 | 91.7±0.2 | 2^{-2} ( 2^{-2} to 2^{-2} ) |
| SkipInit without L2 (α=0) | 1000 | 92.1±0.1 | 2^{-2} ( 2^{-2} to 2^{-2} ) |
- バッチ正規化は深さの平方根程度の因子で残差ブランチを縮小させ、初期化時に残差ブロックをアイデンティティに偏らせる。
- SkipInitは残差のスケーリングパラメータ(α)を0または1/√dに初期化することで正規化なしでも非常に深い残差ネットワークを訓練可能にし、BNの縮小効果を再現する。
- BNは大きな学習率と大きなバッチサイズで安定した学習と性能向上を促すが、小さなバッチサイズではBNの利点が相対的に小さく、SkipInitよりテスト精度で劣らないことは少ない。
- BNの正則化効果は中間のバッチサイズで最も顕著であり、Regularized SkipInitは追加正則化を用いる小バッチ領域でBNを凌駕することがある。
- ImageNetでは、BiasやFixup付きSkipInitは標準的なバッチサイズでBNと同等以上を達成できるが、非常に大きなバッチサイズではBNが上回る;追加正則化を伴う場合、SkipInitベースの派生は小バッチ設定でBNを上回る可能性がある。
- 実験結果はBNの主な利点が大きな学習率を可能にすることではなく、アイデンティティへ偏ることにあることを示している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。