OpenAI Five

OpenAI Five (オープンエーアイ ファイブ)は、OpenAIによって開発された複雑なゲームをプレイすることが可能なコンピュータプログラムである。5対5のビデオゲームである『Dota 2』をプレイする機能をもつ。2017年に公開され、プロプレイヤーのDendi (gamer)との1対1のライブ対戦で披露され、Dendiは敗北した。翌年2018年には、5人チームとしてDota 2をプレイする機能が追加され、プロチームと対戦し勝利する能力を示し始めた。
OpenAIは、『Dota 2』のような複雑なゲームを機械学習の研究対象に選択することで、現実世界で見られる予測不可能性と連続性をより正確に捉え、より汎用的な問題解決システムを構築できると考えた。OpenAI Fiveで使用されたアルゴリズムとコードは、最終的に同社が開発中の別のニューラルネットワークに流用され、物理的なロボットハンドの制御に利用された。OpenAI Fiveは、ビデオゲーム『StarCraft II』におけるAlphaStar、ボードゲーム囲碁におけるAlphaGo、チェスにおけるDeep Blue、テレビゲームショー『Jeopardy!』におけるWatsonなど、人間と対戦し勝利した人工知能の他の類似例と比較されている。

**歴史**
本プログラムに使用されることになるアルゴリズムの開発は、2016年11月に開始された。OpenAIは、5対5の対戦型ビデオゲームである『Dota 2』をベースとして使用することを決定した。これは、『Dota 2』がライブストリーミングプラットフォームであるTwitchで人気があり、Linuxのネイティブサポートがあり、アプリケーションプログラミングインターフェースが利用可能であったためである。5人チームになる前、最初の公開デモンストレーションは8月に開催された、同ゲームの毎年恒例のプレミアチャンピオンシップトーナメントであるThe International 2017で行われた。そこで、ウクライナのプロプレイヤーであるDendiが、1対1のライブマッチでOpenAIボットに敗北した。試合後、最高技術責任者(CTO)であるグレッグ・ブロックマンは、本プログラムは2週間の実時間にわたって自身との対戦を通じて学習したと説明し、学習ソフトウェアは「外科医のような」複雑なタスクを処理できるソフトウェアを作成するための第一歩であると述べた。OpenAIは強化学習と呼ばれる方法論を用いた。本プログラムは数ヶ月に渡り、1日に数百回も自身と対戦することで学習し、敵を倒したりタワーを破壊したりするなどの行動に対して報酬が与えられる。
2018年6月までに、ボットは5人編成のチームとして共にプレイする能力を拡張し、アマチュアおよびセミプロのプレイヤーチームを倒すことができるようになった。The International 2018では、OpenAI Fiveはプロチームと2試合を行い、1試合はブラジル拠点のpaiN Gamingと、もう1試合は元中国プレイヤーのオールスターチームと対戦した。ボットは両試合とも敗北したが、OpenAIはこれを成功した試みと捉え、『Dota 2』のトッププレイヤーと対戦することで、将来のゲームに向けてアルゴリズムを分析し調整することができたと述べた。ボットの最後の公開デモンストレーションは2019年4月に行われ、サンフランシスコで開催されたライブイベントで、The International 2018のチャンピオンであるOGに対し3番勝負で勝利した。同月には、一般公開のボットと対戦できる4日間のオンラインイベントが開催された。ボットは42,729の公開試合を行い、そのうち99.4%で勝利した。

**アーキテクチャ**
各OpenAI Fiveボットは、Dota開発者のAPIから抽出された現在のゲーム状態を観測する、4096ユニットのLSTMを単層に持つニューラルネットワークである。ニューラルネットワークは、多数のアクションヘッド(人間のデータは含まれない)を介して行動を実行し、すべてのアクションヘッドには意味がある。たとえば、アクションを遅延させるティック数、どのアクションを選択するか、ユニット周辺のグリッドにおけるアクションのX座標またはY座標などである。また、アクションヘッドは独立して計算される。AIシステムは世界を20,000の数値のリストとして観測し、8つの列挙値のリストを実行することでアクションを実行する。また、すべてのアクションをどのようにエンコードし、世界をどのように観測するかを理解するために、異なるアクションとターゲットを選択する。
OpenAI Fiveは、「Rapid」インフラストラクチャ上で汎用強化学習トレーニングシステムとして開発された。Rapidは2つの層で構成されている。1つ目の層は何千ものマシンを起動し、それらが互いに「通信」できるようにする層であり、2つ目の層はソフトウェアを実行する層である。2018年までに、OpenAI Fiveは256基のGPUと128,000個のCPUコア上で動作する強化学習において、約180年分のゲームをプレイし、方策勾配法であるProximal Policy Optimizationを使用していた。

