遊戲+人工智能

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

1 引言

繼2013年《Playing Atari with Deep Reinforcement Learning》以後,Google DeepMind的alphaGo在圍棋上的AI突破又一次震驚了世界!其實,從1950年香農教授提出為計算機象棋博弈編寫程序開始,遊戲人工智能就是人工智能技術研究的前沿,被譽為人工智能界的「果蠅」,推動著人工智能技術的發展。

2 概念

如果我們知道了什麼是人工智能,遊戲人工智能的含義也就不言而喻了,那麼什麼是人工智能呢?比起人工智能更基礎的概念是智能,那麼什麼是智能呢?權威辭書《韋氏大詞典》的解釋是「理解和各種適應性行為的能力」,《牛津詞典》的說法是「觀察、學習、理解和認識的能力」,《新華字典》的解釋是「智慧和能力」,James Albus在答復Henry Hexmoor時說「智能包括:知識如何獲取、表達和存儲;智能行為如何產生和學習;動機、情感和優先權如何發展和運用;傳感器信號如何轉換成各種符號;怎樣利用各種符號執行邏輯運算、對過去進行推及對未來進行規劃;智能機制如何產生幻覺、信念、希望、畏懼、夢幻甚至善良和愛情等現象」。而人工智能作為一門科學的前沿和交叉學科,至今尚無統一的定義,但不同科學背景的學者對人工智能做了不同的解釋:符號主義學派認為人工智能源於數理邏輯,通過計算機的符號操作來模擬人類的認知過程,從而建立起基於知識的人工智能系統;聯結主義學派認為人工智能源於生化學,特別是人腦模型的研究,通過神經網路及網路間的鏈接機制和學習算法,建立起基於人腦的人工智能系統;行為主義學派認為智能取決於感知和行動,通過智能體與外界環境的交互和適應,建立基於「感知-行為」的人工智能系統。其實這三個學派從思維、腦、身體三個方面對人工智能做了一個闡述,目標都是創造出一個可以像人類一樣具有智慧,能夠自適應環境的智能體。理解了人工智能的內涵以後,我們應該怎麼衡量和評價一個智能體是否達到人類智能水平呢?目前有兩個公認的界定:圖靈測試和中文屋子,一旦某個智能體能夠達到了這兩個標準,那麼我們就認為它具備了人類智能。

遊戲人工智能是人工智能在遊戲中的應用和實踐。通過分析遊戲場景變化、玩家輸入獲得環境態勢的理解,進而控制遊戲中各種活動對象的行為邏輯,並做出合理決策,使它們表現得像人類一樣智能,旨在提高遊戲娛樂性、挑戰智能極限。遊戲人工智能是結果導向的,最關注決策環節,可以看做「狀態(輸入)」到「行為(輸出)」的映射,只要遊戲能夠根據輸入給出一個看似智能的輸出,那麼我們就認為此遊戲是智能的,而不在乎其智能是怎麼做到的(Whatever Works)。那麼怎麼衡量遊戲人工智能的水平呢?目前還沒有公認的評價方法,而且遊戲人工智能並不是特別關心智能體是否表現得像人類一樣,而是更加關心遊戲人工智能的智能極限——能否戰勝人類的領域專家,如:Waston在智能問答方面戰勝了 Jeopardy! 超級明星 Ken Jennings 和 Brad Rutter;AlphaGo在圍棋上戰勝了歐洲冠軍樊麾。

3 遊戲機理

3.1人類的遊戲機理

遊戲對我們來說並不陌生,無論是小時候的「小霸王學習機」,還是五子棋、象棋等各種棋類遊戲都是童年的美好回憶,但人類玩遊戲的整個過程是什麼樣的呢?

具體過程如圖1所示:首先玩家眼球捕捉螢幕上的遊戲畫面並在視網膜上形成影像;然後經過視覺神經傳至V1區,並提取線條、拐點等初級視覺信息;初級視覺信息經過V2區傳至V4區,並進一步提取顏色、形狀、色對比等中級視覺信息;中級視覺信息經過PIT傳至AIT,進而提取描述、面、對象等高級視覺信息並傳至PFC;在PFC進行類別判斷,並根據已有的知識制定決策,然後在MC的動機的促發下產生行為指令並傳至響應器官(手);響應器官執行操作;至此,玩家的遊戲機制已經完成。計算機在接收到玩家的輸入(鍵盤、滑鼠等)以後,根據遊戲的內部邏輯更新遊戲狀態,並發送至輸出設備(螢幕)展示給用戶,自此計算機遊戲環境更新完成。然後玩家展開下一次遊戲機理,並循環直至遊戲結束或玩家放棄遊戲。

