DeforGAN:用GAN實現星際爭霸開全圖外掛!

選自arXiv

作者:Yonghyun Jeong等

機器之心編譯

參與:李詩萌、Geek AI

對於廣大星際爭霸迷來說,地圖全開作弊程式碼「Black sheep wall」應該是再熟悉不過了!如何根據現有狀態預測未知資訊是博弈過程中舉足輕重的一環。日前,韓國三星公司的研究人員在星際爭霸遊戲中,將預測戰爭迷霧背後的作戰單位資訊建模為了一個部分可觀察馬爾科夫決策過程,並使用基於 GAN 的方法實現了當前效能最佳的戰爭迷霧去霧演算法。

DeforGAN:用GAN實現星際爭霸開全圖外掛!

論文地址:https://arxiv。org/abs/2003。01927

專案地址:https://github。com/TeamSAIDA/DefogGAN

本文提出了 DefogGAN,這是一種推斷即時戰略(Real-Time Strategy,RTS)遊戲中戰爭迷霧後的隱藏資訊狀態的生成式方法。給定一個部分可觀測的狀態,DefogGAN 可以將遊戲的去霧影象作為預測資訊生成。這樣的資訊可以創造戰略智慧體。DefogGAN 是一種條件 GAN 的變體,它使用了金字塔重建損失,從而在多個特徵解析度尺度上進行最佳化。本文使用一個大型專業的星際爭霸錄影資料集驗證了 DefogGAN。結果表明 DefogGAN 可以預測敵方建築物和作戰單位,準確率與職業玩家相當,並且比當前最佳的去霧模型的效能更好。

AlphaGo 的成功為人工智慧在遊戲中的應用(Game AI)帶來了極大的關注。透過深度強化學習訓練的智慧體可以在國際象棋、圍棋和 Atari 等經典遊戲中輕而易舉地勝過人類。隨著任務環境越來越複雜,實時戰略遊戲(RTS)成為了一種評估最先進的學習演算法的方式。如今,Game AI 為機器學習帶來了全新的機遇和挑戰。開發 Game AI 的好處十分廣泛,不僅限於遊戲應用中。在科學中應用智慧體(例如,在有機化學領域中預測的蛋白質摺疊)和企業的商業服務(例如,天機器人)的探索,使 Game AI 正走向一個新的時代。

在本文中,作者提出的 DefogGAN 採用生成式方方法補全因戰爭迷霧造成的顯示給玩家的不完全資訊。本文使用星際爭霸作為實驗場景——這是一款 RTS 遊戲,遊戲中有三個均衡的種族供玩家選擇,玩家要建立完全不同的遊戲風格和戰略。在發行逾二十年後,星際爭霸依然是一款非常受歡迎的電子競技遊戲。為了實現讓 Game AI 超越高水平人類玩家的艱鉅目標,本文作者使用超過 30,000 場的職業玩家的遊戲錄影訓練了 DefogGAN。在星際爭霸中,這樣的目標是很難實現的。因為星際爭霸長期以來一直廣受歡迎,玩家們開發出了各種各樣的成熟的遊戲策略,除此之外,在電競現場和暴雪戰網(Battle。net)中玩家們還廣泛使用了微操技術。

DeforGAN:用GAN實現星際爭霸開全圖外掛!

圖 1:DefogGAN 預測值和真實值的比較。友方和敵方單位在地圖(黑色)上分別用綠色和紅色表示。DefogGAN 預測出了觀察不到的敵方單位。

戰爭迷霧指在某個沒有友方單位的區域中,不能獲得視野和資訊,這樣的區域包括所有之前探索過但目前無人值守的區域。部分可觀察馬爾科夫決策過程(Partially Observable Markov Decision Process,POMDP)最適合描述戰爭迷霧問題。一般而言,POMDP 為真實世界中大多數有大量未觀察到的變數的問題提供了一個實用的表達方式。對 Game AI 來說,解決部分可觀察問題是提升效能的關鍵所在。事實上,許多現有的設計智慧 Game AI 的方法都會遇到部分可觀察問題。最近,生成模型被用來降低部分可觀察問題的不確定性。利用生成模型的預測結果,智慧體的效能得到了提升。然而,生成方法無法完全與頂尖的人類職業玩家的高水平偵察技術匹敵。

星際爭霸為研究與 Game AI 相關的複雜 POMDP 問題提供了一個絕佳的平臺。本文作者利用生成對抗網路,建立了 DefogGAN,它可以根據生成的逼真資訊準確預測隱藏在戰爭迷霧中的對手的狀態。根據經驗,本文作者發現,GAN 比變分自編碼器(Variational Autoencoder,VAE)生成的影象更逼真。為了生成去除戰爭迷霧的遊戲狀態,本文作者將原始的 GAN 生成器修改為編碼器-解碼器網路。

