單機《星際爭霸2》AI,不用GPU集群,支持多種訓練環境

2021-02-14 新智元

來源:Github

編輯:文強

【新智元導讀】如果說我們的徵途是星辰大海,那麼星際爭霸必定是其中一關。今天,有人在Github開源了他潛心研究一年半的成果,一個新手和資深研究人員都能受益的深度強化學習框架,單機運行速度快、方便調式,支持多種強化學習訓練環境。

上周結束的 AI Challenger 星際爭霸競賽,讓 AI 挑戰星際爭霸這個議題又稍稍火了一把。雖然這屆冠軍使用的仍然是硬編碼方法,但從其他解決方案中不難看出,AI 算法的佔比在不斷提升。

作為圍棋之後 DeepMind 公開宣布的下一個攻克目標,《星際爭霸》的魅力可見一斑。而隨後不久 DeepMind 便將其相關研究及平臺開源,更是印證了讓 AI 玩星際爭霸的挑戰。

今天,塔爾圖大學的 Roman Ring 在 Github 上開源了他傾力投入一年半的成果,一個名叫 Reaver 的《星際爭霸 II》AI,可用於訓練《星際爭霸 II》的各種基本任務。

Reaver 的基本思路是沿著 DeepMind 的路線在走,也即 AI 的玩法是像人類玩家一樣,從遊戲畫面中獲取視覺特徵,然後再做出決策。

補充說明,Roman 去年本科畢業項目是使用《Actor-Critic 法復現 DeepMind 星際爭霸 II 強化學習基準》[1],Reaver 則是在此基礎上的改善提升。

Reaver 的強項在於比其他開源的同類框架單機運行速度快;除了支持星際爭霸遊戲訓練環境 SC2LE,也支持 OpenAI Gym、ATARI 和 MUJOCO;模塊化組成,容易調試。

根據作者所說,Reaver 不到10 秒就解決 CartPole-v0,在 4 核 CPU 筆記本上每秒處理 5000 張圖像,使用 Google Colab,Reaver 通關《星際爭霸 II》SC2LE 小型遊戲 MoveToBeacon 只需要半小時的時間。

Reaver 玩《星際爭霸 II》小型遊戲 MoveToBeacon 的畫面,左邊是未經訓練,右邊是訓練後的情況。來源:Roman Ring/YouTube

套用一句話,如果我們的徵途是星辰大海,那麼其中的一關必然是《星際爭霸》。

Reaver 對於不具備 GPU 集群的人非常友好,正如作者在 Github 庫裡介紹所說,

「雖然開發是研究驅動的,但 Reaver API 背後的理念類似於《星際爭霸II》遊戲本身——新手可以用,領域專家也能從中獲得東西

「對於業餘愛好者而言,只要對 Reaver 稍作修改(例如超參數),就能得到訓練深度強化學習智能體的所有必須工具。對於經驗豐富的研究人員,Reaver 提供簡單但性能優化的代碼庫,而且都是模塊化架構:智能體、模型和環境都是分開,並且可以隨意組合調換。」

歡迎加入星際爭霸強化學習陣營。

性能  大部分已發表的強化學習基準通常針對的都是 MPI 之間 message-based 通信,對於 DeepMind 或者 OpenAI 這樣有大規模分布式強化學習配置的機構而言這樣做自然很合理,但對於普通研究者或其他沒有這類強大基礎設施的人,這就成了很大的瓶頸。因此,Roman Ring 採用了共享內存(shared memory)的方法,相比 message-based 並行的解決方案實現了大約 3 倍的速度提升。

模塊化  很多強化學習基準都或多或少都是模塊化的,不過這些基準通常與作者使用的訓練環境密切相關。Roman Ring 自己就曾經因為專注於《星際爭霸 II》環境而導致調試花了很長時間。因此,Revar 只需要一個命令行就能改變訓練環境,從 SC2 到 Atari 或者 CartPole(將來計劃納入 VizDoom)。每個神經網絡都是簡單的 Keras 模型,只要符合基本的 API contracts 都能調用。