遊戲+人工智能

1人類遊戲機理

3.2計算機的遊戲機理

遊戲人工智能是創造一種代替人類操作遊戲的智能體,想要讓機器玩好遊戲,我們就需要了解「它」玩遊戲的機理,這樣才能更好地改進它。

計算機的遊戲機理如圖2所示:首先通過某種方式(讀取視頻流、遊戲記錄等)獲得環境的原始數據,然後經過去重、去噪、修正等技術對數據進行預處理,並提取低級語義信息;然後經過降維、特徵表示(人工或計算機自動提取)形成高級語義信息;然後通過傳統機器學習方法進行模式識別,進一步理解數據的意義;最後結合先前的經驗(數據挖掘,或人工提取,或自學習產生的領域知識庫)決策生成行動方案,進而執行改變環境,並進行新一輪的迭代。在每次迭代的過程中,智能體還可以學習新的經驗和教訓,進而進化成更加智能的個體。

遊戲+人工智能

圖 2計算機遊戲機理

3.3遊戲的一般性機理

從人類和計算機的遊戲機理,我們可以總結出遊戲玩家的一般性機理,如圖3所示:遊戲玩家可以看做是一個態勢感知過程,接收原始數據作為輸入,輸出動作序列,在內部進行了態勢覺察產生低級信息、態勢理解形成高級認知、態勢預測可能將來的態勢,並根據已有的經驗和規則,在目標和動機的驅動下產生行動方案,從而指導遊戲向更有利於玩家的方向進行,然後進入下一個循環序列。

遊戲+人工智能

