用語集 · 機械学習
学習率
別名:Learning rate、step size、η、lr、ステップサイズ
学習が重みを更新するたびに、どれだけ大きく1歩進むかです。大きすぎると学習が不安定になり、小さすぎると遅くなります。
学習率 は、勾配降下法の各更新の大きさを決めます。
ふつうは、正しく決めることがいちばん重要なハイパーパラメータです。
- 高すぎる:歩幅が行き過ぎます。損失が飛び回ったり発散したりし、強化学習では良い方策(ポリシー)が数回の更新で壊れてしまうこともあります。
- 低すぎる:学習は安定しますが遅く、止まってしまうこともあります。
スケジュール
学習率は固定でなくてもかまいません。よくあるパターンは、ウォームアップ(オプティマイザーの統計が落ち着くまで、小さく始めて大きくしていく)と、減衰(モデルが答えに近づいたら細かく調整できるよう、時間とともに小さくする)です。
成熟した方策に小さな学習率が必要な理由
学習の初期の方策は良い解から遠く離れているので、大きな歩幅で早くどこかにたどり着けます。学習済みの方策は、狭い良い領域にいます。初期には役立った同じ歩幅が、そこから方策を放り出してしまうことがあります。学習率を小さくすれば、学んだことを忘れずに改善を続けられます。これがファインチューニングのときのよくある助言です。
このプロジェクトでは
PPO のよくあるデフォルトは です。成熟したサバイブ方策をこの学習率で再開・ウォームスタートすると、約20回の更新で壊れました(100%転倒)。ラン survive3 から survive6 でのことです。成熟した方策にはすべて を使うことで解決し、survive7 はその後 860 N の押しに耐えるまでになりました。