学習率 がくしゅうりつ
ハイパーパラメータ勾配降下法最適化Adamスケジューラ収束
学習率について教えて
簡単に言うとこんな感じ!
山を下るときの「一歩の大きさ」だよ!大きすぎると谷を飛び越えてしまうし、小さすぎると永遠に山を下り切れない。この一歩の大きさをコントロールするのが学習率なんだ。AIの学習時間と最終精度を大きく左右する、地味だけど超重要なハイパーパラメータってこと!
学習率とは
学習率(Learning Rate)とは、勾配降下法でパラメータを更新する際の更新幅(ステップサイズ)を決める定数です。ギリシャ文字の α(アルファ)や η(イータ)で表されることが多く、パラメータ更新式 θ ← θ - α × ∇L(θ) における α がこれに当たります。
学習率はハイパーパラメータのひとつで、学習前に人間が設定します(モデルが自動で学ぶパラメータではありません)。値の選び方でモデルの学習速度・収束精度・安定性が大きく変わります。
- 大きすぎる学習率:パラメータが最小値を飛び越え、損失が発散してしまう
- 小さすぎる学習率:学習が遅く、収束しきれず局所最小値に捕まりやすい
- 適切な学習率:損失が安定して減少し、良好な収束が得られる
典型的な初期値は 0.001(Adam使用時)や 0.01〜0.1(SGD使用時)ですが、タスクやモデルにより大きく異なります。
学習率の設定方法とスケジューリング
| 手法 | 説明 | 向いている場面 |
|---|---|---|
| 固定学習率 | 学習中ずっと同じ値を使う | シンプルなモデル・基礎実験 |
| 学習率スケジューリング | エポックに応じて徐々に小さくする | 多くのディープラーニングタスク |
| ウォームアップ | 最初だけ小さい値から始めて増やす | Transformer系の学習(BERT等) |
| 学習率の自動調整(Adam等) | パラメータごとに自動調整 | 現在の標準的手法 |
| Cyclic Learning Rate | 周期的に増減させる | 学習の停滞突破に有効 |
よく使われる学習率スケジューラ
ステップ減衰(Step Decay):
10エポックごとに学習率を0.1倍
例: 0.1 → 0.01 → 0.001
コサインアニーリング(Cosine Annealing):
コサイン曲線に沿ってなだらかに減衰
→ Transformerの学習で広く使われる
ウォームアップ + コサインアニーリング:
① 最初の数ステップで学習率を線形に増加(ウォームアップ)
② その後コサイン減衰
→ BERT・GPT系の標準的な学習率スケジュール
歴史と背景
- 1950年代:パーセプトロンの学習則として学習率の概念が登場
- 1986年:バックプロパゲーションの実用化により、多層ネットワークでの学習率調整が重要課題になる
- 1988年:SGDの有効性と学習率の理論的関係が整理される
- 2011年:AdaGradが提案。パラメータごとに学習率を自動調整する時代が始まる
- 2012年:RMSpropで「適応学習率の減衰が停まらない」問題が改善される
- 2014年:Adamが発表。「適応学習率+モメンタム」の組み合わせで現在の標準に
- 2017年以降:Transformerモデルの学習でウォームアップスケジュールが必須化。「1サイクルポリシー」など新しいスケジューリングも普及
- 現在:大規模モデルの学習では学習率スケジューラの設計自体が重要なエンジニアリングテーマになっている
学習率の大小による収束の違い
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| ISO/IEC 22989:2022 | AI概念・用語(機械学習の最適化に関する定義を含む) |