見出し画像

競争力のあるセルフプレイ

以下の記事を参考に書いてます。

Competitive Self-Play

1. 前置き

セルフプレイ」を使用すると、シミュレートされたAIが、ボールの「タックル」「ダッキング」「フェイク」「キック」「キャッチ」「ダイビング」などの物理スキルを発見できることがわかりました。これらスキルを念頭に置いて、学習環境を設計する必要はありません。「セルフプレイ」は、AIを改善するために環境が常に適度な難易度であることを保証します。「Dota 2」の「セルフプレイ」の結果と共に、「セルフプレイ」が将来の強力なAIシステムの中核となるという確信が高まっています。

2. はじめに

私たちは、複数のシミュレートされた3Dロボットが競争するゲームを設計し、単純な目標で訓練し、出現したさまざまな戦略を分析しました。

Sumo : 相手を土俵から押し出そうとするタスク。
Kick and Defend : 一方がボールをゴールにシュート、一方がそれを防ごうとするタスク。

最初、エージェントは「立ち上がる」や「前進する」といった探索を支援する行動に対して報酬を受け取ります。これは、最終的には勝ち負けに対して報酬を得るために、ゼロにアニーリングされます。単純な報酬にもかかわらず、エージェントは、ボールの「タックル」「ダッキング」「フェイク」「キック」「キャッチ」「ダイビング」などの行動を学びました。各エージェントのニューラルネットワークポリシーは、PPOを使用して個別に訓練しました。

単純な目標」と「競争力」の組み合わせによって、複雑な行動がどのように発生するかを理解するために、「Sumo」タスクを分析します。

ここでは、ヒューマノイドの歩行訓練のために、以前の作業で定義された報酬を受け取り、速度を削除し、リングの中心から負のL2距離を追加し、これをSumoエージェントの探索報酬としました。エージェントは、最初にこの報酬をリング内の探索に使用しますが、その後ゆっくりとゼロにアニーリングし、競争報酬(他のエージェントを土俵から押し出す)の最適化を学習するようになりました。

これらの各スキルを必要とする環境を設計することは可能ですが、それには人間のデザイナーの努力と工夫が必要です。エージェントの行動は人間のデザイナーが彼らに課すことができる問題によって複雑に制限されます。

私たちは、エージェント自身の最良エージェントとの反復対戦によって、パフォーマンスを連続的にブートストラップするAIシステムを作成することができました。「Dota 2」のプロジェクトでも同様の現象が見られました。セルフプレイにより、eスポーツのソロバージョンでトッププレイヤーを倒せるRLエージェントを作成できました。

3. 転移学習

これらのエージェントは、ある設定で学んだスキルを適用して、これまでにない別の設定で成功する転移学習を示しました。私たちは、Sumoのセルフプレイで訓練したエージェントで、「風」の力によって揺れながら立つタスクを試しました。エージェントは、風の強い環境を見たり風の力を観察したりすることなく、直立したままでいました。一方、古典的な強化学習を使用して歩くよう訓練されたエージェントは、すぐに倒れました。

4. オーバーフィット

私たちのエージェントは、特定の敵に対抗するために正確に調整された共同学習ポリシーによって過剰に適合していました。異なる特性を持つ新しい敵に直面すると失敗します。これに対処するために、各エージェントを1人だけでなく、「複数の異なる相手」に対して訓練するようにしました。これらの可能性のある相手は、訓練プロセスの初期のポリシーと同様に並行して訓練されたポリシーのアンサンブルから来ています。敵の多様性を考えると、エージェントは特定の敵を対象とした戦略だけでなく、汎化な戦略を学ぶ必要があることがわかりました。


この記事が気に入ったらサポートをしてみませんか?