血虐人類玩家,DeepMind《星海爭霸 2》AI 現身知名期刊

作者 | 發布日期 2019 年 11 月 05 日 11:08 | 分類 AI 人工智慧 , Google , 遊戲軟體 line share follow us in feedly line share
血虐人類玩家,DeepMind《星海爭霸 2》AI 現身知名期刊


遊戲 AI 的新進展接連不斷,10 月 30 日 DeepMind 在 Twitter 和部落格表示《星海爭霸 2》AI「AlphaStar」的論文被《Nature》期刊接受,最重要的是補上大規模 1v1 人類對局的實驗結果。結果也令人欽佩:在《星海爭霸 II》歐服約 9 萬名玩家中取得「Grandmaster」段位,天梯排名達到所有活躍玩家前 0.15%(相當於前 150 名內)。這樣的水準直接參加《星海爭霸 II》天梯比賽可謂「炸魚」般的存在,一路被血虐的人類玩家不知道有沒有懷疑到底碰上的是 AI 還是職業選手。

▲ 1 月的比賽,AlphaStar 會建造大量工人,快速建立資源優勢(超過人類職業選手的 16 個或 18 個上限)。

▲ 1 月的比賽,AlphaStar 控制的兩個追獵者黑血極限逃生。

AlphaStar 如何走到這一步?

技術方面,今年 1 月 DeepMind 就公開 AlphaStar 和人類職業選手的測試比賽對局,並解釋許多 AlphaStar 重要的技術原理,包括:

  • 模型架構:AlphaStar 使用的是長串列建模模型,模型從遊戲介面接收的資料是單位清單和這些單位的屬性,經過神經網路計算後匯出遊戲執行的指令。這個神經網路的基礎是 Transformer 網路,並結合一個深度 LSTM 網路核心、一個帶有指標網路的自動回歸策略頭,以及一個中心化的評分基準。

▲ AlphaStar League 的個體形成明顯的策略分散。

  • 訓練策略:AlphaStar 首先根據高程度人類比賽做監督學習訓練(模仿學習),然後自我對弈。自我對弈時使用群體強化學習思路:AlphaStar 自我對弈始終都同時記錄、更新多個版本的網路,保持一個群體,稱作 AlphaStar league;AlphaStar League 不同的網路有不同的對戰策略、學習目標等,維持群體多樣性,整個群體的對弈學習持續穩定提升表現,且最新版本也不會「忘記」如何擊敗較早的版本。
  • 訓練結果匯出:當需要匯出一個網路為最終訓練結果時,以 AlphaStar League 的 Nash 分散取樣,可得到已發現的多種策略綜合最優解。
  • 算力需求:為了支援大批不同版本 AlphaStar 智慧體的對戰與更新,DeepMind 專門構建大規模可拓展的分散式訓練環境,使用最新 Google  TPUv3。AlphaStar League 的自我對戰訓練過程花了 14 天,每個 AlphaStar 智慧體使用 16 個 TPU,最終相當於每個智慧體都有長達 200 年的遊戲時間。訓練結束後的模型在單塊消費級 GPU 就能執行。
  • 作業統計:1 月版本中,AlphaStar 平均 APM 為 280,峰值 APM 超過 1000,計算延時平均為 350 毫秒;切換關注區域的速度約每分鐘 30 次。

今年 7 月,DeepMind 準備 AlphaStar 論文的《Nature》版,並準備進行大規模人類 1v1 比賽為論文重要實驗時也曾預告。其實 1 月和人類比賽的 AlphaStar 版有一些設定對 AI 有優勢,於是大規模比賽版經修改,以便更公平展現 DeepMind 的科研水準。改動包括:

  • 1 月版可直接讀取地圖所有可見內容,不需要操作切換視角;這次需要自己控制視角,和人類一樣只能觀察到視野內的單位,也只能在視野內移動單位。
  • 1 月版僅使用神族,這次 AlphaStar 會使用人族、蟲族、神族全部三個種族。
  • 1 月版操作方面沒有明確效能限制,這次與人類職業選手共同商議後,嚴格限制 AlphaStar 的平均每秒運算位元、平均每分鐘運算位元(APM)、瞬時最高 APM 等方面,減少操作比人類高的優勢。
  • 參與測試的 AlphaStar 都是從人類比賽 replay 和自我比賽學習,沒有從與人類的對局學習。

除此之外,AlphaStar 的表現會在整個測試期間保持不變,不進行訓練學習;這樣得到的測試結果能直接反應 DeepMind 目前的技術水準到什樣程度。另一方面,AlphaStar 技術的一大亮點是,參與測試的 AlphaStar 也會是 AlphaStar League 的多個個體,符合不同 AlphaStar 個體可能會有迥異的遊戲表現。

新版 AlphaStar 一共經過 44 天訓練,然後在《星海爭霸 II》天梯(在暴雪的幫助下)用許多分身帳號比賽,以免被玩家發現。最終達到《星海爭霸 II》歐服「Grandmaster」段位,以及所有活躍玩家的前 0.15% 排名。

AlphaStar 是怎樣的里程碑?

首先,《星海爭霸 II》是不完全資訊遊戲(博弈),戰爭迷霧隱藏了對手許多資訊,AI 需要有探索、記憶甚至推測的能力才能獲得好表現。

其次,雖然 AlphaStar 和圍棋 AI AlphaGo 一樣都是以自我對局為重要的訓練策略,但在《星海爭霸 2》,策略遺忘和互相剋制更明顯,並沒有某個策略可穩定勝過所有策略,所以繼續使用簡單的自我對局學習,會讓智慧體陷入不同策略間游移但停滯不前。為了解決這個問題,DeepMind 採用群體強化學習的訓練策略(前文提到的 AlphaStar League),用一個群體許多不同個體各自演進來儲存並持續最佳化不同的遊戲策略。

《星海爭霸 II》還有很大的行為空間,比如每個玩家可同步行動、每個行動有不同時間長短、位移和行動都是空間連續、攻擊防御技能物品等還有很多變化,要比圍棋的行為空間大很多。為了應付這類行為空間,DeepMind 不僅使用模仿學習找到優秀的初始策略,且借助一些網路設計技巧來明確智慧體對策略的使用和切換,以及使用策略不線上的強化學習演算法,讓舊策略完成的比賽也能幫助新策略學習。除此之外,DeepMind 還發現,對於這麼大的行動空間,許多在其他工作能有幫助的強化學習技巧已幫助不大,這對整個強化學習領域來說也是新的發現。

在越來越困難的工作,使用基於學習的智慧體、借助自我對局持續進化的開放目標的學習系統,展現出越來越好的表現。這次 AlphaStar 的例子,大規模比賽結果表明通用化學習方法完全可拓展 AI 系統的規模,讓它在複雜、動態、多玩家的環境發揮良好的表現。在 DeepMind 看來,開發 AlphaStar 的過程涉及的技術都能幫助未來開發出更安全、更強健性、更有用的通用 AI 系統,最好還能幫助解決真實世界的問題研究。

(本文由 雷鋒網 授權轉載;首圖來源:影片截圖)

延伸閱讀: