Skip to main content
QUICK REVIEW

[論文レビュー] Training Deep Neural Networks Without Batch Normalization

Divya Gaur, Joachim Folz|arXiv (Cornell University)|Aug 18, 2020
Neural Networks and Applications参考文献 27被引用数 5
ひとこと要約

この論文は、バッチ正規化を用いずに、重み正規化、適応的勾配クリッピング、ウォームアップ学習率スケジューリングを用いることで、深層残差ネットワークを効果的に訓練できることを示している。バッチ正規化を用いたモデルに比べて精度は低いが、特にResNet-50のような深層アーキテクチャにおいても、高い学習率で安定した学習が可能であり、メモリ使用量も顕著に削減される。これは、最適化手法を適切に調整すれば、バッチ正規化が効果的な学習に不可欠であるとは限らないことを証明している。

ABSTRACT

Training neural networks is an optimization problem, and finding a decent set of parameters through gradient descent can be a difficult task. A host of techniques has been developed to aid this process before and during the training phase. One of the most important and widely used class of method is normalization. It is generally favorable for neurons to receive inputs that are distributed with zero mean and unit variance, so we use statistics about dataset to normalize them before the first layer. However, this property cannot be guaranteed for the intermediate activations inside the network. A widely used method to enforce this property inside the network is batch normalization. It was developed to combat covariate shift inside networks. Empirically it is known to work, but there is a lack of theoretical understanding about its effectiveness and potential drawbacks it might have when used in practice. This work studies batch normalization in detail, while comparing it with other methods such as weight normalization, gradient clipping and dropout. The main purpose of this work is to determine if it is possible to train networks effectively when batch normalization is removed through adaption of the training process.

研究の動機と目的

  • バッチ正規化を用いずに、訓練プロセスを変更することで深層ニューラルネットワークが効果的に訓練可能かどうかを調査すること。
  • 重み正規化、勾配クリッピング、ドロップアウトなどの代替正規化手法が、訓練の安定性とパフォーマンスに与える影響を評価すること。
  • 非バッチ正規化ネットワークで大きな学習率を効果的に使用できるかどうか、モデルの精度を損なわずに実現できるかを特定すること。
  • 非バッチ正規化ネットワークとバッチ正規化ベースラインとの間で、計算およびメモリ効率を分析すること。
  • 非バッチ正規化訓練戦略が、ResNet-34 や ResNet-50 などのより深いアーキテクチャにどのように適用可能かを調査すること。

提案手法

  • ResNet-18、-34、-50のバッチ正規化層をすべて重み正規化された畳み込み層に置き換えた。
  • 非バッチ正規化ネットワークにおける勾配の爆発や消失を防ぐために、適応的勾配クリッピングを適用した。
  • 初期学習率を高く保つ安定化を図るため、ウォームアップ学習率スケジュールに続いて線形減衰を適用した。
  • 勾配の大きさの安定性を維持するために、最適化ダイナミクスを変更した確率的勾配降下法を用いてモデルを訓練した。
  • 未正規化、バニラバッチ正規化、固定学習率の非バッチ正規化、適応的スケジュールの非バッチ正規化の複数の設定を比較し、訓練ダイナミクスとパフォーマンスを評価した。
  • すべてのバージョンにおいて、訓練時間、GPUメモリ消費量、一般化性能を測定した。

実験結果

リサーチクエスチョン

  • RQ1勾配の大きさを維持することで勾配の消失や爆発を防げれば、バッチ正規化なしでも同等のパフォーマンスを達成できるか?
  • RQ2非バッチ正規化ネットワークで大きな学習率を効果的に使用できるか、モデルのパフォーマンスが低下しないか?
  • RQ3重み正規化や勾配クリッピングといった代替正規化手法が、バッチ正規化と同等の訓練の安定性と正確性を提供できるか?
  • RQ4非バッチ正規化ネットワークのパフォーマンスは、ResNet-34 や ResNet-50 といったより深いアーキテクチャにどのようにスケーリングするか?
  • RQ5非バッチ正規化ネットワークはバッチ正規化モデルに比べて、計算およびメモリ効率がどの程度優れているか?

主な発見

  • 適応的勾配クリッピングとウォームアップ学習率を用いた非バッチ正規化ResNet-18は、元のバッチ正規化ResNet-18と比較して検証精度が1.4%以内に収まった。
  • 非バッチ正規化ResNet-34はまともな性能を示したが、訓練および検証精度がバッチ正規化モデルと比較して約2%低下した。
  • 非バッチ正規化ResNet-50は顕著な過学習と悪い一般化性能を示し、同じ修正がより深いアーキテクチャに直接適用可能でないことが示された。
  • 非バッチ正規化ネットワークでは、ウォームアップスケジュールを用いることで学習率を0.017まで高く設定可能だったが、未正規化ネットワークは0.00001を超えると発散した。
  • 訓練時間が長くなったものの、非バッチ正規化ネットワークはバッチ正規化モデルが使用するピークメモリの20%しか消費しなかった。
  • さらにハイパーパramータのチューニングとアーキテクチャの適応を施せば、非バッチ正規化ネットワークはバッチ正規化モデルの性能を補填または上回る可能性がある。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。