調試  現在一個遊戲 AI 通常含有十幾個不同的調試參數,如何實現更為統一便捷的調試?Roman Ring 在 Reaver 中只要能用的地方都用了 「gin-config」,這個輕量級調試框架只要是 Python 可調用函數都能調試,非常方便。 

更新  是的,現在算法發展很快,去年發表的東西今年就可能過時。在開發 Reaver 的時候 Roman 表示他想著用了 TensorFlow 2.0 API(主要是使用 tf.keras 不用 tf.contrib),希望這個庫能活用久一點吧。

Roman Ring 列出了 Reaver 在《星際爭霸 II》各種小型遊戲上與其他 AI 的性能對比。其中,

Reaver(A2C)就是在 SC2LE 訓練 Reaver 得到的結果

DeepMind SC2LE 是 DeepMind 在《StarCraft II: A New Challenge for Reinforcement Learning》一文中發布的結果[2]

DeepMind ReDRL 則是 DeepMind 在《Relational Deep Reinforcement Learning》中的結果[3]

人類專家是 DeepMind 收集的 GrandMaster 級別人類玩家的結果

以下是 Reaver 在不同小型遊戲中訓練花費的時間:

綜上,就算 DefeatRoaches 花了 150 小時,但考慮到硬體只是一臺筆記本(英特爾酷睿 i5-7300HQ,4核 + GTX 1050 GPU),這個結果已經算很不錯。

Roman 還列出了他的路線圖,上述成果只是他萬裡長徵的第一步。如果你感興趣,不妨加入這個項目。

介紹就到這裡,訪問 Github 了解更多:

https://github.com/inoryy/reaver-pysc2

參考資料

[1] http://www.ikuz.eu/materials/supervision/Roman-Ring-Replicating-DeepMind-StarCraft-II-Reinforcement-Learning-Benchmark-with-Actor-Critic-Methods.pdf

[2] https://arxiv.org/abs/1708.04782

[3] https://arxiv.org/pdf/1708.04782.pdf

【加入社群】

新智元 AI 技術 + 產業社群招募中,歡迎對 AI 技術 + 產業落地感興趣的同學,加小助手微信號:aiera2015_2  入群;通過審核後我們將邀請進群,加入社群後務必修改群備註(姓名 - 公司 - 職位;專業群審核較嚴,敬請諒解)。

