AI簡史 | 星際英雄傳說

AI簡史 | 星際英雄傳說

來自專欄量子位22 人贊了文章

唐旭 假裝發自 BlizzCon

量子位 出品 | 公眾號 QbitAI

2009年8月,美國加州。

阿納海姆會議中心的暴雪嘉年華上,尚未正式發布的RTS遊戲大作《星際爭霸II》舉行了試玩活動。

在活動2區,一位戰網ID為Xyrin的玩家分別用三種不同的種族與電腦進行了對戰。而在遊戲行將結束時,他驚奇地發現,電腦一方竟然打出了GG。

那或許就是它第一次給人類留下印象

但事實上,彼時的它,只是暴雪為提升遊戲體驗所製造出來的一個附贈品。在玩家眼中,它是陪練,是作弊者,是冷酷無情的行屍,是註定被消滅的瘋狂。

它是為《星際爭霸》而設計的AI。後來,它有了些不一樣的故事。

初生

1998年3月31日,《星際爭霸》正式發布。此後不久,這款遊戲有如暴風一般席捲了整個電競圈。

如果說《沙丘2》是RTS遊戲的鼻祖,那麼《星際爭霸》就是將RTS帶向頂峰的神作。在這款當年銷量最高的RTS遊戲中,無數玩家從芬尼克斯在艾爾行星地平線上的身影中遇見了自己,在沖向母巢的戰艦中找到了家園。

儘管線上的PVP對戰足夠激烈,又或許正是因為這種激烈,有相當一部分玩家似乎更願意選擇在遊戲中添加「電腦」,作為自己的對手。而那也是它最初的樣子。

當時,星際AI的形態更接近一個在今天看來有些粗糙的有限狀態機。它會使用遊戲內部的底層數據,在提前編寫完成的規則下進行有限的動作。

雖然對於新手而言,這種「洞悉全圖」的AI仍然具有不小的挑戰性,但固定的行為模式一旦被玩家摸透並加以克制,便再無翻身可能;有時,它還會自己出現令人啼笑皆非的bug。

事實上,在這類RTS遊戲中,「電腦」不單單是玩家用來訓練操作技術的工具,在某種程度上,它也是一種衡量實力的指標。

一段時間裡,頂尖的業餘玩家會以能夠單挑7個「電腦」對手取勝為榮,而其餘的玩家則會想盡辦法為達成這樣的目標而努力。

儘管會隨著新遊戲版本的不斷推出而同步更新,但自始至終,AI的存在都只是為了「讓大家玩得高興」這一個目的。它並不需要試圖在遊戲中做得比人類玩家更好,創造它的公司對於遊戲體驗和開發效率方面的考量也不允許它這麼做。

遊戲進行到某一特定階段時,它一定會輸。此類結局早已提前寫進了它的代碼中。

它會被擊敗,被摧毀,被屠戮;

隨著遊戲環境的更新而進化,然後再次被擊敗,被摧毀,被屠戮。

周而復始。

分身

△ ORTS遊戲引擎

△ ORTS遊戲引擎

新世紀之初,從研究角度利用RTS遊戲來開發AI的項目其實寥寥無幾。2003年,阿爾伯塔大學計算機科學系的Michael Buro和Timothy Furtak提出應該將RTS遊戲作為通用AI的試驗田,前者在一年之後發布了第一個版本的開源RTS遊戲引擎ORTS,該引擎能夠在圖形和非圖形兩種模式下運行,使得機器人能夠在數千種遊戲場景下迅速訓練。

同年,《魔獸爭霸II》克隆遊戲《Freecraft》的重製版本《Wargus》面世,該遊戲採用了開源的Stratagus引擎;2005年,加州大學伯克利分校的幾位研究者曾經嘗試利用Stratagus平台開發強化學習演算法。

但不久後,因為不同的研究者無法對彼此的工作進行比較和評估,這一平台上的工作最終陷入停滯。

直到2008年,終於,越來越多的研究者開始將目光投向了《星際爭霸》。當年,通過對數千場遊戲重放的挖掘,兩位台灣學者Hsieh和Sun構建了一個能夠預估玩家正在建造哪些建築或單元的模型。

△ Hsieh和Sun的建造順序估計

