OpenAI Five

OpenAI Five是由OpenAI開發的電腦程式，專門用來遊玩5對5的電子遊戲《Dota 2》。該系統於2017年首次公開亮相，在一場現場一對一比賽中與職業玩家Dendi進行對戰，最終使其落敗。隔年，該系統已發展為完整的五人隊伍，開始與職業戰隊對抗，並展現出擊敗職業戰隊的能力。

由於OpenAI選擇以《Dota 2》這款複雜遊戲作為機器學習研究對象，該公司認為此舉能更精確地捕捉現實世界中存在的不確定性與連續性，從而構建出更具普遍性的問題解決系統。最終，OpenAI Five 採用的演演算法及程式碼被該公司研發中的另一個神經迴路借用，該神經網路用以控制一隻實體機械手。OpenAI Five曾與其他類似人工智慧案例相比較，例如在電子遊戲《星際爭霸2》中與人類對戰的AlphaStar、在圍棋中與人類對弈的AlphaGo、在西洋棋中與人類對弈的深藍以及在電視遊戲節目《危險邊緣》中的華生。

## 歷史

自2016年11月起，OpenAI開始開發機器人所採用的演演算法。由於《Dota 2》是一款在直播平台Twitch上廣受歡迎、具有原生Linux支援且提供應用程式介面（API）。

在組成完整五人隊伍之前，該系統於2017年8月在年度冠軍賽2017年Dota2國際邀請賽中首次公開展示；在一場現場一對一比賽中，烏克蘭職業玩家 Dendi輸給了一個OpenAI機器人。比賽結束後，首席技術官格雷格·布羅克曼解釋稱，該機器人經過兩週實時自我對戰後完成學習，而此學習軟體被視為邁向開發能處理複雜任務（例如外科手術）的軟體的一步。

強化學習的的方法，使得這些機器人在數月內每日進行數百次自我對戰後逐步學習，並對擊殺敵人或摧毀防禦塔等行動給予獎勵。

到2018年6月，這些機器人的能力已擴展為能以完整五人隊伍協同作戰，並能擊敗業餘及半職業玩家組成的隊伍。在2018年Dota2國際邀請賽中，OpenAI Five 參與了兩場對抗職業戰隊的比賽，一場對陣總部位於巴西的paiN Gaming，另一場則面對由前中國籍選手組成的全明星隊伍。儘管機器人在兩場比賽中皆告失利，OpenAI 仍認為此舉具備成功價值，指出與《Dota 2》中部分最佳選手對戰，使得他們能夠針對未來比賽進行演演算法的分析與調整。

2019年4月，機器人最後一次公開展示，當時在舊金山舉行的一場現場活動中，機器人以三局兩勝制的比賽中擊敗了2018年國際邀請賽冠軍OG。同月，舉辦了一場為期四天的公開線上活動，供大眾與機器人對戰。在該活動中，機器人共參與42,729場公開比賽，勝率達 99.4%。

## 建構

每個OpenAI Five機器人都是一個神經網路，該網路包含一個單層 4096 單元的LSTM，用來觀察從Dota 開發者 API 提取的當前遊戲狀態。這個神經網路通過眾多可能的行動頭（不涉及任何人類數據）來執行動作，而且每個行動頭都有其特定意義。例如，決定動作延遲的刻數、選擇哪個動作——以及該動作在單位周圍網格中的 X 或 Y 坐標。此外，各個行動頭都是獨立計算的。該 AI 系統將世界視為一個包含 20,000 個數字的列表，並通過生成一個包含八個枚舉值的列表來採取行動。同時，它還會選擇不同的動作和目標，以了解如何編碼每個動作並觀察世界。

OpenAI Five 以「Rapid」基礎架構為平台，發展成一套通用的強化學習訓練系統。Rapid 由兩個層級組成：第一層負責啟動數千臺機器並協助它們彼此通訊；第二層則負責執行軟體。到 2018 年，OpenAI Five 在256顆GPU與 128,000個 CPU核心的運算環境下，累計進行了約180年時間的強化學習遊戲，採用了一種稱為近端策略優化的策略梯度方法。

OpenAI 1v1 機器人（2017 年）｜OpenAI Five（2018 年）

CPU｜Microsoft Azure上有 60,000 個 CPU 核心｜Google Cloud Platform (GCP) 上的 128,000 個可搶占 CPU 核心

GPU｜Azure 上有 256 個 K80 GPU｜GCP 上有 256 個 P100 GPU

收集的經驗｜每天約 300 年｜每天約 180 年

