【加入星際2徵程】DeepMind星際爭霸2開源機器學習平臺入門

2021-02-15 新智元

來源:chris-chris.ai

作者:Chris Song

編譯:文強

【新智元導讀】DeepMind此前開源了《星際爭霸2》機器學習訓練平臺,這個平臺對於state-of-the-art的深度強化學習算法來說是極好的測試平臺。希望下面這份教程能幫你更快更好地上手。

DeepMind 之前開源了《星際爭霸2》的深度強化學習平臺,這是個很好的訓練環境,學起來也很有趣。下面是一份有關設置環境和訓練模型的教程,基於Mac環境。我們會跑一遍訓練腳本,使用Deep Q-Network解決CollectMineralShards這個mini-game。享受學習吧~

在開始之前,你需要準備好:

先上結果:

這篇教程的結構:

1)安裝pysc2

2)Star&Fork pysc2樣本

3)克隆pysc2-examples庫

4)下載《星際爭霸2》地圖

5)安裝Tensorflow和baseline庫

6)用IntelliJ(或PyCharm)打開項目

7)運行訓練腳本

8)運行預訓練模型

接下來,我們就開始吧!

首先,我們要安裝pysc2庫。

在終端上輸入命令就好了(由於我們使用的是python3,必須輸入pip3)。

pip3 install pysc2

然後,你的pysc2就安裝好了。

接下來,打開下面的Github連結:

https://github.com/chris-chris/pysc2-examples

這是最重要的一步!記得給我的庫加星哦☺

Fork也來一下(譯註:現在Star和Fork的數量都有所增長,Star已經超過150啦)~

簡單一行命令就能克隆這個庫了

git clone https://github.com/chris-chris/pysc2-examples

然後你就能在計算機上看見「pysc2-examples」的目錄了。

在運行訓練腳本之前,我們必須下載mini-game的遊戲地圖,並將這些地圖保存到星際爭霸2D的地圖目錄StarCraft II/Maps。

下載遊戲地圖https://github.com/deepmind/pysc2/releases/download/v1.0/mini_games.zip

我是Mac用戶,因此我的星際爭霸2地圖位置是

/Applications/StarCraft II/Maps/mini_games

如果你用Windows,可以將地圖保存在StarCraft II/Maps/mini_games。

Linux用戶請將地圖保存在~/StarCraft II/Maps/mini_games

我們需要更多庫!我們需要Google Tensorflow 和 OpenAI baselines這些庫。

使用以下命令:

pip3 install tensorflowpip3 install baselines

我使用OpenAI's baselines庫實現了強化模型。OpenAI's baselines庫依賴於Tensorflow,因此我們需要安裝Tensorflow。 我認為OpenAI的基線是Deep Q-Network實現裡最漂亮的,這也是我用它的原因!

我猜,看這篇文章的人,你們大多數都已經安裝TensorFlow庫了吧:)

6)用IntelliJ(或PyCharm)打開項目

輸入下面的命令行,訓練就開始了

python3 train_mineral_shards.py

提醒一下,我強烈建議你在IDE(集成開發環境)上開發強化學習,因為我接下來會使用Debug mode來解釋環境變量:) 我目前在IntelliJ上運行這個項目。

運行 IntelliJ 或 PyCharm,打開我們剛剛克隆的項目的文件夾。

設定Project Structure

選擇菜單 [File > Project Structure] 

在Module SDK上選擇Python3 SDK。如果你找不到SDK,單擊[New...]添加你自己的python3二進位文件。

好,接下來開始跑訓練腳本。右鍵點擊train_mineral_shards.py,選擇菜單[Run 'train_mineral_shards']

然後,你就能在控制臺看見運行《星際爭霸2》的日誌了。

對上面的日誌做個簡短的說明。

steps:發送到海軍陸戰隊的命令數The number of commands

episodes:我們玩的遊戲數The number of games

mean 100 episode reward:最近100次遊戲獲得的平均獎勵

mean 100 episode min…:最近100次遊戲採礦的平均值

% time spent exploring:花在探路上的時間比(探路/採礦)

我設置訓練腳本運行20,000,000步(如果你想在筆記本電腦上運行,建議你將訓練步長設置在50萬的樣子)

我編碼程序在完成所有訓練步驟後,將訓練好的模型保存在文件夾mineral_shards.pkl裡。

act.save("mineral_shards.pkl")

如果你想用這個預訓練模型,只要運行enjoy script就行啦☺

右鍵enjoy_mineral_shards.py,選擇菜單[Run 'enjoy_mineral_shards']

然後,你就能在CollectMineralShards地圖上看到預訓練好的智能體啦~

原文地址:http://chris-chris.ai/2017/08/30/pysc2-tutorial1/

