非死book 開源史上最大星際爭霸 AI 研究數據集
在 AlphaGo 征服圍棋之后,即時戰略游戲《星際爭霸》已經成為各家科技巨頭與大學的下一個目標。非死book 在這一方面的研究似乎正處于領先地位。7 月初,田淵棟等人開源了基于星際爭霸的人工智能游戲平臺(參見: 非死book 開源游戲平臺 ELF,簡化版《星際爭霸》完美測試人工智能 )。最近,非死book 又發布了一個大體量星際爭霸錄像數據集 STARDATA ,旨在為廣大研究者提供方便。
即時戰略游戲(RTS)因為復雜的游戲環境、戰爭迷霧的限制、以及大量專業玩家帶來的 Replay 錄像,正成為人工智能研究的熱點方向。這些游戲因為其復雜性與擬真性,在訓練強化學習等算法的任務中的結果要遠遠好于棋盤類游戲。另一方面,由于近期基于大數據集的深度學習方法興起,人們開始意識到,此類方法的性能提升需要依賴于大量數據的訓練。
雖然星際爭霸可以通過直接開打的方式來訓練人工智能,但由于游戲中的動態變化種類繁多,這種方法的效率很低,最有效的方式是利用人類玩家生成的游戲 Replay。星際爭霸的 Replay 是一種基于玩家指令的游戲錄像文件——通過存儲指令而非畫面的方式,游戲錄像的文件尺寸被壓縮到了很小的尺寸,另一方面,這也為人工智能的訓練帶來了方便——游戲的信息可以在 Replay 文件中直接提取出來。
但仍有幾個方面的問題讓機器學習難以利用這些游戲錄像。首先,星際爭霸 Replay 的重建速度有限,這意味著訓練速度會受到限制;由于星際爭霸游戲的版本更迭,不同版本游戲的 Replay 與游戲無法互相兼容,這限制了可用數據的數量;最后,游戲錄像的重建只能在 Windows 系統中才能保持穩定。基于以上問題,非死book 的研究人員認為提取游戲錄像中的有效信息并將其以數據集的形式存儲是最好的方式。
一個易于訓練模型的數據集必須滿足以下要求:
-
普適性:存儲在數據集中的數據可用于學習不同層面的游戲策略。所以,該數據集中包含的數據應該盡可能地包含最多的游戲情況。
-
多樣性:該數據集必須包含多種游戲場景、對戰形式、地圖和玩家策略等。
-
有效性:該數據集需要能夠代表星際爭霸玩家的正常水平,對戰兩方都不能消極比賽。
-
易接入性:用戶應該可以輕松使用該數據集代替游戲引擎來使用游戲中的狀態數據。
-
可操作性:數據集應該兼容各種平臺與系統。
考慮到以上要求,非死book 的研究人員構建了用于星際爭霸人工智能研究的新一代數據集 STARDATA。它相比于此前類似的數據集體量大上十倍,其中包含了大量不同的對戰形式、統計數據、地圖等等。
表 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 分鐘的幾個異常值未顯示。
于時間超過 60 分鐘,單元超過 1000 個的游戲長尾不予顯示。我們從這些密度圖中觀察到幾個有趣現象:(1)大多數 ZvZ 比賽傾向于很快結束。(2)TvT 和 PvT 游戲通常會持續很久。(3)有蟲族參與的游戲傾向于以極少或者大量單位結束。我們觀察到一個趨向于 0 的非常斜交的分布,但是也帶有一個胖尾(fat tail)。(4)神族玩家制造了最少數量的單位,尤其是在游戲后期中。
論文: STARDATA: A StarCraft AI Research Dataset
論文摘要:我們發布了一個包含 65646 個星際爭霸 replay 的數據集,其中有 15.35 億幀和 4.96 億玩家動作。我們提供完整的游戲狀態數據以及可在星際爭霸中觀看的原始 replay。游戲狀態數據每三幀記錄一次,以確保對更廣泛的機器學習任務的適宜性,比如策略分類、反轉強化學習、模仿學習、前向建模、部分信息提取等。我們使用 TorchCraft 提取和存儲數據,這為 replay 和游戲的直接讀取標準化了數據格式。此外,數據可被用在不同的操作系統和平臺上。數據集僅包含有效、無損壞的 replay,其質量和多樣性通過一些啟發法來確保。我們通過不同的統計數據說明數據的多樣性,并提供了已從數據集中受益的任務實例。
來源: 機器之心