用語集 · 機械学習

学習率

別名:Learning rate、step size、η、lr、ステップサイズ

学習が重みを更新するたびに、どれだけ大きく1歩進むかです。大きすぎると学習が不安定になり、小さすぎると遅くなります。

学習率 η\eta は、勾配降下法の各更新の大きさを決めます。

θ←θ−η ∇θL\theta \leftarrow \theta - \eta \, \nabla_\theta L

ふつうは、正しく決めることがいちばん重要なハイパーパラメータです。

  • 高すぎる:歩幅が行き過ぎます。損失が飛び回ったり発散したりし、強化学習では良い方策(ポリシー)が数回の更新で壊れてしまうこともあります。
  • 低すぎる:学習は安定しますが遅く、止まってしまうこともあります。

スケジュール

学習率は固定でなくてもかまいません。よくあるパターンは、ウォームアップ(オプティマイザーの統計が落ち着くまで、小さく始めて大きくしていく)と、減衰(モデルが答えに近づいたら細かく調整できるよう、時間とともに小さくする)です。

成熟した方策に小さな学習率が必要な理由

学習の初期の方策は良い解から遠く離れているので、大きな歩幅で早くどこかにたどり着けます。学習済みの方策は、狭い良い領域にいます。初期には役立った同じ歩幅が、そこから方策を放り出してしまうことがあります。学習率を小さくすれば、学んだことを忘れずに改善を続けられます。これがファインチューニングのときのよくある助言です。

このプロジェクトでは

PPO のよくあるデフォルトは 3×10−43 \times 10^{-4} です。成熟したサバイブ方策をこの学習率で再開・ウォームスタートすると、約20回の更新で壊れました(100%転倒)。ラン survive3 から survive6 でのことです。成熟した方策にはすべて 5×10−55 \times 10^{-5} を使うことで解決し、survive7 はその後 860 N の押しに耐えるまでになりました。

関連用語

この用語が出てくる記事

← すべての用語