超人類水準(zhǔn)!多圖詳解星際爭霸2 AI AlphaStar
1月25日凌晨,DeepMind在倫敦組織線上直播,向全世界的游戲AI研究人員以及游戲愛好者們介紹自己的AI研發(fā)最新進(jìn)展。
參加直播的DeepMind研究人員是DeepMind團(tuán)隊聯(lián)合研發(fā)負(fù)責(zé)人Oriol Vinyals和David Silver,后者也是AlphaGo項目的核心開發(fā)人員,我們都比較熟悉了。
據(jù)DeepMind介紹,AlphaStar使用神族(Protoss),在2018年12月10日以5:0戰(zhàn)績打敗了TeamLiquid的職業(yè)星際2選手TLO,然后經(jīng)過更多訓(xùn)練后,在12月19日再次以5:0的完勝戰(zhàn)績打敗了來自同一個戰(zhàn)隊的職業(yè)選手MaNa。
直播現(xiàn)場中回放、解說了其中數(shù)場比賽的replay。
AlphaStar在比賽中展現(xiàn)出了職業(yè)選手般成熟的比賽策略,以及超越職業(yè)選手水平的微操,甚至可以同時在地圖上多個地點同時展開戰(zhàn)斗(人類選手在這種狀況下就會吃不少虧)。
自以圍棋為代表的完全信息博弈/游戲被AlphaGo攻克、取得超出人類頂尖棋手的水平之后,研究人員們立刻向非完全信息博弈發(fā)起更加猛烈的進(jìn)攻。典型的非完全信息博弈比如德州撲克,玩家需要在看不到對手的牌面的狀況下做出決策,CMU的德?lián)銩I論文也拿到了NIPS2017的最佳論文獎。
而另一方面,深度學(xué)習(xí)的研究人員們也希望借助深度強化學(xué)習(xí)的力量探索更復(fù)雜的博弈/游戲。德州撲克顯然不夠難,德?lián)銩I之父表示其中沒有用到任何深度學(xué)習(xí);再看圍棋,雖然圍棋中可能出現(xiàn)的局面的總數(shù)目是一個天文數(shù)字,但具體到每一回合中,比賽的雙方只需要選擇在棋盤的某一處落一顆棋子即可。
相比之下,現(xiàn)代的競技類電子游戲的行動空間就復(fù)雜得多,比賽可以有2個以上的玩家參與、每個玩家可以同步做出行動、每個行動可以有不同的時間長短、位移和移動都是空間連續(xù)的、攻擊防御技能物品等還有很多的變化。
隨著當(dāng)年的狂熱玩家們?nèi)缃癯蔀橛嬎銠C(jī)科學(xué)領(lǐng)域的研究人員,電子競技游戲AI研發(fā)也快速分出了兩大主要陣營:星際爭霸/星際爭霸2,以及DOTA2。兩者都有廣泛的群眾基礎(chǔ),玩家們對游戲AI喜聞樂見,也有許多高水平的職業(yè)選手可供AI切磋學(xué)習(xí)。
雖然都是RTS(即時戰(zhàn)略)游戲,雖然都需要在收集資源和打架之間找到平衡,但星際和DOTA2也有不少區(qū)別。
星際中需要控制多種不同類型的單位,這些單位有各自的運動和攻擊特點,而DOTA2中可以從頭到尾只控制同一個英雄;星際中每一方只有一位玩家,而DOTA2中每一方有五位玩家。由此帶來的游戲策略和執(zhí)行上的區(qū)別也讓星際AI研究和DOTA2AI研究走出了不同的發(fā)展路線。
截至本次比賽前,星際AI研究領(lǐng)域和DOTA2AI研究領(lǐng)域已經(jīng)見識過的最強AI分別來自三星和OpenAI。
2018年AIIDE星際爭霸AI挑戰(zhàn)賽共有來自全世界的27支團(tuán)隊帶著自己的AI參賽,獲得冠軍的人族bot“SAIDA”來自三星。這個bot的核心特點是有一個穩(wěn)定的游戲策略,它會首先考慮防守,然后在游戲中期伺機(jī)一波帶走對方。這種策略是從韓國的職業(yè)星際選手們身上學(xué)到的。這個bot去年時還不能擊敗職業(yè)選手。
星際爭霸AI普遍大量使用固定策略和手工規(guī)則,三星的bot應(yīng)用了一些機(jī)器學(xué)習(xí)技術(shù)來幫助控制單位、探索地圖,開發(fā)團(tuán)隊也在嘗試更多地應(yīng)用機(jī)器學(xué)習(xí)技術(shù)。參加了同一個比賽的Facebook的蟲族bot“CherryPi”大量應(yīng)用了機(jī)器學(xué)習(xí)技術(shù),但只獲得第二名。
2018年8月,OpenAI組織線下比賽測試自己的DOTA2AI系統(tǒng)“OpenAIFive”,前一次在有較多比賽限制的情況下對陣歐美前職業(yè)選手組成的團(tuán)隊取得了勝利,然后在稍后的DOTA2國際邀請賽Ti8中對陣中國(前)職業(yè)選手組成的團(tuán)隊時失敗。這之后OpenAI在持續(xù)不斷地進(jìn)行改進(jìn),并聲稱后來的某個版本已經(jīng)大幅超越此前線下比賽中的版本。
“OpenAIFive”是一套精心設(shè)計的深度強化學(xué)習(xí)系統(tǒng),由5個獨立的神經(jīng)網(wǎng)絡(luò)分別控制5個英雄。研究人員們使用了許多技巧引導(dǎo)智能體學(xué)習(xí)DOTA2中的各種行為,也設(shè)計了超參數(shù)幫助網(wǎng)絡(luò)學(xué)習(xí)團(tuán)隊協(xié)作;但比賽過程中智能體之間沒有直接的溝通。(更多信息可以閱讀此前報道)
AlphaStar技術(shù)介紹
在活動預(yù)告文中,我們盤點了此前DeepMind在星際2AI研究中的動向。作為以深度強化學(xué)習(xí)著稱的人工智能企業(yè),如今我們見到的DeepMind的星際2AI“AlphaStar”自然毫不意外地是一套基于深度強化學(xué)習(xí)的系統(tǒng)。
18年12月的比賽時,觀戰(zhàn)室中的OriolVinyals和DavidSilver(以及你們看出來中間是誰了嗎?)
AlphaStar模型設(shè)計
AlphaStar是一個把游戲看作長序列建模學(xué)習(xí)任務(wù)的強化學(xué)習(xí)智能體,它的模型設(shè)計也就以長序列建模為能力為核心。模型從游戲接口接收的數(shù)據(jù)報道中我們介紹過,AlphaGo自我對弈階段的棋局是由所有之前的迭代過程中出現(xiàn)的表現(xiàn)最好的一個版本生成的,也就是說每一時刻都存在一個“最好的版本”,也不斷尋找比它還好要的版本并進(jìn)行替換。
但對于星際爭霸,DeepMind的研究人員們認(rèn)為不同的優(yōu)秀策略之間可能是相互克制的,沒有哪一個策略是可以完勝其它所有策略的,所以這次他們的做法是分別更新、記錄許多個不同版本的網(wǎng)絡(luò)(合稱為AlphaStar league)。
如上圖,AlphaStar在人類數(shù)據(jù)上初始訓(xùn)練后,繼續(xù)進(jìn)行多輪AlphaStarleague中的自我對戰(zhàn),而每輪都會在之前的數(shù)個比較強的版本基礎(chǔ)上進(jìn)行分叉;分叉前的版本會被固定參數(shù)保留下來,一直參與后續(xù)的多輪自我對戰(zhàn);不同的版本也可能會被人工安排不同的對戰(zhàn)策略和學(xué)習(xí)目標(biāo)。
這樣的做法就在不斷提升網(wǎng)絡(luò)水平、提高對戰(zhàn)難度的同時也保留了足夠的多樣性。根據(jù)每輪自我對戰(zhàn)的結(jié)果,每個的網(wǎng)絡(luò)參數(shù)都會進(jìn)行更新;這種做法來自于群體強化學(xué)習(xí)的思想,保證了持續(xù)穩(wěn)定的表現(xiàn)提升,而且很新的版本也不會“忘記”如何擊敗很早的版本。
群體自我對弈的過程中可以產(chǎn)生許多不同的策略。有一些策略僅僅是對早期策略的細(xì)微完善,也有一些策略會含有全新的建造順序、單位組合、微操模式;能夠穩(wěn)定擊敗早期策略的策略也開始出現(xiàn)。
比如在AlphaStarleague自我對戰(zhàn)的早期,快速rush的策略有較高的勝率;但隨著訓(xùn)練過程持續(xù),其它的策略開始展現(xiàn)出更高的勝率,比如用更多的工人快速擴(kuò)大基地,獲取更多的資源后建立經(jīng)濟(jì)優(yōu)勢;或者用幾個兵去對方的基地騷擾,獲得發(fā)展速度的優(yōu)勢。這種策略的更替演化也和人類選手們數(shù)年中的摸索之路非常類似。
如下圖,隨著總訓(xùn)練時間越來越長,智能體平均使用的單位數(shù)目也越來越多。
許多輪自我對戰(zhàn)結(jié)束后,研究人員們會以AlphaStarleague中的納什分布采樣出一個版本來,作為訓(xùn)練結(jié)束后最終得到的智能體。這樣的做法可以得到已經(jīng)發(fā)現(xiàn)的多種策略的綜合最優(yōu)解。
根據(jù)DeepMind介紹,擊敗TLO(蟲族選手操作神族,并不是他最佳水平)和MaNa的AlphaStar版本分別來自第9天和第14天的自我對戰(zhàn)(如下圖),實際上在觀賽中選手和游戲解說也都注意到了兩次比賽中AlphaStar水平的變化。
保證策略多樣性的努力
DeepMind在技術(shù)介紹博客中提到,為了讓AlphaStarleague中有盡量高的多樣性,他們實際上有意識地為不同的智能體設(shè)置了不同的學(xué)習(xí)目標(biāo)(這也符合我們的常識,簡單的隨機(jī)擾動帶來的多樣性變化是非常有限的)。
有的智能體要專門針對擊敗某個特定的智能體進(jìn)行學(xué)習(xí),或者為另一些智能體設(shè)定額外的內(nèi)部動機(jī),比如具體地通過建造某種單位來擊敗所有使用某類策略的智能體。這些目標(biāo)會在訓(xùn)練過程中進(jìn)行一些調(diào)節(jié)。
DeepMind可視化展示了最終形成的多種不同策略分布,如下圖。
在AlphaStarleague的自我對戰(zhàn)中,每個智能體的網(wǎng)絡(luò)權(quán)重都會根據(jù)強化學(xué)習(xí)算法更新,優(yōu)化各自不同的學(xué)習(xí)目標(biāo)。權(quán)重更新規(guī)則來自于一種新的、高效的策略離線actor-critic算法,其中含有經(jīng)驗重放、自我模仿學(xué)習(xí)和策略蒸餾的思想。
AlphaStar算力需求
為了支持大批不同版本AlphaStar智能體的對戰(zhàn)與更新,DeepMind構(gòu)建了一個大規(guī)模可拓展的分布式訓(xùn)練環(huán)境,其中使用了最新的谷歌TPUv3,這個訓(xùn)練環(huán)境可以支持成群的AlphaStar智能體實例同時運行;星際2游戲主體也有數(shù)千個實例同步運行。
AlphaStarleague的自我對戰(zhàn)訓(xùn)練過程用了14天,每個AlphaStar智能體使用了16個TPU,最終相當(dāng)于每個智能體都有長達(dá)200年的游戲時間。訓(xùn)練結(jié)束后的模型在單塊消費級GPU上就可以運行。
AlphaStar的游戲表現(xiàn)
由于AlphaStar首先從人類玩家數(shù)據(jù)進(jìn)行模仿學(xué)習(xí),以及神經(jīng)網(wǎng)絡(luò)有一定的計算延時,它的操作頻率其實比人類選手還要低一些。MaNa的APM達(dá)到了平均390,而AlphaStar卻只有平均280左右而已。
AlphaStar的計算延時平均為350毫秒(從觀察到做出行動)。相比之下,以往基于固定策略和手工規(guī)則的星際AI會保持上千的APM。
DeepMind也根據(jù)AlphaStar和MaNa的一局比賽制作了智能體視角和內(nèi)部信息的可視化示意圖如下:
其中展示了神經(jīng)網(wǎng)絡(luò)接收到的原始數(shù)據(jù)(左下角小圖中藍(lán)色點),神經(jīng)網(wǎng)絡(luò)內(nèi)部的激活狀況(中下方左側(cè)小圖)、智能體考慮點擊和建造建筑的地圖區(qū)域示意(中下方右側(cè)小圖,這也可以理解為智能體的注意力關(guān)注的區(qū)域)、智能體的操作輸出激活情況(右下角小圖)以及勝率預(yù)測。
圖中同步也展示了MaNa的視角,游戲中AlphaStar是看不到對手的視角的。
在文章開頭我們提到,兩次以5:0擊敗TLO和MaNa的AlphaStar是無需控制視角的,它可以直接讀取地圖上所有的可見內(nèi)容。相比之下,人類選手顯然需要手動把視角切換到地圖的不同位置才能看到部分信息。從這個角度說,AlphaStar有欺負(fù)人類選手的嫌疑。
DeepMind也針對這一點做了分析,他們的數(shù)據(jù)統(tǒng)計認(rèn)為AlphaStar切換關(guān)注區(qū)域的速度大約是每分鐘30次,這個次數(shù)和人類職業(yè)選手相當(dāng)。
當(dāng)然了,最好的辦法還是做實驗驗證。所以DeepMind重新訓(xùn)練了需要自己控制視角的AlphaStar,也就是在直播中MaNa擊敗的那個版本(不過這個版本只訓(xùn)練了7天,而不是原始版本的14天)。
這個版本的AlphaStar所能獲取的信息僅限于視角包含的部分,指令也一樣。DeepMind提供的訓(xùn)練圖表也顯示出這帶來了一定的表現(xiàn)下降(雖然仍然能較快地追上)。
不過DeepMind認(rèn)為表現(xiàn)下降的幅度非常輕微,也體現(xiàn)出了AlphaStar的強大表現(xiàn)主要還是要歸功于學(xué)習(xí)到了有效的游戲策略和強力的微操。
DeepMind的展望
雖然這次的模型用在了星際爭霸2AI上,但DeepMind認(rèn)為這是個足夠復(fù)雜、具有代表性的任務(wù),用來解決這個任務(wù)的技術(shù)也可以用在更多其他的復(fù)雜問題上。比如這個為長序列建模設(shè)計的網(wǎng)絡(luò)架構(gòu)可以用在更多不完全信息的長序列建模任務(wù)中,比如天氣預(yù)測、氣候建模、語言理解等等。他們也會繼續(xù)開發(fā)AlphaStar項目,并利用其中的技術(shù)收獲改善更多的任務(wù)。
另一方面,DeepMind認(rèn)為此次設(shè)計的訓(xùn)練策略也是通往安全、魯棒的AI的一條新路徑。現(xiàn)階段的AI系統(tǒng)的一大難題就是難以預(yù)測系統(tǒng)會在多少種不同的情況下發(fā)生失效,星際爭霸的人類職業(yè)選手們?nèi)貯I也往往就是依靠尋找并攻擊AI的弱點和錯誤。AlphaStar中提出的群體訓(xùn)練策略就是一種可靠得多、出錯的可能性明顯減小的訓(xùn)練策略。
DeepMind的研究人員們認(rèn)為這種方法還有很多潛力可以挖掘,也許未來它就會成為安全因素非常關(guān)鍵的問題中的重要一環(huán)。而最終,DeepMind希望可以創(chuàng)建出真正智慧的系統(tǒng),幫助人類解決一些全球最重要、最基礎(chǔ)的科學(xué)難題。
關(guān)于技術(shù)細(xì)節(jié)的更細(xì)致全面的介紹,DeepMind也正在準(zhǔn)備一篇論文,并計劃投稿到期刊讓同行評議。我們可以共同期待正式論文的發(fā)出。