[情報] 多圖詳解 DeepMind AlphaStar

作者: Jotarun (forever)   2019-01-25 22:00:25
TechNews轉雷鋒網: http://bit.ly/2MxylUX
我翻到一半 不過別人都翻好了 我多加點科普注釋就好
《星海爭霸》AI 背景
從以圍棋為代表的完全資訊博弈/遊戲被 AlphaGo 攻克、取得超出人類頂
尖棋手水準之後,研究人員立刻向非完全資訊博弈發起更猛烈的進攻。典型
的非完全資訊博弈如德州撲克,玩家需在看不到對手牌面的狀況下決策,
CMU 的德撲 AI 論文也拿到 NIPS 2017 最佳論文獎。
另一方面,深度學習的研究人員也希望借助深度強化學習的力量探索更複雜
的博弈/遊戲。德州撲克顯然不夠難,德撲 AI 之父表示沒有用到任何深度
學習;再看圍棋,雖然圍棋可能出現的局面總數是天文數字,但每回合雙方
只需選擇在棋盤某處落一顆棋即可。相比之下,現代競技類電子遊戲的移動
空間就複雜得多,比賽可有 2 個以上玩家參與、每個玩家可同步行動、每
個行動有不同時間長短、位移和移動都是空間連續,攻擊防禦技能等物品也
有很多變化。
隨著當年的狂熱玩家如今成為電腦科學領域的研究人員,電子競技遊戲 AI
研發也快速分出兩大主要陣營:《星海爭霸/星海爭霸 2》,以及 DOTA
2。兩者都有廣泛群眾基礎,玩家對遊戲 AI 喜聞樂見,也有許多高水準的
職業選手可與 AI 切磋學習。
雖然都是 RTS (即時戰略)遊戲,都需要在收集資源和打仗間找到平衡,
但星海和 DOTA 2 也有不少區別。星海需要控制多種不同類別的單位,這些
單位有各自的運動和攻擊特點,DOTA 2 可從頭到尾只控制同一個英雄;星
海每一方只有一位玩家,而 DOTA 2 每一方有 5 位玩家。因此遊戲策略和
執行區別也讓星海 AI 和 DOTA 2 AI 研究走出不同的發展路線。
截至本次比賽前,《星海爭霸》AI 和 DOTA 2 AI 研究領域已見識過的最強
AI 分別來自三星和 OpenAI:
2018 年 AIIDE《星海爭霸》AI 挑戰賽共有全世界 27 支團隊帶著 AI 參
賽,獲得冠軍的人族 bot「SAIDA」來自三星。這個 bot 的核心特點是有一
個穩定的遊戲策略,會首先考慮防守,然後在遊戲中期伺機一波帶走對方。
這種策略是從南韓職業星海選手學到的。這個 bot 去年時還無法擊敗職業
選手。
《星海爭霸》AI 普遍大量使用固定策略和手工規則,三星 bot 應用一些機
器學習技術來幫助控制單位、探索地圖,開發團隊也嘗試更應用機器學習技
術。參加同一個比賽的 Facebook 蟲族 bot「CherryPi」大量應用機器學習
技術,但只獲得第二名。
2018 年 8 月,OpenAI 舉行線下比賽測試自己的 DOTA 2 AI 系統「OpenAI
Five」,在較多比賽限制的情況下對陣歐美前職業選手組成的團隊取得勝
利,在稍後 DOTA 2 國際邀請賽 Ti8 對陣中國(前)職業選手組成的團隊
時失敗。這之後 OpenAI 持續不斷改進,並聲稱後來的某版已大幅超越之前
比賽的版本。
「OpenAI Five」是一套精心設計的深度強化學習系統,由 5 個獨立神經網
路分別控制 5 個英雄。研究人員使用許多技巧啟動 AI 學習 DOTA 2 各種
行為,也設計超參數幫助網路學習團隊合作;但比賽過程中 AI 之間沒有直
接溝通。
AlphaStar 技術介紹
DeepMind一直都是以深度強化學習著稱的人工智慧企業,如今我們見到的
DeepMind《星海爭霸 2》AI「AlphaStar」自然毫不意外是一套基於深度
強化學習的系統。
*強化學習 Reinforcement Learning
概念上是給一個目標 讓AI從錯誤中不斷試誤學習、直到能達成目標
AlphaStar 模型設計
AlphaStar 是一個把遊戲看作長串列建模學習工作的強化學習 AI,模型設
計也就以長串列建模為能力為核心。模型從遊戲介面接收的資料是單位清單
和這些單位的屬性,經過神經網路計算後匯出遊戲執行的指令。這個神經網
路的基礎是 Transformer 網路,並結合一個深度 LSTM 網路核心、一個帶
指標網路的自動回歸策略頭,以及一個中心化的評分基準。這網路架構是
DeepMind 對複雜串列建模工作的最新思考結果,他們也相信這先進模型可
在其他需要長串列建模、有很大行動空間的機器學習工作(比如機器翻譯、
語言建模和視覺表示)同樣發揮出優秀的表現。
*這段看不懂就跳過沒關係XD 總之 AlphaStar要學的就是把新看到的資料
加上之前記得的資料變成一串控制的指令
AlphaStar 訓練策略
AlphaStar 的初始訓練策略與早期 AlphaGo 相同,DeepMind 研究員首先用
人類比賽的 replay 監督學習訓練模型,以模仿學習的思路讓模型快速學到
高級玩家在星海天梯使用的基礎策略和微操作。這時的 AlphaStar 就能以
95% 的勝率打敗《星海爭霸 2》內建的「精英」等級 AI(對比 OpenAI 的
DOTA 2 AI 是完全從零開始的強化學習,初始階段花了很多時間在無意義的
遊戲操作)。
下面當然就是強化學習的自我對弈、繼續提升水準階段了,這也是和
AlphaGo 的訓練策略不同的地方。之前介紹過,AlphaGo 自我對弈階段的棋
局是由所有之前更新過程的表現最好版本生成,也就是說每時刻都有一個
「最好的版本」,也不斷搜尋比前輩還好的版本替換。但對《星海爭霸》,
DeepMind 研究員認為不同的優秀策略之間可相互剋補,沒有哪個策略可完
勝其他策略。所以這次他們分別更新、記錄許多不同版本的網路(合稱為
AlphaStar league)。
https://i.imgur.com/SNvNW95.png
如上圖,AlphaStar 用人類資料初始訓練後,繼續進行多輪 AlphaStar
league 自我對戰,每輪都會在之前數個較強的版本基礎上分叉;分叉前的
版本會固定參數保留下來,一直參與後續多輪自我對戰;不同版本也可能會
安排不同對戰策略和學習目標。這樣不斷提升網路水準、提高對戰難度的同
時,也保留足夠多樣性。根據每輪自我對戰的結果,每個網路參數都會更
新;這種做法來自群體強化學習的想法,保證持續穩定的表現提升,且很新
的版本也不會「忘記」如何擊敗很早的版本。
群體自我對弈的過程會產生許多策略。有些策略僅細微改善早期策略,也有
一些策略會有全新的建造順序、單位組合、微操作;能穩定擊敗早期策略的
策略也開始出現。比如 AlphaStar league 自我對戰早期,快速 rush 的策
略有較高勝率;但隨著訓練過程持續,其他策略開始展現更高勝率,比如用
更多工人快速擴大基地,獲取更多資源後建立經濟優勢;或派幾個兵去對方
基地騷擾,獲得發展速度的優勢。這種策略更換演化也和人類選手數年摸索
之路非常類似。如下圖,隨著總訓練時間越來越長,AI 平均使用的單位數
目也越來越多。
https://i.imgur.com/QbQ1XPO.png
多輪自我對戰結束後,研究人員會以 AlphaStar league 的 Nash 分散取樣
出一個版本,當作訓練結束後最終得到的 AI。這做法可得到已發現的多種
策略綜合最優解。
*總之是找出所有AI裡面比較能通吃各種戰術的
據 DeepMind 介紹,擊敗 TLO(蟲族選手操作神族,並不是他最佳水準)和
MaNa 的 AlphaStar 版本分別來自第 9 天和第 14 天的自我對戰(如下
圖),實際上觀賽選手和遊戲解說也都注意到兩次比賽 AlphaStar 的變
化。
https://i.imgur.com/pTsVf2D.png
保證策略多樣性的努力
DeepMind 在技術介紹部落格提到,為了讓 AlphaStar league 有盡量高的
多樣性,他們有意識地為不同 AI 設定不同的學習目標(這也符合人類常
識,簡單的隨機擾動帶來的多樣性變化非常有限)。有的 AI 要專門針對擊
敗某特定 AI 學習,或為另一些 AI 設定其餘內部動機,比如具體透過建造
某種單位,擊敗所有使用某類策略的 AI。這些目標會在訓練時調節。
DeepMind 可視化展示了最終形成的多種不同策略分散,如下圖。
https://i.imgur.com/liQUnF9.png
*這裡就是DM唯一有干預AlphaStar的地方
AlphaStar league 自我對戰中,每個 AI 的網路權重都會根據強化學習演
算法更新,最佳化各自不同的學習目標。權重更新規則來自新的、高效的策
略離線 actor-critic 演算法,其中含經驗重播、自我模仿學習和策略蒸餾
的思想。
*這段也是看不懂就算了XD
AlphaStar 算力需求
為了支援大批不同版本 AlphaStar AI 的對戰與更新,DeepMind 構建大規
模可拓展的分散式訓練環境,使用最新的 Google TPUv3,這訓練環境可支
援成群 AlphaStar AI 實例同時執行;《星海爭霸 2》遊戲主體也有數千個
實例同步執行。AlphaStar league 的自我對戰訓練過程用了 14 天,每個
AlphaStar AI 使用 16 個 TPU,最終相當於每個 AI 都有長達 200 年的遊
戲時間。訓練結束後的模型在一張消費級 GPU 就可執行。
*所以有Google 爸爸真好 不然光訓練錢就燒光光囉
AlphaStar 的遊戲表現
由於 AlphaStar 首先從人類玩家資料模仿學習,以及神經網路有一定的計
算延遲,操作頻率其實比人類選手還低一些。MaNa 的 APM 達平均 390,
AlphaStar 平均只有 280 左右。AlphaStar 的計算延遲平均為 350 毫秒
(從觀察到行動)。相比之下,以往基於固定策略和手工規則的星海 AI 會
保持上千 APM。
https://i.imgur.com/LZlyRuc.png
*上圖可以看到MaNa真的打得很穩 APM很集中
相對的TLO感覺就會有打的特別快的時候
AlphaStar並沒有很常使出1600APM絕技
DeepMind 也根據 AlphaStar 和 MaNa 一局比賽製作 AI 視角和內部資訊的
可視化示意圖,如下:展示神經網路接收到的初始資料(左下角小圖藍色
點),神經網路內部的觸發狀況(中下方手邊小圖)、AI 考慮點擊和建造
建築的地圖區域示意(中下方右側小圖,這也可以理解為 AI 的注意力關注
的區域)、AI 作業輸出觸發情況(右下角小圖)及勝率預測。圖中同步展
示 MaNa 視角,遊戲中 AlphaStar 看不到對手視角。
https://i.imgur.com/oPpyCQY.gif
本文開頭提到,兩次以 5:0 擊敗 TLO 和 MaNa 的 AlphaStar 無需控制視
角,可直接讀取地圖所有可見內容。相比之下,人類選手顯然需要手動切換
視角到地圖不同位置才能看到部分資訊。從這個角度說,AlphaStar 有欺負
人類選手的嫌疑。DeepMind 也針對這點分析,他們的資料統計認為
AlphaStar 切換關注區域的速度約是每分鐘 30 次,這個次數和人類職業選
手相當。
*可見內容表示還是有戰爭迷霧
當然了,最好的辦法還是做實驗證明。所以 DeepMind 重新訓練了需要自己
控制視角的 AlphaStar ,也就是直播時 MaNa 擊敗的那版(不過那版只訓
練了 7 天,而不是初始版的 14 天)。這版的 AlphaStar 能抓取的資訊僅
限於視角包含的部分,指令也一樣。DeepMind 提供的訓練圖表也顯示這帶
來一定的表現下降(雖然仍能追上)。不過 DeepMind 認為表現下降的幅度
非常輕微,也表現出 AlphaStar 的強大,主要還是歸功於學到有效的遊戲
策略和強力微操作。
https://i.imgur.com/Z1K80VA.png
DeepMind 的展望
雖然這次模型用在《星海爭霸 2》AI,但 DeepMind 認為這是夠複雜、有代
表性的工作,用來解決這個工作的技術也可用在其他複雜問題。比如為長串
列建模設計的網路架構,可用在更多不完全資訊的長串列建模工作,如天氣
預測、氣候建模、語言理解等。他們也會繼續開發 AlphaStar 項目,並利
用其中技術收穫,改善更多工作。
另一方面,DeepMind 認為此次設計策略也是通往安全、強健性 AI 的新路
徑。現階段的 AI 系統一大難題就是難以預測系統會在多少種不同情況下失
效,《星海爭霸》的職業選手取勝 AI 也往往依靠搜尋並攻擊 AI 的弱點和
錯誤。AlphaStar 提出的群體訓練策略就是一種更可靠、出錯可能性明顯減
少的訓練策略。DeepMind 研究員認為,這種方法還有很多潛力可挖掘,也
許未來會成為安全因素非常關鍵的重要一環。最終,DeepMind 希望建立真
正智慧的系統,幫助人類解決最重要、最基礎的科學難題。
作者: fragmentwing (片翼碎夢)   2019-01-25 22:05:00
原來mana獲勝那場是要抓視角的那場分兵好像沒有分的很好 才被雙不朽鬧到意外的是雙不朽沒有造成艾爾大停電XD
作者: qoo60606 (凜)   2019-01-25 22:32:00
科普推
作者: lovinlover (Lovin Lover)   2019-01-25 22:41:00
小色現在在播AlphaStar視角了
作者: positMIT (MarineQueen)   2019-01-25 22:45:00
慢慢抓bug...XD一秒變成瘋狂電腦
作者: Adonisy (堂本瓜一)   2019-01-25 22:49:00
AI:好哥哥再打一盤吧...
作者: jumboicecube (大冰塊)   2019-01-25 23:16:00
切換關注區域的速度是每分鐘30次o.o
作者: fragmentwing (片翼碎夢)   2019-01-25 23:38:00
每分鐘30次的話好像還好 職業的第一視角都超晃的XD
作者: NinaMoon (Nina)   2019-01-25 23:42:00
囧太郎怎麼什麼都知道
作者: jumboicecube (大冰塊)   2019-01-25 23:55:00
老實講這不是晃不晃的問題,因為人和電腦切換螢幕的型式並不一樣。人類玩家在純觀察時的切換螢幕會很迅速地切過去,因為這種狀況下不會去操作單位停留在這個畫面沒有意義,但電腦能做的事會比人要多就類似每個人平均有一顆蛋的問題。EAPM給得太高
作者: homelife (SKY)   2019-01-26 00:24:00
正在進行AMA~覺得這值得貼過來:https://goo.gl/f2kWPyOriol解釋詳細的APM限制,還有其實AlphaStar因為是用模仿學習,所以跟人類一樣有一些廢操作,像是Move的時候會點很多下以確保單位移動。蠻有意思的
作者: Jotarun (forever)   2019-01-26 00:28:00
對啊我有在看所以其實還是有限制的 只是他是限制在一段時間內所以還是能有peak APM
作者: zitoneverwin (東山雞頭)   2019-01-26 08:57:00
DOTA2不算RTS吧…
作者: art1 (人,原來不是人)   2019-01-26 17:52:00
有什麼對戰遊戲不需要策略的?
作者: JayYuan   2019-01-26 20:51:00
科普給推
作者: peanutman (偷~~島~~林)   2019-01-27 17:46:00
囧太郎怎麼連星海都知道
作者: Jotarun (forever)   2019-01-27 21:41:00
說實在我星海實在很不知道XD
作者: kira925 (1 2 3 4 疾風炭)   2019-01-28 16:00:00
....這樣我可以理解為什麼會不覺得AlphaStar有問題了
作者: finalvisual (DIR EN GREY)   2019-01-29 08:39:00
事實上就是有限制規格(APM 不是你一開始宣稱的沒有

Links booklink

Contact Us: admin [ a t ] ucptt.com