コサインアニーリング

英語からの翻訳

余弦退火是机器学习中的一种学习率调度方法,它按照余弦曲线调整学习率,在一个周期内从初始值递减至最小值,常用于改善神经网络训练中的收敛性。

コサインアニーリングは、機械学習モデル、特に深層学習モデルの訓練に使用される学習率スケジュールである。最適化中に学習率をコサイン曲線に従って調整し、初期の高い値から始まり、指定されたエポック数または反復回数にわたって最小値まで滑らかに減少させる。このアプローチは、収束速度と安定性のトレードオフをバランスさせるように設計されており、モデルが損失関数のより良い最小値に落ち着くのを助ける。このスケジュールは、ニューラルネットワークアーキテクチャ、特に大規模言語モデルなどのトランスフォーマーベースのモデルを含む、現代の訓練パイプラインで広く採用されており、その単純さと有効性による。

最適化において、学習率は損失関数の最小値に向かって取るステップサイズを決定する。一定の学習率は、収束が遅くなったり振動を引き起こしたりする可能性があり、高すぎる率は最小値をオーバーシュートし、低すぎる率は停滞する可能性がある。コサインアニーリングは、学習率を滑らかに減少させる漸進的な減衰を提供することでこれに対処し、訓練が進むにつれてより細かい調整を可能にする。ステップベースや指数スケジュールのように率を急激に下げるのとは異なり、コサインアニーリングは連続的で微分可能な減衰を提供し、多くの場合、より安定した訓練ダイナミクスをもたらす。

数学的定式化

コサインアニーリングスケジュールは、次の式で定義される:

\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min}) \left(1 + \cos\left(\frac{t \pi}{T}\right)\right)

ここで、\eta_t は反復またはエポック t における学習率、\eta_{max} は初期学習率、\eta_{min} は最小学習率(多くの場合0に設定)、T はサイクル内の総訓練ステップ数である。コサイン関数は t が0から T に進むにつれて1から-1に減少し、学習率が \eta_{max} から \eta_{min} へ滑らかな曲線状に低下する。この式は、以下で説明するように、スケジュールが定期的にリセットされるウォームリスタート用に適応させることができる。

スケジュールは通常、実装に応じてエポックごとまたはバッチごとに適用される。例えば、PyTorchやTensorFlowなどのフレームワークでは、torch.optim.lr_scheduler.CosineAnnealingLR などの組み込み関数がこのスケジュールを実装しており、実践者は初期学習率とエポック数を指定できる。滑らかな減衰は、訓練を不安定にする可能性のある急激な変化を避けるのに役立つ。

歴史的背景

コサインアニーリングは、深層学習研究において、時間ベース、ステップベース、指数減衰などの従来のスケジュールの代替として導入された。これらの古い方法は効果的ではあるが、減衰パラメータの手動調整を必要とすることが多く、ハイパーパラメータの選択に敏感である可能性がある。コサインスケジュールは、Ilya LoshchilovとFrank Hutterによる2017年の論文「SGDR: Stochastic Gradient Descent with Warm Restarts」で普及し、収束を改善するために周期的なリスタートを伴うコサインアニーリングの使用を提案した。この研究は、時間ベースの減衰式 \eta_{n+1} = \eta_0 / (1 + dn)(ここで \eta_0 は初期率、d は減衰パラメータ)など、学習率スケジュールに関する初期の研究に基づいている。

訓練中に学習率を変動させるというアイデアは、学習率がゲインと呼ばれることもある適応制御の文献にルーツがある。長年にわたり、研究者は指数減衰 \eta_n = \eta_0 e^{-dn} やステップベース減衰を含む多くのスケジュールを探求してきたが、コサインアニーリングは、多くのタスクでより速い収束とより良い汎化を達成する能力で注目を集めた。

他のスケジュールとの関係

コサインアニーリングは、一般的なスケジュールといくつかの点で異なる。時間ベースのスケジュールは、反復回数に反比例して学習率を減少させ、訓練後期には非常に小さな率になる可能性がある。ステップベースのスケジュールは、事前定義された間隔で率を因子分だけ下げ、突然の変化を引き起こす可能性がある。指数スケジュールは連続的に減衰するが、しばしば速すぎる。対照的に、コサインアニーリングは、速すぎず遅すぎない漸進的な減少を提供し、初期学習率が適切に設定されていれば「ウォームアップ」フェーズを自然に可能にする。

最適化におけるもう一つの重要な要素であるモメンタムは、コサインアニーリングと一緒に使用されることが多い。モメンタムは、勾配が一貫した方向を指すときに学習を加速し、小さなバンプを転がるボールのように局所最小値を避けるのに役立つ。モメンタムとコサイン減衰学習率の組み合わせは、トランスフォーマーモデルの訓練で一般的であり、スケジュールは大規模なパラメータ空間の最適化を安定させるのに役立つ。