從原理上講,DefogGAN 是條件 GAN 的變體。透過使用跳躍連線,DefogGAN 生成器利用根據編碼器-解碼器結構學習到的殘差進行訓練。除了 GAN 的對抗損失,本文作者還設定了有霧和去霧遊戲狀態間的重建損失,來強調單位位置和數量的迴歸。本文的貢獻如下:

開發了 DefogGAN,可以解析有戰爭迷霧的遊戲狀態,得到有用的獲勝資訊。DefogGAN 是最早的基於 GAN 處理星際爭霸中的戰爭迷霧問題的方法;

利用跳躍連線進行殘差學習,在不引入任何迴圈結構的情況下,DefogGAN 以前饋的方式包含過去的資訊(序列),更適用於實時使用的情況;

本文作者在模型簡化實驗和其它設定(如針對提取出的遊戲片段和當前最先進的去霧策略進行測試)中,對 DefogGAN 進行了實證驗證。

本文涉及的資料集、原始碼和預訓練網路對公眾開放,可以線上訪問。

在 t 時刻,DefogGAN 根據部分可觀察(有霧)狀態,生成了完全的觀察(去霧)狀態。在星際爭霸中,完全觀察狀態包括在給定時間下,所有友方和敵方單元的確切位置。圖 2 展示了 DefogGAN 的架構。本文作者對當前的部分可觀察狀態的輸入計算得到的特徵圖進行求和池化。在過去的觀測結果的特徵圖進入生成器前,要和當前狀態累積並拼接。本文作者用預測的可觀察狀態和實際的完全觀察狀態間的重建損失和判別器的對抗損失訓練生成器。

DeforGAN:用GAN實現星際爭霸開全圖外掛!

圖 2:DefogGAN 的架構概覽。

DefogGAN 的生成器採用了 VGG 網路的風格。卷積核的大小固定為 3*3。當特徵圖大小減少一半時,卷積核的數量增加一倍。DefogGAN 沒有使用任何空間池化層或全連線層,而是用了卷積層來保留從輸入到輸出的空間資訊。

DefogGAN 的生成器包括編碼器、解碼器和通道組合層。編碼器採用 32*32*82 的輸入,利用卷積神經網路(Convolutional Neural Networks,CNN)提取出隱藏在戰爭迷霧中的語義特徵。每個卷積層都用了批次歸一化和修正線性單元(ReLU)來實現非線性轉換。

解碼器利用從語義上提取出的編碼器特徵生成預測資料。解碼過程將資料重構為高維資料,再利用轉置卷積運算完成推斷。解碼器產生的輸出尺寸與輸入相同。考慮到因初始通道尺寸大導致的學習速度大,我們沒有使用像 ResNet 那麼多的卷積層。

DeforGAN:用GAN實現星際爭霸開全圖外掛!

表 1:x¯_t 和 x˜_t 的混淆矩陣。使用到的測試資料超過 10,000 幀,表中為平均值。

表 1 總結了 DefogGAN 輸入-輸出的統計資訊,包括部分可觀察狀態 x¯_t、累積的部分可觀察狀態 x˜_t,和真實值 y_t。平均而言,在部分可觀察狀態中可以看到 54% 的單位,在累積的部分可觀察狀態中可以看到 83% 的單位。注意,累積的部分可觀察狀態造成了第一型別錯誤(假陽性),因為累積狀態包含此刻已經不再符合實際情況的、移動的單元之前的位置。在給定這樣的輸出空間時,去霧問題需要在可能的 67,584(32*32*66)個空間中平均選出 141 個空間。

DeforGAN:用GAN實現星際爭霸開全圖外掛!

圖 4:預測結果的視覺化。最左側是累積的部分可觀察狀態(x˜_t)。第二列是部分可觀察狀態 x¯_t。第三列是 CED(當前最佳去霧器)的預測結果。4-7 列分別是 DCGAN、BEGAN、WGAN-GP 和 cWGAN 的生成結果。DefogGAN 的結果呈現在第八列,最後一列是真實值。行表示用於評估的錄影。

DeforGAN:用GAN實現星際爭霸開全圖外掛!

表 4:DefogGAN 和其它模型的準確率比較結果。

圖 4 中的視覺化結果可以有效地解釋 DefogGAN 的預測效能。隨機選擇四組錄影,給出每個模型預測的、去霧後的完全觀察狀態。例如,在錄影 4 中,在部分可觀察狀態 x¯_t 的右下角看不到紅色的敵方單位。同時,在累積的部分可觀察狀態 x˜_t 中只能看到敵方單位的子集。同時使用觀察結果和累積觀察結果,DefogGAN 可以生成的完全可觀察狀態 y_t 看起來和真實值非常相似。CED 也生成相當可信的完整狀態,但 DefogGAN 生成了更準確的結果。WGAN-GP 在沒有重建損失的情況下也生成了可信的完整狀態,但有生成假陽性(低精度)結果的傾向。cWGAN(一種使用了重建損失的 WGAN-GP 變體)似乎降低了假陽性率,但 DefogGAN 的預測結果仍然更好。

TAG: DefogGAN觀察狀態星際爭霸遊戲