学習率とは
Learning Rate
勾配降下法においてパラメータを1回の更新でどれだけ動かすかを決めるハイパーパラメータ
ひとことで言うと
AIが一歩ごとにどれくらい大きく答えを調整するかを決める、学習のペースを示す数値。
概要
学習率は、勾配降下法でパラメータを更新する際に、計算された勾配に掛け合わせる係数で、1回の更新でパラメータをどれだけ大きく動かすかを制御するハイパーパラメータ。 学習率が大きすぎると、損失を最小化する方向を飛び越えてしまい学習が発散したり不安定になったりする一方、小さすぎると収束までに非常に多くの更新回数(学習時間)が必要になる。 学習の進行に応じて学習率を徐々に小さくする学習率スケジューリングや、パラメータごとに実質的な学習率を自動調整するAdamなどの適応的最適化アルゴリズムが広く使われ、手動でのチューニング負担を軽減している。 大規模言語モデルの事前学習では、学習初期に学習率を徐々に上げるウォームアップと、その後緩やかに下げるスケジュールを組み合わせるのが一般的。
背景
勾配降下法は勾配の大きさと方向だけを教えてくれるが、実際にどれだけパラメータを動かすかは別途決める必要がある。 学習率はこの更新幅を制御し、学習の速度と安定性のトレードオフを直接左右する最も重要なハイパーパラメータの1つとされる。
利点
- 適切に設定すれば、少ない更新回数で効率的に損失を減らせる
- スケジューリングや適応的最適化アルゴリズムと組み合わせることで、学習の安定性と速度を両立しやすい
- 多くのフレームワークで学習率の探索・調整を自動化するツールが整備されている
欠点
- 設定を誤ると発散(大きすぎる場合)や極端に遅い収束(小さすぎる場合)を招く
- モデルやデータセットごとに最適な値が異なり、経験的な探索が必要になることが多い
- パラメータ全体に同じ学習率を使う単純な手法では、パラメータごとに異なる勾配のスケールへ対応しにくい
比較
関連用語
よくある質問
学習率が大きすぎるとどうなる?
パラメータの更新幅が大きくなりすぎ、損失を最小化する点を飛び越えて損失がかえって増加したり、学習が発散したりする。
学習率スケジューリングとは?
学習の進行度に応じて学習率を変化させる手法。学習初期は小さい学習率から始めて徐々に上げるウォームアップの後、緩やかに下げていく方式などがよく使われる。