2016至2017年,AlphaGo橫空出世,接連擊敗世界頂級圍棋選手;2019年,另一個人工智能AlphaStar登上歷史舞臺,它挑戰(zhàn)的是《星際爭霸2》的頂級職業(yè)選手。
一盤圍棋棋局大約持續(xù)150 步,面對的是250個選擇;而25分鐘的《星際爭霸》就已經(jīng)至少有36000步,面對的選擇數(shù)量是1 后面50個0。這是對人工智能的一次巨大挑戰(zhàn)。最終AlphaStar成為第一個打敗《星際爭霸2》頂級人類職業(yè)選手的AI。
AlphaStar是如何獲勝的?設(shè)計者面對哪些困難?AI距離達到真正的“智能”還有多遠?
谷歌前工程專家、普林斯頓大學(xué)機器學(xué)習(xí)博士肖恩·格里什,在他新出版的《智能機器如何思考》一書中,展示了人工智能領(lǐng)域的前沿成果,深入解讀了感知算法、強化學(xué)習(xí)、深度語言識別等概念,闡釋了智能機器究竟是如何感知和思考的,并描繪了我們終將與AI共處的未來。今天的文章是本書的部分精編。
智能機器如何思考
肖恩·格里什/ 著
中信出版集團 2019年6月
AlphaGo仍有局限性
-------
雖然AlphaGo具備識別圍棋盤面特征的能力,但它只能執(zhí)行下圍棋這項非常單一的任務(wù)。正如OpenAI(致力于人工智能研究的公司)的研究員唐杰所言:“AlphaGo不會決定去買個芝士漢堡,然后嘗試接管世界。”
AlphaGo是專門為下圍棋而設(shè)計的,因此它只具備下圍棋所需要的能力,它的一切都依賴于人類。除了在對弈過程中識別模式、選擇模式的能力,AlphaGo無法與瞬息萬變的環(huán)境互動;除了匯總統(tǒng)計數(shù)據(jù)外,它沒有關(guān)于過去事件的記憶;除了模擬它和對手如何走棋之外,它也沒有關(guān)于未來事件的概念。
那么我們在人工智能領(lǐng)域要迎接的下一個重大挑戰(zhàn)是什么?DeepMind(致力于人工智能研究與應(yīng)用的公司,2014年被谷歌收購)宣布了一個新項目——設(shè)計一個能夠玩即時戰(zhàn)略游戲《星際爭霸》的AI。這要求該AI具備更多與人類智能相關(guān)的品質(zhì):能尋找做決策所需的信息,能在有時間限制的條件下,以及高低不同層次上做出這些決策——既可以規(guī)劃具有長期影響的行動,也可以做出閃電般迅速的反應(yīng)。
為什么讓AI在《星際爭霸》中取勝
如此困難?
-------
《星際爭霸》是一款設(shè)定在26世紀的戰(zhàn)爭游戲。就像國際象棋一樣,每個玩家都指揮著一支由不同單位組成的軍隊,每個單位都有其優(yōu)缺點。與國際象棋不同,《星際爭霸》是一款即時戰(zhàn)略游戲。玩家不是輪流走子,而是在一個大的戰(zhàn)斗區(qū)域內(nèi)實時指揮自己的軍隊。軍隊之間的戰(zhàn)斗殘酷且節(jié)奏快,這給手快的玩家?guī)砹藘?yōu)勢。事實上,《星際爭霸》的頂尖人類玩家操作鍵盤和鼠標的速度通常超過每秒5次。
此外,《星際爭霸》要求每個玩家都要維持正常的經(jīng)濟運轉(zhuǎn),從而提供更多的資源發(fā)展自己的軍隊、升級不同類型的建筑等。游戲中的“戰(zhàn)場迷霧”掩蓋了大部分游戲空間,使玩家只能看到自己的單位或單位附近發(fā)生了什么,要掌握更多信息,只能派出偵察兵或者找到其他方法來了解環(huán)境。
在國際象棋和圍棋等策略性游戲中,最優(yōu)秀的AI能在游戲樹(組合博弈理論中用來表達一個賽局中各種后續(xù)可能性的樹)中搜索數(shù)百萬個狀態(tài),并通過程序查找最有可能成功的狀態(tài)。這種能力取決于兩個因素:樹的每個層次的分支因子(AI在給定時間內(nèi)必須做出選擇的走子選項的個數(shù))和樹的深度(AI在一局游戲中需要走多少步棋)。
圍棋的分支因子大約是250,保守估計《星際爭霸》的分支因子大約為1 后面50個0;一盤職業(yè)圍棋棋局大約持續(xù)150 步,而一局典型的25 分鐘的《星際爭霸》大約有36000個動作。此外,“戰(zhàn)場迷霧”讓每個玩家僅擁有不完整的信息,因此國際象棋或圍棋中的傳統(tǒng)搜索方法并不適用。
換言之,《星際爭霸》對人工智能領(lǐng)域提出了巨大的挑戰(zhàn)。一個可以得心應(yīng)手地玩《星際爭霸》的機器人,需要具備許多我們認為能夠定義人類智能的品質(zhì),包括用有限的信息做出戰(zhàn)略決策的能力,以及實時應(yīng)對不可預(yù)見情況的能力。紐芬蘭紀念大學(xué)的計算機科學(xué)教授戴維·邱吉爾稱這是游戲人工智能研究的“巔峰”。
通過簡化游戲建立架構(gòu)
-------
想讓《星際爭霸》機器人會玩游戲,就必須把它們需要執(zhí)行的任務(wù)分解成可管理的模塊。對于這些模塊的定義來自職業(yè)人類玩家的分析總結(jié),如下圖所示,架構(gòu)分為三層。
最左側(cè)是AI與環(huán)境交互所經(jīng)過的層,為機器人提供了一種通過編程與游戲本身進行交互的方式。
中間是感知和環(huán)境建模層,用于為AI追蹤軍事情報:包括對手的基地、游戲中的單位和整個地圖的信息。不同的機器人對這一層的重視程度不同。
機器人的“智能”行為來自架構(gòu)最右邊的部分,也分為三層:
? 在頂層,這些機器人推理戰(zhàn)略:機器人應(yīng)該建造或升級哪些建筑,以及應(yīng)該在什么時候做這些事情。通常需要提前幾分鐘進行規(guī)劃,并會對游戲產(chǎn)生直接的長期影響。
? 在中層,機器人會推理戰(zhàn)術(shù),這涉及提前30秒到1 分鐘的計劃:AI應(yīng)該把它的建筑建在哪里?應(yīng)該何時出兵到何處作戰(zhàn)?
? 底層是反應(yīng)層,它要求在幾秒鐘內(nèi)做出規(guī)劃和反應(yīng),處理軍事情報層送來的環(huán)境信息。
設(shè)計實用型《星際爭霸》機器人
-------
許多頂級《星際爭霸》機器人的開發(fā)者都遵循實用主義理念,用能夠贏得游戲的策略來編程他們的機器人,即便這意味著他們并沒有創(chuàng)造出足夠“智能”的機器人。例如,一些機器人被編程為遵循簡單的rush策略(在游戲早期犧牲經(jīng)濟,快速發(fā)展兵力,以此一舉擊敗對手的策略),它們會建立一支由弱小的戰(zhàn)斗單位組成的小型軍隊,在對手建立防御之前發(fā)動攻擊。
職業(yè)人類玩家也會使用各種各樣的rush策略,這只需要遵循一套簡單的規(guī)則,完全不考慮任何長期規(guī)劃。即使是邱吉爾設(shè)計的更復(fù)雜的《星際爭霸》機器人UAlbertaBot,有時也會輸給那些使用rush策略的機器人。但能夠?qū)嵤┻@些策略的機器人仍然遠遠不能戰(zhàn)勝人類職業(yè)玩家。
玩過這類游戲的人肯定對戰(zhàn)過計算機,大概會有此疑問:既然設(shè)計一款能玩游戲的機器人如此之難,為什么在游戲的人機對戰(zhàn)中計算機還是如此難以戰(zhàn)勝?邱吉爾解釋說,因為現(xiàn)實游戲中的機器人經(jīng)?!白鞅住保鼈儾⒉皇钦娴闹悄?,比如計算機可以看到整個游戲地圖,沒有真正處于“戰(zhàn)場迷霧”環(huán)境下,但機器人也會派出偵察兵四處偵察,這只是在做戲。
《星際爭霸》不是終點
-------
杰米斯·哈薩比斯是DeepMind的創(chuàng)始人,在創(chuàng)立DeepMind之前,他就對《星際爭霸》這款游戲產(chǎn)生了興趣,因為他的一位同事是一名高手玩家。杰米斯對這位同事屢戰(zhàn)屢勝的能力非常著迷,有一段時間,他每晚把自己和他關(guān)在一個房間里,想辦法戰(zhàn)勝他。有時會為其設(shè)置障礙,讓他在沒有鼠標或單手的情況下玩游戲,這樣便可以準確地分析他的哪些操作讓他獲勝。
杰米斯將DeepMind的部分工作轉(zhuǎn)向開發(fā)具有競爭力的《星際爭霸》機器人,并和暴雪公司合作開發(fā)了一個供機器人玩《星際爭霸2》的官方界面,從而讓開發(fā)者幫助機器人以更有條理的方式學(xué)習(xí)。
最終AlphaStar成為第一個打敗《星際爭霸2》頂級人類職業(yè)選手的AI。今年1月,在人類vs AlphaStar的11場比賽中,人類只取得了一場勝利。
攻克《星際爭霸》是否意味著我們就能攻克智能?答案很簡單,不是。
《星際爭霸》并沒有涉及人類智能的許多方面,包括人類從全新的、非結(jié)構(gòu)化的環(huán)境中理解并得出結(jié)論的能力。
創(chuàng)造出一個機器人,讓它能夠把《星際爭霸》這個游戲玩出頂級水平,這可能是一個引人注目的結(jié)果。然而,我們在這個過程中獲得的工具和架構(gòu)——新的搜索算法、新的感知算法和新的強化學(xué)習(xí)算法,這些將是更重要的成就。
互動送好禮
談?wù)勅伺c機器的共處
你肯定沒在《星際爭霸2》中和AlphaStar對戰(zhàn)過,也不曾被AlphaGo打敗,但你也許經(jīng)常請教“小愛同學(xué)”或者被Siri調(diào)侃。無處不在的AI及其雛形可能已經(jīng)滲透到你的身邊,你會歡迎還是抗拒類似《黑鏡》、《真實的人類》等影視劇中所演繹的人與機器相處的生活嗎?我們將挑選10位留言走心的讀者送出《智能機器如何思考》一本,幫你更加了解AI。本書為中信出版集團友情提供。
聯(lián)系客服