摘要:游戲AI是計算機游戲結合人工智能的產(chǎn)物,是強化學習領域的重要實驗載體。目前在游戲AI領域,遇到的困難與挑戰(zhàn)和強化學習目前遇到的問題基本一致,主要集中在三個方面:稀疏且延遲的反饋,高維狀態(tài)動作空間,不穩(wěn)定的環(huán)境。本文基于深度強化學習,結合分層思想以及注意力機制,提出了基于注意力的分層深度強化學習框架,解決復雜環(huán)境下群集智能的問題。
關鍵詞:游戲AI;分層強化學習;深度強化學習
游戲AI的定義廣泛且靈活,凡是能夠產(chǎn)生適當水平的智能從而讓游戲更加有趣,逼真,有挑戰(zhàn)性即可被視為游戲AI。游戲AI一般分為兩種:一種是基于有限狀態(tài)機或行為樹的定性AI,其行為表現(xiàn)可預測;另一種是采用神經(jīng)網(wǎng)絡、遺傳算法等得到的非定性AI,其行為難以預測。
隨著機器學習技術的發(fā)展[1],我們可以利用強化學習理論設計游戲AI,可以將游戲智能角色在整個游戲中的表現(xiàn)過程簡化成為一個馬爾科夫模型,智能角色利用它的感知系統(tǒng)獲取環(huán)境以及自身的狀態(tài),結合自身的經(jīng)驗準則選擇執(zhí)行行為,該行為又作用于游戲系統(tǒng)推動游戲進程的發(fā)展,同時環(huán)境會對智能角色的執(zhí)行行為進行反饋評價。對于智能角色來說,如何獲取最優(yōu)的行為以便獲得環(huán)境最佳反饋即為主要目標。智能角色在游戲中執(zhí)行這樣的操作流程即構成一條馬爾科夫鏈,循環(huán)往復直至整個游戲的結束。傳統(tǒng)的機器學習方法主要適用于低維輸入,在這種情況下收斂速度和效果都比較滿意。但是隨著計算機軟硬件設備性能的增強,同時隨著神經(jīng)網(wǎng)絡技術的突破,游戲智能所面臨的技術困難也越來越多,目前主要集中在以下三個方面:1、高維的狀態(tài)空間與動作空間技術瓶頸,現(xiàn)在的行為智能技術只能完成簡單的行走,無法完成預測、決策等復雜行為;2、游戲中的反饋稀疏且具有延遲性,整個游戲流程可能只有在通關或者特定情況下有少量的反饋;3、游戲智能從單智能體的需求上升到了集群智能,其他智能體同樣會對環(huán)境產(chǎn)生影響,使智能對象的訓練變得更加困難。針對上述問題,神經(jīng)網(wǎng)絡成為了解決高維狀態(tài)動作空間的手段,分層強化學習[2]為反饋稀疏且延遲提供了潛在的解決途徑,多智能體造成的環(huán)境不穩(wěn)可以通過建立智能體之間的通信或者共享相關參數(shù)來解決。
一、實驗基礎
通過對實驗載體的篩選,初步擬定技術路線并在實驗平臺上構建了實驗原型,使用了傳統(tǒng)的算法進行了預訓練。調研了多個與游戲智能相關的基于強化學習的訓練平臺,以第一人稱射擊類經(jīng)典游戲毀滅戰(zhàn)士為載體的ViZDoom,知名游戲引擎unity開發(fā)的ML-Agents,以炸彈人為原型設計的對戰(zhàn)平臺Pommerman,微軟根據(jù)沙盒建造游戲Minecraft開發(fā)的強化學習平臺marLo。在文中,我們采用Unity ML-Agents作為實驗載體,起源自游戲引擎unity賦予了該平臺插件能夠快速構建實驗環(huán)境以及版本迭代,底層采用Python進行控制,基于TensorFlow的實現(xiàn)方式能夠使研究人員能夠快速上手。
二、基于分層強化學習的游戲AI設計方案
本文主要采用深度強化學習理論,多智能體系統(tǒng)理論,強化學習的分層思想以及注意力機制。強化學習即為在完全觀測的前提下,單個智能體的決策定義為一個馬爾科夫過程,該過程由一個一個元組S,A,P,R,構成,在時刻t時,智能體處于狀態(tài)sS,通過策略a|s執(zhí)行動作aA,獲得環(huán)境反饋獎勵rt R(s),并根據(jù)轉移方程P(s|s,a)進入下一個狀態(tài)sS。對于未來長度為H馬爾科夫鏈,定義有帶損失系數(shù)0,1的獎勵反饋Rt,以及動作值(或者Q值)定義為Q(s,a)E[Rt|sts,ata]。通過最大化Q值,可以獲得最優(yōu)策略*,所以采取最優(yōu)策略的Q值函數(shù)是Q*(s,a)maxQ(s,a)。在強化學習中,不會有固定馬爾科夫過程,智能體需要通過與環(huán)境不停地進行交互來學習最優(yōu)策略*。目前,Q-Learning方法廣泛用來結合深度學習使用,該方法通過備份迭代估計Q值函數(shù),Q(s,a)Q(s,a)[rmaxaQ(s,a)Q(s,a)],參數(shù)0,1,代表學習的速率,在中括號中的部分是TD誤差。
近年在函數(shù)逼近器方面的進展非常迅速,得益于深度神經(jīng)網(wǎng)絡的研究突破,結合深度神經(jīng)網(wǎng)絡能夠直接將一些高維的數(shù)據(jù)直接輸入。在這些構建函數(shù)逼近方程的方法里面,Deep Q-Learning(DQN)是廣泛被人接受并且效果最好的一種方法,目前已經(jīng)應用到不同的領域中,包括雅達利游戲,圍棋AI Alpha Go。其具體的實現(xiàn)方法是:在第j次迭代過程中,從內(nèi)存M中提取經(jīng)驗元組s,a,r,s來更新DQN的參數(shù),更新的時候采用最小化孫氏函數(shù)方程來實現(xiàn)。經(jīng)驗內(nèi)存M采用先進先出的隊列模式,其中存儲了智能體執(zhí)行了-greedy探索策略后獲得的最新經(jīng)驗元組。目標網(wǎng)絡參數(shù) 的更新頻率會相對低一些,這樣結合了經(jīng)驗回放學習機制,構成了穩(wěn)定Deep Q-Learning的關鍵。
為了解決在反饋獎勵稀疏或者存在延遲的環(huán)境下不能獲得很好效果的問題,采用Sutton提出的Option框架構建分層強化學習,該框架定義在每一個時間步內(nèi),智能體會選擇一個原始動作或者一個包含多個步驟的策略(選擇)。每一個策略都包含了若干個原始動作或者其他策略,并且能夠根據(jù)隨機函數(shù)終止。由此,我們將傳統(tǒng)的馬爾科夫決策過程拓展成了半馬爾科夫決策過程,解決稀疏反饋和延遲反饋的問題。
針對于多智能體的訓練,以獨立Q網(wǎng)絡為基線訓練,單獨給予每個智能對象一個Q網(wǎng)絡,將多個智能對象放在一起訓練。在此基礎上加入智能對象的通信協(xié)議,讓智能對象能夠共享部分觀測的信息,以做出更好的決策。在卷積神經(jīng)網(wǎng)絡進行特征提取后各智能對象通過溝通中心進行情報共享,再進行注意力機制的處理。如圖1,本文擬采用深度強化學習方法結合分層思想來進行動作類游戲下的游戲智能對象研究。上層結構輸入為智能對象的視野即相機畫面幀,傳入卷積網(wǎng)絡提取特征,提取的特征通過溝通中心向所有智能對象共享,再將數(shù)據(jù)傳入注意力機制中進行加權與追蹤處理,傳入Q網(wǎng)絡訓練產(chǎn)生多個時間步的規(guī)劃目標g。下層結構輸入為智能對象的視野以及上層結構產(chǎn)生的規(guī)劃目標g,通過Q網(wǎng)絡進行訓練后輸入執(zhí)行動作,交給游戲智能對象執(zhí)行,與環(huán)境進行交互,完成任務。該過程不停進行迭代訓練,最終期望能收斂到最優(yōu)的協(xié)作對抗策略參數(shù)以及智能體內(nèi)部上下層的最優(yōu)策略。
總結:本文結合復雜環(huán)境的行為決策問題,利用Unity3D引擎與其ML-Agent插件,開發(fā)了AI對抗智能系統(tǒng),相較于之前的框架,本文提出的框架能夠獲得較好的效果。
參考文獻:
[1]周志華.機器學習[M].北京:清華大學出版社,2016
[2]周文吉,俞揚.分層強化學習綜述[J].智能系統(tǒng)學報,2017(05):12-16.
基金資助:2021年度廣西高校中青年教師科研基礎能力提升項目“Web3D教育平臺中基于動作識別的人機交互研究”,課題編號:2021KY1439。
作者簡介:包東輝,1971年6月,男,民族:漢族,籍貫:廣西北海市,學歷:本科,職稱:講師,研究方向:計算機應用技術,工作單位:北海職業(yè)學院。