Skip to main content
QUICK REVIEW

[論文レビュー] Large Batch Training of Convolutional Networks

Yang You, Igor Gitman|arXiv (Cornell University)|Aug 13, 2017
Advanced Neural Network Applications参考文献 10被引用数 509
ひとこと要約

本論文は Layer-wise Adaptive Rate Scaling (LARS) を導入し、CNN の大規模バッチ同期 SGD を可能にする。AlexNet と ResNet-50 が accuracy 損失なしにバッチサイズを最大 32K まで訓練できる。

ABSTRACT

A common way to speed up training of large convolutional networks is to add computational units. Training is then performed using data-parallel synchronous Stochastic Gradient Descent (SGD) with mini-batch divided between computational units. With an increase in the number of nodes, the batch size grows. But training with large batch size often results in the lower model accuracy. We argue that the current recipe for large batch training (linear learning rate scaling with warm-up) is not general enough and training may diverge. To overcome this optimization difficulties we propose a new training algorithm based on Layer-wise Adaptive Rate Scaling (LARS). Using LARS, we scaled Alexnet up to a batch size of 8K, and Resnet-50 to a batch size of 32K without loss in accuracy.

研究の動機と目的

  • データ並列 SGD を使用した大規模グローバルバッチサイズでの CNN 訓練の課題を動機づけ、分析する。
  • 温暖化(ウォームアップ)を含む標準的な線形学習率スケーリングがなぜ失敗し、発散を引き起こす可能性があるのかを調査する。
  • 訓練を安定化させるための層ごと適応学習率スキーム(LARS)を提案・評価する。
  • AlexNet、AlexNet-BN、ResNet-50 に対して 32K までのバッチサイズで LARS の有効性を示す。

提案手法

  • 大規模バッチ SGD が単一のグローバル学習率を用いるときの不安定性を分析する。
  • 重みノルムと勾配ノルムの比率に触発した層ごとの学習率を導入する:lambda^l = eta * ||w^l|| / (||∇L(w^l)|| + beta*||w^l||)。
  • 各層をそれぞれの局所学習率で更新しつつ、グローバルなモーメンタムとウェイトデケイを適用する。
  • LARS を SGD with momentum に組み込み、多項式減衰スケジュールで大規模ミニバッチ訓練を実現し、精度損失なしで訓練を可能にする。
  • グローバル学習率 gamma_t を用いたウォームアップ風の戦略を用い、層ごとの率を lambda^l で調整する。
  • 実験的には iter_size で大規模バッチを分割して GPU 上で B を 32K まで再現し、ベースラインの小バッチ訓練と比較する。

実験結果

リサーチクエスチョン

  • RQ1層ごとの適応学習率を用いることで、大規模バッチ CNN 訓練は小規模バッチの精度に匹敵できるのか。
  • RQ2Layer-wise Adaptive Rate Scaling (LARS) は訓練を安定化させ、巨大バッチサイズでの発散を防ぐのか。
  • RQ3LARS を用いて、32K までのバッチサイズとどのアーキテクチャ(AlexNet、AlexNet-BN、ResNet-50)で精度損失なしに訓練可能か。
  • RQ4ウォームアップ、層ごとの LR、BN vs 非 BN の学習率戦略が収束と最終精度にどう影響するのか。

主な発見

  • LARS によって AlexNet および ResNet-50 は報告された結果では 32K のバッチサイズで accuracy 損失なしに訓練可能。
  • AlexNet-BN は大規模バッチ(16K、32K)でも基準精度近くを維持し、一部小さな損失は LR とウォームアップの調整で緩和可能。
  • BN は大規模バッチの安全な LR 範囲を広げ、大きな学習率での収束を改善。
  • LARS がない場合、巨大バッチは発散するか、ウォームアップと BN を用いても精度損失が大きい;LARS により層間の安定性が改善。
  • 非常に大きなバッチで長時間訓練すると、バッチが極端に大きくなると精度を回復できる場合がある(例:AlexNet-BN の場合は 32K)。
  • ResNet-50 の 32K へのスケーリングは、彼らの訓練設定下で 256-B の基準と概ね同等の top-1 精度を達成(ただし、より積極的なデータ拡張/評価を用いた最新手法と常に同等とは限らない)。
  • 層ごとの更新は初期重みスケールの影響を低減し、訓練ダイナミクスの層ごとの安定化を可能にする。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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