△ Hsieh和Sun的建造順序估計

一年後,Adam Heinemann等幾位開發者發布了開源C++框架BWAPI(Brood War API)——這是最早,也是迄今為止最重要的《星際爭霸》API。

Heinemann等人黑掉了遊戲之後整合出的這一API,為研究者提供了接入《星際爭霸:母巢之戰》的通道,也就是《星際爭霸I》。BWAPI屬於「純競賽」API,也就是說,API中只曝光了玩家可觀測到的內容,部署其中的AI將不能像遊戲內的「電腦」一樣觸及到遊戲的底層數據,最大程度地保證了公平性。

BWAPI:github.com/bwapi/bwapi

JAVA版BWAPI:

github.com/JNIBWAPI/JNI

此後絕大多數《星際爭霸I》相關的AI開發均依賴於BWAPI。後來,使用該API甚至得到了暴雪的默許:當時,暴雪在最終用戶許可協議中明令禁止對《星際爭霸II》的任何破解行為,卻允許各種《星際爭霸I》相關開發行為的存在,甚至為各種基於BWAPI等介面的星際AI競賽提供獎金。

儘管後來又出現過TorchCraft這樣的深度學習框架,但直至今日,在BWAPI上進行的星際AI研究依然保持著活力。

由此,一部分的它跳出了遊戲內部規則的桎梏,開始以另一種形態在世界的各個角落重生。它成為了軍團,以UAlbertaBot、Skynet、Aiur、Overmind等名字出現在AIIDE、CIG、SSCAIT一類的星際AI比賽中。它的分身彼此研究、剋制,然後相互廝殺,不知疲倦地決出新的最強者,然後開誠布公地向人類玩家發起挑戰。

但命運似乎沒有發生什麼太大的變化。

作為AIIDE(Artificial Intelligence and Interactive Digital Entertainment)大會的組成部分,第一屆AIIDE星際AI比賽於2010年在加州大學聖克魯斯分校舉辦。由此之後,AIIDE逐步發展成為最重要的星際AI賽事。

△ 首屆AIIDE獲勝團隊:伯克利Overmind

作為保留節目,主辦方通常會在主賽事結束後,安排當年的冠軍AI同一位富於經驗的人類玩家進行一場表演賽。每年都是如此。

而直到AIIDE 2017,它一次都沒贏過,且幾乎次次都被碾壓。

還是太難了。蛻下了外殼的星際AI依然無法擺脫僵化、呆板的行為方式,打法被人輕易摸透之後,更不具備變通的能力。

比如2012年的一場比賽里,Bakuryu幾乎只用幾隻小狗就戲耍了AI的整個主力部隊。

尤其是在「X局X勝」的比賽中,這樣的弱點暴露得更為明顯。在某一場比賽中,它可能能夠擊敗D級甚至C級的人類選手,但一兩場比賽過後,它的特點就會被對方發現,然後輸掉剩下的比賽。

AIIDE比賽的發起人David Churchill也強調,這樣的比賽其實有些不公平。不過他也承認,要達到人類職業星際選手的水平,星際AI還有很長一段路要走。

AlphaGo效應

沒人能否認AlphaGo對於如今AI研究浪潮的助推作用。

2016年3月,由DeepMind團隊開發的「最強圍棋AI」AlphaGo橫空出世,在首爾舉行的五番棋比賽中4:1大敗李世乭。自此,新王初起,舊人哀號。

遠有「深藍「,近有」沃森「,這不是AI第一次震驚世人,卻或許是AI讓世人最為震驚的一次。在空前發達的媒體網路能夠在分秒之間將消息送及世界的每個角落之前,恐怕很少有人會相信,在集聚了千年歷史的棋盤上,人類智慧霸權的崩塌會來得如此猝不及防。

儘管李世乭在比賽中下出了「神之一手」,儘管此時柯潔還未出戰,人們已經在急著尋找下一塊可能捍衛的陣地。

DeepMind亦是如此。2016年3月底,暴雪娛樂製作總監 Tim Morten 就在 WCS 中國站總決賽上確認,AlphaGo將會挑戰《星際爭霸II》。同年11月,DeepMind正式宣布與暴雪達成協議。

