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