OpenAI Dota 2 1v1 ボット結果
OpenAIは、セルフプレイ強化学習が、Dota 2 1v1において、機械学習システムをサブヒューマンパフォーマンスから超人的能力へと押し上げられることを示した。1か月以内に、システムは高ランクプレイヤーに barely matching (かろうじて追いつく程度)から、トッププロプレイヤーを倒すまで進化し、セルフプレイがエージェントのスキルが向上するに従ってトレーニングデータを自動的に改善できることを示した。
超人的パフォーマンスとトレーニングタイムライン
OpenAIのボットは、計算リソースをスケールし、アルゴリズムの改善を実装することで超人的ステータスを達成し、時間とともにTrueSkill評価が線形に増加した。ボットの能力の進歩は、以下のマイルストーンで示される:
- 3月1日: シンプルな環境(Drow RangerがEarthshakerをキティング)における初期の古典的強化学習の結果。
- 5月8日: 1.5k MMRテスターが、ボットよりも速していると報告改善した。
- 6月初旬: ボットは1.5k MMRテスターに勝ち始めた。
- 6月30日: ボットは3k MMRテスターとのほとんどのゲームで勝利した。
- 7月8日: ボットは7.5k MMRのセミプロテスターに対して初めて勝利した。
- 8月7日: ボットはBlitz (6.2k) を3–0、Pajkatt (8.5k) を2–1、CC&C (8.9k) を3–0で倒した。
- 8月9日: ボットはArteezy (10kプロ) を10–0で倒した。
- 8月10日: ボットはSumail (8.3kプロ) を6–0で倒した。Sumailはボットを「倒せない」と表現した。
- 8月11日: ボットはDendi (7.3kプロ) を2–0で倒した。
技術的実装とインターフェース
ボットは、AI特有の簡略化を行わない標準的な1v1トーナメントルールの下で動作した。以下のインターフェースを利用した:
- 観測: ボットは、ヒーロー、クリープ、カーリエ、近隣の地形など、人間が見える特徴にアクセスするためにBot APIを使用した。環境は部分的に観測可能である。
- アクション: ボットは、移動、攻撃、アイテム使用など、人間と同等の頻度でBot APIを通じてアクションを実行した。
- フィードバック: ゲーム勝利およびヘルスやラストヒットなどの基本的な指標に基づいてインセンティブが提供された。
トレーニングを容易にするため、OpenAIは数十のアイテムビルドをホワイトリストに追加し、初期のクリープブロックを従来の強化学習技法を使って別途トレーニングした。
The International期間中の反復的改善
OpenAIは、The Internationalトーナメント中に「コーチング」とセルフプレイを組み合わせて、エージェントを急速に反復改善した。主な改善点は以下の通り:
- アイテムビルド適応: Pajkattが早期のマジックワンドを使用して試合に勝った後、OpenAIはその特定のアイテムビルドをトレーニングホワイトリストに追加した。
- 戦略の進化: ボットは、最初のウェーブで意図的にヘルスを失うことで相手を攻撃に誘引する方法を学んだ。この戦略は、その後のセルフプレイで対抗された。
- メカニズムの発見: ボットは、敵の視界外で能力を唱えると敵がワンドチャージを得られないゲームメカニズムを発見した。
既知のエクスプロイトと制限
高いパフォーマンスにもかかわらず、ボットはトレーニング中に遭遇していないシナリオでは混乱することがある。The InternationalのLANイベント中、プレイヤーは3つの主要なエクスプロイトのタイプを特定した:
- クリーププル: ボットのティア2とティア3のタワーの間のレーンクリープを引き寄せ、 attrition によってタワーが死ぬ。
- ベノムオーブ + ウィンドレース: これらのアイテムを使用してレベル1で移動速度の優位を得、クイックファーストブラッドを達成する。
- レベル1レイズ: 高スキルプレイヤー(6–7k MMR)は、3–5回のレイズを連続で命中させることでレベル1のボットを殺すことができた。
インフラストラクチャと今後の目標
クラウドでDota 2を実行するため、OpenAIはOpenGLコールをスタブするシャムを開発し、クラウドGPUインスタンスを設定して物理モニタの接続をシミュレートし、起動エラーを回避した。
OpenAIはまた、ベースラインとしてスクリプトボットを開発した。スクリプトボットは空のレーンで10分間に70ラストヒットを達成したが、強化学習ボットは同じ時間で約97ラストヒットに到達した(理論上の最大値は101)。
プロジェクトの究極の目標は、5v5 Dota 2の解決である。これに備えて、OpenAIは行動クローニングを利用するために、10人の人間が参加した約45分のリプレイがそれぞれ約580万件のエキスパートレベルのデータセットを蓄積した。
Sources
- OriginalMore on Dota 2