每日最新頭條.有趣資訊

從征服圍棋到《星海爭霸2》,DeepMind究竟如何思考?

每周一本書

讓閱讀,豐滿人生

21君:任何足夠先進的技術初看都與魔法無異。自動駕駛汽車已經在很多國家上路,網飛的算法能主動預測你喜歡的電影,DeepMind的計算機程序通關了雅達利遊戲,AlphaGo在古老的圍棋領域攻克了人類智能的防線。

這一切是如何發生的?智能機器究竟如何思考?

來源丨本文內容綜合選自《智能機器如何思考》

編輯丨陳思;實習生 思純

圖片來源丨圖蟲創意

一個可以得心應手地玩《星海爭霸》的機器人需要具備許多我們認為能夠定義人類智能的品質,包括用有限的信息做出戰略決策的能力,以及實時應對不可預見情況的能力。

題記

2016至2017年,谷歌DeepMind的AI AlphaGo橫空出世,在圍棋比賽中接連擊敗世界頂級圍棋選手,點燃了人們對人工智能的熱情。

2019年, DeepMind在推出AlphaGo之後,又把打造兩年的AlphaStar推上歷史的舞台,創造出第一個打敗星海爭霸2頂級職業選手的AI。

1月25日,暴雪與谷歌DeepMind團隊合作研究的星海爭霸人工智能“AlphaStar”通過直播亮相。在人類vs AlphaStar人工智能的共計11場比賽中,人類隻取得了一場勝利。

雖然此前在像雅達利、瑪利歐、和Dota 2這樣的電子遊戲中,AI已經取得了巨大的成功,但直到現在,AI仍在努力應對星海爭霸的複雜性。

設計出能夠在星海爭霸中取勝的AI面對了哪些困難?在AlphaGo的基礎上更進一步,DeepMind 距離達到真正的“智能”還有多遠?

一、AlphaGo仍有局限性

雖然AlphaGo表現出了類似人類的識別圍棋盤面特徵的能力,但它只能執行下圍棋這項非常單一的任務。正如OpenAI的研究員唐傑所言:“AlphaGo不會決定去買個芝士漢堡,然後嘗試接管世界。”

AlphaGo不打算接管世界的一個原因是,它的一切都依賴於人類,包括在棋盤上落子的能力。

除了在對弈過程中識別模式以及從這些模式中選擇著法的神奇能力(毫無疑問,這些能力令人印象深刻),AlphaGo並沒有展現出通常與人類智能相關的大多數能力。

它無法與瞬息萬變的環境互動。除了在搜索樹的上層匯總的統計數據外,它沒有關於過去事件的記憶;

除了模擬它和它的對手如何走棋之外,它沒有關於未來事件的概念。

AlphaGo的創造者與大多數自動機的創造者一樣,他們設計它是為了解決一個狹窄領域的問題。AlphaGo是專門為下圍棋而設計的,因此它隻展現了下圍棋所需要的能力。

考慮到人工智能界已經找到了戰勝圍棋世界冠軍的方法,而圍棋一直被認為是人工智能所面臨的最困難的挑戰之一,那麽我們在人工智能領域要迎接的下一個重大挑戰是什麽?AlphaGo擊敗李世石後不久,DeepMind宣布了一個新項目。

下一個挑戰是設計一個能夠玩遊戲的智能體,這個遊戲要求該智能體具備更多通常與人類智能相關的品質:

在有時間限制的條件下做出決策的能力,尋找做出這些決策所需要的信息,並且在高層次(規劃可能影響長期未來事件的行動)和低層次(做出閃電般迅速的反應,其影響會立即反饋)上共同做出這些決策。

DeepMind 希望構建一個可以玩即時戰略遊戲《星海爭霸》的智能體。

二、為什麽讓AI

在星海爭霸中取勝如此困難?

《星海爭霸》是一款設定在26 世紀的戰爭遊戲。就像國際象棋一樣,每個玩家都指揮著一支由不同部門組成的軍隊,每種部門都有其優缺點。

與國際象棋不同,《星海爭霸》是一款即時戰略遊戲。玩家不是輪流走子,而是在一個大的戰鬥區域內實時指揮自己軍隊的各個部門。軍隊之間的戰鬥殘酷且節奏快,這給手快的玩家帶來了優勢。事實上,《星海爭霸》的頂尖人類玩家操作鍵盤和滑鼠的速度通常超過每秒5次。

《星海爭霸》的另一個有趣之處在於,它要求每個玩家都要維持正常的經濟運轉。

為了發展自己的軍隊,玩家必須建造和升級不同類型的建築。要建造和升級這些建築,玩家必須從他們的環境中獲取資源。要獲得和保護建立這種經濟所需的資源,往往需要武力。因此,強大的經濟產生強大的軍隊,強大的軍隊造就強大的經濟。

為了讓遊戲更加有趣,《星海爭霸》中的“戰場迷霧”掩蓋了大部分遊戲空間。玩家可以看到自己的部門或部門附近發生了什麽,但是在環境地圖上看不到自己的部門以外很遠的地方。這意味著他們必須派出偵察兵或者找到其他方法來了解環境。

