AI・機械学習の基本概念

学習率 がくしゅうりつ

ハイパーパラメータ勾配降下法最適化Adamスケジューラ収束
学習率について教えて

簡単に言うとこんな感じ!

山を下るときの「一歩の大きさ」だよ!大きすぎると谷を飛び越えてしまうし、小さすぎると永遠に山を下り切れない。この一歩の大きさをコントロールするのが学習率なんだ。AIの学習時間と最終精度を大きく左右する、地味だけど超重要なハイパーパラメータってこと!


学習率とは

学習率(Learning Rate)とは、勾配降下法でパラメータを更新する際の更新幅(ステップサイズ)を決める定数です。ギリシャ文字の α(アルファ)や η(イータ)で表されることが多く、パラメータ更新式 θ ← θ - α × ∇L(θ) における α がこれに当たります。

学習率はハイパーパラメータのひとつで、学習前に人間が設定します(モデルが自動で学ぶパラメータではありません)。値の選び方でモデルの学習速度・収束精度・安定性が大きく変わります。

  • 大きすぎる学習率:パラメータが最小値を飛び越え、損失が発散してしまう
  • 小さすぎる学習率:学習が遅く、収束しきれず局所最小値に捕まりやすい
  • 適切な学習率:損失が安定して減少し、良好な収束が得られる

典型的な初期値は 0.001Adam使用時)や 0.010.1SGD使用時)ですが、タスクやモデルにより大きく異なります。


学習率の設定方法とスケジューリング

手法説明向いている場面
固定学習率学習中ずっと同じ値を使うシンプルなモデル・基礎実験
学習率スケジューリングエポックに応じて徐々に小さくする多くのディープラーニングタスク
ウォームアップ最初だけ小さい値から始めて増やす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サイクルポリシー」など新しいスケジューリングも普及
  • 現在:大規模モデルの学習では学習率スケジューラの設計自体が重要なエンジニアリングテーマになっている

学習率の大小による収束の違い

学習率による損失の収束パターン 損失 エポック数 → 適切 小さい 少し大きい 大きすぎる(発散) 実務では学習率ファインダー(Learning Rate Finder)でベストな値を探索することが多い

関連する規格・RFC

規格・RFC番号内容
ISO/IEC 22989:2022AI概念・用語(機械学習の最適化に関する定義を含む)

関連用語