人工智能轉(zhuǎn)戰(zhàn)電競!《星際2》人機大戰(zhàn)要出現(xiàn)了嗎泄鹏?

姓名:吳慶愷 ? 學(xué)號:16020610024

轉(zhuǎn)載自:https://www.guokr.com/article/442356/ ?有刪節(jié)

【嵌牛導(dǎo)讀】:最近郎任,Google旗下的人工智能團隊,AlphaGo的親生父親Deepmind宣布和暴雪娛樂合作备籽,并放出了《星際爭霸2》的應(yīng)用程序接口(API)舶治,讓AI能夠在即時戰(zhàn)略游戲環(huán)境下進行機器學(xué)習(xí)分井。

【嵌牛鼻子】:跨界合作,分析處理游戲數(shù)據(jù)的代碼庫霉猛,Python 語言的解釋器尺锚。

【嵌牛提問】:ai的強大是福是禍,哲學(xué)的思考不能缺少惜浅。

【嵌牛正文】:
那么瘫辩,AI這就要進軍電子競技了嗎?還有坛悉,這個API到底是什么伐厌?我們能玩嗎?好玩嗎裸影?該怎么玩挣轨?

電腦游戲和人工智能的跨界合作

近年來,游戲開發(fā)巨頭暴雪娛樂一直和開源社區(qū)有著不解之緣空民,除了為一些開源軟件貢獻了代碼之外刃唐,暴雪的開發(fā)團隊先后公開了《魔獸世界》、《暗黑破壞神3》的游戲數(shù)據(jù)查詢API界轩,還開源了《風(fēng)暴英雄》和《星際爭霸2》的游戲回放處理編輯代碼庫。

2016年衔瓮,暴雪在嘉年華上承諾放出《星際爭霸2》的游戲API浊猾,而在第二年8月9日暴雪就實現(xiàn)了自己的諾言[1]。

圖片來源:暴雪娛樂

另一方面热鞍,人工智能團隊Deepmind從深度學(xué)習(xí)等人工智能研究的前沿領(lǐng)域著手葫慎,在訓(xùn)練AI玩Atari游戲機、走迷宮等項目之后薇宠,通過卓越的圍棋AI“AlphaGo”連續(xù)擊敗多名世界圍棋頂級高手偷办,一鳴驚人。此后澄港,DeepMind官方就表示將研究方向轉(zhuǎn)向即時戰(zhàn)略游戲椒涯,而首選的就是《星際爭霸2》[2]。

能讓AlphaGo去學(xué)打星際嗎回梧?

不废岂,并不能。

按圍棋規(guī)則訓(xùn)練出來的AlphaGo很難應(yīng)對《星際爭霸2》這類即時戰(zhàn)略游戲狱意。

首先湖苞,在《星際爭霸2》中,玩家既要擁有快速的戰(zhàn)術(shù)微操能力详囤,還要有足夠高的戰(zhàn)略規(guī)劃水平财骨。如果說圍棋每步的可能性有19?19=361種,那在即時戰(zhàn)略游戲中玩家用鼠標點擊下達命令的每步可能性則將超過100000000種,還不包括不同的建筑順序隆箩、放置布局该贾、兵種搭配和科技樹順序等等。

而且摘仅,對于圍棋來說靶庙,全盤的信息是完整的,所有的推測可以根據(jù)盤面的情況來進行娃属。但在即時戰(zhàn)略游戲中六荒,由于有“戰(zhàn)爭迷霧”這種設(shè)定,玩家只能看到自己的部隊探索或占據(jù)的區(qū)域矾端,AI所能獲取到的信息是不完整的掏击。

所以對于未知領(lǐng)域的計算就更加困難了,于是Deepmind決定開發(fā)新的應(yīng)用程序接口來進行AI在即時戰(zhàn)略游戲上的應(yīng)用秩铆。

可以看到砚亭,這兩種游戲在玩家獲得的信息方面的不同。圖片來源:維基百科殴玛、《星際爭霸2》游戲截圖

