2018年星際爭霸AI挑戰賽中科院自動化所奪得季軍三星與FB獲冠亞軍
2018 年11 月13-17 日,AAAI 人工智能與交互式數字娛樂大會(AI for Interactive Digital Entertainment) 在阿爾伯塔大學舉辦。會上宣布了一年一度的星際爭霸AI 挑戰賽結果;這也是即時戰略(RTS)遊戲AI 比賽中最重要的比賽之一。
第八屆(2018年) AIIDE StarCraft AI Competition星際爭霸AI挑戰賽共有27支團隊參賽,包括知名機構如三星、中科院自動化所、Facebook等,知名高校如Stanford University,以及許多獨立參賽隊伍。挑戰賽使用12台計算機進行了大約2星期的比賽。經過每個bot平均大約2600局、每組對手平均大約100局,共34694局車輪戰1v1比賽之後,三星、Facebook以及中科院自動化研究所分別以95.91%、90.86%、87.11%的勝率榮獲前三名。
AIIDE StarCraft AI 挑戰賽自2011 年起已連續舉辦八屆,該競賽以星際爭霸1 為載體,以促進和評估用於實時戰略遊戲(RTS)的人工智能水平為目的。近年來,它更是成為博弈對抗、強化學習、模仿學習、多任務學習等乃至通用人工智能算法研究的主要平台和工具。由於包括對手不確定在內的信息不完全以及狀態動作空間巨大等問題,使得星際爭霸AI較圍棋AI更極具挑戰性,因此也吸引了包括DeepMind、Facebook、三星、斯坦福大學、中國科學院自動化研究所在內的國內外頂尖研究機構投入研究,相關核心技術可以廣泛應用在金融學、經濟學、生物學、政治學和軍事等領域。
前三名方案介紹
第三名 中科院自動化所,神族bot 「CSE」
在2017 年的星際爭霸AI 挑戰賽中,來自中科院自動化所的AI「CPAC」就以71% 的勝率獲得了第四名的成績。
今年的比賽中,由中科院自動化所智能係統與工程研究中心(C RISE)的神族bot「CSE」以87.11%的勝率獲得季軍。據了解,該中心為自動化所獨立建制的科研部門,致力於研究博弈對抗與自主進化智能研究,包括感知智能與認知決策智能。「CSE」的作者包括:張俊格、郭瑋、尹奇躍、詹東、王琦瑋、胡益琿、申生奇和黃凱奇。2017年的CPAC也是由該團隊主要人員開發。
「CSE」使用的種族是神族(Protoss),採用的是規則和學習聯合驅動的方式。比如何時採用隱刀偷襲吸納了人類玩家的經驗知識;在建造隊列為空的時候,「CSE」使用深度學習來預測待構建單位,等等。
第二名Facebook,虫族bot「CherryPi」
相比去年比賽中的69%勝率、第六名成績,來自Facebook的「CherryPi」今年有了大幅改進,取得了90.86%的勝率。「CherryPi」首先對於每個種族的對手有8~13種預先準備的不同的策略,利用比賽是多場1v1比賽的特點,它會根據與對手的過往比賽的勝率選擇最優的策略。除此之外,它還使用了一個預訓練的機器模型,根據當前比賽狀態估算不同可用策略的勝率,然後在某些狀況下切換為勝率最高的策略。這種切換的設計也產生了「混合策略」的效果。「CherryPi」中使用的機器學習技術還包括用於繞開障礙物、避戰與放風箏的尋路搜索算法、根據人類數據學習建築佈置、離線強化學習與在線學習等。「CherryPi」也是今年唯一一個使用了GPU計算能力的bot。
第一名三星,人族bot 「SAIDA」
我們都知道星際爭霸在韓國尤為盛行,自2002 年來,韓國職業星際選手陸續加入了職業戰隊,並由包括三星、SK Telecom 等知名公司贊助。「SAIDA」的成功很有可能來自其職業星際選手的助力。
根據介紹,「SAIDA」bot的核心是使用了一個穩定的遊戲策略,它會首先考慮防守,然後在遊戲中期伺機一波帶走對方。他們認為這種策略能應對絕大多數對手的策略,弱點也最少。
「SAIDA」也應用了一些AI 技術。在UAlbertaBot 的技術基礎上(下文還會提到),他們使用了一個有限狀態機來控制單位和建築。每個單位和建築在每種戰局下都有一個特定的狀態。並且使用了多個搜索算法來尋找敵方基地或者可以建造建築的區域。
在開發過程中「SAIDA」還探索了使用CNN 和編解碼器結構向人類選手學習進攻時機、在局部遊戲中用多智能體強化學習方法學習單位微操,不過這些技術並沒有添加到此次參加比賽的版本中。
詳細排名
包含了所有團隊的成績以及詳細比賽數據的官方成績表單如下圖。
比賽中其它有趣事項
- 作為比賽中勝率最高的bot,「SAIDA」面對人類選手的表現如何呢?三星團隊找業餘選手和職業選手進行了測試,「SAIDA」可以擊敗業餘選手,輸給了職業選手。不過他們認為差距並不大,擊敗職業選手的曙光就在前方。
- 主辦方補刀:既然已經出現了能擊敗人類的bot 了,那麼未來業餘選手也許再也沒有獲勝的機會了也說不定呢……
- 絕大多數參賽團隊都使用固定的種族,2016、2017、2018 三年中都僅僅有一支團隊可以「隨機種族」。顯然單一種族意味著放棄了廣度,可以把已經發現的有效的策略挖得更深,也就更容易取得好成績。2017、2018 年的隨機種族方案都來自加拿大紐芬蘭紀念大學的UAlbertaBot,今年他們僅以34.71% 的勝率位列19 位。基於 UAlbertaBot 然後獲得冠軍的三星「SAIDA」顯然只是藉用了技術,用以實現自己的策略。
- 「SAIDA」使用的策略顯然有極大的優勢。根據挑戰賽主辦方提供的勝率波動圖表,在一開始的比賽中「SAIDA」就取得了最高勝率的位置,並一直穩定保持到了最後。Facebook 的亞軍「CherryPi」與中科院自動化所的季軍「CSE」在剛開始時有交替波動,然後也很快穩定了下來。
圖中藍色線為「SAIDA」,黑色線為「CherryPi」,綠色線為「CSE」。
「CherryPi 」的GitHub地址:https://github.com/TorchCraft/TorchCraft
「Locutus」的GitHub地址:https://github.com/bmnielsen/Locutus/