用語集 · 機械学習
早期打ち切り(アーリーストッピング)
別名:Early stopping、plateau、stopping rule、早期終了、早期停止、アーリーストッピング、プラトー、停止ルール
決まった時間だけ走らせるのではなく、改善が止まった時点で学習ランを終えることです。
学習はふつう、最初は速く改善し、やがてプラトー(頭打ち)で横ばいになります。プラトーを過ぎても走らせ続けると、時間とお金がかかるわりに得るものはわずかです。早期打ち切りは、いつ止めるかを決めるルールです。
教師あり学習の古典的なルールでは、取り分けておいたデータでの誤差を見て、それが上がり始めたら止めます。上がり始めるのは、モデルが学習データを丸暗記し始めた合図だからです。強化学習には取り分けたデータがないので、ふつうは学習中の指標を見て、それが改善しなくなったら止めます。
プラトーのルール
強化学習の学習指標はノイズが多いので、良いルールは1点ずつではなく、区間ごとの平均を比べます。私たちのルールは次のとおりです。
- 最も強い押しのレベルでの学習中の転倒率を、10 M ステップごとの区間で平均します。
- 最新の区間を、2つ前の区間と比べます。
- 最新の区間が少なくとも1.5ポイント良くなっていなければ止めます。
すぐ前の区間ではなく2つ前の区間と比べるので、ゆっくりでも着実な改善なら、ちゃんと改善として数えられます。
このプロジェクトでは
シンプルな体 v2 のランは、このルールにより75.6 M ステップで止まりました。1時間あたり約$1のクラウドマシンなら、プラトーで止めることで、ふつうのランは$1〜2に収まります。
10月18日の最後のスピードのランも同じように止めました。学習中の命中率が15 M から31 M ステップまで約33%で横ばいだったので、31.2 M で止めて凍結しました(速いパンチへを参照)。