觀察的大小｜~3.3kB｜~36.8kB

每秒遊戲觀察次數｜10｜7.5

批次大小｜8,388,608 條觀察結果｜1,048,576 條觀察結果

每分鐘批次數｜~20｜~60

## 與其他遊戲AI系統的比較

在OpenAI Five之前，其他AI對抗人類的實驗和系統已經成功運作，例如使用Watson的《危險邊緣》，使用深藍的西洋棋以及使用AlphaGo的圍棋。與與其他曾使用 AI 系統與人類玩家對戰的遊戲相比，Dota 2的不同之處如下所述：

長期觀察：機器人以每秒30幀運行，而一場平均比賽持續45分鐘，這使得每場比賽包含 80,000次運算。OpenAI Five每四幀觀察一次，從而產生20,000個動作。相比之下，西洋棋通常在不到40步就結束，而圍棋則不到150步。

部分觀察到的遊戲狀態：玩家及其盟友只能看到直接圍繞他們的地圖，其餘部分則被「戰爭迷霧」覆蓋，迷霧會隱藏敵方單位及其動向。因此，進行《Dota 2》遊戲需要根據這些不完整的資料進行推斷，並同時預測對手可能採取的行動。相比之下，西洋棋與圍棋是「完全資訊遊戲」，因為它們不會對對手隱藏任何資訊。

連續動作空間：在《Dota 2》遊戲中，每個可操作的角色（英雄）可以執行數十種動作，這些動作的目標可以是另一個單位或一個位置。OpenAI Five 的開發者將每個英雄的動作空間設置為 170,000 種可能的動作。不計算遊戲中那些持續性的因素，每個 tick 平均有約 1,000 種有效動作。相比之下，西洋棋的平均動作數為 35，而圍棋則為 250。

連續觀察空間：《Dota 2》是在一個大型地圖上進行的遊戲，地圖上有十位英雄（每隊五位），以及數十座建築和非玩家角色（NPC）單位。OpenAI 系統透過開發者提供的 bot API 觀察遊戲狀態，並將其表示為 20,000 個數字，這些數字構成了人類所能獲取的所有資訊。一個棋盤大約由 70 個列表表示，而一個圍棋盤則有大約 400 個枚舉數據。

## 評價

OpenAI Five獲得了人工智慧、科技和電子遊戲界的廣泛認可。微軟創辦人比爾·蓋茨稱其為「一項重大突破」，因為它們的勝利「需要團隊合作與協作」曾在1997年敗給深藍的西洋棋冠軍加里·卡斯帕羅夫表示，儘管 OpenAI Five 在 2018 年國際邀請賽表現不佳，但這些機器人最終「一定會達成目標，而且比預期還要快」。

在《麻省理工技術評論》的採訪中，AI 專家們也認為OpenAI Five 系統是一項重大成就，因為他們指出Dota 2是一款「極其複雜的遊戲」，因此即使能夠擊敗非職業玩家也已經相當令人印象深刻。《PC Gamer》則表示，OpenAI Five 戰勝職業玩家是一個機器學習領域的重要里程碑。

相比之下，《Motherboard》則認為這場勝利「基本上是在作弊」，原因包括雙方英雄池被大幅簡化，以及機器人能夠直接存取 API，而非像人類玩家一樣透過電腦視覺來解析螢幕上的像素。《The Verge》則寫道，這些機器人證明了 OpenAI 在強化學習方面的研究方向以及其 AI 發展理念正在「產生重要的里程碑式成果」。

2019年，DeepMind 推出了類似《星海爭霸2》的AI機器人——AlphaStar。與 OpenAI Five 一樣，AlphaStar 採用了強化學習和自我對弈技術。《The Verge》報導稱：「這類 AI 研究的目標不僅僅是為了在人類玩家面前取得壓倒性勝利，以證明其可行性。相反，它的目標是證明，只要投入足夠的時間、精力和資源，先進的 AI 軟體幾乎可以在任何競爭性的認知挑戰中擊敗人類，無論是桌遊還是現代電子遊戲。」他們還補充說，DeepMind和OpenAI的勝利也證明了強化學習在某些應用場景下的強大潛力。

OpenAI 希望該技術能夠應用於數位領域以外的範疇。2018年，該公司成功將 OpenAI Five 所使用的強化學習演演算法及訓練程式碼，重新運用於Dactyl 項目，此項目研發出一隻具有人形特徵的機械手，搭載神經網路以操控實體物體。2019年，Dactyl破解了魔術方塊。