這東西到底是什么捅膘?

這次的放出的接口,全稱叫“星際爭霸2機器學(xué)習(xí)環(huán)境”(StarCraft II Learning Environment滚粟,以下簡稱SC2LE)寻仗,它并不是一個玩家直接打開就能玩的Bot(游戲AI),而是一個讓程序員能用來“訓(xùn)練”人工智能的基礎(chǔ)環(huán)境凡壤。和非人工智能的程序不同署尤,人工智能程序并沒有硬編碼了“要怎么做”的代碼,必須通過機器學(xué)習(xí)的“訓(xùn)練”過程來找到最優(yōu)的解決方案亚侠。

作為一個更新穎也更具挑戰(zhàn)性的機器學(xué)習(xí)環(huán)境曹体,SC2LE由兩個部分組成:

一個是暴雪放出的《星際爭霸2》游戲API,讓計算機程序能夠從類似人類玩家一樣的視角硝烂,獲得當前游戲狀態(tài)的相關(guān)信息——AI能獲得的數(shù)據(jù)和信息和人類玩家是平等的箕别;

另一個是Deepmind放出的PySC2,它提供了一個分析處理游戲數(shù)據(jù)的代碼庫——可以告訴AI下一步要進行什么操作钢坦,是挖礦還是建造兵營究孕。此外,PySC2還能夠幫助程序員編寫的AI進行強化學(xué)習(xí)[3]爹凹。

SC2LE結(jié)構(gòu)圖:星際2客戶端本身(左側(cè)黑色)是核心厨诸,通過API和PySC2進行溝通,聯(lián)合成一個整體禾酱,玩家的AI(右側(cè)Agent)通過PySC2得到各種觀察結(jié)果和反饋微酬,然后做出具體的行動命令绘趋,以模擬人類操作的方式,輸入進PySC2里颗管,形成一個具體的游戲操作陷遮。圖片來源:Deepmind SC2LE介紹

這里的“強化學(xué)習(xí)”,是一種基于決策和交互的機器學(xué)習(xí)方式垦江。在“訓(xùn)練”過程中帽馋,程序針對當前需要解決的問題,建立一個模型比吭,然后基于當前環(huán)境給定的各種規(guī)則和條件作出決策绽族,并且通過探索各種可能性,根據(jù)獲得的反饋(可能是“獎勵”或“懲罰”衩藤,比如成功開了分礦吧慢,或者在戰(zhàn)斗中損失了一支部隊等等情況)來調(diào)整下一步?jīng)Q策,通過不斷的試錯和修正赏表,來尋求最優(yōu)的對策检诗。

通過這樣的方法,訓(xùn)練出來的AI能夠以模擬人類觀察和操作的方式來進行游戲瓢剿,而不是靠直接讀取游戲數(shù)據(jù)和APM碾壓的作弊辦法逢慌。是不是很有挑戰(zhàn)性?

普通玩家也能嘗試

這種高端的項目间狂,是不是只有程序員才能使用涕癣?

不,即使你不是程序員前标,也能玩這個東西!而且我可以負責(zé)任的告訴你距潘,這并不難炼列!

首先當然是通過暴雪游戲平臺,下載星際爭霸2音比。如果你已經(jīng)有了能進游戲的客戶端俭尖,那就不需要額外下載了。另外洞翩,免費版也可以運行AI程序稽犁。

其次是要準備好代碼運行所需的軟件環(huán)境,也就是 Python 語言的解釋器骚亿。這可以在 Python 開源項目的官方網(wǎng)站上下載:www.python.org

接下來已亥,我們先看暴雪放出的代碼[4]:

在下載區(qū),前三個是API的編程說明書来屠、C++的代碼庫和Linux版的《星際爭霸2》AI用客戶端——不是程序員的你可以安全的忽略它們虑椎。第四個是地圖包震鹉,第五個是65000個游戲回放數(shù)據(jù)。如果只是想看看AI怎么玩捆姜,并不打算實際調(diào)教一個AI的話传趾,你只需要下載幾個地圖包即可。下載后解壓壓縮包里的東西到星際爭霸2的 StarCraft II/Maps 文件夾里泥技,解壓密碼是 iagreetotheeula 浆兰。

