OpenAI Roboschool リリース

OpenAIは、強化学習用に設計された物理ベースの環境のセットであるRoboschoolをリリースしました。既存のMuJoCoタスクをBullet物理エンジンに移植し、新しい複雑なシナリオを導入することで、Roboschoolはエージェントがインタラクティブ制御とマルチエージェント競争に対応できるように訓練するための、よりアクセスしやすく堅牢なフレームワークを提供します。

物理環境とMuJoCoの移植

Roboschoolは最初に12の環境を含みます。これには、以前MuJoCoで利用可能だったタスクが含まれており、それらはBullet物理エンジンに移植され、より現実的に変更されています。移植されたタスクに加えて、RoboschoolはHumanoidウォーカータスクの上級バージョンとマルチプレイヤーPong環境などの新しい課題を導入します。

即時の利用を容易にするため、OpenAIはGitHubリポジトリのagent_zooフォルダー内のすべての環境に対して訓練済みポリシーを提供し、さらにdemo_raceスクリプトを提供します。このスクリプトにより、ユーザーは3台のロボット間のレースをシミュレートできます。

インタラクティブ制御と頑健な移動

Roboschoolは、単純な前方移動の目標を超えてインタラクティブ制御を必要とする環境を導入します。以前のOpenAI Gym環境では、エージェントが単一のサイクル軌道を学習し、押されたときに失敗しやすい脆弱なポリシーがしばしば生じましたが、Roboschoolの新しい3Dヒューマノイド環境では、エージェントは時間とともにランダムに位置が変化するフラグに向かってナビゲートする必要があります。

HumanoidFlagrun

この環境は、ランダムに移動する目標に到達するためにロボットが減速し、旋回する方法を学ぶように設計されています。

HumanoidFlagrunHarder

この環境は、ロボットが転倒することを許可し、回復する時間を与えることで難易度を高めます。エピソードは、ロボットが立ち上がっているか、地面に横たわっている状態で開始される可能性があり、エージェントは軌道から外れるように白いキューブに継続的に衝突させられます。

OpenAIは、これらの環境のポリシーが内部状態を持たない多層パーセプトロンであることに注意しています。そのため、研究者たちは、一部のケースではエージェントが腕を使って情報を保存し、安定性とナビゲーションを維持すると考えています。

マルチエージェントトレーニングと敵対的ダイナミクス

Roboschoolは、RoboschoolPong環境から始めて、同じ環境内での複数のエージェントの同時トレーニングと実行をサポートします。

マルチプレイヤートレーニングでは、いくつかの構成が可能です:

  • 自分自身に対して単一のエージェントをトレーニングする。
  • 同じアルゴリズムを使用して2つの異なるエージェントをトレーニングする。
  • 互いに対して2つの異なるアルゴリズムをトレーニングする。

OpenAIは、敵対的トレーニングにおける特定の課題として、ポリシーの振動を特定しています。Pongに適用されたポリシー勾配法において、研究者たちはエージェントが一般的な解決策を学ぶのではなく、相手の現在の戦略に過剰適合していることを観察しました。たとえば、一方のエージェントは画面の上部を防御する方法を学び、もう一方はボールを下部に送る方法を学ぶかもしれません。最初のエージェントが下部に適応すると、2番目のエージェントも再び適応し、その結果、どちらのエージェントもトレーニング後の時間を経ても有用な一般的な戦略を学ばない振動する学習曲線が生じます。OpenAIは、この敵対的相互作用は厄介ではあるが、洗練された戦略を開発するための自然なカリキュラムを提供できると示唆しています。

Sources