Cyclical Learning Rate(サイクリカルラーニングレート)
学習率を上限と下限の間で周期的に変動させる手法。loss landscapeの異なる領域を繰り返し探索し、より良いミニマムを発見する能力を高める。
Cyclical Learning Rate(CLR)とは
Cyclical Learning Rate(CLR)は、2017年にLeslie Smithが提案した学習率スケジューリング手法です。固定的な減衰とは異なり、学習率を下限値と上限値の間で周期的に変動させることで、loss landscapeの広い領域を効率的に探索します。
従来手法との根本的な違い
標準的なLearning Rate Schedule(Linear Decay、Cosine Annealing)は単調減少を前提としますが、CLRは意図的に学習率を増加させるフェーズを含みます。この「反直感的」なアプローチが、局所最適解からの脱出やsaddle pointの回避に効果を発揮します。
| 特性 | 単調減少型 | CLR |
|---|---|---|
| 学習率の方向 | 減少のみ | 増減を繰り返す |
| 探索範囲 | 徐々に狭まる | 周期的に広がる |
| 局所最適回避 | 限定的 | 効果的 |
| 超大規模LLM適性 | 高い | 限定的 |
CLRの3つのポリシー
Triangular Policy(基本形)
学習率が下限から上限まで線形に増加し、同じ速度で線形に減少する三角波形状です。最もシンプルで、初期の実験に適しています。
Triangular2 Policy(減衰型)
Triangular Policyの変種で、各サイクルごとに振幅を半分に減衰させます。訓練の後半では変動幅が小さくなり、より精密な最適化に移行します。
Exponential Range Policy
各サイクルの上限を指数関数的に減衰させます。大きなサイクル数での安定性が高く、長時間の訓練に適しています。
LR Range Test(学習率範囲テスト)
CLRの効果を最大化するには、適切な学習率の上限と下限を決める必要があります。Leslie Smithが提案したLR Range Testは、学習率を非常に小さい値から大きな値まで線形に増加させながら短期間訓練し、lossの挙動を観察する手法です。
| lossの挙動 | 解釈 | 学習率設定 |
|---|---|---|
| 急速に減少 | 効果的な学習率帯 | 下限の候補 |
| 緩やかに減少 | 適度な学習率帯 | 上限の候補 |
| 増加に転じる | 学習率が高すぎる | この手前で打ち切り |
| 横ばい | 学習率が低すぎる | この上で探索開始 |
LLM訓練における位置づけ
CLRはCVタスク(画像分類・物体検出)で大きな成功を収めましたが、大規模LLMの事前学習では採用例が限られます。その理由は以下の通りです。
- 1 epoch未満の訓練: LLMの事前学習はデータを1周もしないため、サイクルの恩恵が薄い
- 訓練の不安定性: 学習率を周期的に上げる操作がloss spikeのリスクを増大させる
- コスト: 大規模LLMの訓練では安定性が最優先であり、探索的なアプローチはリスクが高い
一方、Fine-tuningやInstruction Tuningでは数epoch訓練するため、CLRの恩恵を受けやすく、実際に採用されるケースがあります。
Super-Convergence現象
CLRの研究過程でSmithが発見した現象で、非常に高い学習率(通常の5-10倍)のCLRを使用すると、通常の1/5の訓練ステップで同等以上の精度に到達できることがあります。この現象はバッチ正規化を持つアーキテクチャで特に顕著です。
FAQ
Q1: CLRはLLMのFine-tuningで使うべきですか?
検討に値しますが、現時点ではLinear DecayやCosine Annealingの方が実績が豊富です。CLRを試す場合は、LR Range Testで適切な範囲を事前に特定してから適用してください。
Q2: CLRのサイクル長はどう決めるべきですか?
Smith推奨では1サイクルが2-10 epochに相当するステップ数です。Fine-tuningでは総ステップ数の25-50%を1半サイクルとするのが目安です。
Q3: One Cycle PolicyとCLRの違いは何ですか?
One Cycle PolicyはCLRの派生で、訓練全体を1つの大きなサイクル(増加→減少)で構成します。Cosine Annealingに類似しますが、明示的な増加フェーズを含む点が異なり、Super-Convergenceの再現に最も効果的とされています。