メインコンテンツにスキップ
OpenAI

当社は、さまざまなタスクを解決するのに役立つ高レベルのアクションを学習し、何千ものタイムステップを必要とするタスクを高速に解決できる階層的な強化学習アルゴリズムを開発しました。このアルゴリズムを一連のナビゲーション問題に適用すると、さまざまな方向に進むための一連の高レベルのアクションが検出され、エージェントは新しいナビゲーションタスクを迅速に習得できるようになります。

人間は複雑な課題を、扱いやすい小さな要素に分割して解決します。ホットケーキを焼くことは、小麦粉を計量する、卵を泡立てる、タネをフライパンに移す、コンロに火を入れるなど、一連の高度な作業で構成されています。人間は、タスクが何百万もの低レベルのアクション(個々の筋肉の動き)を必要とする場合でも、学習したコンポーネントを順番に実行することで、新しいタスクを迅速に学習できます。

一方、今日の強化学習の手法は、低レベルのアクションに対するしらみつぶしの検索を通じて動作するため、新しいタスクを解決するには膨大な数の試行を必要とします。これらの方法は、多数のタイムステップを要するタスクを解決する場合にきわめて非効率的です。

当社のソリューションは、エージェントが複雑な動作を高レベルのアクションの短いシーケンスとして表す階層的強化学習の考え方に基づいています。これにより、エージェントははるかに難しいタスクを解決できます。ソリューションには2,000の低レベルアクションが必要であっても、階層型ポリシーにより、10の高レベルアクションのシーケンスに変換されます。2,000ステップのシーケンスよりも10ステップのシーケンスを検索するほうがはるかに効率的です。

メタ学習の共有階層

観察結果がポリシー対象となり、アクションへと変換されるフローの図

当社のアルゴリズムであるメタ学習の共有階層(MLSH)は、マスターポリシーが一連のサブポリシー間で切り替わる階層型ポリシーを学習します。マスターは N 回のタイムステップごとにアクションを選択します。ここでは N=200 とします。N 回のタイムステップで実行されるサブポリシーは高レベルのアクションを構成し、ナビゲーションタスクの場合、サブポリシーはさまざまな方向への歩行または這う移動に対応します。

これまでのほとんどの作業で、階層型ポリシーは明示的に手作業で設計されてきました。その代わりとして、当社は環境との相互作用を通じてこの階層構造の自動的な発見を目指しています。メタ学習の観点から見ると、優れた階層とは、目に見えないタスクを学習するときに、すぐに高い報酬に到達する階層と定義されます。したがって、MLSH アルゴリズムでは、これまでに見たことのないタスクの高速学習を可能にするサブポリシーの学習を目的としています。

当社はタスク間の分散で学習させ、サブポリシーを共有しながら、サンプリングされた各タスクで新しいマスターポリシーの学習を行っています。新しいマスターポリシーを繰り返し学習することで、このプロセスでは、マスターポリシーの学習ダイナミクスに適合するサブポリシーが自動的に検出されます。

実験

読み込み中...

AntMaze 環境で、Mujoco Ant ロボットが9つの異なる迷路に配置され、これを開始位置からゴールまで移動させます。当社のアルゴリズムは、環境との相互作用のみを通じて、迷路タスクを解決するために一緒に順序付けることができる多様なサブポリシーのセットを正常に見つけることができます。このサブポリシーのセットは、学習したタスクよりも規模の大きいタスクを習得するために使用できます(当記事冒頭の動画を参照)。

読み込み中...

コード

MLSH エージェントの学習を行うためのコード(新しいウィンドウで開く)と、これらのアルゴリズムを評価するために構築した MuJoCo 環境をリリースします。

著者

Kevin Frans、Jonathan Ho、Peter Chen、Pieter Abbeel