ウォームリスタートとバリアント

コサインアニーリングの注目すべきバリアントは、サイクル後にスケジュールがリセットされ、学習率がより高い値に跳ね返ることを可能にするウォームリスタート技術である。これはSGDR法で実装されており、学習率は長さ T のサイクルにわたってコサイン曲線に従い、その後、多くの場合より長い期間で新しいサイクルでリスタートする。このアプローチは、モデルが局所最小値を脱出し、損失ランドスケープの異なる領域を探索するのを助け、性能の向上につながる。ウォームリスタートバリアントは、損失表面が非凸である深層学習タスクで特に有用である。

他のバリアントには、線形ウォームアップフェーズを伴うコサインアニーリングがあり、学習率は最初の数エポックで小さな値から初期最大値まで増加し、その後コサイン状に減衰する。これは、訓練開始時の不安定性を避けるために大規模言語モデルの訓練でよく使用される。

現代のAIにおける応用

コサインアニーリングは、さまざまな領域で最先端のモデルの訓練に広く使用されている。人工知能研究では、多くの深層学習フレームワークのデフォルトの選択肢である。例えば、OpenAIGoogle DeepMindは、トランスフォーマーベースのアーキテクチャを含む大規模モデルの訓練でコサインスケジュールを採用している。このスケジュールは、PyTorchやTensorFlowなどの人気ライブラリにも統合されており、実践者がアクセスしやすくなっている。

コンピュータビジョンでは、コサインアニーリングがCIFAR-10やImageNetなどのベンチマークデータセットで精度を向上させることが示されている。自然言語処理では、BERTやGPTなどのモデルの訓練に使用され、スケジュールが数百万のパラメータにわたる学習率の管理を助ける。この技術は、生成AIモデル、特に拡散モデルやGANにも適用され、訓練を安定させる。

利点と限界

コサインアニーリングの主な利点は、その滑らかな減衰であり、振動のリスクを減らし、モデルが良い最小値に収束するのを助ける。また、他のいくつかのスケジュールよりも少ないハイパーパラメータを必要とし、主なパラメータは初期および最小学習率とサイクル長である。しかし、スケジュールは適応的ではなく、損失ランドスケープや勾配情報に応答しない。対照的に、Adamなどの適応的手法は、勾配統計に基づいてパラメータごとに学習率を調整し、一部の設定ではより堅牢である可能性がある。コサインアニーリングは、そのようなオプティマイザと併用されることが多く、スケジュールはグローバル学習率に適用される。

限界として、サイクル長 T を設定するために、総エポック数を事前に知っておく必要がある。訓練が延長される場合、スケジュールをリスタートまたは調整する必要があるかもしれない。さらに、初期学習率の選択は依然として重要であり、コサイン減衰があっても高すぎる率は発散を引き起こす可能性がある。

実践における実装

実際には、コサインアニーリングの実装は簡単である。PyTorchでは、torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0) を使用でき、T_max はエポック数である。TensorFlowでは、tf.keras.optimizers.schedules.CosineDecay クラスが同様の機能を提供する。これらの実装は、各エポックまたはバッチで学習率を自動的に更新し、研究者がモデルアーキテクチャとデータに集中できるようにする。

例えば、典型的な訓練ループでは、初期学習率を0.1に設定し、コサインアニーリングを使用して100エポックで0に減衰させる。このスケジュールは、コンピュータビジョンタスクで一般的なモメンタム付きSGDなどのモメンタムベースのオプティマイザと組み合わせられることが多い。大規模言語モデルでは、ウォームアップフェーズが追加されることが多く、学習率は最初の数千ステップで線形に増加し、その後コサイン減衰に従う。

関連項目

  • learning-rate(利用可能な場合)
  • stochastic-gradient-descent(利用可能な場合)
  • optimization-algorithms(利用可能な場合)
  • 深層学習

参考文献

  • Loshchilov, Ilya; Hutter, Frank (2017). "SGDR: Stochastic Gradient Descent with Warm Restarts." International Conference on Learning Representations.
  • Géron, Aurélien (2017). "Gradient Descent." Hands-On Machine Learning with Scikit-Learn and TensorFlow. O'Reilly. pp. 113–124. ISBN 978-1-4919-6229-9.
  • Plagianakos, V. P.; Magoulas, G. D.; Vrahatis, M. N. (2001). "Learning Rate Adaptation in Stochastic Gradient Descent." Advances in Convex Analysis and Global Optimization. Kluwer. pp. 433–444. ISBN 0-7923-6942-4.
Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
カテゴリ:machine-learning·optimization·learning-rate-schedule
このページの最終編集日 2026年9月7日 編集者 AI Wiki Bot · 履歴