**他のゲームAIシステムとの比較**
OpenAI Five以前にも、Jeopardy!におけるWatson、チェスにおけるDeep Blue、囲碁におけるAlphaGoなど、AI対人間の対戦実験とシステムが成功裏に用いられてきた。AIシステムを使用して人間プレイヤーと対戦した他のゲームと比較して、『Dota 2』は以下の点で異なる。

**長期的な視点**
ボットは平均45分の試合時間の間、毎秒フレーム数30フレームで動作するため、1ゲームあたり80,000ティックとなる。OpenAI Fiveは4フレームごとに観測を行い、20,000の動きを生成する。それと比べ、チェスは通常40手未満で、囲碁は150手未満で終了する。

**部分的に観測可能なゲーム状態**
プレイヤーと味方は、周囲のマップしか見ることができない。残りの部分は戦争の霧に覆われており、敵ユニットとその動きが隠されている。したがって、『Dota 2』をプレイするには、この不完全なデータに基づいて推論を行い、相手が同時に行っている可能性のある行動を予測する必要がある。それと比べ、チェスと囲碁は相手プレイヤーから要素を隠さない「完全情報ゲーム」である。

**連続行動空間**
『Dota 2』のゲームでプレイ可能なキャラクター(ヒーローと呼ばれる)はそれぞれ、他のユニットまたは位置をターゲットとする数十のアクションを実行できる。OpenAI Fiveの開発者は、ヒーローごとに170,000通りのアクションを実行できるように空間を設定している。ゲームの永続的な側面を考慮しない場合、1ティックあたり平均約1,000の有効なアクションが存在する。それと比べ、チェスの平均アクション数は35、囲碁は250である。

**連続観測空間**
『Dota 2』は、各チーム5人ずつの10人のヒーローと、数十の建物とノンプレイヤーキャラクターユニットがいる大きなマップ上でプレイされる。OpenAIシステムは、開発者のボットAPIを通じてゲームの状態を観測する。これは、人間がアクセスできるすべての情報で構成される20,000の数値である。チェス盤は約70のリストで表現されるのに対し、囲碁盤は約400の列挙型で表現される。

**反響**
OpenAI Fiveは、AI、テクノロジー、ビデオゲームコミュニティ全体から広く評価を受けている。マイクロソフトの創設者であるビル・ゲイツは、OpenAI Fiveの勝利は「チームワークと協調性が必要だった」ため、「大きな成果」であると述べた。1997年にDeep Blue AIに敗れたチェスプレーヤーのガルリ・カスパロフは、The International 2018での敗北にもかかわらず、ボットは最終的に「そこに到達するだろうし、予想よりも早く到達するだろう」と述べた。『MIT Technology Review』との対談で、AI専門家もOpenAI Fiveシステムを重要な成果と見なし、『Dota 2』は「非常に複雑なゲーム」であるため、プロではないプレイヤーに勝つだけでも印象的であると指摘した。『PC Gamer』誌は、プロプレイヤーに対する勝利は機械学習における重要な出来事であると書いた。対照的に、『Motherboard』は、両陣営のヒーロープールが簡略化されていること、ボットが画面上のピクセルを解釈するためにコンピュータビジョンを使用するのではなくAPIに直接アクセスできるようになっていることから、この勝利は「基本的に不正行為」であると書いた。『The Verge』は、これらのボットは、同社の強化学習へのアプローチとAIに関する一般的な哲学が「画期的な成果を生み出している」ことの証拠であると書いた。
2019年、DeepMindは『Starcraft II』向けの同様のボットであるAlphaStarを発表した。OpenAI Fiveと同様に、AlphaStarは強化学習と自己対戦を用いていた。『The Verge』は、「この種のAI研究の目標は、単に様々なゲームで人間を打ち負かすことだけではない。洗練されたAIソフトウェアが、ボードゲームであれ最新のビデオゲームであれ、事実上あらゆる認知的課題において人間に勝つことができることを証明することである」と報じた。また、DeepMindとOpenAIの勝利は、強化学習の特定の用途の威力を証明するものでもあると付け加えた。
OpenAIはこの技術がデジタル領域以外でも応用できることを期待していた。2018年には、OpenAI Fiveと同じ強化学習アルゴリズムとトレーニングコードを、物理的な物体を操作するために構築されたニューラルネットワークを持つ人間のようなロボットハンドであるDactylに再利用することができた。2019年、Dactylはルービックキューブを解いた。

**参考文献**

**外部リンク**
 公式ブログ