3遊戲一般過程機理(SA

遊戲的一般性機理還可以看做是一個「狀態」到「動作」的映射,遊戲的環境狀態、玩家的目標是自變量,玩家的操作是因變量,而映射關係是正是遊戲一般機理的核心部分。它可以通過如神經網路這種技術來對自變量進行特徵提取和表征,也可以直接使用自變量,利用公式計算獲得輸出值,進而映射到相應的動作。

4 里程碑

自香農發表計算機象棋博弈編寫程序的方案以來,遊戲人工智能已經走過了半個多世紀,在這65個春秋的風雨兼程中,無數的科學家貢獻了自己的才華和歲月,所取得的成果更是數不勝數,本文羅列了遊戲人工智能的重大里程碑,意欲讀者能夠把握遊戲人工智能的研究現狀,為今後的研究方向給予啟示,具體如表1所示:

表 1遊戲人工智能里程碑表

年份

名稱

作者

描述及意義

1950

計算機象棋博弈編寫程序的方案

克勞德·艾爾伍德·香農

機器博弈的創始;

奠定了計算機博弈的基礎。

1951

Turochamp

艾倫·麥席森·圖靈

第一個博弈程序;

使用了博弈樹。

1956

西洋跳棋

阿瑟·塞繆爾

第一個具有自學習能力的遊戲;

使用了強化學習算法,僅需自我對戰學習就能戰勝康涅狄格州的西洋跳棋冠軍。

20世紀60年代

國際象棋弈棋程序

約翰·麥卡錫

第一次使用Alpha-beta剪枝的博弈樹算法;

在相同計算資源和準確度的情況下,使得博弈樹的搜尋深度增加一倍。

1980

Pac-man

Namco公司

第一次使用了一系列的規則與動作序列及隨機決策等技術;

1989

Simcity

Maxis公司

第一次使用了人工生命、有限狀態機技術;

1990

圍棋弈棋程序

艾布拉姆森

第一次將把蒙特卡洛方法應用於計算機國際象棋博弈的盤面評估;

1996

Battlecruiser 3000AD

3000AD公司

第一次在商業遊戲中使用神經網路;

1996

Creature

NTFusion公司

第一次引入「DNA」概念、遺傳算法

1997

Deep Blue

IBM公司

第一個達到人類國際大師水平的計算機國際象棋程序;

使用了 剪枝的博弈樹技術,以3.5:2.5戰勝世界棋王卡斯帕羅夫

2011

Watson

IBM公司

第一次在智能問答方面戰勝人類;

使用了Deep QA技術,戰勝了Jeopardy! 超級明星Ken Jennings 和Brad Rutter

2013

玩「Atari 2600」的程序

DeepMind團隊

第一個「無需任何先驗知識」「自學習」「可遷移」的遊戲引擎;

使用了CNN+Q-learning的DRN技術,輸入為「原始視頻」和「遊戲反饋」,無需任何人為設置,可從「零基礎」成為7款「Atari 2600」遊戲的專家。

2016

AlphaGo

Google DeepMind團隊

第一個在全棋盤(19*19)無讓子的情況下戰勝人類專業棋手的「圍棋程序」;

使用了SL(有監督學習)+RL(強化學習)+MCTS(蒙特卡羅樹搜尋)方法,戰勝了歐洲圍棋冠軍Fan Hui。

5 遊戲人工智能做到技術

5.1有限狀態機

當你設法創造一個具有人類智能的生命體時,可能會感覺無從下手;一旦深入下去,你會發現:只需要對你所看到的做出響應就可以了。有限狀態機就是這樣把遊戲對象複雜的行為分解成 「塊」或狀態進行處理的,其處理機制如圖4所示:首先接收遊戲環境的態勢和玩家輸入;然後提取低階語義信息,根據每個狀態的先決條件映射到響應的狀態;接著根據響應狀態的產生式規則生成動作方案;最後執行響應動作序列並輸入遊戲,進入下一步循環。由圖4和圖2比較可知:有限狀態機方法是計算機遊戲機理的一種簡單做到:根據規則人為將原始數據映射到「狀態」完成「特徵工程和識別」,根據產生式系統將「狀態」映射到響應的動作完成「決策制定」。

遊戲+人工智能

4有限狀態機遊戲機理

那麼理論層次上的「有限狀態機」又是怎麼描述的呢?有限狀態機是表示有限個狀態以及在這些狀態之間轉移和動作等行為的特殊有向圖,可以通俗的解釋為「一個有限狀態機是一個設備,或是一個設備模型,具有有限數量的狀態,它可以在任何給定的時間根據輸入進行操作,使得從一個狀態變換到另一個狀態,或者是促使一個輸出或者一種行為的發生。一個有限狀態機在任何瞬間只能處在一種狀態」。通過相應不同遊戲狀態,並完成狀態之間的相互轉換可以做到一個看似智能的遊戲智能引擎,增加遊戲的娛樂性和挑戰性。

5.2搜尋

遊戲+人工智能

5博弈樹遊戲機理

「人無遠慮,必有近憂」,如果能夠考慮到未來的所有情況並進行評估,那麼只需要篩選最好的選擇就可以了。當前棋類遊戲幾乎都使用了搜尋的方式來完成決策的,其中最優秀的是 搜尋樹、蒙特卡洛搜尋樹。搜尋的遊戲人工智能更關注的是預測和評估,決策的制定只是挑選出預測的最好方式即可,如圖5所示。

5.3有監督學習

分類是有監督學習方法,旨在具有標籤的數據中挖掘出類別的分類特性,也是遊戲人工智能的重要方法。有些遊戲人類就是通過學習前人經驗成為遊戲高手的,棋類遊戲更是如此。進過幾千年的探索,人類積累了包括開局庫、殘局庫、戰術等不同的戰法指導玩家遊戲。而數據挖掘就是在數據中挖掘潛在信息,並總結成知識然後指導決策的過程。Google DeepMind的圍棋程序AlphaGo就使用了有監督學習訓練策略網路,用以指導遊戲決策;它的SL策略網路是從KGS GO服務器上的30,000,000萬棋局記錄中使用隨機梯度上升法訓練的一個13層的神經網路,在測試集上達到57.0%的準確率,為圍棋的下子策略提供了幫助。

5.4遺傳算法

遺傳算法是進化算法的一種。它模擬達爾文進化論的物競天擇原理,不斷從種群中篩選最優個體,淘汰不良個體,使得系統不斷自我改進。遺傳算法可以使得遊戲算法通過不斷的迭代進化,可以從一個遊戲白癡進化成為遊戲高手,是一個自學習的算法,無需任何人類知識的參與。

遊戲+人工智能

6遺傳算法遊戲機理

在系統中,每個個體具有一串遺傳信息,這串信息代表了我們所要優化對象的全部特徵。算法維持一個由一定數量個體組成的種群,每一輪,算法需要計算每個個體的適應度,然後根據適應度選出一定數量存活的個體,同時淘汰掉剩餘落後的個體。隨後,幸存的個體將進行「繁殖」,填補因為淘汰機製造成的空缺。所謂的繁殖,就是個體創造出和自己相同的副本。然而為了做到進化,必須要有模仿基因突變的機制。因此在復制副本的時候也應當使得遺傳信息產生微小的改變。選擇-繁殖-進化這樣的過程反復進行,就能做到種群的進化。

5.5強化學習

強化學習也是一種自學習的算法,1956阿瑟·塞繆爾的西洋跳棋程序僅通過算法自己和自己對戰就可以戰勝康涅狄格州的西洋跳棋冠軍。強化學習來源於行為主義學派,它通過Agent與環境的交互獲得「獎懲」,然後趨利避害,進而做出最優決策。

遊戲+人工智能

7強化學習遊戲機理

強化學習有著堅實的數學基礎,也有著成熟的算法,在機器人尋址、遊戲智能、分析預測等領域有著很多應用。現有成熟算法有值迭代、策略迭代、Q-learning、動態規劃、時間差分等學習方法。

5.6 DRN

DRN是Google DeepMind在「Playing Atari with Deep Reinforcement Learning」中結合深度學習和強化學習形成的神經網路算法,旨在無需任何人類知識,採用同一算法就可以在多款遊戲上從遊戲白癡變成遊戲高手。首先使用數據預處理方法,把128色的210*160的圖像處理成灰度的110*84的圖像,然後從中選出遊戲畫面重要的84*84的圖像作為神經網路的輸入;接著使用CNN自動進行特徵提取和體征表示,作為BP神經網路的輸入進行有監督學習,自動進行遊戲策略的學習。

遊戲+人工智能

8 DRN遊戲機理

5.7深度學習+強化學習+博弈樹

Google DeepMind的AlphaGo使用值網路用來評價棋局形式,使用策略網路用來選擇棋盤著法,使用蒙特卡洛樹用來預測和前瞻棋局,試圖沖破人類智能最後的堡壘。策略網路使用有監督學習訓練+強化學習共同訓練獲得,而值網路僅使用強化學習訓練獲得,通過這兩個網路結構總結人類經驗,自主學習獲得對棋局的認知;然後使用蒙特卡洛樹將已經學得的知識應用於棋局進行預測和評估,從而制定著法的選擇。

遊戲+人工智能

圖 9 AlphaGo的遊戲機理

6 總結

與模糊人類與機器的邊界不同,遊戲人工智能更關注挑戰智力極限,表征是遊戲戰勝人類最強者;與教導人類成為領域專家不同,遊戲人工智能更關注培育自學習能力的智能體,表征是無經驗自主學習;所以當前最先進的兩個遊戲引擎均使用了深度學習和強化學習兩方面的知識,旨在培育具有自學習能力的高智能個體。

當前大家最關注的莫過於2016年3月AlphaGo與李世石的圍棋之戰。那麼一旦圍棋戰勝李世石之後,是否表示機器已經突破人類最後的堡壘呢?是否表示達到智能極限,遊戲人工智能下一步的研究關注點又應該是什麼呢?我認為機器即使戰勝李世石也沒有達到人類智能的極限,與記憶和速算一樣,搜尋與前瞻的能力也不能代表人類智能,人類還有情感、有思想、能快速學習等等能力,所以AlphaGo即使戰勝李世石也只是在某個領域里面比人類更強而已;遊戲人工智能不能使用圖靈測試、中文屋子來衡量人工智能的程度,因為人類在遊戲(特別是棋類遊戲)上的智能並不突出,因為人腦的複雜度有限,並不能計算遊戲的最優值,只是在能力範圍內做出較優的決策,所以我認為「遊戲人工智能的關注點應該是:同一遊戲引擎作為雙方對戰,總是同一方(先手或後手)取勝,而且能夠戰勝人類最強者」。所以即使AlphaGo戰勝李世石,那麼棋類智能仍有探索的空間:遊戲的最優值!

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!