機械学習において、学習率(learning rate)は最適化アルゴリズムのチューニングパラメータであり、損失関数の最小値に向かって移動する際の各反復でのステップサイズを決定する。これは、新しく取得した情報が古い情報をどの程度上書きするかに影響し、モデルが学習する速度を比喩的に表す。適応制御の文献では、しばしばゲイン(gain)と呼ばれる。学習率の設定にはトレードオフが伴う。率が高すぎるとモデルが最小値をオーバーシュートし、低すぎると収束が遅くなったり、望ましくない局所的最小値に陥るリスクがある。学習率スケジューリングは、トレーニング中に率を変化させることでこれに対処し、事前定義されたスケジュールまたは適応的手法を用いる。
最適化における役割
学習率は、通常損失関数の勾配から導出される降下方向に取るステップの大きさを決定する。深層学習では、モデルは損失関数を最小化するために重みを反復的に調整することでトレーニングされ、学習率はその調整の積極性を制御する。一定の高い率は最小値周辺での振動を引き起こす可能性があり、一定の低い率はトレーニングを非現実的に遅くする可能性がある。時間経過に伴う率のスケジューリングは、より速い収束を達成し、振動を防ぎ、不良な局所的最小値を回避するのに役立つ。学習率はパラメータごとに異なる場合もあり、その場合、ニュートン法のようにヘッセ行列の逆行列を近似する対角行列となる。これは、準ニュートン法や不正確な直線探索におけるステップ長に関連する。
時間ベースのスケジュール
時間ベースのスケジュールは、各反復で前回の率と減衰パラメータに基づいて学習率を調整する。式は \eta_{n+1} = \eta_0 / (1 + d n) であり、ここで \eta_0 は初期率、d は減衰パラメータ、n は反復ステップである。このスケジュールは率を徐々に減少させ、トレーニング初期には大きなステップを、後期にはより細かい調整を可能にする。実装は簡単で、減衰 d という1つのハイパーパラメータのみを必要とする。ただし、率は単調に減少するため、すべての問題に最適とは限らない。
ステップベースのスケジュール
ステップベースのスケジュールは、事前定義された間隔で学習率を変更する。反復 n での率は \eta_n = \eta_0 d^{\lfloor (1+n)/r \rfloor} であり、ここで d は乗算係数(例えば、半減なら0.5)、r はドロップ率(例えば、10反復ごと)である。床関数により、ドロップ間では率が一定に保たれる。このスケジュールは、調整が容易で、モデルが最小値に落ち着くのに役立つ離散的な減少を提供するため、実際によく使用される。d と r の選択は、データセットとモデルアーキテクチャに依存する。
指数スケジュール
指数スケジュールは、減少指数関数を使用する。\eta_n = \eta_0 e^{-d n} であり、ここで d は減衰パラメータである。これにより、ステップベースのスケジュールのような離散的なドロップではなく、学習率の滑らかで連続的な減少が提供される。指数減衰は、初期の探索と後期の微調整のバランスを取るため、ニューラルネットワークのトレーニングでよく使用される。減衰パラメータ d は率が低下する速さを制御し、d が大きいと減衰が速くなり、早期収束を引き起こす可能性がある。
ウォームアップとコサインアニーリング
現代のトレーニング、特に大規模言語モデルでは、学習率が最初の数千ステップで小さな値からピークまで増加するウォームアップがしばしば採用される。これにより、重みがランダムで勾配が大きくなり得る初期トレーニングの不安定性が防止される。ウォームアップ後、率はコサインアニーリングを使用して減衰することがあり、これはピークからほぼゼロの値までコサイン曲線に従う。コサインアニーリングは、多くのトランスフォーマーベースのモデルで最終的なパフォーマンスを向上させることが示されている。一部のスケジュールは、ウォームアップと周期的パターンを組み合わせ、率が境界間で振動することで、モデルが局所的最小値を脱出し、損失ランドスケープの異なる領域を探索できるようにする。
モーメンタムと減衰
モーメンタムは、学習率スケジュールと組み合わせて使用されることが多い手法である。これは、丘を転がるボールに類似しており、ボールの速度が小さなバンプを乗り越え、勾配方向が一貫しているときに加速する。モーメンタムは質量に類似したハイパーパラメータで制御され、値が高すぎるとモデルが最小値をオーバーシュートし、低すぎるとその利点が減少する。一方、減衰は、時間経過とともにステップサイズを減少させて学習を安定させ、振動を回避する役割を果たす。これらは両方とも、Kerasなどの深層学習ライブラリに通常組み込まれており、デフォルトの実装と調整可能なパラメータが提供される。
適応的学習率
固定スケジュールの主な制限は、問題やモデルによって異なる手動選択のハイパーパラメータに依存することである。適応勾配降下アルゴリズムは、履歴勾配に基づいてパラメータごとに学習率を調整することでこれに対処する。一般的な方法には、Adagrad、Adadelta、RMSprop、Adamがある。これらのアルゴリズムは深層学習フレームワークに通常組み込まれており、人工知能モデルのトレーニングの標準となっている。2014年に導入されたAdamは、モーメンタムとパラメータごとのスケーリングを組み合わせ、生成AIやその他のアプリケーションで広く使用されている。適応的手法は手動スケジュール調整の必要性を減らすが、多くの実践者は最良の結果を得るためにその上にスケジュールを使用することも多い。
実践的な考慮事項
初期学習率の選択は重要である。一般的な手法には、0.01や0.001などのデフォルト値を使用する方法や、学習率レンジテストを実行する方法があり、これは数エポックにわたって率を線形に増加させて適切な範囲を見つけるものである。最適なスケジュールは、モデルサイズ、データセット、オプティマイザに依存することが多い。例えば、OpenAIやGoogle DeepMindは、大規模モデルのトレーニングにウォームアップとコサイン減衰を使用したと報告している。実際には、スケジュールは早期停止と組み合わせられることが多く、検証パフォーマンスが改善しなくなった時点でトレーニングが停止される。スケジュールの選択は、最終的なモデル品質、トレーニング時間、安定性に大きく影響する可能性があり、あらゆるトレーニングパイプラインにおける重要なハイパーパラメータとなる。