用語集 · 強化学習

カリキュラム学習

別名:Curriculum learning、curriculum、automatic curriculum、カリキュラム、自動カリキュラム

まず課題のやさしい版で学習し、エージェントが上達するにつれて難しくしていくこと。コーチが生徒のレベルに合わせて段階を上げていくのと同じです。

課題が最初から難しすぎると、エージェントは一度も成功できず、役に立つ信号を得られないので、いつまでも上達しません。カリキュラム学習(Bengio et al. 2009)は、やさしい版から始めて、一歩ずつ難しくしていきます。

カリキュラムには3つの要素があります。

  1. 難易度のダイヤル。たとえば、押す力の強さや動きの大きさです。
  2. 昇格ルール。エージェントが次のレベルに進む準備ができたかを決めます。
  3. ステップ幅。1回の昇格でどれだけ上げるかです。

昇格ルールを正しく決める

学習中の統計はノイズだらけです。1イテレーションだけを見るルールだと、たまたま運の良いバッチで昇格してしまい、エージェントは手に負えないレベルに直面します。より良いルールは次のとおりです。

  • 数イテレーションにわたって平均する。
  • 昇格のたびに、統計が新しいレベルのエピソードだけから来るようになるまで待つ。
  • 失敗率の低さとエピソードの長さの両方を条件にする。

このプロジェクトでは

バランスの記事には2つのカリキュラムが、パンチの記事には3つ目が登場します。

  • リズムの振幅は0.1刻みで上がりました。上げるたびに、エピソード2つ分の長さだけ待ってから次の判定をしました。この待ちがないと、最初のランは古いレベルで始まったエピソードをもとに判定してしまい、15イテレーションで振幅0.2から最大まで上がってしまいました。
  • 押す力。 最大の力は Fmax⁡=80+520⋅levelF_{\max} = 80 + 520 \cdot \text{level} ニュートンです。直近10〜20イテレーションの平均で転倒が20%以下、かつエピソードの平均が10秒中8秒以上のとき、レベルが0.1上がります。1イテレーションだけで判定するルールでは、ノイズに乗ってレベルが上がってしまいました。
  • パンチの標的。 パンチの記事では、レベルが標的そのものです。レベル0では空打ち、レベル1までは 0.75〜3 kg のバネ付きミット、そしてレベル2までは 12.5〜35 kg の重いサンドバッグです。20イテレーションにわたって、どのパンチも40%以上の確率で当たり、転倒が20%以下のとき、レベルが0.1上がります。4つのパンチが、約 18 M ステップで空打ちから 35 kg のサンドバッグまで進みました。

ブロックの取り組みでは、ダイヤルは対戦相手のパンチの速さです。最初は50〜60%で、ファイターが合格するにつれて最高速度が上がります。合格ラインを80%にしたところ、ファイターはそこまで届かず、23 M ステップの間、60%より速いパンチは一度も学習されませんでした。ラインを60%に下げると速度が上がっていきました(ブロック を参照)。

上げるたびに決まった回数のイテレーションを待つカリキュラムは、学習がどれだけ速く進めるかも決めてしまいます。レンタルGPUで学習する では、構えのカリキュラムが上げるたびに世界の各コピーについて約2エピソード分待つため、どのマシンでも解けるまでに約350〜500イテレーションかかります。GPU で 8,192 個のコピーを走らせると、1秒あたりのステップ数は CPU の5倍になりましたが、1イテレーションあたりは遅くなり、12分経っても構えは解けませんでした。1,024 個のコピーでは386秒で解けました。

関連用語

この用語が出てくる記事

← すべての用語