但這次,他們的目標變成了聯手開發一個針對《星際爭霸II》的AI研究平台,也就是API。

DeepMind團隊表示,他們這次研究《星際爭霸》AI不再以擊敗人類選手為目的,而是要探索AI如何在更複雜的環境下進行決策,並最終將技術應用到現實世界。

即使17年5月的烏鎮圍棋峰會後,配合著深度學習、強化學習等技術的研究浪潮,對於AlphaGo挑戰《星際爭霸》的呼聲再度水漲船高,Byun等職業選手也紛紛向AI宣戰。

人們像是懷著某些期待,希望它能以某種脫胎換骨的姿態出現,再度刷新人們對於這一領域的認知。

但最終,人們也只是在8月等來了DeepMind和暴雪合作開發的《星際爭霸II》開源API SC2LE,以及DeepMind在自己官方博客上的坦誠:「在完整的遊戲流程下,目前我們的agent無法贏下任何一場哪怕是與最簡單遊戲內置『電腦『之間的比賽。我們希望能有更多人參與到這個領域中來。」

將近一年過去,根據2018年6月剛剛出爐的DeepMind最新研究成果,SC2LE環境中的6個小遊戲里,AI玩4個的成績超過了大師級人類玩家。但這距離完整的《星際爭霸II》,不知還有多少步之遙。

戰場終於搭建了起來,強大的戰士還沒降臨。

曙光

AlphaGo淡出人們的視野之後,幾大星際AI比賽的熱度似乎並未下降,但同時,人們仍舊沒能在它的身上看到足夠可觀的進步。

比如2017年底,CIG的星際AI比賽在韓國世宗大學繼續舉辦。

其中就包括人機大戰的環節。人類陣營先由兩個普通學生星際玩家出場,分別挑戰上個月星際爭霸AI大賽的冠軍:ZZZK、來自挪威的TSCMO、主辦方韓國世宗大學研發的MJ。

結果AI陣營分別以3:0、2:1擊敗了普通人類星際玩家,唯一的敗仗由韓國星際AI貢獻。總比分算是5:1。普通人在AI面前敗下陣來。

只可AI們接下後來遇上了「星際四皇」之一、「總司令」stor(宋炳具)。

之前大殺四方的AI被stork輕鬆零封,但他也承認AI們的防守打法「有時候讓人震驚」。

AI還不夠強大,這在意料之中。比如其中最厲害的ZZZK,其實是一個程序員獨自創建的AI,只有一些簡單的學習能力,背後更多是各種預先編輯好的策略。

總而言之,即便走到今天,星際AI還處在發展的初級階段。

新的研究仍在不斷出現,不久前有消息稱,Siri的創造者之一斯坦福國際研究所已經加入了DARPA的一個研究項目,計劃通過《星際爭霸》來訓練AI在意外環境下的臨場反應。

當年十幾歲就拿下西班牙《星際爭霸》全國冠軍的Oriol Vinyals,現在已經成了一位AI大牛,正帶領DeepMind團隊,攻克這一領域。而AlphaGo的核心人物黃士傑,現在也已經參與到這個項目之中。一旦有所突破,必定又是一個驚天的成就。

但與此同時,某美國國防智庫發布的一份報告指出,與《星際爭霸》相關的AI研究項目可能使AI在軍事方面獲得超越人類級別的推演能力,從而加劇核戰爭爆發的風險……

當然,更多時候,我猜,人們依然會更樂於見到那些心無他念、執意衝進戰爭迷霧的唐吉訶德。

It is said that ignorance is bliss. Tell me, is that true?

歡迎大家關注我們的專欄:量子位 - 知乎專欄

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

量子位 QbitAI · 頭條號簽約作者

?? ? 追蹤AI技術和產品新動態

推薦閱讀:

噱頭還是靈丹妙藥?營銷人擁抱AI的正確姿勢!
機器學習當道,還在使用基於詞典的文本挖掘方法么,過時啦!
CVPR 2018 最佳論文 | 任務分類法:解構任務遷移學習
來自獨秀同學的深度網路數學筆記,還不快收藏?
厲害了我的老東北:機器人生產機器人,人工智慧時代正來臨

TAG:遊戲 | 星際爭霸 | 人工智慧 |