解壓完之后,你的 StarCraft II 文件夾里應(yīng)該有這些子文件夾:

然后珊豹,你需要從 Deepmind 的開源頁面上安裝PySC2模塊[5]簸呈。

如果你已經(jīng)裝好了 Python 環(huán)境,只需要在系統(tǒng)的“命令提示符”里輸入以下命令就可以在聯(lián)網(wǎng)狀態(tài)下一鍵自動完成安裝了:

pip install pysc2

最后平夜, PySC2 還提供了一套測試基本AI學(xué)習(xí)功能的“迷你游戲”的地圖包蝶棋,在Deepmind的github頁面上可以下載到 ,將其放進 Maps 文件夾里即可忽妒。

安裝好了最基本的SC2LE運行環(huán)境后玩裙,你就可以通過 python 命令激活一個新的AI開始游戲了!

來看看AI的實力吧段直!

在命令提示符輸入以下命令吃溅,就可以打開一場新游戲,看AI的行動了:

python -m pysc2.bin.agent --map Simple64

上面的命令是在一張簡單的1v1地圖上鸯檬,用一個隨機AI進行游戲决侈。如果你裝了上面的“迷你游戲”地圖包,還可以調(diào)用 Deepmind 已經(jīng)調(diào)教好的范例AI玩收集資源的小游戲:

python -m pysc2.bin.agent --map CollectMineralShards --agent pysc2.agents.scripted_agent.CollectMineralShards

游戲效果如下:

背景是游戲畫面喧务,而中間我切出來的那個窗口則是PySC2本身的AI工作窗口赖歌,里面顯示了從AI的角度所看到的游戲數(shù)據(jù)是什么樣的。

動圖閃太快看不清功茴?讓我們開一局新的完整游戲看看:

上圖左邊是經(jīng)過簡化的游戲圖像庐冯,可以看到中間(大綠圓)是星靈的樞紐(Nexus),帶著一群探機(小綠圓)在采礦(藍圓)坎穿。右側(cè)則是各個分層數(shù)據(jù)展父,包括地形高度、當前視野玲昧、小地圖數(shù)據(jù)栖茉,當前窗口上的各個單位類型、血量孵延,已選中的單位數(shù)據(jù)等等吕漂。圖片來源:SC2LE程序界面

過了一會,顯然目前的實驗AI基本就是亂來:

建造順序和建筑擺放的方式可以說是十分混亂了隙袁。 圖片來源:SC2LE程序界面

根據(jù)deepmind的資料顯示痰娱,目前各家訓(xùn)練開發(fā)出來的AI(PySC2中附帶了好幾個不同的范例)在完成采礦弃榨、控制單位移動、造兵等基礎(chǔ)操作方面沒有太大的問題梨睁,但在整個游戲上還很難和暴雪內(nèi)置的簡單敵人抗衡鲸睛。大部分的AI能做到的都只是機械的隨機重復(fù)已有的行為而已∑潞兀看來要玩的好官辈,這門檻也還不低啊,想要“做一個AI打敗電競高手賺錢”還是挺任重道遠的遍坟。

目前拳亿,表現(xiàn)優(yōu)秀的是加拿大紐芬蘭紀念大學(xué)計算機科學(xué)系助理教授大衛(wèi)·丘吉爾(David Churchill)開發(fā)的AI:CommandCenter,它雖然只會一種固定套路愿伴,但已經(jīng)幾乎能打敗暴雪內(nèi)置的簡單電腦敵人了[6]肺魁。

你現(xiàn)在下載這個軟件,也可以在你電腦上模擬一場:

這盤隔节,被CommandCenter殺光農(nóng)民的電腦敵人打出了gg鹅经。 圖片來源:星際爭霸2AI運行截圖

