DeepMind 與暴雪共同發起的星際爭霸 2 人工智慧研究看起來遭遇了很大挑戰。目前的人工智慧還難以在完整對戰中擊敗簡單級別的遊戲內建電腦玩家。不過,兩家公司 8 月份共同推出的人工智慧研究環境 SC2LE 為後續研究提供了可利用的平臺。中國科學院自動化研究所的研究人員最近針對巨集觀運營任務提出了全新資料集 MSC,試圖推動研究社群繼續前進。值得一提的是,中科院自動化所的團隊 10 月 8 日剛剛在星際爭霸 AI 競賽 AIIDE 2017 上取得第四名的成績(bot CPAC),本研究的部分參與者也是該團隊成員。
專案 GitHub 連結:https://github.com/wuhuikai/MSC
基於深度學習的人工智慧技術已經在 Atari 遊戲(Mnih 等人,2015)、圍棋(Silver 等人,2016)和第一人稱 3D 射擊遊戲 Doom(Lample & Chaplot,2017)上達到了超越以前最優水平的表現。但時至 2017 年,在面臨即時戰略遊戲(RTS)星際爭霸時,我們卻遇到了前所未有的困難。此類遊戲的動作空間和狀態空間(強化學習)相比於其它遊戲顯得極其巨大,而且與圍棋等完全公開環境不同,星際爭霸的戰爭迷霧等設定使對手狀態不完全可知。
最近 DeepMind 的研究表明,想要訓練基於深度神經網路(DNN)的端到端星際爭霸 2 人工智慧是一件非常困難的事。不過,Vinyals 等人提出了星際爭霸 2 研究平臺 SC2LE,他們此前也訓練出了用於進行遊戲的 DNN 網路 A3C。當然,A3C 無法在對陣哪怕是遊戲內建簡單電腦玩家的情況下獲勝。基於人們在星際爭霸 1 的人工智慧研究上,中科院的研究人員們認為整合了微觀操作(Peng 等人,2017)、建造指令預測(Justesen & Risi,2017)和全域性狀態評估(Erickson & Buro,2014)等能力的智慧體是下一步研究的方向,而以上各種能力可以被分為巨集觀運營(macro-management)與微觀操作(micro-management)兩個部分。
微操作包括與單位控制相關的所有低階別任務,如採礦、與敵對單位戰鬥;而巨集觀運營則有關高階別的遊戲策略,如計劃建造哪種新的單位/建築、科技研究、對於遊戲全域性態勢的判斷。我們可以通過深度強化學習演算法輕鬆地讓計算機獲得近似於人類表現的微操作能力,但巨集觀運營在目前看來還是一個難以解決的問題。一個有前景的方向是通過機器學習的方法學習職業玩家的經驗,利用遊戲 Replay 學會「大局觀」,利用 DNN 進行建造指令預測。兩種方法都需要用到遊戲 Replay 進行學習,這是星際爭霸系列遊戲專有的遊戲回放錄影檔案。
星際爭霸 1 有很多用於進行巨集觀運營學習的 Replay 資料集。然而這些資料集通常都只能用作特定的巨集觀運營任務訓練,也沒有預先分成訓練、驗證和測試集。另一方面,很多資料集體量很小,無法適應現代機器學習演算法。目前最大的星際爭霸 1 Replay 資料集是 StarData(Lin 等人,2017),其中包含 65,646 條遊戲錄影,但其中只有一少部分包含最終結果,這對於巨集觀運營的某些訓練,如全域性態勢評估而言並不適用。DeepMind 的 SC2LE 中則包含了星際爭霸 2 的最大資料集,其中包括 80 萬條錄影,適用於多種不同的巨集觀運營任務。
圖 1. MSC 框架示意圖。遊戲 Replay 首先會被預定義的標準過濾,隨後使用 PySC2 進行解析。解析 Replay 後的狀態被取樣並轉化為 N 維向量。最後,包含特徵對和最終對戰結果的檔案被分為訓練、驗證和測試集。
然而,現在並沒有標準的處理步驟和預定義的訓練集、驗證集和測試集。此外,這些資料集的設計初衷是用於星際爭霸 2 的端到端類人控制,並不適合用於巨集觀運營的訓練任務。
為了推進利用 Replay 學習巨集觀運營的研究,中科院的研究人員基於 SC2LE 構建了一個新的資料集 MSC。它目前是適用於星際爭霸 2 巨集觀運營的最大資料集,可用於各類任務,如建造順序預測和全域性狀態評估。MSC 基於 SC2LE 構建原因有三:1)SC2LE 包含最大的 Replay 資料集。2)SC2LE 受官方支援,且更新頻率高。3)SC2LE 中的 Replay 質量較高,格式更標準。研究人員定義處理 SC2LE 中 Replay 的標準步驟,如圖 1 所示。處理後的資料集包括精心設計的特徵向量、預定義的動作空間(action space)和每次比賽的最終結果。所有處理過的檔案可分為訓練集、驗證集和測試集。隨後,研究人員基於 MSC 訓練了基線模型,展示全域性狀態評估和建造順序預測的初始基線結果,二者是巨集觀運營的重要任務。為了方便其他任務的研究,研究人員還展示了 MSC 的一些資料,列出了適合它的細節任務。該研究的主要貢獻可歸納為以下兩點:
- a. 新資料集 MSC 用於星際爭霸 2 的巨集觀運營,包括標準預處理、解析和特徵提取過程。為方便評估和對比不同方法,資料集分為訓練集、驗證集和測試集。
- b. 為巨集觀運營的兩項重要任務全域性狀態評估和建造順序預測提出基線模型和初始基線結果。
巨集觀運營
在星際爭霸社群中,與單位控制有關的所有任務叫作微觀操作(micro-management),而巨集觀運營指玩家遵循的高階遊戲策略。全域性狀態評估是巨集觀運營的一項核心任務,聚焦於預測在當前狀態下的勝率(Erickson & Buro 2014;Stanescu 等人 2016;Ravari、Bakkes & Spronck 2016;Sanchez-Ruiz & Miranda 2017)。建造順序預測(Build order prediction)用於預測在當前狀態中下一步要訓練、建造或進行哪些研究(Hsieh & Sun 2008;Churchill & Buro 2011;Synnaeve、Bessiere & others 2011;Justesen & Risi 2017)。Churchill 和 Buro 2011 年使用基於目標的方法將樹搜尋應用到建造順序規劃中。Synnaeve、Bessiere 等 2011 年從 Replay 中訓練貝葉斯模型,而 Justesen 和 Risi 在 2017 年探索了 DNN 方法。開放的策略預測是建造順序預測的子集,旨在預測比賽初始階段的建造順序(Kostler & Gmeiner 2013;Blackford & Lamont 2014;Justesen & Risi 2017)。Dereszynski 等人 2011 年研究預測敵人的狀態,Cho、Kim 和 Cho 2013 年嘗試預測敵人的建造順序。
圖 2. 資料集中人族對人族比賽 replay 的 APM(每秒指令次數)與 MMR(天梯分數)密度圖。我們可以看到,APM 與 MMR 對於比賽的輸贏而言沒有太大的相關性。
論文:MSC: A Dataset for Macro-Management in StarCraft II
論文連結:https://arxiv.org/abs/1710.03131
巨集觀運營(Macro-management)是《星際爭霸》系列遊戲中,玩家需要掌握的重要能力,也是 AI 研究者們一直在探索的方向。近年來,人們提出了多種不同的資料集和方法。但這些資料集對於推動研究和業界探索而言有著諸多限制:1)一些資料集裡沒有標準的預處理、解析和特徵提取過程,也沒有預定義的訓練、驗證和測試集。2)某些資料集只是用於特定任務的巨集觀運營。3)一些資料集太小,或者沒有足夠的資料,無法適用於現代機器學習演算法(如深度神經網路)。
大部分此前的方法都是由不同特徵訓練的,它們由不同的測試集評估,相互之間難以進行直接比較。為了推動星際爭霸的巨集觀運營研究,我們在 SC2LE 平臺上推出了新資料集 MSC,其中包含仔細設計的特徵向量、預定義的高階指令和每種匹配的最終結果。我們還將 MSC 分成訓練、驗證和測試集以便於評估和比較。除了資料集以外,我們還提出了基線模型(baseline model),並展示了全域性狀態評估和建造指令預測的基線結果——這兩個任務也是巨集觀運營的核心。為了研究星際爭霸 2 的巨集觀運營,我們也研究與分析了一系列後續任務(downstream tasks)。