在國際象棋和圍棋等策略遊戲中,最優秀的智能體搜索數百萬個遊戲狀態,並執行評價函數來查找最有可能帶來成功結果的狀態。

遊戲搜索樹的大小,以及智能體搜索它的能力取決於兩個因素:樹的每個層次的分支因子(智能體在給定時間內必須做出選擇的走子選項的個數)和樹的深度(智能體在一局遊戲中需要走多少步棋)。

圍棋的分支因子大約是250,《星海爭霸》的分支因子遠大於此。在任何給定時間,玩家可以選擇移動一個或多個部門,可以升級或建造新的建築。保守估計,遊戲的分支因子大約為1 後面50個0 (這個數字非常大,因為玩家可以同時移動他們部門的任何子集)。

《星海爭霸》的時長也比圍棋要長得多,一盤職業圍棋棋局大約持續150 步,而《星海爭霸》是一款即時戰略遊戲。一局典型的25 分鐘的《星海爭霸》大約有36 000個動作。

這意味著一局典型的《星海爭霸》遊戲的搜索空間大約是一盤典型圍棋棋局的101 799 640倍。

為了使遊戲更具挑戰性,《星海爭霸》玩家因為戰場迷霧而僅擁有不完整的信息,因此國際象棋或圍棋中使用的傳統搜索方法不適用於《星海爭霸》。

換言之,《星海爭霸》對人工智能領域提出了巨大的挑戰。

一個可以得心應手地玩《星海爭霸》的機器人需要具備許多我們認為能夠定義人類智能的品質,包括用有限的信息做出戰略決策的能力,以及實時應對不可預見情況的能力。

紐芬蘭紀念大學的計算機科學教授戴維·邱吉爾(David Churchill)稱這是遊戲人工智能研究的“巔峰”。

三、通過簡化遊戲建立架構

讓《星海爭霸》機器人會玩遊戲的唯一微乎其微的機會在於,把它們需要執行的任務分解成可管理的組塊。關於這些組塊應該是什麽的一些核心思想來自對職業人類玩家如何玩遊戲的仔細分析。

圖中所示的架構中,最左側是智能體與環境互動所經過的層。目前為止,大多數《星海爭霸》機器人都通過BWAPI (BroodWar應用程序編程接口)與它們的虛擬環境進行互動。

對《星海爭霸》機器人而言,這個傳感和驅動層為機器人提供了一種通過編程與遊戲本身進行互動的方式。

中間層是感知和環境建模層,用於為智能體追蹤軍事情報:它總結智能體搜集到的關於環境的信息,包括對手的基地、遊戲中的部門和整個地圖的信息。

不同的機器人對這一層的重視程度不同。

機器人的“智能”行為來自架構最右邊的部分,我們可以將其分為三個層次。

在頂層,這些機器人推理戰略:機器人應該建造哪些建築,應該升級哪些建築,以及應該在什麽時候做這些事情。這類戰略決策需要提前幾十分鐘進行規劃,並會對遊戲產生直接的長期影響,因為科技樹(即建築及其升級)將直接影響機器人的軍隊在遊戲後期的組成和優劣。

在略低的層次上,機器人會推理戰術,這涉及提前30秒到1 分鐘的計劃:智能體應該把它的建築建在哪裡?應該何時出兵到何處作戰?

在這三個層次中最低的是反應層,它要求在幾秒鐘內做出規劃和反應。

饋送到這三個層次的是來自軍事情報層的關於環境的信息。

四、設計實用型《星海爭霸》機器人

在設計《星海爭霸》機器人方面,還有什麽方法卓有成效呢?

許多頂級《星海爭霸》機器人的開發者都遵循實用主義理念,用能夠贏得遊戲的策略來編程他們的機器人,即便這意味著他們並沒有創造出我們認為智能的機器人。例如,一些機器人被編程為遵循簡單的rush策略,這意味著他們會建立一支由弱小的戰鬥部門組成的小型軍隊,在對手建立防禦之前發動攻擊。

這類rush策略是合法的策略,職業人類玩家會使用各種各樣的rush策略。但要做到這一點,需要智能體遵循一套簡單的規則,完全不考慮任何長期策略,然而實施這些策略的機器人仍然遠遠不能戰勝人類職業玩家。

邱吉爾利用人工智能領域的各種工具,設計了一個更複雜、更成功的《星海爭霸》機器人。但即使是這款叫UAlbertaBot的機器人,有時也會輸給那些使用rush策略的機器人。

如果以前玩過這類遊戲,你肯定對戰過計算機。

所以你可能會想:如果創建玩《星海爭霸》這類遊戲的機器人如此困難,為什麽計算機還是如此難以戰勝?

邱吉爾對此並不讚同。他解釋說:“因為即時戰略人工智能很難變得智能。而現實遊戲中的機器人經常作弊,以顯得比實際更強。”

你從市場上買來的軟體中的機器人的目標是為人類玩家提供有趣且有吸引力的體驗,這並不是客觀上的優秀。

例如,在某些情況下,計算機可以看到整個遊戲地圖,沒有戰場迷霧。機器人可能會派偵察兵四處偵察,讓人覺得它並沒有完全看到戰場,但這只是把戲而已。