大衛(wèi)·丘吉爾表示,接下來他將讓這個AI學(xué)會建造附屬建筑怎诫、適時升級相應(yīng)的科技瘾晃,未來還會嘗試讓AI能對戰(zhàn)斗情況進行預(yù)判,以及在主動進攻幻妓、積極防御蹦误、游擊騷擾等策略中靈活選擇。

最后肉津,Deepmind和暴雪在SC2LE的發(fā)布說明中表示强胰,希望通過這次開源的代碼和范例,能給廣大星際玩家和自制AI愛好者提供更多的便利妹沙,更好地發(fā)揮出創(chuàng)造力哪廓,也希望能給人工智能領(lǐng)域的研究者一個更強有力的研究工具,以便推進未來人工智能技術(shù)的發(fā)展和進步初烘。或許在不久以后分俯,我們就能看到星際爭霸AI版的《機器人大戰(zhàn)》節(jié)目了吧肾筐?

在《機器人大戰(zhàn)》這個暴露年齡的節(jié)目中,參賽者用自己制造的機器人下場決斗缸剪,把對方摧毀的一方獲勝吗铐。圖片來源: Battlebots.com

無獨有偶,8月12日早上杏节,特斯拉老板伊隆·馬斯克(Elon Musk)旗下的人工智能OpenAI在Dota2的1v1比賽中唬渗,以三戰(zhàn)兩勝的成績首次擊敗了人類職業(yè)選手Dendi典阵。

被AI單殺的Dendi小哥。圖片來源:Dota2比賽視頻

據(jù)OpenAI團隊介紹镊逝,他們的AI并不是靠微操數(shù)量取勝壮啊,他們的AI通過自己和自己比賽的機器學(xué)習(xí)方式,花了兩周時間達到了目前的水平撑蒜。

不過歹啼,雖然這個AI看起來比星際2的AI厲害了許多,但這種控制單一英雄座菠、中路對單的Dota 2里狸眼,AI需要處理的信息和進行的操作都比完整的星際2對戰(zhàn)簡單很多,表現(xiàn)良好也算是情理之中浴滴。

在此之前拓萌,這個AI也打敗過SumaiL、Arteezy等職業(yè)選手升略。不過OpenAI CTO Greg Brockman表示微王,1V1的勝利并不是他們的最終目的,OpenAI希望能在2018年的國際邀請賽上與職業(yè)選手進行5V5的比賽降宅。說不定到時候的全明星賽將會是一場新紀元的人機大戰(zhàn)骂远!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市腰根,隨后出現(xiàn)的幾起案子激才,更是在濱河造成了極大的恐慌,老刑警劉巖额嘿,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘸恼,死亡現(xiàn)場離奇詭異,居然都是意外死亡册养,警方通過查閱死者的電腦和手機东帅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來球拦,“玉大人靠闭,你說我怎么就攤上這事】擦叮” “怎么了愧膀?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長抵代,這世上最難降的妖魔是什么攀唯? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任蟀悦,我火速辦了婚禮媚朦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘日戈。我一直安慰自己询张,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布涎拉。 她就那樣靜靜地躺著瑞侮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鼓拧。 梳的紋絲不亂的頭發(fā)上半火,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音季俩,去河邊找鬼钮糖。 笑死,一個胖子當著我的面吹牛酌住,可吹牛的內(nèi)容都是我干的店归。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼酪我,長吁一口氣:“原來是場噩夢啊……” “哼消痛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起都哭,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤秩伞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后欺矫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纱新,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年穆趴,在試婚紗的時候發(fā)現(xiàn)自己被綠了脸爱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡未妹,死狀恐怖簿废,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情络它,我是刑警寧澤捏鱼,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站酪耕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏轨淌。R本人自食惡果不足惜迂烁,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一看尼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盟步,春花似錦藏斩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽黄橘。三九已至,卻和暖如春塞关,著一層夾襖步出監(jiān)牢的瞬間抬探,已是汗流浹背帆赢。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留椰于,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓瘾婿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親憋他。 傳聞我的和親對象是個殘疾皇子孩饼,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容