多圖詳解 DeepMind 的超人類水準星際爭霸 AI 「AlphaStar」
雷鋒網 AI 科技評論按:英國當地時間 1?月 24?日,DeepMind?在倫敦組織線上直播,向全世界的游戲 AI?研究人員以及游戲愛好者們介紹自己的?AI?研發最新進展。
參加直播的 DeepMind?研究人員是?DeepMind?團隊聯合研發負責人?Oriol Vinyals?和?David Silver,后者也是?AlphaGo?項目的核心開發人員,我們都比較熟悉了。
左 Oriol Vinyals?,右 David Silver
DeepMind?的星際爭霸 2? AI?名為「AlphaStar」,這個命名方式正如之前的圍棋 AI「AlphaGo」以及蛋白質折疊計算 AI「AlphaFold」。
據 DeepMind?介紹,AlphaStar 使用神族(Protoss),在 2018?年 12?月 10?日以 5:0?戰績打敗了 Team?Liquid?的職業星際 2?選手?TLO ,然后經過更多訓練后,在 12?月 19?日 再次以 5:0?的完勝戰績打敗了來自同一個戰隊的職業選手 MaNa 。直播現場中回放、解說了其中數場比賽的 replay。
AlphaStar?在比賽中展現出了職業選手般成熟的比賽策略,以及超越職業選手水平的微操,甚至可以同時在地圖上多個地點同時展開戰斗(人類選手在這種狀況下就會吃不少虧)。
職業選手式的建筑布局,并快速派出偵查兵探索地圖以及對方基地
AlphaStar?會建造大量工人,快速建立資源優勢(超過人類職業選手的 16?個或 18?個的上限)
AlphaStar?的追獵者從三面圍攻人類選手 MaNa?的不朽者
AlphaStar?控制的兩個追獵者黑血極限逃生
在直播中?DeepMind?還再次讓 AlphaStar?與?MaNa?現場比賽。 這次比賽中的 AlphaStar?是一個重新訓練的新版本,它需要自己控制視角(而不像前面的版本可以直接讀取地圖上所有的可見內容)。這次 MaNa?終于取得了勝利。
AlphaStar?的詳細介紹請見下文。
星際爭霸?AI 背景
自以圍棋為代表的完全信息博弈/游戲被?AlphaGo?攻克、取得超出人類頂尖棋手的水平之后,研究人員們立刻向非完全信息博弈發起更加猛烈的進攻。典型的非完全信息博弈比如德州撲克,玩家需要在看不到對手的牌面的狀況下做出決策,CMU?的德撲?AI?論文也拿到了?NIPS 2017?的最佳論文獎。
而另一方面,深度學習的研究人員們也希望借助深度強化學習的力量探索更復雜的博弈/游戲。德州撲克顯然不夠難, 德撲 AI 之父表示其中沒有用到任何深度學習 ;再看圍棋,雖然圍棋中可能出現的局面的總數目是一個天文數字,但具體到每一回合中,比賽的雙方只需要選擇在棋盤的某一處落一顆棋子即可。相比之下,現代的競技類電子游戲的行動空間就復雜得多,比賽可以有 2?個以上的玩家參與、每個玩家可以同步做出行動、每個行動可以有不同的時間長短、位移和移動都是空間連續的、攻擊防御技能物品等還有很多的變化。
隨著當年的狂熱玩家們如今成為計算機科學領域的研究人員,電子競技游戲?AI?研發也快速分出了兩大主要陣營:星際爭霸/星際爭霸2,以及?DOTA2。兩者都有廣泛的群眾基礎,玩家們對游戲?AI?喜聞樂見,也有許多高水平的職業選手可供?AI?切磋學習。
雖然都是?RTS (即時戰略)游戲,雖然都需要在收集資源和打架之間找到平衡,但星際和?DOTA2?也有不少區別。星際中需要控制多種不同類型的單位,這些單位有各自的運動和攻擊特點,而?DOTA2?中可以從頭到尾只控制同一個英雄;星際中每一方只有一位玩家,而?DOTA2?中每一方有五位玩家。由此帶來的游戲策略和執行上的區別也讓星際?AI?研究和?DOTA2?AI?研究走出了不同的發展路線。
截至本次比賽前,星際?AI?研究領域和?DOTA2?AI?研究領域已經見識過的最強?AI?分別來自三星和?OpenAI
-
2018?年 AIIDE 星際爭霸 AI 挑戰賽共有來自全世界的 27 支團隊帶著自己的?AI 參賽,獲得冠軍的人族?bot?「SAIDA」來自三星。這個?bot?的核心特點是有一個穩定的游戲策略,它會首先考慮防守,然后在游戲中期伺機一波帶走對方。這種策略是從韓國的職業星際選手們身上學到的。這個?bot?去年時還不能擊敗職業選手。
-
星際爭霸?AI?普遍大量使用固定策略和手工規則,三星的 bot 應用了一些機器學習技術來幫助控制單位、探索地圖,開發團隊也在嘗試更多地應用機器學習技術。參加了同一個比賽的?Facebook?的蟲族 bot「CherryPi」大量應用了機器學習技術,但只獲得第二名。(更多信息可以閱讀雷鋒網 AI 科技評論? 報道 ?)
-
2018?年 8?月,OpenAI?組織線下比賽測試自己的?DOTA2?AI?系統「OpenAI Five」,前一次在有較多比賽限制的情況下對陣歐美前職業選手組成的團隊取得了勝利,然后在稍后的?DOTA2?國際邀請賽 Ti8?中對陣中國(前)職業選手組成的團隊時失敗。這之后?OpenAI?在持續不斷地進行改進,并聲稱后來的某個版本已經大幅超越此前線下比賽中的版本。
-
「OpenAI Five」是一套精心設計的深度強化學習系統,由 5?個獨立的神經網絡分別控制 5?個英雄。研究人員們使用了許多技巧引導智能體學習?DOTA2?中的各種行為,也設計了超參數幫助網絡學習團隊協作;但比賽過程中智能體之間沒有直接的溝通。(更多信息可以閱讀此前 報道 )
AlphaStar 技術介紹
在活動預告文中,我們盤點了 此前 DeepMind?在星際 2?AI?研究中的動向 。作為以深度強化學習著稱的人工智能企業,如今我們見到的 DeepMind?的星際 2?AI「AlphaStar」自然毫不意外地是一套基于深度強化學習的系統。
18?年 12?月的比賽時,觀戰室中的? Oriol Vinyals?和 David Silver(以及你們看出來中間是誰了嗎?)
AlphaStar?模型設計
AlphaStar 是一個把游戲看作長序列建模學習任務的強化學習智能體,它的模型設計也就以長序列建模為能力為核心。模型從游戲接口接收的數據是單位列表和這些單位的屬性,經過神經網絡計算后輸出在游戲中執行的指令。這個神經網絡的基礎是?Transformer?網絡,并且結合了一個深度?LSTM?網絡核心、一個帶有指針網絡的自動回歸策略頭,以及一個中心化的評分基準。這樣的網絡架構是?DeepMind?對復雜序列建模任務的最新思考結果,他們也相信這樣的先進模型可以在其他需要長序列建模、有很大行動空間的機器學習任務(比如機器翻譯、語言建模和視覺表示)中同樣發揮出優秀的表現。
網絡設計的相關論文參見:
-
Transformer?網絡 -? https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf
-
深度?LSTM?網絡 -? https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.676.4320&rep=rep1&type=pdf
-
自動回歸策略頭 -? https://arxiv.org/abs/1708.04782
-
指針網絡 -? https://papers.nips.cc/paper/5866-pointer-networks.pdf
-
中心化評分基準 -? https://www.cs.ox.ac.uk/people/shimon.whiteson/pubs/foersteraaai18.pdf
AlphaStar?訓練策略
AlphaStar?的初始訓練策略與早期的?AlphaGo?相同,DeepMind?的研究人員首先用人類比賽的比賽?replay?對模型進行監督學習訓練,以模仿學習的思路讓模型快速學習到高水平玩家們在星際爭霸天梯中使用的基礎策略和微操。這時候的?AlphaStar?就能夠以 95%?的勝率打敗星際爭霸 2 內置的「精英」級別的?AI 了。(作為對比,OpenAI?的?DOTA2?AI?是完全從零開始的強化學習,初始階段花費了很多時間在無意義的游戲操作上)
下面當然就是強化學習的自我對弈、繼續提升水準的階段了,而這也是和?AlphaGo?的訓練策略有所不同的地方。在之前的報道中我們介紹過,AlphaGo?自我對弈階段的棋局是由所有之前的迭代過程中出現的表現最好的一個版本生成的,也就是說每一時刻都存在一個「最好的版本」,也不斷尋找比它還好要的版本并進行替換。但對于星際爭霸,DeepMind?的研究人員們認為不同的優秀策略之間可能是相互克制的,沒有哪一個策略是可以完勝其它所有策略的。所以這次他們的做法是分別更新、記錄許多個不同版本的網絡(合稱為 AlphaStar league)。
如上圖,AlphaStar?在人類數據上初始訓練后,繼續進行多輪 AlphaStar league?中的自我對戰,而每輪都會在之前的數個比較強的版本基礎上進行分叉;分叉前的版本會被固定參數保留下來,一直參與后續的多輪自我對戰;不同的版本也可能會被人工安排不同的對戰策略和學習目標。這樣的做法就在不斷提升網絡水平、提高對戰難度的同時也保留了足夠的多樣性。根據每輪自我對戰的結果,每個的網絡參數都會進行更新;這種做法來自于群體強化學習的思想,保證了持續穩定的表現提升,而且很新的版本也不會「忘記」如何擊敗很早的版本。
群體自我對弈的過程中可以產生許多不同的策略。有一些策略僅僅是對早期策略的細微完善,也有一些策略會含有全新的建造順序、單位組合、微操模式;能夠穩定擊敗早期策略的策略也開始出現。比如在?AlphaStar league?自我對戰的早期,快速?rush?的策略有較高的勝率;但隨著訓練過程持續,其它的策略開始展現出更高的勝率,比如用更多的工人快速擴大基地,獲取更多的資源后建立經濟優勢;或者用幾個兵去對方的基地騷擾,獲得發展速度的優勢。這種策略的更替演化也和人類選手們數年中的摸索之路非常類似。如下圖,隨著總訓練時間越來越長,智能體平均使用的單位數目也越來越多。
許多輪自我對戰結束后,研究人員們會以?AlphaStar league?中的納什分布采樣出一個版本來,作為訓練結束后最終得到的智能體。這樣的做法可以得到已經發現的多種策略的綜合最優解。
根據?DeepMind?介紹,擊敗?TLO(蟲族選手操作神族,并不是他最佳水平)和?MaNa?的?AlphaStar?版本分別來自第 9?天和第 14?天的自我對戰(如下圖),實際上在觀賽中選手和游戲解說也都注意到了兩次比賽中 AlphaStar?水平的變化。
保證策略多樣性的努力
DeepMind?在技術介紹博客中提到,為了讓?AlphaStar league?中有盡量高的多樣性,他們實際上有意識地為不同的智能體設置了不同的學習目標(這也符合我們的常識,簡單的隨機擾動帶來的多樣性變化是非常有限的)。有的智能體要專門針對擊敗某個特定的智能體進行學習,或者為另一些智能體設定額外的內部動機,比如具體地通過建造某種單位來擊敗所有使用某類策略的智能體。這些目標會在訓練過程中進行一些調節。DeepMind?可視化展示了最終形成的多種不同策略分布,如下圖。
在 AlphaStar league?的自我對戰中,每個智能體的網絡權重都會根據強化學習算法更新,優化各自不同的學習目標。權重更新規則來自于一種新的、高效的策略離線 actor-critic?算法,?其中含有經驗重放、自我模仿學習和策略蒸餾的思想。
AlphaStar?算力需求
為了支持大批不同版本?AlphaStar?智能體的對戰與更新,DeepMind?構建了一個大規模可拓展的分布式訓練環境,其中使用了最新的谷歌?TPUv3,這個訓練環境可以支持成群的 AlphaStar?智能體實例同時運行;星際 2?游戲主體也有數千個實例同步運行。AlphaStar league?的自我對戰訓練過程用了 14?天,每個?AlphaStar?智能體使用了 16?個 TPU,最終相當于每個智能體都有長達 200?年的游戲時間。訓練結束后的模型在單塊消費級?GPU?上就可以運行。
AlphaStar?的游戲表現
由于?AlphaStar?首先從人類玩家數據進行模仿學習,以及神經網絡有一定的計算延時,它的操作頻率其實比人類選手還要低一些。MaNa?的?APM?達到了平均 390,而 AlphaStar?卻只有平均 280?左右而已。AlphaStar?的計算延時平均為 350?毫秒(從觀察到做出行動)。(相比之下,以往基于固定策略和手工規則的星際?AI?會保持上千的?APM)
DeepMind?也根據?AlphaStar?和?MaNa?的一局比賽制作了智能體視角和內部信息的可視化示意圖如下:其中展示了神經網絡接收到的原始數據(左下角小圖中藍色點),神經網絡內部的激活狀況(中下方左側小圖)、智能體考慮點擊和建造建筑的地圖區域示意(中下方右側小圖,這也可以理解為智能體的注意力關注的區域)、智能體的操作輸出激活情況(右下角小圖)以及勝率預測。圖中同步也展示了?MaNa?的視角,游戲中?AlphaStar?是看不到對手的視角的。
在文章開頭我們提到,兩次以 5:0?擊敗?TLO?和?MaNa?的 AlphaStar?是無需控制視角的,它可以直接讀取地圖上所有的可見內容。相比之下,人類選手顯然需要手動把視角切換到地圖的不同位置才能看到部分信息。從這個角度說,AlphaStar?有欺負人類選手的嫌疑。DeepMind?也針對這一點做了分析,他們的數據統計認為?AlphaStar?切換關注區域的速度大約是每分鐘 30?次,這個次數和人類職業選手相當。
當然了,最好的辦法還是做實驗驗證。所以?DeepMind?重新訓練了需要自己控制視角的?AlphaStar ,也就是在直播中?MaNa?擊敗的那個版本(不過這個版本只訓練了 7?天,而不是原始版本的 14?天)。這個版本的?AlphaStar?所能獲取的信息僅限于視角包含的部分,指令也一樣。DeepMind?提供的訓練圖表也顯示出這帶來了一定的表現下降(雖然仍然能較快地追上)。不過?DeepMind?認為表現下降的幅度非常輕微,也體現出了?AlphaStar?的強大表現主要還是要歸功于學習到了有效的游戲策略和強力的微操。
DeepMind?的展望
雖然這次的模型用在了星際爭霸 2? AI?上,但?DeepMind?認為這是個足夠復雜、具有代表性的任務,用來解決這個任務的技術也可以用在更多其他的復雜問題上。比如這個為長序列建模設計的網絡架構可以用在更多不完全信息的長序列建模任務中,比如天氣預測、氣候建模、語言理解等等。他們也會繼續開發?AlphaStar?項目,并利用其中的技術收獲改善更多的任務。
另一方面,DeepMind?認為此次設計的訓練策略也是通往安全、魯棒的?AI?的一條新路徑。現階段的?AI?系統的一大難題就是難以預測系統會在多少種不同的情況下發生失效,星際爭霸的人類職業選手們取勝?AI?也往往就是依靠尋找并攻擊?AI?的弱點和錯誤。AlphaStar?中提出的群體訓練策略就是一種可靠得多、出錯的可能性明顯減小的訓練策略。DeepMind?的研究人員們認為這種方法還有很多潛力可以挖掘,也許未來它就會成為安全因素非常關鍵的問題中的重要一環。而最終,DeepMind 希望可以創建出真正智慧的系統,幫助人類解決一些全球最重要、最基礎的科學難題。
關于技術細節的更細致全面的介紹,DeepMind?也正在準備一篇論文,并計劃投稿到期刊讓同行評議。我們可以共同期待正式論文的發出。
部分資料參考?DeepMind?技術博客? https://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/ 。雷鋒網 (公眾號:雷鋒網) AI 科技評論報道
。