它們的策略同樣簡單:例如,在給定的層次上,計算機可能有一個腳本化的(即預定義的)構建樹,其中包含非常簡單的規則來處理異常。

事實上,腳本化的構建規則甚至在“優秀”的機器人中也很常見。

當邱吉爾和他的合作者創建UAlbertaBot時,他們首先構建了框架,用簡單的腳本化規則填充其不同的組件,如戰略層、戰術層和反應層。

然後,一旦框架就位,他們就可以繼續改進各個組件,用可以探索開發科技樹的最佳順序的組件取代腳本化的“生產模塊”(在這方面這些組件已經超過了人類),用複雜的戰鬥模擬系統取代他們的“戰鬥指揮官”等。

五、DeepMind加入戰局

為了看到《星海爭霸》機器人的發展方向,讓我們回到DeepMind的創始人傑米斯·哈薩比斯。

雖然傑米斯加入《星海爭霸》機器人領域比較晚, 但在創立DeepMind之前,他就對這款遊戲產生了興趣。傑米斯發現他的一位同事是一名《星海爭霸》高手玩家,於是對這位同事屢戰屢勝的能力非常著迷。另一位同事回憶說:

傑米斯想要戰勝這個家夥。他每晚都把自己和那個家夥鎖在一個房間裡。他會為那個家夥設置障礙,讓他在沒有滑鼠或單手的情況下玩遊戲,這樣便可以準確地分析他的哪些操作讓他變得出色。這有點像一個人走上拳擊台被揍了一頓,然後他每晚都回來挨揍。這顯示了他令人難以置信的求勝欲望。

最近,傑米斯將DeepMind的一些工作轉向了開發具有競爭力的《星海爭霸》機器人。DeepMind和《星海爭霸》背後的暴雪公司(Blizzard)宣布了一項合作,兩家公司將開發並發布一個供機器人玩《星海爭霸2》的官方界面,以及一個讓開發者創建自己的“課程”的環境,從而讓機器人以更有條理的方式學習。

六、《星海爭霸》不是終點

攻克《星海爭霸》,是否意味著我們就能攻克智能?答案很簡單,不能。《星海爭霸》並沒有涉及人類智能的許多方面,包括人類從全新的、非結構化的環境中理解並得出結論的能力。

幾位著名的人工智能研究人員在最早的一篇關於計算機國際象棋的論文中寫道:“如果一個人能設計出一台成功的國際象棋機器,那麽他似乎就潛入了人類努力的核心。”

而現在距離我們設計出成功的國際象棋機器已經過去了20 年,但我們仍然不清楚我們是否比“深藍”戰勝加裡·卡斯帕羅夫之前更接近“人類努力的核心”。

同樣的粗略評估也適用於計算機圍棋和《星海爭霸》機器人。創造出能夠高水準地玩《星海爭霸》的機器人可能是一個同樣引人注目卻很狹隘的結果。

然而,我們在這個過程中獲得的工具和架構—新的搜索算法、新的感知算法和新的強化學習算法,將是更重要的成就。

正因為如此,作為谷歌前工程專家,普林斯頓大學的機器學習博士,肖恩·格裡什希望將機器學習在過去20年成功背後的工作原理和實現細節向大眾分享。

贈書福利

在《智能機器如何思考》一書中,作者向所有對科學技術感興趣的讀者展示了人工智能領域的前沿成果,深入解讀了感知算法、強化學習、智能體、卷積神經網絡、深度語言識別、圖片識別等科技巨頭紛紛擁抱的概念。

它向我們闡釋了這些智能機器究竟是如何感知和思考的,並描繪了我們終將與這些智能體共處的未來。無論是否具有這一領域的專業知識,掌握這些概念,你才能更好地判斷,哪些關於人工智能的言論值得相信,哪些說得天花亂墜的謬論應該被拋棄,這本書將助力你的AI創業與投資之路。

《智能機器如何思考》

作者:【美】肖恩·格裡什(Sean Gerrish)

譯者:張羿

出版社:中信出版集團

現在,21君給大家謀福利啦,免費送書!

如何獲得?

在本期周末讀書下面留言,獲得點讚數前2名(點讚數需不少於50)的讀者將獲得贈書一本,同時,21君會在前二名以外挑選部分留言走心的讀者,也免費贈送《智能機器如何思考》一本。

為了給讀者提供更多的機會,每四期連續贈書的活動中,同一讀者只能獲獎1次(同一微信ID、手機號、地址均視為同一讀者)

我們將在明晚的夜讀中公布獲獎名單喲~獲得贈書的小夥伴記得按照時間留下你的地址,逾時不候喔~(所以點讚前2的截止時間是7月28日20:00-21:00之間喲~注:準確的時間以21君的截圖為準;如遇突發新聞也有可能提前截圖。)

21君

小夥伴們,在當今人工智能的發展背景下,你對人工智能有什麽樣的了解呢?對於作者討論的人工智能發展狀況,你怎麽看?

和我們聊聊你的看法吧~

獲得更多的PTT最新消息
按讚加入粉絲團