相關焦點

  • DeepMind AlphaStar星際爭霸2首秀:Demo很強大,現場比賽竟然輸了
    在全球首場星際爭霸 2 的「人機大戰」中,AI 和人類玩家都使用了神族。人工智慧表示:Pimba,所以我用神族(其實當然不是了,是因為神族的兵種最容易計算)。除了 Dota2、王者榮耀這樣的 Moba 類遊戲,星際爭霸因其豐富的多層次遊戲機制,對於人工智慧研究來說也是一個再理想不過的環境。過去一年,機器之心報導了眾多機構在星際爭霸、星際爭霸 2 上的 AI 研究成果。而我們所熟知的 DeepMind,在圍棋項目結束之後也成為了 AI+星際爭霸研究的主力之一。
  • 星際爭霸2人機大戰在即,DeepMind和暴雪發布最新機器學習「工具包」
    而就在今天,DeepMind和暴雪同時在各自的官網上正式推出合作開發的星際爭霸2機器學習工具組:SC2LE(星際2學習環境)。在其官博文中,DeepMind表示,SC2LE將包括:DeepMind與暴雪已經進行了長期的合作,雙方希望通過這些工具,幫助研究人員加快星際爭霸2AI的開發速度。
  • 剛剛,星際爭霸2人類1:10輸給AI!DeepMind 「AlphaStar」橫空出世,兩周內進化神速
    為什麼是"星際爭霸 2"?比賽前期,DeepMind 與暴雪就聯合發布了關於此次比賽的重磅預告:將在北京時間周五凌晨 2 點展示 Deepmind 研發的 AI 在即時戰略遊戲星際爭霸 2 上的最新進展。如今,這個進展終於揭開神秘面紗。
  • 人工智慧與「星際爭霸」:多智能體博弈研究新進展
    2016 年開始,以深度學習和深度強化學習為主的智能體自主學習方法開始應用於該領域,此類算法被稱為現代人工智慧程序。Deepmind和暴雪聯合開發了基於星際爭霸II的深度學習研究環境SC2LE。國內外眾多極具實力的科研團隊參與其中,國外有如Deepmind、Facebook、阿爾伯塔大學、牛津大學、倫敦大學等,國內如阿里巴巴、騰訊以及中國科學院自動化研究所等也進行了相關研究。
  • 2020年,你為什麼還在玩《星際爭霸2》?
    相信關注CNSC的朋友都不會忘卻No總和雙狗為李少開香檳的這一幕。2007年,暴雪在韓國首爾舉辦的WWI(暴雪全球邀請賽)上正式公布了《星際爭霸2》,堪稱萬眾期待。
  • 星際2職業高手史上首次被AI擊潰,AlphaStar一戰成名
    在圍棋世界,動作空間只有361種,而星際2大約是1026。這場比賽,全程在此:另外DeepMind也放出了全部11局對決的視頻,有興趣可以前往這個地址查看:https://deepmind.com/research/alphastar-resources/之前的10局比賽,DeepMind還拍成了一個紀錄片。
  • 【星際爭霸2】南大AI單機訓練一天,擊敗最高難度內置 Bot
    ,結合宏動作學習、課程學習等方法,僅使用12個物理CPU核和48個線程,單機訓練一天時間內,擊敗了《星際爭霸2》內置AI。實際上,在更早的4月份,來自南京大學的俞揚團隊也深入研究了《星際爭霸2》的分層強化學習方法。與騰訊AI Lab不同的是,南京大學團隊不依賴人工定義的宏動作,而是從人類的演示數據中自動學習宏動作。再依靠強化學習自動學習基地運營和戰鬥調度,並僅在12個物理CPU核、48個線程、智能體設定為神族、對手設定為人族的情況下,取得了突破性的成果。
  • 星際爭霸2虛空之遺國服11月10日上線
    暴雪娛樂和網易公司今天聯合宣布,《星際爭霸II》三部曲的最終篇章——《星際爭霸II:虛空之遺》,將於11月10日正式在中國發布。這意味著,《星際爭霸II》系列遊戲將首次在國服實現全球同步發布。《虛空之遺》中,玩家將指引星靈的領袖阿塔尼斯和澤拉圖團結族人、收復家園,共同對抗威脅整個宇宙的遠古邪惡力量。在這部聚焦星靈種族的劇情戰役中,玩家將指揮「亞頓之矛」——一艘能夠改變戰局的星靈旗艦。
  • 星際爭霸2:虛空之遺即將上線 故事還會繼續
    這也是《星際爭霸2》國服歷史性首次資料片同步上線。在昨日,記者對暴雪《星際爭霸2:虛空之遺》首席製作人Tim Morten進行了視頻專訪。在臨近《虛空之遺》正式上線不到兩周之際,Tim通過視頻採訪宣布了《虛空之遺》國服將於世界同步並在中國舉辦全球首個《虛空之遺》國際比賽的好消息。
  • 【星際爭霸2】3.17版本更新:老男孩播報員與德哈卡
    *註:《星際爭霸II:虛空之遺》3.17.0版本預計將於8月31日發布上線,具體時間請以遊戲上線時間為準。
  • 【評測】星際爭霸2-大和艦
    那麼柒彩星際系列除了這兩款還有下面這些,整個人類陣營的單位都齊了。攻城坦克和可直變的維京戰機看起來也都很不錯呢。不知道以後會不會出神族和蟲族呢。嚴重期待啊,最好把建築也出一遍吧。總結:這款大和造型還原,結構合理,把玩不掉件,星際玩家必入---往期評測文章:【評測】星際爭霸2-雷神裝甲
  • 星際爭霸2合作模式新指揮官揭曉
    今日凌晨,星際爭霸2合作模式設計師David Sum(大衛孫)攜手知名解說Nathanias(低配梅西)做客Twitch星際2頻道
  • 【星際】為艾爾而戰!星際爭霸2合作模式指揮官澤拉圖公布
    我們一直都對澤拉圖這個在星際宇宙中的人物非常痴迷,所以我們心中一直都知道我們肯定是要把他加入合作任務的。但是,我們已經有了一名「黑暗聖堂武士」指揮官沃拉尊,我們必須設計得萬分小心,讓他與這位奈拉其姆的夥伴擁有足夠多的不同點。最簡單的一點,我們知道澤拉圖必須是一個可以在戰場上進行控制的指揮官。
  • 《星際爭霸2:自由之翼》正式免費
    告訴小夥伴們一個好消息《星際爭霸2:自由之翼》正式免費了,暴雪在月初公布了這個決定,大家都欣喜若狂,在北美已經免費之後,我們的國服在16日也就是昨天正式啟動這一次的免費大狂歡
  • 伯克利星際爭霸II AI「撞車」騰訊,作者:我們不一樣
    只是騰訊等近期也在星際爭霸 II 的 AI 架構上提出了模塊化方法,而伯克利研究者甚至也發現二者是同期進行的研究。星際爭霸 II 被公認為 AI 研究的新裡程碑,但由於其視覺輸入複雜、活動空間巨大、信息不完整且視野較廣,星際爭霸 II 仍然是困擾深度強化學習的一大挑戰。實際上,直接的端到端學習方法甚至無法打敗最簡單的內建 AI(Vinyals et al. 2017)。星際爭霸 II 是一款實時策略遊戲,包括搜集資源、搭建生產設備、研究技術及管理軍隊打敗對手等。
  • 【星際】星際爭霸2平衡性Mod更新:運輸機加強 鼓勵多線空投
    今日,《星際爭霸2》公布了最新的10月24日平衡性Mod更新,其中很多事玩家反饋的意見,官方經過一番深入的討論後,對多個問題經行了優化和改進,其中對測試匹配隊列再增加一些改動
  • 《星際爭霸2》遊戲大廳地圖「鋼鐵雄心」簡介
    《星際爭霸II》遊戲大廳中有許多出色自制地圖,它們深受玩家們的喜愛,「鋼鐵雄心」系列地圖就是其中之一。
  • 為什麼星際爭霸中神族的航母會長得那麼圓潤?
    如果玩過《星際爭霸2》的玩家就一定會發現,從星際1到星際2,神族的航母外形發生了很大的變化。當然了,這些都是暴雪所創作的背景設定,那麼從星際1到星際2航母外形變化的根本原因是什麼呢?其實還是因為現如今暴雪已經無需再為一些硬體限制所妥協,完全可以將自己的想法充分地展示給玩家。我們知道《星際爭霸》發售的年代是1996年,那時候電腦內存和CPU算力都低得可憐,所以暴雪在設計神族航母的時候不得不儘可能地減少細節。
  • 《星際爭霸2》付費內容停更後,我們與黃旭東聊了聊這款遊戲今後的路
    最近幾天,星際玩家們的心情應該都挺複雜。其原因來自10月17日,《星際爭霸2》官網更新公告,暴雪副總裁Rob Bridenbecker在文章中這樣寫道:「之後我們不會再製作例如指揮官或是戰爭寶箱這樣的額外付費內容了。但我們會繼續為這款遊戲提供賽季更新並進行必要的平衡性調整,延續它的生命力。」
  • 《星際爭霸II》十周年遊戲更新
    在過去十年裡,從遊戲到社區,我們親眼見證了《星際爭霸II》的成長。而今,歡慶的時刻已然來臨。自各位指揮官加入科普盧星區開始徵戰,至今已有整整十年之久。為了共同紀念這段歲月,我們在遊戲中加入了一些玩家提議的功能以及其他額外更新內容,望與君共勉:十年玩家創造之旅