Skip to main content
QUICK REVIEW

[論文レビュー] Accelerating Deep Neural Network Training with Inconsistent Stochastic Gradient Descent

Linnan Wang, Yi Yang|arXiv (Cornell University)|Mar 17, 2016
Stochastic Gradient Optimization Techniques被引用数 7
ひとこと要約

本稿では、損失の分散に基づいてバッチごとの学習効率を動的に調整する Inconsistent Stochastic Gradient Descent (ISGD) を提案する。統計的プロセス制御を用いて未十分に学習されたバッチを同定し、制約付き部分問題を解くことで収束を加速する。ISGD は、追加のメモリや複雑な変更なしに、MNIST、CIFAR-10、ImageNet で標準的な SGD より最大 28.57% 速い収束を達成する。

ABSTRACT

SGD is the widely adopted method to train CNN. Conceptually it approximates the population with a randomly sampled batch; then it evenly trains batches by conducting a gradient update on every batch in an epoch. In this paper, we demonstrate Sampling Bias, Intrinsic Image Difference and Fixed Cycle Pseudo Random Sampling differentiate batches in training, which then affect learning speeds on them. Because of this, the unbiased treatment of batches involved in SGD creates improper load balancing. To address this issue, we present Inconsistent Stochastic Gradient Descent (ISGD) to dynamically vary training effort according to learning statuses on batches. Specifically ISGD leverages techniques in Statistical Process Control to identify a undertrained batch. Once a batch is undertrained, ISGD solves a new subproblem, a chasing logic plus a conservative constraint, to accelerate the training on the batch while avoid drastic parameter changes. Extensive experiments on a variety of datasets demonstrate ISGD converges faster than SGD. In training AlexNet, ISGD is 21.05\% faster than SGD to reach 56\% top1 accuracy under the exactly same experiment setup. We also extend ISGD to work on multiGPU or heterogeneous distributed system based on data parallelism, enabling the batch size to be the key to scalability. Then we present the study of ISGD batch size to the learning rate, parallelism, synchronization cost, system saturation and scalability. We conclude the optimal ISGD batch size is machine dependent. Various experiments on a multiGPU system validate our claim. In particular, ISGD trains AlexNet to 56.3% top1 and 80.1% top5 accuracy in 11.5 hours with 4 NVIDIA TITAN X at the batch size of 1536.

研究の動機と目的

  • サンプリングバイアスや画像固有の差異によって損失の分散が異なるにもかかわらず、標準的な SGD が全バッチに均等な学習効率を適用するという非効率性に対処すること。
  • 損失が大きいバッチ(最適化進捗に寄与する度合いが高い)に学習効率を動的に再割り当てすることで、学習効率を向上させること。
  • 計算効率が高く、メモリを要しない方法を構築し、モーメンタムやネステロフ加速を含む既存の SGD フレームワークとシームレスに統合すること。
  • 現実のデータセットにおいて、不均一な学習(バッチごとの勾配更新の不均一性)が収束速度の向上および一般化性能の向上に寄与することを実証的に検証すること。

提案手法

  • ISGD は学習を確率的プロセスとしてモデル化し、直近 n_b 回の反復におけるバッチ損失を追跡して平均損失を推定し、動的上側制御限界を計算する。
  • 損失が動的上側閾値を上回るバッチは、追加の更新が必要であると判断され、未十分に学習されたものと特定される。
  • このようなバッチに対して、現在のバッチ損失と平均損失との差を最小化する部分問題を解く。制約はパラメータ変更の保守的制限であり、過剰応答を防ぐ。
  • 部分問題により、高損失バッチに対して加速更新が行われるが、同時に現在のモデルパラメータに近接を保ち、学習の安定性が維持される。
  • リアルタイムでバッチ損失の挙動の異常を検出するために統計的プロセス制御技術を用い、補助メモリを一切不要とするオンライン適応を可能にする。
  • ISGD はモーメンタムやネステロフ加速といった標準的な最適化手法と互換性があり、既存のディープラーニング学習パイプラインに直接統合可能である。

実験結果

リサーチクエスチョン

  • RQ1損失の分散に基づいてバッチごとの学習効率を動的に調整することで、深層ニューラルネットワーク学習における収束速度の向上が図れるか?
  • RQ2損失に基づく制御により未十分に学習されたバッチを同定し、それらを加速することで、モデルの安定性を損なわず収束速度が向上するか?
  • RQ3多様なデータセットおよびネットワークアーキテクチャにおいて、不均一な学習は標準的な SGD と比較して収束速度と最終精度の点でどのように異なるか?
  • RQ4マルチGPU環境下でのバッチサイズが収束速度に与える影響は何か?また、ISGD はさまざまなシステム制約下でも効果的に機能するか?
  • RQ5ISGD はネステロフ加速といった高度な最適化手法と効果的に組み合わせられ、さらに学習性能を向上させられるか?

主な発見

  • ImageNet では、ISGD が SGD より 14.94% 速く収束し、81% のトップ-5精度に到達するまでの学習時間を 21.4 時間から 18.2 時間に短縮した。
  • CIFAR-10 では、ISGD が 75% のトップ-1精度に到達するまでに SGD より 23.57% 速く、234 秒で完了した(SGD は 306 秒)。
  • MNIST では、ISGD が 99% のトップ-1精度に到達するまでに SGD より 28.57% 速く、40 秒で完了した(SGD は 56 秒)。
  • ISGD のトレーニング誤差は、すべてのデータセットで SGD より一貫して低く保たれ、これが優れた検証精度の要因である。
  • ネステロフ加速と組み合わせた場合、ISGD は標準的なネステロフ SGD よりも 13.4% 速く 58% のトップ-1精度に到達した。
  • 10 回の繰り返し実験を通じた実証的結果から、一貫した性能向上が確認され、不均一な学習のロバスト性と再現性が示された。

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

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

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

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