1行定義
学習率とは、勾配降下法で重みを更新するときに勾配に掛け、1回あたりの更新の大きさを決める係数のことです。
くわしく
学習率は、勾配降下法で重みを1回にどれだけ動かすかを決める係数です。記号ではη(イータ)で表すことが多く、更新式w ← w − η × 勾配に現れます。0.1や0.001のような小さな正の値がよく使われます。
歩幅にたとえると
勾配が「どちらへ進むか」を決めるのに対し、学習率は「1歩の大きさ」を決めます。たとえば勾配が6で学習率が0.1なら、重みは0.6だけ動きます。学習率を0.01にすると、動く量は0.06です。
歩幅が大きすぎると、谷底を飛び越えて反対側の斜面に移ってしまいます。すると損失が上下に振動したり、どんどん大きくなって発散したりします。歩幅が小さすぎると、着実に下るものの、谷底に着くまでに多くの更新が必要です。浅いくぼみや平らな領域から抜け出しにくいという面もあります。
誰がどう決めるのか
学習率は、重みのように訓練データから自動で決まる値ではありません。学習の前に決めておくハイパーパラメータです。性能への影響が特に大きいハイパーパラメータの1つとされ、グリッドサーチやランダムサーチで候補を試し、検証データでの結果を比べて選びます。
学習の途中で学習率を変える工夫もあります。
- 学習率の減衰:学習が進むにつれて学習率を小さくし、解の付近で重みを落ち着かせます。
- ウォームアップ:学習の初めは小さな値から始め、徐々に目標の値まで上げます。
- 適応的な手法:AdaGrad、RMSprop、Adamなどは、パラメータごとに更新の大きさを自動で調整します。
強化学習の学習率
Q学習などの強化学習にも学習率があります。こちらは、新しく得た推定値を、今の行動価値の推定にどれだけ取り入れるかを決めます。将来の報酬をどれだけ割り引くかを決める割引率とは、別の値です。
覚え方
「勾配は向き、学習率は歩幅」と覚えます。
G検定での出題
出題のされ方
大きすぎると振動や発散、小さすぎると収束の遅れが起きるという挙動の違い、学習率の減衰やAdamなどによる調整、設計者が決めるハイパーパラメータとしての位置づけが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 学習率このページの用語 | 勾配降下法で重みを更新するときに勾配に掛け、1回あたりの更新の大きさを決める係数 |
| 割引率 | 強化学習で将来に受け取る報酬を現在の価値に換算するときに掛ける、0以上1以下の係数 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
勾配が4、学習率が0.05のとき、勾配降下法の1回の更新で、重みは勾配と逆の向きに0.2だけ動く。
答えを見る
答え ◯ 正しい
動く量は学習率×勾配で、0.05×4=0.2です。勾配が正なので、重みは0.2だけ小さくなります。
-
学習の初めは小さな学習率から始め、徐々に目標の値まで上げていく工夫を、ウォームアップという。
答えを見る
答え ◯ 正しい
学習の初期は重みが不安定で、いきなり大きな学習率を使うと発散しやすいためです。大きなバッチサイズで学習するときなどに使われます。
-
Q学習の学習率は、将来に得られる報酬を現在の価値に換算するときに掛ける係数である。
答えを見る
答え × 誤り
それは割引率の説明です。Q学習の学習率は、新しく得た推定値を、今の行動価値にどれだけ取り入れるかを決める係数です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (8.3.1 Stochastic Gradient Descent)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (11.4.1 Manual Hyperparameter Tuning)
- Priya Goyal, Piotr Dollár, Ross Girshick, Pieter Noordhuis, Lukasz Wesolowski, Aapo Kyrola, Andrew Tulloch, Yangqing Jia, Kaiming He, Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour (2017)