超人類水準!多圖詳解星際爭霸2 AI AlphaStar
1月25日凌晨,DeepMind在倫敦組織線上直播,向全世界的遊戲AI研究人員以及遊戲愛好者們介紹自己的AI研發最新進展。
參加直播的DeepMind研究人員是 DeepMind團隊聯合研發負責人Oriol Vinyals和David Silver,後者也是AlphaGo專案的核心開發人員 ,我們都比較熟悉了。
左OriolVinyals ,右DavidSilver
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 論文也拿到了 NIPS2017 的最佳論文獎。
而另一方面,深度學習的研究人員們也希望藉助深度強化學習的力量探索更復雜的博弈/遊戲。德州撲克顯然不夠難,德撲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”大量應用了機器學習技術,但只獲得第二名。
2018 年8 月,OpenAI 組織線下比賽測試自己的 DOTA2 AI 系統“OpenAIFive”,前一次在有較多比賽限制的情況下對陣歐美前職業選手組成的團隊取得了勝利,然後在稍後的 DOTA2 國際邀請賽Ti8 中對陣中國(前)職業選手組成的團隊時失敗。這之後 OpenAI 在持續不斷地進行改進,並聲稱後來的某個版本已經大幅超越此前線下比賽中的版本。
“OpenAIFive”是一套精心設計的深度強化學習系統,由5 個獨立的神經網路分別控制5 個英雄。研究人員們使用了許多技巧引導智慧體學習 DOTA2 中的各種行為,也設計了超引數幫助網路學習團隊協作;但比賽過程中智慧體之間沒有直接的溝通。(更多資訊可以閱讀此前 報道)
AlphaStar技術介紹
在活動預告文中,我們盤點了此前DeepMind 在星際2 AI 研究中的動向。作為以深度強化學習著稱的人工智慧企業,如今我們見到的DeepMind 的星際2 AI“AlphaStar”自然毫不意外地是 一套基於深度強化學習的系統。
18 年12 月的比賽時,觀戰室中的 OriolVinyals 和DavidSilver(以及你們看出來中間是誰了嗎?)
AlphaStar 模型設計
AlphaStar是一個把遊戲看作長序列建模學習任務的強化學習智慧體,它的模型設計也就以長序列建模為能力為核心。模型從遊戲介面接收的資料是單位列表和這些單位的屬性,經過神經網路計算後輸出在遊戲中執行的指令。
這個神經網路的基礎是 Transformer 網路,並且結合了一個深度 LSTM 網路核心、一個帶有指標網路的自動迴歸策略頭,以及一箇中心化的評分基準。
這樣的網路架構是 DeepMind 對複雜序列建模任務的最新思考結果,他們也相信這樣的先進模型可以在其他需要長序列建模、有很大行動空間的機器學習任務(比如機器翻譯、語言建模和視覺表示)中同樣發揮出優秀的表現。
網路設計的相關論文參見:
Transformer 網路- https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf
深度 LSTM 網路- http://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 在人類資料上初始訓練後,繼續進行多輪AlphaStarleague 中的自我對戰,而每輪都會在之前的數個比較強的版本基礎上進行分叉;分叉前的版本會被固定引數保留下來,一直參與後續的多輪自我對戰;不同的版本也可能會被人工安排不同的對戰策略和學習目標。
這樣的做法就在不斷提升網路水平、提高對戰難度的同時也保留了足夠的多樣性。根據每輪自我對戰的結果,每個的網路引數都會進行更新;這種做法來自於群體強化學習的思想,保證了持續穩定的表現提升,而且很新的版本也不會“忘記”如何擊敗很早的版本。
群體自我對弈的過程中可以產生許多不同的策略。有一些策略僅僅是對早期策略的細微完善,也有一些策略會含有全新的建造順序、單位組合、微操模式;能夠穩定擊敗早期策略的策略也開始出現。
比如在 AlphaStarleague 自我對戰的早期,快速 rush 的策略有較高的勝率;但隨著訓練過程持續,其它的策略開始展現出更高的勝率,比如用更多的工人快速擴大基地,獲取更多的資源後建立經濟優勢;或者用幾個兵去對方的基地騷擾,獲得發展速度的優勢。這種策略的更替演化也和人類選手們數年中的摸索之路非常類似。
如下圖,隨著總訓練時間越來越長,智慧體平均使用的單位數目也越來越多。
許多輪自我對戰結束後,研究人員們會以 AlphaStarleague 中的納什分佈取樣出一個版本來,作為訓練結束後最終得到的智慧體。這樣的做法可以得到已經發現的多種策略的綜合最優解。
根據 DeepMind 介紹,擊敗 TLO(蟲族選手操作神族,並不是他最佳水平)和 MaNa 的 AlphaStar 版本分別來自第9 天和第14 天的自我對戰(如下圖),實際上在觀賽中選手和遊戲解說也都注意到了兩次比賽中AlphaStar 水平的變化。
保證策略多樣性的努力
DeepMind 在技術介紹部落格中提到,為了讓 AlphaStarleague 中有儘量高的多樣性,他們實際上有意識地為不同的智慧體設定了不同的學習目標(這也符合我們的常識,簡單的隨機擾動帶來的多樣性變化是非常有限的)。
有的智慧體要專門針對擊敗某個特定的智慧體進行學習,或者為另一些智慧體設定額外的內部動機,比如具體地通過建造某種單位來擊敗所有使用某類策略的智慧體。這些目標會在訓練過程中進行一些調節。
DeepMind 視覺化展示了最終形成的多種不同策略分佈,如下圖。
在AlphaStarleague 的自我對戰中,每個智慧體的網路權重都會根據強化學習演算法更新,優化各自不同的學習目標。權重更新規則來自於一種新的、高效的策略離線actor-critic 演算法, 其中含有經驗重放、自我模仿學習和策略蒸餾的思想。
AlphaStar 算力需求
為了支援大批不同版本 AlphaStar 智慧體的對戰與更新,DeepMind 構建了一個大規模可拓展的分散式訓練環境,其中使用了最新的谷歌 TPUv3,這個訓練環境可以支援成群的AlphaStar 智慧體例項同時執行;星際2 遊戲主體也有數千個例項同步執行。
AlphaStarleague 的自我對戰訓練過程用了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 也正在準備一篇論文,並計劃投稿到期刊讓同行評議。我們可以共同期待正式論文的發出。
】