学習率
Learning Rate
勾配降下法で、一度にパラメータをどれだけ更新するかを決める値。学習の成否を大きく左右する重要ハイパーパラメータ。
学習率とは
学習率(Learning Rate)は、勾配降下法でパラメータを一度にどれだけ更新するかを決める値です。学習における"一歩の大きさ"を意味し、機械学習・ディープラーニングで最も重要なハイパーパラメータの一つとされます。
損失関数の谷を下る際、この一歩が大きすぎても小さすぎても、うまく底にたどり着けません。
大きさによる違い
- 大きすぎる
- 一歩が大きすぎて谷を飛び越えて発散する
- 損失が下がらない、または不安定に振動する
- 小さすぎる
- 一歩が小さすぎて学習が遅すぎる
- 局所解から抜け出せなくなる
- 適切な値
- 損失が安定して下がり、精度が上がる
調整の工夫
- 学習率スケジュール: 最初は大きめ、徐々に小さくする(Cosine・Stepなど)
- Warmup: 学習初期はあえて小さくして徐々に上げる(Transformer学習で定番)
- 適応的最適化: Adam・RMSPropなど、パラメータごとに学習率を自動調整する手法
現代の学習では、Adam等の適応的手法+スケジュールが一般的な組み合わせです。
他概念との関係
- 勾配降下法: 学習率が"一歩の大きさ"
- バッチサイズ: バッチが大きいほど、学習率もやや大きめに調整することが多い
- エポック: 学習率は途中で変化させることもある
「学習率次第でモデルは賢くもダメにもなる」と言われるほど、影響の大きい値です。