相關焦點

  • 星際爭霸2人類1:10輸給AI!DeepMind 「AlphaStar」進化神速
    比賽回放過程中,主持人問到 DeepMind 科學家,平時如何訓練 AlphaStar,DeepMind 科學家 Oriol Vinyals、David Silver 表示,首先是模仿學習,團隊從許多選手那裡獲得了很多比賽回放資料,並試圖讓 AI 通過觀察一個人所處的環境,儘可能地模仿某個特定的動作,從而理解星際爭霸的基本知識。
  • DeepMind 和暴雪聯合官宣,邀大家看一場 AI 打《星際爭霸 II》的...
    日前,DeepMind 和暴雪聯合官宣,將於當地時間周四下午 6 點(北京時間周五凌晨 2 點)以線上直播的方式公布《星際爭霸 II》AI 的最新進展!,DeepMind 就開始把注意力轉向了經典的實時戰略遊戲《星際爭霸 II》,並在 11 月份一年一度的 Blizzcon 上宣布與著名遊戲公司暴雪達成協議,共同合作《星際爭霸》系列遊戲,至此算是定下了 DeepMind 與《星際爭霸 II》這長達 2 年多的淵源。
  • 多圖詳解 DeepMind 的超人類水準星際爭霸 AI 「AlphaStar」
    相比之下,現代的競技類電子遊戲的行動空間就複雜得多,比賽可以有 2 個以上的玩家參與、每個玩家可以同步做出行動、每個行動可以有不同的時間長短、位移和移動都是空間連續的、攻擊防禦技能物品等還有很多的變化。隨著當年的狂熱玩家們如今成為計算機科學領域的研究人員,電子競技遊戲 AI 研發也快速分出了兩大主要陣營:星際爭霸/星際爭霸2,以及 DOTA2。
  • 體量大十倍,Facebook開源史上最大星際爭霸AI研究數據集
    最近,Facebook 又發布了一個大體量星際爭霸錄像數據集 STARDATA,旨在為廣大研究者提供方便。數據集連結:https://github.com/TorchCraft/StarData即時戰略遊戲(RTS)因為複雜的遊戲環境、戰爭迷霧的限制、以及大量專業玩家帶來的 Replay 錄像,正成為人工智慧研究的熱點方向。
  • 星際爭霸劇情和官方小說 - 星際爭霸2中文網 - 星際爭霸2RPG地圖...
    2009年7月20日,在參觀暴雪總部期間,我有機會做為暴雪開發人員之外的第一批少數玩家,試玩並體驗了星際爭霸2:自由之翼單人戰役部分。      總的來說,遊戲非常贊。對於熱衷於RTS遊戲單人戰役和打穿整個故事線的玩家,以及劇情控來說都是如此。
  • 星際爭霸秘籍匯總分享 作弊碼使用方法大全
    首先介紹星際爭霸2的秘籍使用方法 在星際爭霸2單人遊戲(劇情模式或者遭遇戰挑戰AI時)按下enter回車鍵,出現聊天窗口,然後輸入以上作弊碼,會出現相應效果。 Spawn Broodling =專對地面部隊的必殺寄生蟲,還會殘留兩雙小蟲 Dark Swarm =機槍的攻擊失效 Plague =目標生命值下降至瀕死 Consume =吞食同伴並吸收能量 Ensnare =大幅降低部隊行動速度 Parasite = 寄生偵察蟲 注意:星際爭霸中單機版跟電腦打就可以用秘籍
  • 資源| CommandCenter:基於暴雪官方API的星際爭霸2 AI Bot
    年歷史的星際爭霸一代轉向更為「現代化」的星際爭霸 2。近日,AIIDE 星際爭霸 AI 對抗賽的組織者 David Churchill 發布了基於暴雪星際 2 API 的 AI bot 框架,為開發者們構建人工智慧,挑戰這一複雜遊戲提供了一種基礎工具。
  • 學習頂級玩家Replay,人工智慧學會了星際爭霸的「大局觀」
    近日,來自ITUniversityofCopenhagen的幾位學者嘗試使用頂級玩家的Replay訓練一個深度學習模型來打星際爭霸,並獲得了成功。經過訓練的AI學會了人類玩家運營的部分技巧,並在對戰中展現出了多種不同策略。  有關星際爭霸系列遊戲的人工智慧研究層出不窮,因為這一即時戰略遊戲(RTS)的環境複雜,在同類遊戲中,平衡性也做得最好。
  • 星際爭霸1的平衡性真的做得比星際爭霸2好麼?
    Hi~ o(* ̄▽ ̄*)ブ ,大麥的《星際爭霸十萬個為什麼》又和大家見面啦!相信不少老玩家一定都有過這樣的感受,認為《星際爭霸1》的平衡性要遠好於《星際爭霸2》,感覺那時候職業選手完全就是靠自己的操作,誰的操作更好誰就牛逼,這才是最平衡的RTS遊戲。
  • 能工巧匠 《星際爭霸2》玩家自製模型
    在《星際爭霸2》遊戲中有很多經典的人物角色以及種族單位,每個角色或單位都有自己獨特的外觀以及特點,每個小夥伴心中也都有自己最愛的角色單位,在廣大星際2玩家中不乏心靈手巧之人,這些玩家把自己喜愛的角色或單位製作成了精美的手辦模型,今天就讓我們一起欣賞《星際爭霸
  • 《星際爭霸2》幽靈有什麼能力 幽靈兵種能力一覽
    導 讀 星際爭霸2這款遊戲中是有很多的角色供玩家們選擇,幽靈在人族中是一種擁有隱形能力的一個兵種,很家尤其是新手玩家可能不知道
  • 《星際爭霸2》蟑螂厲害嗎 蟑螂介紹
    導 讀 星際爭霸2這款遊戲中是有很多的角色供玩家們選擇,蟑螂在蟲族中是一個可怕的兵種,很家尤其是新手玩家可能不知道
  • 星際爭霸2_星際爭霸2新聞_3DM新聞
    外媒詳解星際爭霸2在線人數:中國區慘不忍睹 來自知名站點teamliquid的國外玩家muffley統計了星際爭霸2全球天梯聯賽的人數,包括美國、歐洲、韓國/臺灣、中國以及東南亞5大分區。
  • 《星際爭霸2》官方FAQ 完全中文實錄
    遊俠會員:yangtou 原創《星際爭霸2》是什麼?《星際爭霸2》是延續了原作《星際爭霸》的一款實時戰略(RTS)遊戲。遊戲包括3個鮮明而相對平衡的種族,神族、人族、蟲族。各種族都經過了重新檢查設定,新增了很多全新兵種,也當然保留了前作中的一些經典兵種。遊戲何時發售?
  • 《星際爭霸2》狂熱者特點分析 狂熱者介紹
    導 讀 星際爭霸2這款遊戲中是有很多的角色供玩家們選擇,狂熱者在星靈種族中是一個號稱是星靈族聖堂武士的兵種
  • 《星際爭霸2》多語言暫無中文版 戰網整裝待發
    戰網《星際爭霸2》部分已經被激活可以進入   【178記者整合 轉載請註明出處及作者】   由Blizzard 所開發的即時戰略遊戲《星際爭霸2:自由之翼》(StarCraft II:Wings of Liberty),21日於官方 Twitter 及 Facebook 上同步宣布,即日起將推出兩個新語系版本。
  • 《星際爭霸2》卡通MOD演示 三大族群萌戰不休
    大家都還記得在多年前《星際爭霸2》中奮戰的情形嗎?過去,在Youtube上曾出現過卡通版的星際爭霸視頻,那些視頻作者近日決定通過MOD將這些卡通角色引入遊戲,讓大家可以真正的去遊玩卡通版的《星際爭霸2》,而不只是看他製作好的卡通。
  • 《星際爭霸II》官方FAQ中文版
    《星際爭霸2》官方網站公布了遊戲的FAQ,以下是中文翻譯版,涉及到遊戲內容的並不多,但可以讓我們對星際爭霸II有個大致的了解。 導讀: 1.《星際爭霸2》是一款全3D即時戰略遊戲,三大種族新增大量全新兵種 2.遊戲目標是全球同步何時發售,日期未定。
  • 《星際爭霸2》神族靜滯球將被取消
    今天,暴雪發言人在《星際爭霸2》官方論壇上發布了最新一期的《星際爭霸2》官方問答,同時,在此次的消息中還包括了一些開發的最新進展和變化。閒言少敘,讓我們直接進入正題。
  • 【遊俠導讀】暴雪曾在《星際爭霸2》官網發起了一項"酒吧爭霸"(Bar...
    這家酒吧的老闆們也是《星際爭霸II》的忠實粉絲,時常在注意國內外的《星際爭霸II》賽事,而且他們也希望可以在臺灣推動BarCraft的風氣。所以請(已成年)的星際粉絲一定要踴躍參加,鼓勵更多的酒吧支持《星際爭霸II》電競的活動!  這次BarCraft活動的票價為臺幣200元(原價300元,為了慶祝臺灣首場BarCraft決定贊助每一個人100元的票價)。