體量大十倍,Facebook開源史上最大星際爭霸AI研究數據集

 2017-08-09 12:32:03.0

參與:李澤南、黃小天

在 AlphaGo 征服圍棋之後,即時戰略遊戲《星際爭霸》已經成為各家科技巨頭與大學的下一個目標。 Facebook 在這一方面的研究似乎正處於領先地位。 7 月初,田淵棟等人開源了基於星際爭霸的人工智能遊戲平台(參見:Facebook 開源遊戲平台 ELF,簡化版《星際爭霸》完美測試人工智能)。最近,Facebook 又發布了一個大體量星際爭霸錄像數據集 STARDATA,旨在為廣大研究者提供方便。

數據集鏈接: https://github.com/TorchCraft/StarData

即時戰略遊戲(RTS)因為複雜的遊戲環境、戰爭迷霧的限制、以及大量專業玩家帶來的 Replay 錄像,正成為人工智能研究的熱點方向。這些遊戲因為其複雜性與擬真性,在訓練強化學習等算法的任務中的結果要遠遠好於棋盤類游戲。另一方面,由於近期基於大數據集的深度學習方法興起,人們開始意識到,此類方法的性能提升需要依賴於大量數據的訓練。

雖然星際爭霸可以通過直接開打的方式來訓練人工智能,但由於遊戲中的動態變化種類繁多,這種方法的效率很低,最有效的方式是利用人類玩家生成的遊戲 Replay。星際爭霸的Replay 是一種基於玩家指令的遊戲錄像文件——通過存儲指令而非畫面的方式,遊戲錄像的文件尺寸被壓縮到了很小的尺寸,另一方面,這也為人工智能的訓練帶來了方便——遊戲的信息可以在Replay 文件中直接提取出來。

但仍有幾個方面的問題讓機器學習難以利用這些遊戲錄像。首先,星際爭霸Replay 的重建速度有限,這意味著訓練速度會受到限制;由於星際爭霸遊戲的版本更迭,不同版本遊戲的Replay 與遊戲無法互相兼容,這限制了可用數據的數量;最後,遊戲錄像的重建只能在Windows 系統中才能保持穩定。基於以上問題,Facebook 的研究人員認為提取遊戲錄像中的有效信息並將其以數據集的形式存儲是最好的方式。

一個易於訓練模型的數據集必須滿足以下要求:

普適性:存儲在數據集中的數據可用於學習不同層面的遊戲策略。所以,該數據集中包含的數據應該盡可能地包含最多的遊戲情況。

多樣性:該數據集必須包含多種遊戲場景、對戰形式、地圖和玩家策略等。

有效性:該數據集需要能夠代表星際爭霸玩家的正常水平,對戰兩方都不能消極比賽。

易接入性:用戶應該可以輕鬆使用該數據集代替遊戲引擎來使用遊戲中的狀態數據。

可操作性:數據集應該兼容各種平台與系統。

考慮到以上要求,Facebook 的研究人員構建了用於星際爭霸人工智能研究的新一代數據集 STARDATA。它相比於此前類似的數據集體量大上十倍,其中包含了大量不同的對戰形式、統計數據、地圖等等。

所有的回放都要在星際爭霸和 BWAPI 檢查其可玩性。我們使用額外的基於規則的腳本檢查執行損壞以滿足有效性需求。數據集以可被 TorchCraft(Synnaeve et al. 2016)讀取的格式存儲,TorchCraft 是一個用作科學計算框架和星際爭霸之間交互接口的庫。一個人可精確使用相同的代碼從數據集中讀取數據並控制星級爭霸。這同時滿足了易接入性性和可移植性的需求,因為 TorchCraft 在 C++、Lua 和 Python 中有一個客戶端,並且易於編譯任何操作系統。

對於數據集中的每一個 replay,完整的遊戲狀態每 3 幀存儲一次(每秒約 8 幀)。這意味著一個人可以使用數據集學習遊戲策略從微觀到宏觀的不同方面,並且滿足了普適性需求。當前論文的結構如下。首先,我們概述現有的數據集,它們的主要特徵和局限。我們進一步細節性地描述新數據集,它是如何被構建和驗證的。接著我們展示一些與新數據集相關的統計數據,並提供一些可在其中發揮作用的實例場景。我們也在數據集中發生戰爭的地方為單元微觀管理任務提供元數據。論文的最後我們就數據集的進一步場景和用例做了討論。


表 1: 星際爭霸 AI 數據集收集比賽的來源。 GG=GosuGamers.net,TL=TeamLiquid.net,IC=ICCup.com,YG=ygosu.com,BR=bwreplays.com 。


表 2: 數據集中不同類型比賽的遊戲數量。 P = 神族,T = 人族,Z = 虫族。


表 3: STARDATA 中最常見的地圖。


圖 2: 遊戲時間長度的密度圖,以分鐘為單位。持續時間超過 60 分鐘的幾個異常值未顯示。

如圖所示,遊戲時長似乎遵循對數正態分佈形狀,大多數遊戲持續時間為 10 到 20 分鐘,產生 40 到 300 個單元。對於時間超過 60 分鐘,單元超過 1000 個的遊戲長尾不予顯示。我們從這些密度圖中觀察到幾個有趣現象:(1)大多數 ZvZ 比賽傾向於很快結束。 (2)TvT 和 PvT 遊戲通常會持續很久。 (3)有虫族參與的遊戲傾向於以極少或者大量單位結束。我們觀察到一個趨向於 0 的非常斜交的分佈,但是也帶有一個胖尾(fat tail)。 (4)神族玩家製造了最少數量的單位,尤其是在遊戲後期中。

論文:STARDATA: A StarCraft AI Research Dataset


論文鏈接: https://arxiv.org/abs/1708.02139

摘要:我們發布了一個包含 65646 個星際爭霸 replay 的數據集,其中有 15.35 億幀和 4.96 億玩家動作。我們提供完整的遊戲狀態數據以及可在星際爭霸中觀看的原始 replay。遊戲狀態數據每三幀記錄一次,以確保對更廣泛的機器學習任務的適宜性,比如​​策略分類、反轉強化學習、模仿學習、前向建模、部分信息提取等。我們使用 TorchCraft 提取和存儲數據,這為 replay 和遊戲的直接讀取標準化了數據格式。此外,數據可被用在不同的操作系統和平台上。數據集僅包含有效、無損壞的 replay,其質量和多樣性通過一些啟發法來確保。我們通過不同的統計數據說明數據的多樣性,並提供了已從數據集中受益的任務實例。

文章來源:機器之心