昨天DeepMind的AlphaStar橫掃星際2職業(yè)玩家,項(xiàng)目負(fù)責(zé)人Oriol Vinyals和David Silver兩位技術(shù)大牛親自答網(wǎng)友提問。新智元摘選點(diǎn)贊最高的15個問題,關(guān)于APM、算法和工程的精華。
“AI早晚會超越人類”的念頭,其實(shí)從AlphaGo開始,就已經(jīng)在每個人心底,悄悄蔓延開。
只不過我們每個人心里還是很不甘心!面對智力甚至無法達(dá)到人類嬰兒水平的AI,玩起游戲來,已經(jīng)沒人能打得過了。
AlphaStar取勝靠的APM、計(jì)算機(jī)多線操作,還是AI已經(jīng)有了戰(zhàn)術(shù)判斷、宏觀大局分析能力?
賽后,DeepMind官方在Reddit上,回復(fù)了網(wǎng)友關(guān)于AlphaStar的種種疑問。
此次派出的是Oriol Vinyals和David Silver。
Oriol Vinyals是 Google 旗下人工智能公司 DeepMind 的研究科學(xué)家,年少時,他曾是西班牙《星際爭霸》游戲排名第一的電競高手,同時參與 Gmail、Google 圖像識別服務(wù)開發(fā)。
David Silver是DeepMind首席研究員,帶領(lǐng)DeepMind強(qiáng)化學(xué)習(xí)研究小組,也是AlphaGo項(xiàng)目的負(fù)責(zé)人??梢哉f,Silver從AlphaGo誕生前起,到最強(qiáng)版本AlphaGo Zero,一直在用深度強(qiáng)化學(xué)習(xí)攻克圍棋。David Silver也是AlphaStar項(xiàng)目的聯(lián)合負(fù)責(zé)人。
AlphaStar獲勝靠的是APM嗎?
問:APM是怎么回事?我印象中是被SC2限制為180 WPM,但看視頻,AS的平均APM似乎很長一段時間都遠(yuǎn)遠(yuǎn)超過了180 WPM,而且DeepMind的博客文章里提到了上面的圖表和數(shù)字,但沒有解釋為什么APM這么高。
Oriol Vinyals:我認(rèn)為這是一個很好的問題,也是我們想要澄清的。
我們向TLO和暴雪咨詢了關(guān)于APM的問題,也對APM增加了一個硬性限制。特別是,我們設(shè)置了5秒內(nèi)最多600 APM, 15秒內(nèi)最多400 APM, 30秒內(nèi)最多320 APM, 60秒內(nèi)最多300 APM。
如果智能體在此期間發(fā)出更多操作,我們會刪除/忽略這些操作。這些是來自人類統(tǒng)計(jì)的數(shù)據(jù)。
同樣重要的是,暴雪在APM計(jì)算中多次計(jì)算某些動作(上面的數(shù)字是指來自pysc2中的“代理動作”)。
同時,我們的智能體使用模仿學(xué)習(xí),這意味著我們經(jīng)常會看到非?!袄钡男袨?。也就是說,并不是所有的操作都是有效的操作,因?yàn)榇韮A向于發(fā)送糟糕的“移動”命令,例如在周圍繞來繞去。
有人已經(jīng)在reddit的帖子中指出了這一點(diǎn)——AlphaStar的有效APM (或EPM) 要低得多。
AlphaStar一共有幾個版本?
問:在PBT中需要多少種不同的agent才能保持足夠的多樣性,以防止災(zāi)難性遺忘?這與agent的數(shù)量有多大關(guān)系,或者只需要幾個agent就可以保持魯棒性?有沒有與比較常用的歷史檢查點(diǎn)策略的效率進(jìn)行比較?
David Silver:我們保留每個agent的舊版本作為AlphaStar聯(lián)賽的競爭對手。
當(dāng)前的agent通常根據(jù)對手的勝率來打。這在防止災(zāi)難性遺忘方面是非常成功的,因?yàn)閍gent必須要能夠繼續(xù)打敗它之前的所有版本。
我們嘗試了許多其他的多智能體學(xué)習(xí)策略,發(fā)現(xiàn)這種方法非常有效。此外,增加AlphaStar聯(lián)賽的多樣性也很重要,盡管這實(shí)際上是災(zāi)難性遺忘的另一個方面。
很難給出準(zhǔn)確的數(shù)字,但我們的經(jīng)驗(yàn)是,豐富聯(lián)盟中的戰(zhàn)略空間有助于使最終的智能體更強(qiáng)大。
AlphaStar的關(guān)鍵算法是什么?
問:像AlphaGo和AlphaZero這樣的agent接受的是完美信息的博弈訓(xùn)練。像星際爭霸這樣的不完美信息的博弈如何影響agent的設(shè)計(jì)?AlphaStar對之前的觀察是否有類似于人類的“記憶”?
David Silver:有趣的是,基于搜索的方法,例如AlphaGo和AlphaZero,實(shí)際上可能更難適應(yīng)不完美的信息。例如,基于搜索的撲克算法 (例如DeepStack或Libratus) 通過belief states顯式地推理對手的牌。
但AlphaStar是一個model-free的強(qiáng)化學(xué)習(xí)算法,可以隱式地對對手進(jìn)行推理,即通過學(xué)習(xí)對其對手最有效的行為,而不是試圖建立一個對手實(shí)際看到的模型——可以說,這是一種更容易處理不完全信息的方法。
此外,不完美的信息博弈并沒有一種絕對最優(yōu)的博弈方式——這取決于對手的行為。這就是《星際爭霸》中有趣的“石頭剪刀布”動態(tài)的來源。
這是我們在AlphaStar聯(lián)賽中使用的方法背后的動機(jī),以及為什么這種方法對于覆蓋所有戰(zhàn)略空間很重要——這在圍棋之類的游戲是不需要的,其中有一個minimax的最優(yōu)策略可以擊敗所有對手,不管對手做出何種舉動。
AlphaStar有使用人類信息,還是全靠自我對弈?
問:你們還嘗試了什么其他方法嗎?大家非常好奇是否涉及任何樹搜索、深度環(huán)境模型或分層RL技術(shù),但似乎沒有一個涉及;這些方法中有那個在嘗試后取得了可觀的進(jìn)步嗎?
子問題:鑒于SC2的極端稀疏性,你對于單純self-play是否對SC2有效這一點(diǎn)有什么看法?OA5在沒有任何模仿學(xué)習(xí)或領(lǐng)域知識的情況下就成功地打敗了DoTA2,所以僅僅是擁有巨大動作空間的長游戲并不能說明self-play就不能成功。
David Silver:我們在self-play方面確實(shí)取得了一些初步的積極成果,事實(shí)上,我們的agent的早期版本完全通過self-play,使用基本策略就擊敗了內(nèi)置的bot。
但是,有監(jiān)督的人類數(shù)據(jù)對引導(dǎo)探索過程非常有幫助,并有助于更廣泛地覆蓋高級策略。
特別是,我們包含了一個policy distillation cost,以確保在整個訓(xùn)練過程中,agent以某種概率繼續(xù)嘗試類似人的行為,這跟從self-play開始相比,發(fā)現(xiàn)不太可能的策略要更容易。
迄今為止最有效的方法沒有使用樹搜索、環(huán)境模型或顯式HRL。當(dāng)然,這些都是很大的開放研究領(lǐng)域,不可能系統(tǒng)地嘗試所有可能的研究方向,而且這些領(lǐng)域很可能為未來的研究帶來豐碩的成果。
需要提一下的是,我們的研究中有一些可能被認(rèn)為是“hierarchical”的元素。
AlphaStar消耗的計(jì)算量如何?
問:你們使用的TPU和CPU總計(jì)算時間是多少?
David Silver:為了訓(xùn)練AlphaStar,我們使用Google的v3 TPU構(gòu)建了一個高度可伸縮的分布式訓(xùn)練設(shè)置,該設(shè)置支持從數(shù)千個《星際爭霸2》的并行實(shí)例中學(xué)習(xí)的agents。
AlphaStar聯(lián)賽運(yùn)行了14天,每個agent使用16個TPU。最終的AlphaStar agent由已發(fā)現(xiàn)的最有效的策略組合而成,在單個桌面GPU上運(yùn)行。
AlphaStar 和 OpenAI Five 誰更強(qiáng)?
問:談到OpenAI Five,似乎它在DoTA2游戲中崩潰,你們是否有進(jìn)行檢查看看AlphaStar在self-play中是否會出現(xiàn)類似的問題?
David Silver:其實(shí)有很多不同的方法可以通過self-play學(xué)習(xí)。我們發(fā)現(xiàn),單純的self-play實(shí)現(xiàn)往往會陷入特定的策略中,或者忘記如何打敗以前的策略。
AlphaStar聯(lián)賽也是基于agent的自己與自己打,但它的多智能體學(xué)習(xí)機(jī)制鼓勵agent在面對各種不同的對手策略時進(jìn)行更強(qiáng)的博弈,并且在實(shí)踐中,面對不同尋常的對抗模式時,似乎會產(chǎn)生更強(qiáng)的行為。
神經(jīng)網(wǎng)絡(luò)執(zhí)行一個動作需要多少時間?
問:神經(jīng)網(wǎng)絡(luò)在GPU上運(yùn)行的時間是50ms還是350ms,還是指的是不同的東西(前向傳遞 vs 動作限制)?
David Silver:神經(jīng)網(wǎng)絡(luò)本身需要大約50ms來計(jì)算一個動作,但這只是發(fā)生在游戲事件和AlphaStar對該事件作出反應(yīng)之間的處理的一部分。
首先,AlphaStar平均每250ms觀察一次游戲,這是因?yàn)樯窠?jīng)網(wǎng)絡(luò)除了動作(有時稱為時間抽象動作)之外,還會選擇一些時間等待。
然后,觀察結(jié)果必須從Starcraft傳遞到Starcraft,除了神經(jīng)網(wǎng)絡(luò)選擇動作的時間之外,這又增加了50ms的延遲??偟膩碚f,平均反應(yīng)時間是350ms。
AlphaStar對戰(zhàn)MaNa輸?shù)舻哪且粓鲈蚴鞘裁矗?/p>
問:許多人將AlphaStar的單次失利歸咎于算法在最后一場比賽中被限制了視覺。我個人并不認(rèn)為這是一個令人信服的解釋,因?yàn)橄辔焕忡R在戰(zhàn)爭的迷霧中進(jìn)進(jìn)出出,而AI則在整個軍隊(duì)中來回移動作為回應(yīng)。這看起來絕對像是理解上的差距,而不是機(jī)械操作上的局限。你對AlphaStar以這種方式失敗的原因有什么看法?
David Silver:很難解釋我們?yōu)槭裁磿數(shù)?或贏得)任何一場游戲,因?yàn)锳lphaStar的決策很復(fù)雜,是動態(tài)多智能體訓(xùn)練過程的結(jié)果。
MaNa打了一場非常精彩的游戲,似乎發(fā)現(xiàn)并利用了AlphaStar的一個弱點(diǎn)——但是很難說這個弱點(diǎn)是由于攝像頭、較少的訓(xùn)練時間、不同的對手等等,而不是其他agent。
AlphaStar是從攝像頭還是從API獲取信息?
問:本次比賽中AI是可以看到全地圖的。這與從API中獲取原始數(shù)據(jù)并簡單地將它們抽象為結(jié)構(gòu)化數(shù)據(jù)作為NN的輸入有何不同?似乎新版本不再使用要素圖層了?PySC2(DeepMind的星際爭霸II學(xué)習(xí)環(huán)境的Python組件。它將暴雪娛樂的星際爭霸II機(jī)器學(xué)習(xí)API暴露為Python RL環(huán)境)中建筑的狀態(tài),是在造中、已建成等等。這些信息在camera_interface方法中是如何保留的?
Oriol Vinyals:實(shí)際上,通過攝像頭(和非攝像頭)接口,當(dāng)我們將其作為列表輸入(由神經(jīng)網(wǎng)絡(luò)變換器進(jìn)一步處理)時,智能體就能獲得是什么建筑被被建造出來的信息。
通常,即使沒有保留這樣的列表,智能體也會知道什么建筑被建造出來。智能體的內(nèi)存(LSTM)跟蹤所有先前發(fā)布的操作,以及過去訪問過的所有攝像頭位置。
我們確實(shí)為小地圖使用了要素圖層,但是對于屏幕,您可以將要素列表視為“轉(zhuǎn)置”該信息。事實(shí)證明,即使是處理圖像,將每個像素作為列表獨(dú)立處理,也能很好地工作!更多信息請參閱:https://arxiv.org/abs/1711.07971
AlphaStar的兩百年相當(dāng)于人類多久時間?
問:有多少類似星際爭霸這種需要200年訓(xùn)練時間的游戲?
Oriol Vinyals:平均每場比賽持續(xù)10分鐘,這相當(dāng)于大約1000萬場比賽。但請注意,并非所有智能體都經(jīng)過長達(dá)200年的培訓(xùn),這是各種版本的AlphaStar中智商最高的。
AlphaStar如何攢錢生成高級兵種?
問:它怎么學(xué)習(xí)到“為某種目的存錢”,比如攢錢生成高級兵種?這種“不作為”的操作被稱作NOOP,在RL算法中,會越來越多的認(rèn)為NOOP是非理想點(diǎn)的最佳決策。
David Silver:事實(shí)上AlphaStar選擇執(zhí)行多少次NOOP,就是作為其行動的一部分。
這首先是從監(jiān)督數(shù)據(jù)中學(xué)習(xí)的,鏡像人類操作,這意味著AlphaStar通常以與人類玩家類似的速度進(jìn)行“點(diǎn)擊”操作。
然后通過強(qiáng)化學(xué)習(xí)來改進(jìn),可以選擇減少或增加NOOP的數(shù)量。 因此,通過事先規(guī)劃好有幾個NOOP,可以很容易地實(shí)現(xiàn)“為X省錢”。
AlphaStar的輸入數(shù)據(jù)是實(shí)時的嗎?
問:最終使用的步長是多少?在博客中你寫道,星際爭霸的每一幀都被用作輸入的一步。但是,你還提到平均處理時間為50ms,這將超過即時游戲給定22.4fps時需要<46ms的要求。所以你們是逐幀作為輸入,還是隔幀呢?隔的幀數(shù)是固定還動態(tài)?
Oriol Vinyals:我們是逐幀的,但是由于延遲和您注意到的幾個延遲,操作將僅在該步驟結(jié)束后處理(即,我們異步播放)。 另一種選擇是鎖定步驟,這使得玩家的游戲體驗(yàn)不是很好:)
AlphaStar還能玩星際2的其他地圖嗎?
問:你們是否做過泛化 (generalizations) 測試?假設(shè)沒有一個agent可以選擇不同的族來打(因?yàn)榭捎玫膯卧?操作是完全不同的,甚至在架構(gòu)上也不能工作),但是至少應(yīng)該能推廣到其他地圖,是嗎?
David Silver:我們實(shí)際上(無意中)測試了這個。我們有一個AlphaStar的內(nèi)部排行榜,我們沒有將排行榜的地圖設(shè)置為Catalyst,而是將字段留空——這意味著它能在所有的Ladder 地圖上運(yùn)行。
令人驚訝的是,agent仍然很強(qiáng)大,表現(xiàn)也很不錯,盡管還不能達(dá)到我們昨天公開的那個水平。
只用臺式機(jī)如何在機(jī)器學(xué)習(xí)和強(qiáng)化學(xué)習(xí)領(lǐng)域取得好成績?
問:你有什么建議ML/RL愛好者關(guān)注的領(lǐng)域嗎?哪些領(lǐng)域不需要超過臺式機(jī)級別的計(jì)算資源就可以做出有用的貢獻(xiàn)?
Oriol Vinyals:有很多事情不需要大量計(jì)算資源就可以做,可以推進(jìn)ML的進(jìn)步。
我最喜歡的例子是我們做機(jī)器翻譯的時候,我們開發(fā)了一個叫做seq2seq的東西,它有一個大型的LSTM,在機(jī)器翻譯中達(dá)到了state of the art的性能,并且只使用了8個GPU訓(xùn)練。
與此同時,蒙特利爾大學(xué)開發(fā)了叫做“attention”的機(jī)制,這是ML技術(shù)的一個根本性進(jìn)步,使得模型變得更小,從而不需在大型硬件上運(yùn)行。
普通玩家何時能對戰(zhàn)AlphaStar?
問:在11月 Blizzcon的演講中,IIRC Vinyals說他很樂意將SC2 bot開放給普通玩家。這件事有什么計(jì)劃嗎?
Oriol Vinyals:這讓人興奮!我們非常感謝社區(qū)的支持,我們希望將社區(qū)的反饋納入到我們的工作中,這也是為什么我們要發(fā)布這10個游戲回放供社區(qū)去評論和欣賞。我們將隨時告訴大家我們的計(jì)劃進(jìn)展!
-
AI
+關(guān)注
關(guān)注
87文章
31364瀏覽量
269765 -
強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
268瀏覽量
11275 -
DeepMind
+關(guān)注
關(guān)注
0文章
131瀏覽量
10901
原文標(biāo)題:DeepMind回應(yīng)一切:AlphaStar兩百年相當(dāng)于人類多長時間?
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論