AI・機械学習
中級

Linear Decay Schedule(リニアディケイスケジュール)

学習率を最大値から最小値まで一定の割合で直線的に減衰させるスケジュール手法。BERTやRoBERTaで採用され、実装のシンプルさと十分な効果を両立する。

0 回閲覧
0 いいね

Linear Decay Schedule(線形減衰スケジュール)とは

Linear Decay Scheduleは、学習率を訓練の進行に伴って最大値から最小値(通常は0)まで直線的に減少させる手法です。Cosine Annealingが主流になる以前の標準的なDecay方式であり、BERTの成功により広く普及しました。現在でもそのシンプルさからFine-tuningや中規模モデルの訓練で頻繁に使用されています。

数学的定式化

η(t) = η_max × (1 - t / T)
  • η(t): 現在のステップtでの学習率
  • η_max: 最大学習率(Warmup後のピーク値)
  • T: 総Decay期間のステップ数

η_minを指定する場合:

η(t) = η_max - (η_max - η_min) × (t / T)

Linear Decayの特性

Linear Decayの最大の特徴は、減衰率が訓練全体を通じて一定であることです。

訓練段階学習率の挙動効果
序盤(0-30%)急速に減少探索範囲の縮小
中盤(30-70%)一定速度で減少安定した収束
終盤(70-100%)さらに減少精密な最適化

Cosine Annealingとの最大の違いは、序盤での減衰速度です。Linear Decayは訓練開始直後から一定速度で学習率が下がるため、Cosine Annealingと比較して高い学習率での探索期間が短くなります。

BERTでの使用例

BERTの事前学習では、Linear Warmup + Linear Decayの組み合わせが使用されました。

  • 最大学習率: 1e-4
  • Warmup: 10,000ステップ(総ステップの1%)
  • Decay: 残りの990,000ステップで線形に0まで減衰
  • オプティマイザ: AdamW(Weight Decay 0.01)

この設定がBERTの原論文で報告され、後続のRoBERTa、ALBERT、ELECTRA等でも類似の設定が採用されました。

Fine-tuningでの標準設定

事前学習済みモデルのFine-tuningでは、Linear Decayが現在でも標準です。HuggingFace Transformersのデフォルトスケジューラはlinear(Linear Warmup + Linear Decay)であり、多くの実践者がこの設定を変更せずに使用しています。

Fine-tuning推奨パラメータ

パラメータ推奨範囲根拠
最大学習率1e-5〜5e-5BERTの報告値
Warmup割合6-10%安定性確保
最終学習率0原論文準拠
Epoch数2-4過学習防止

Cosine Annealingとの実験比較

複数の研究で両手法の比較が報告されています。大規模事前学習ではCosine Annealingがやや優位ですが、差は0.1-0.5%程度のperplexity改善にとどまります。Fine-tuningでは両者の差はほぼ見られません。

FAQ

Q1: Linear DecayとCosine Annealingのどちらを使うべきですか?

大規模事前学習ではCosine Annealingが推奨されますが、Fine-tuningではLinear Decayで十分です。実装の手軽さと結果の再現性を重視する場合はLinear Decayが実用的です。

Q2: 最終学習率を0にすべきですか、それとも小さな正の値にすべきですか?

Fine-tuningでは0で問題ありません。事前学習では、訓練後の追加学習(Continual Pre-training)を想定して小さな正の値(η_maxの1-10%)を残す方が有利な場合があります。

Q3: Linear Decayで訓練が途中で停滞した場合の対処法は?

学習率が速く下がりすぎている可能性があります。Warmup期間を延長するか、最大学習率を上げることで改善できます。改善しない場合はCosine Annealingへの切り替えを検討してください。