摘要: 針對傳統(tǒng)游戲智能體算法存在模型輸入維度大及訓(xùn)練時間長的問題, 提出一種結(jié)合狀態(tài)信息轉(zhuǎn)換與獎勵函數(shù)塑形技術(shù)的新型深度強(qiáng)化學(xué)習(xí)游戲智能
引導(dǎo)算法. 首先, 利用Unity引擎提供的接口直接讀取游戲后臺信息, 以有效壓縮狀態(tài)空間的維度, 減少輸入數(shù)據(jù)量; 其次, 通過精細(xì)化設(shè)計(jì)獎勵機(jī)制, 加速模型的收斂過程;
最后, 從主觀定性和客觀定量兩方面對該算法模型與現(xiàn)有方法進(jìn)行對比實(shí)驗(yàn), 實(shí)驗(yàn)結(jié)果表明, 該算法不僅顯著提高了模型的訓(xùn)練效率, 還大幅度提高了智能體的性能.
關(guān)鍵詞: 深度強(qiáng)化學(xué)習(xí); 游戲智能體; 獎勵函數(shù)塑形; 近端策略優(yōu)化算法
中圖分類號: TP391" 文獻(xiàn)標(biāo)志碼: A" 文章編號: 1671-5489(2025)01-0091-08
Game Intelligent Guidance Algorithm Based onDeep Reinforcement Learning
BAI Tian1, Lü Luyao2, LI Chu1, HE Jialiang3
(1. College of Computer Science and Technology, Jilin University, Changchun 130012, China;
2. College of Software, Jilin University, Changchun 130012, China; 3. College of Information andCommunication Engineering, Dalian Minzu University, Dalian 116600, Liaoning Province, China)
Abstract: Aiming at the problems of high input dimensionality and long training time in traditional game intelligent" algorithm models, we" proposed a novel deep reinforcement learning game
intelligent" guidance algorithm that integrated state information transformation and reward function shaping techniques. Firstly, using" the interface provided by the Unity engine to directly read game backend
information effectively compressed" the dimensionality of the state space and reduced the amount of input data. Secondly, by finely designing" the reward mechanism, the convergence process of the model was accelerated.
Finally, we conducted comparative experiments between the proposed algorithm model and existing methods" from both subjective qualitative and objective quantitative perspectives. The experimental results
show that this algorithm not only significantly improves the training efficiency of the model," but also markedly enhances the performance of the" agent.
Keywords: deep reinforcement learning; game agent; reward function shaping; proximal policy optimization algorithm
收稿日期: 2023-12-29.
第一作者簡介: 白 天(1983—), 男, 漢族, 博士, 教授, 博士生導(dǎo)師, 從事機(jī)器學(xué)習(xí)和醫(yī)學(xué)人工智能的研究, E-mail: baitian@jlu.edu.cn. 通信作者簡介: 何加亮(1977—), 男, 漢族,
博士, 副教授, 從事人工智能、 虛擬現(xiàn)實(shí)數(shù)字藝術(shù)及數(shù)字健康領(lǐng)域應(yīng)用的研究, E-mail: 78919121@qq.com.
基金項(xiàng)目: 國家自然科學(xué)基金(批準(zhǔn)號: U21A20390)和吉林省科技發(fā)展計(jì)劃項(xiàng)目(批準(zhǔn)號: 20210509006RQ).
隨著人工智能、 大數(shù)據(jù)、 云計(jì)算等新興技術(shù)的不斷涌現(xiàn), 數(shù)字經(jīng)濟(jì)得到迅速發(fā)展[1], 游戲作為數(shù)字經(jīng)濟(jì)的核心產(chǎn)業(yè)之一, 在這些新興技術(shù)下也迎來了
變革[2]. 游戲玩家對游戲體驗(yàn)的要求不斷提高, 用戶更注重游戲的內(nèi)在表現(xiàn)及互動效果, 在這種發(fā)展趨勢下, AI(artificial intelligence
)算法逐漸被引入到游戲領(lǐng)域. AI算法具有強(qiáng)大的自主學(xué)習(xí)能力, 能通過學(xué)習(xí)游戲的模式規(guī)則自動生成游戲內(nèi)容[3], 降低傳統(tǒng)游戲開發(fā)過程中的人工設(shè)計(jì)成本, 可根據(jù)玩家的行為數(shù)
據(jù)動態(tài)調(diào)整游戲難易度及獎勵, 滿足玩家需求, 實(shí)現(xiàn)游戲的個性化設(shè)計(jì). AI算法的使用提升了游戲的開發(fā)效率, 豐富了游戲內(nèi)容[4-5], 為玩家提供了更優(yōu)質(zhì)的游戲體驗(yàn)
[6], 在游戲領(lǐng)域有廣闊的發(fā)展空間與應(yīng)用前景[7].
強(qiáng)化學(xué)習(xí)作為AI領(lǐng)域的一個重要分支, 不同于傳統(tǒng)的監(jiān)督學(xué)習(xí), 其本身所需的數(shù)據(jù)集均來自于與環(huán)境的試錯式交互, 利用環(huán)境的反饋信息不斷優(yōu)化自身決策[8-9], 在實(shí)際應(yīng)
用中該方式需消耗大量成本, 而在游戲場景中則可極大降低優(yōu)化成本, 因此強(qiáng)化學(xué)習(xí)是處理游戲AI問題的最佳方法.
強(qiáng)化學(xué)習(xí)利用深度學(xué)習(xí)在特征提取以及非線性函數(shù)擬合方面的優(yōu)勢, 極大提高了傳統(tǒng)強(qiáng)化學(xué)習(xí)算法的泛化能力[10-11], 創(chuàng)造了多種適配復(fù)雜場景的高效算法
[12-13], 從而使深度強(qiáng)化學(xué)習(xí)被廣泛應(yīng)用于游戲AI領(lǐng)域. 深度強(qiáng)化學(xué)習(xí)將游戲作為其學(xué)習(xí)環(huán)境, 智能體通過與游戲環(huán)境的交互學(xué)習(xí)最優(yōu)策略.
DeepMind團(tuán)隊(duì)在2013年提出了DQN(deep Q-network)算法, 將深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)首次結(jié)合, 使用神經(jīng)網(wǎng)絡(luò)替代傳統(tǒng)的QTable計(jì)算[14], 在多款雅達(dá)利游戲中
的表現(xiàn)達(dá)到甚至高于人類玩家水平. 2016年DeepMind團(tuán)隊(duì)提出的AlphaGo算法[15], 通過與人類對戰(zhàn), 將其動作的監(jiān)督學(xué)習(xí)與自我游戲的強(qiáng)化學(xué)習(xí)緊密結(jié)合, 在世界圍棋大賽中成功獲勝, 并于201
7年提出了相比于AlphaGo更強(qiáng)大的智能體AlphaZero[16], 與Monte Carlo樹搜索方法進(jìn)行結(jié)合, 實(shí)現(xiàn)了最優(yōu)移動的選擇. 2018年DeepMind團(tuán)隊(duì)開發(fā)的
基于深度強(qiáng)化學(xué)習(xí)的智能體AlphaStar在“星際爭霸2” [17]的訓(xùn)練環(huán)境下?lián)魯×寺殬I(yè)玩家, 該智能體結(jié)合LSTM(long short-term memory)[18]等技術(shù), 采用監(jiān)督學(xué)習(xí)的方式與人類對戰(zhàn), 學(xué)習(xí)人類玩家的對戰(zhàn)策略.
為進(jìn)一步提升策略的顯著性, 2015年OpenAI團(tuán)隊(duì)提出了TRPO(trust region policy optimization)[19], 采用置信域控制步長, 優(yōu)化了其整體的訓(xùn)練效果, 在此基礎(chǔ)上提出了策略約束更精簡的PPO(proximal policy optimiza
tion)算法[20], 并于2018年提出了基于PPO的OpenAI Five. 騰訊公司于2019年將改進(jìn)的PPO算法與LSTM技術(shù)相結(jié)合創(chuàng)建了“絕悟”AI[21], 在“王者榮耀”游戲環(huán)境下進(jìn)行了2 100場比賽, 其獲勝
率達(dá)99.81%. 上述研究結(jié)果表明, 基于深度強(qiáng)化學(xué)習(xí)的游戲AI是當(dāng)前游戲領(lǐng)域的熱點(diǎn)問題, 其在多種游戲中均表現(xiàn)了遠(yuǎn)超人類玩家的水平. 但目前已有的基于深度強(qiáng)化學(xué)習(xí)的游戲AI算法仍存在一些問題. 為避免將連續(xù)狀態(tài)離
散化, 大部分游戲AI算法選擇將圖像作為算法輸入, 易導(dǎo)致數(shù)據(jù)處理過于復(fù)雜且模型難以收斂, 而獎勵機(jī)制的不合理設(shè)計(jì)與模型選擇不當(dāng)導(dǎo)致動作價(jià)值估計(jì)過高的問題均會使模型訓(xùn)練時間過長.
近年來, 針對認(rèn)知障礙人群研發(fā)的嚴(yán)肅游戲作為游戲領(lǐng)域的一個新型應(yīng)用分支開始嶄露頭角[22], 其中重點(diǎn)訓(xùn)練兒童群體“計(jì)劃形成”機(jī)能的策略性游
戲?qū)映霾桓F, 此類游戲場景內(nèi)各元素彼此間的關(guān)聯(lián)性較強(qiáng), 對兒童能根據(jù)當(dāng)前游戲場景中各元素的關(guān)聯(lián)反映制定出通關(guān)策略的能力要求較高, 游戲難度較大, 大部分年齡較小的玩家
無法順利通過游戲關(guān)卡, 進(jìn)而失去耐心, 最終失去對游戲的興趣, 游戲體驗(yàn)感差, 玩家成就感低, 而游戲的體驗(yàn)感是一款游戲能否被長久使用的關(guān)鍵性因素. 該類游戲中缺乏實(shí)
時的智能AI引導(dǎo)策略, 游戲無法根據(jù)當(dāng)前兒童的使用情況制定個性化的智能提示中和游戲難
度, 無法在游戲場景中適時引導(dǎo)兒童玩家, 給予其適當(dāng)幫助, 提升其游戲體驗(yàn)感. 而上述個性化游戲智能AI的整體實(shí)現(xiàn)難度較大, 因此大部分同類游戲中并未引入該項(xiàng)功能.
針對傳統(tǒng)基于深度強(qiáng)化學(xué)習(xí)的游戲AI算法模型目前存在的問題, 本文通過引入經(jīng)典“青蛙吃蜻蜓”訓(xùn)練計(jì)劃機(jī)能的策略游戲作為模型訓(xùn)練的任務(wù)場景, 提出一種基于深度強(qiáng)化學(xué)
習(xí)的個性化游戲智能引導(dǎo)算法, 能在相對復(fù)雜的環(huán)境中, 根據(jù)玩家當(dāng)前的情況計(jì)算出過關(guān)的最優(yōu)解, 并給出下一步提示. 該算法通過降低狀態(tài)信息的輸入維度、 精細(xì)化反饋獎勵值
等方式, 有效提升模型的訓(xùn)練速度與性能. 本文的創(chuàng)新點(diǎn)和貢獻(xiàn)如下:
1) 對“青蛙吃蜻蜓”游戲的特點(diǎn)進(jìn)行深入分析, 在此基礎(chǔ)上構(gòu)建了適用于該場景的模型, 并分析了目前所面臨的挑戰(zhàn).
2) 針對本文模型, 引入一種新的模型架構(gòu), 并提出了改進(jìn)算法. 通過對獎勵函數(shù)進(jìn)行塑形及對狀態(tài)信息進(jìn)行有效轉(zhuǎn)換并結(jié)合PPO算法的裁剪機(jī)制, 有效提升了模型的訓(xùn)練速度和
性能, 同時設(shè)計(jì)并完成算法實(shí)驗(yàn), 以驗(yàn)證本文算法模型的有效性.
1 問題描述與建模
1.1 游戲介紹
如圖1所示, 在一個5×6大小的方格中, 存在青蛙和蜻蜓兩類對象, 玩家的游戲目標(biāo)是通過點(diǎn)擊的方式控制青蛙, 利用多只青蛙的協(xié)作“吃掉”所有蜻蜓. 玩家每次可以選擇點(diǎn)
擊一只青蛙, 然后青蛙將向其面朝方向吐出舌頭, 直到第一次碰到蜻蜓、 青蛙或者邊界, 當(dāng)前青蛙吐出舌頭后的描述分為以下3種情況:
1) 若碰到蜻蜓, 則當(dāng)前青蛙收回舌頭, 蜻蜓直接消失;
2) 若碰到青蛙, 則當(dāng)前青蛙收回舌頭, 被碰到的青蛙向面朝的方向吐出舌頭, 與當(dāng)前青蛙做相同操作和處理, 直到收回舌頭后, 原地旋轉(zhuǎn)180°;
3) 若碰到邊界, 則當(dāng)前青蛙收回舌頭.
在游戲場景中, 算法需要在玩家操作游戲過程中在后臺進(jìn)行實(shí)時計(jì)算, 得到當(dāng)前情況下最優(yōu)解法中的下一步策略, 并在當(dāng)前關(guān)卡停留時長過久時給予玩家個性化智能提示, 幫助玩家完成游戲任務(wù).
1.2 問題描述
設(shè)圖中有n行m列, 共有(t+1)個格子, 用xfi,j∈{0,1}表示第i行第j列是否有青蛙, di,j∈{-1,-2,1,2}表示青蛙的朝向分別為上、 右、 下、 左, 用xdi,j∈{0,1}表示
第i行第j列是否有蜻蜓. 每個格子只有一個物體, 即青蛙或蜻蜓, 且青蛙的個數(shù)和蜻蜓的個數(shù)不大于格子個數(shù), 則有
∑ni=1∑mj=1(xfi,j+xdi,j)≤N,(1)
xfi,j·xdi,j≤1, i∈[0,n-1], j∈[0,m-1].(2)
1.2.1 玩家操作
令玩家的第t個點(diǎn)擊操作位置為(pxt,pyt), 玩家點(diǎn)擊的操作集合為PL={(px0,py0),(px1,py1),…}, 在該場景中, 用xdi,j=1表示玩家在第t步點(diǎn)擊了方格中的第i行第j列, 且玩家一次只能點(diǎn)擊一只青蛙, 因此有
∑ni=1∑mj=1cti,j=1.(3)
1.2.2 規(guī)則描述
當(dāng)玩家點(diǎn)擊第i行第j列的青蛙時, 先根據(jù)青蛙的朝向進(jìn)行判斷, 以青蛙方向朝左為例, 其他情況類似. 從(j-1)列開始遍歷小于j的格子, 令遇到第一個物體的位置為xoi,j, 判斷是青蛙還是蜻蜓, 若是蜻
蜓, 則蜻蜓直接消失, 若是青蛙, 則該青蛙改變朝向180°并繼續(xù)吐舌頭, 繼續(xù)遍歷該路徑上的物體, 以此類推, 直到該路徑上沒有任何物體.
在游戲進(jìn)行過程中場景內(nèi)所有物體被觸發(fā)的時刻進(jìn)行模型建模. 由于玩家一次只能觸發(fā)一只青蛙, 所以觸發(fā)時刻場景內(nèi)的舌頭數(shù)量有且僅有一個, 因?yàn)橹挥猩囝^頂端會觸發(fā)機(jī)制, 故
用xsi,j表示在第i行第j列有舌頭頂端. 對于在第i行第j列的物體xoi,j, 在檢測到自己被舌頭觸碰到時, 如果自身是蜻蜓, 則直接消失, 如果是青蛙, 則吐出舌頭, 然后改變自身朝向, 該過程可描述為
di,j=-di,j,xfi,f·xsi,j=1,xdi,j=0,xdi,f·xsi,j=1.(4)
1.2.3 任務(wù)目標(biāo)
玩家的游戲目標(biāo)是通過制定青蛙的點(diǎn)擊策略, 利用多只青蛙彼此間的關(guān)聯(lián)碰撞反應(yīng), 協(xié)作完成“吃掉”當(dāng)前關(guān)卡所有蜻蜓的任務(wù), 對完成任務(wù)所需步數(shù)并無要求, 但由于本文
算法需要有智能引導(dǎo)作用, 因此給出的引導(dǎo)提示應(yīng)盡可能接近最優(yōu)解, 故任務(wù)目標(biāo)為
Minimize∑Tt=0∑ni=0∑mj=0cti,j,s.t. 式(1)~式(4)成立,(5)
其中T為完成任務(wù)所用的總步數(shù).
2 模型構(gòu)建與算法實(shí)現(xiàn)
2.1深度強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)(reinforcement learning)是一個Markov決策過程, 可被描述為四元組(S,A,P,R), 其中S為狀態(tài)空間, A為動作空間, P為狀態(tài)轉(zhuǎn)移函數(shù), R為獎勵函數(shù). 狀態(tài)轉(zhuǎn)移函數(shù)P是一個從S×A到P(S)的
映射, 且有st+1~p(sst,at), 即狀態(tài)st采取動作at后狀態(tài)轉(zhuǎn)移到st+1的概率. 獎勵函數(shù)是一個從S×A×S到實(shí)數(shù)域的映射, 可記為rt=R(st,at,st+1). 強(qiáng)化學(xué)習(xí)過程中, 智能
體先處于開始狀態(tài)s0, 然后選擇動作a0執(zhí)行, 與環(huán)境產(chǎn)生交互, 獲得獎勵并轉(zhuǎn)移到狀態(tài)s1, 通常稱智能體經(jīng)歷的狀態(tài)、 動作序列為軌跡τ=(s0,a0,s1,a1,…), 強(qiáng)化學(xué)習(xí)的目標(biāo)是最大化累積獎勵:
R(τ)=max∑Tt=0rt.(6)
深度強(qiáng)化學(xué)習(xí)模型訓(xùn)練的基本結(jié)構(gòu)如圖2所示. 由圖2可見, 深度強(qiáng)化學(xué)習(xí)模型分為環(huán)境和智能體兩部分, 環(huán)境先將當(dāng)前狀態(tài)信息發(fā)送給智能體, 智能體再根據(jù)其策略, 輸出動作并作用到環(huán)境中, 使環(huán)境的
狀態(tài)發(fā)生改變, 然后將環(huán)境的狀態(tài)信息繼續(xù)輸入到智能體中, 再得到動作, 不斷循環(huán)直到游戲結(jié)束.
目前, 深度強(qiáng)化學(xué)習(xí)在游戲智能體領(lǐng)域的實(shí)際應(yīng)用中存在如下問題.
1) 高維輸入空間: 在一些情況下, 輸入信息的維度過大或信息量龐大, 導(dǎo)致輸入狀態(tài)空間急劇擴(kuò)大, 從而使模型難以在龐大的狀態(tài)空間中收斂, 給模型訓(xùn)練帶來挑戰(zhàn).
2) 訓(xùn)練速度緩慢: 訓(xùn)練速度相對較慢, 原因可能包括獎勵機(jī)制設(shè)計(jì)不當(dāng)?shù)龋?導(dǎo)致需要耗費(fèi)大量時間訓(xùn)練模型以達(dá)到令人滿意的效果, 該問題影響了深度強(qiáng)化學(xué)習(xí)的實(shí)際應(yīng)用效率.
3) 訓(xùn)練效果欠佳: 由于算法選擇不當(dāng)?shù)仍颍?訓(xùn)練效果可能出現(xiàn)不理想的情況, 表現(xiàn)為過高估計(jì)動作價(jià)值等問題, 這種情況通常需要較長時間的訓(xùn)練, 給實(shí)際應(yīng)用帶來一定的困擾.
針對上述問題, 本文提出一種創(chuàng)新性的解決方案. 在深度強(qiáng)化學(xué)習(xí)技術(shù)的基礎(chǔ)上, 重點(diǎn)對模型與算法設(shè)計(jì)、 模型部署和訓(xùn)練等方面進(jìn)行改進(jìn), 以提高系統(tǒng)性能和魯棒性.
1) 模型架構(gòu)優(yōu)化: 引入新的模型架構(gòu), 通過狀態(tài)信息轉(zhuǎn)換有效降低狀態(tài)空間的維度, 減少了輸入數(shù)據(jù)量.
2) 設(shè)計(jì)獎勵機(jī)制: 通過精細(xì)化設(shè)計(jì)獎勵函數(shù), 加速模型的收斂過程.
3) 模型部署: 將訓(xùn)練好的模型保存為ONNX格式, 并通過Unity的Barracuda插件實(shí)現(xiàn)模型的部署, 確保模型在實(shí)際游戲環(huán)境中能順利運(yùn)行.
2.2 算法模型
2.2.1 模型架構(gòu)
本文算法模型架構(gòu)如圖3所示. 由圖3可見, 在環(huán)境初始化后, 輸出狀態(tài)信息至智能體, 智能體先將狀態(tài)信息進(jìn)行轉(zhuǎn)換進(jìn)而獲取到神經(jīng)網(wǎng)絡(luò)的輸入值, 網(wǎng)絡(luò)模型根據(jù)輸入值進(jìn)行計(jì)算并輸出動作
, 將狀態(tài)、 獎勵和動作存入經(jīng)驗(yàn)池, 每隔一段時間就從經(jīng)驗(yàn)池中取出樣本用于更新網(wǎng)絡(luò)參數(shù), 輸出的動作通過轉(zhuǎn)換后, 在環(huán)境中模擬玩家的操作進(jìn)行點(diǎn)擊, 然后由環(huán)境調(diào)用API獲取狀
態(tài)信息, 通過反饋轉(zhuǎn)換后, 再一同輸入給智能體, 如此循環(huán).
為使模型的收斂效果更好, 本文采用PPO算法, 該算法基于TRPO的思想, 在其基礎(chǔ)上進(jìn)行改進(jìn), 主要特點(diǎn)之一是采用了剪切操作, 其優(yōu)化目標(biāo)如下:
argmaxθ Eπθks~vEa~πθk(·s)minπθ(
as)πθk(as)Aπθk(s,a),clipπθ(as)πθk
(as),1-ε,1+εAπθk(s,a),(7)
其中clip(x,l,r)∶=max{min{x,r},l}, 即把x限制在[l,r]內(nèi), 如果Aπθk(s,a)gt;0, 說明這個動作的價(jià)值高于平均, 最大化該式會增大πθ(as)πθk(as),
但不會使其超過1+ε. 通過引入剪切函數(shù)限制新舊策略比值的變化范圍, 用于平衡策略更新的幅度, 防止在每次更新中引入過大的變化, 從而提高算法的穩(wěn)定性, 更容易收斂到較好的策略.
目前, 許多基于深度強(qiáng)化學(xué)習(xí)的小游戲智能體模型為避免將連續(xù)狀態(tài)離散化, 都將圖像直接作為模型輸入, 會導(dǎo)致處理過于復(fù)雜, 且可能出現(xiàn)模型難以收斂等情況. 針對該問題, 本
文提出改進(jìn)的狀態(tài)信息及精細(xì)化的反饋獎勵, 以提升模型收斂效果, 加快模型的訓(xùn)練速度.
2.2.2 狀態(tài)信息設(shè)計(jì)
首先將青蛙和蜻蜓的位置信息轉(zhuǎn)換為一維, 進(jìn)行如下轉(zhuǎn)換:
pi,m+j=xfi,j,di,m+j=xdi,j,(8)
其中: 青蛙的位置信息表示為集合P={p1,p2,…,pN}, pi={0,1}, i={1,2,…,N}表示是否存在青蛙; 蜻蜓的位置表示為集合D={d1,d2,…,dN}, di={0,1}, i=
{1,2,…,N}表示是否存在蜻蜓. 每只青蛙的朝向表示為T={t1,t2,…,tN}, 其中ti={0,1,2,3,4}, i={1,2,…,N
}, 0表示當(dāng)前位置沒有青蛙, 1,2,3,4分別表示青蛙朝向是上、 右、 下、 左. 因此, 模型在第t步的狀態(tài)信息為
St=(Pt,Tt,Dt).(9)
2.2.3 動作輸出設(shè)計(jì)
動作主要為玩家的操作, 玩家共有N種操作方式, 設(shè)玩家在第t次的操作方式為At={1,2,…,N}, 則玩家點(diǎn)擊位置的計(jì)算方式如下:
rowt=Atn,(10)colt=(At+n-1) mod m,(11)
其中rowt表示在第t步時點(diǎn)擊的行數(shù), colt表示在第t步時點(diǎn)擊的列數(shù).
2.2.4 獎勵函數(shù)設(shè)計(jì)
本文用Rt表示獎勵值, 一般地, 如果能提供更精細(xì)的獎勵反饋, 則訓(xùn)練效果和訓(xùn)練速度能得到有效提升. 本文在反復(fù)實(shí)驗(yàn)對比后, 設(shè)計(jì)精細(xì)化獎勵如下:
1) 如果點(diǎn)擊到空白位置, 即沒有點(diǎn)到青蛙, 則表示無效操作, 返回-10;
2) 如果點(diǎn)擊到了青蛙, 但青蛙吐出舌頭只碰到了邊界, 則表示低效操作, 返回-2;
3) 如果點(diǎn)擊到了青蛙, 且該青蛙吐出舌頭碰到了另一只青蛙, 由于并不能完全確定是無效操作還是為了使某只青蛙轉(zhuǎn)向, 則返回0;
4) 如果點(diǎn)擊到了青蛙, 且該青蛙吐出舌頭碰到了另一只青蛙, 還導(dǎo)致另一只青蛙面向蜻蜓, 則表示有效操作, 返回2;
5) 如果點(diǎn)擊到了青蛙, 且該青蛙吐出舌頭碰到蜻蜓, 則表示最有效操作, 返回5.
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)環(huán)境與設(shè)置
為更好展示模型效果, 本文實(shí)驗(yàn)在自行開發(fā)的Unity游戲程序上直接訓(xùn)練. 圖4為Unity開發(fā)的實(shí)際展示效果, 通過封裝好的API獲取后臺信息,
并結(jié)合Socket通信實(shí)現(xiàn)Python和Unity程序的跨架構(gòu)通信, 游戲被設(shè)計(jì)為3個難度, 不同難度所需的點(diǎn)擊數(shù)會增加, 游戲地圖在保證一定有解的前提下隨機(jī)生成.
為分別驗(yàn)證獎勵函數(shù)塑形和算法模型推理的實(shí)際應(yīng)用效果, 本文實(shí)驗(yàn)將進(jìn)行兩方面的對比.
3.1.1 獎勵函數(shù)塑形與對比
為更清晰地展現(xiàn)獎勵函數(shù)塑形技術(shù)的效果, 本文設(shè)計(jì)一種對比實(shí)驗(yàn), 該實(shí)驗(yàn)采用一種與蜻蜓數(shù)量變化直接正相關(guān)的獎勵機(jī)制. 該獎勵機(jī)制的核心是通過即時反饋游戲
中的關(guān)鍵指標(biāo)——蜻蜓數(shù)量的變化, 指導(dǎo)智能體的學(xué)習(xí)方向. 該獎勵機(jī)制的計(jì)算公式為
Rt=A·(Dt+1-Dt),(12)
其中A為一正常數(shù), Dt和Dt+1分別表示在第t個操作和在第(t+1)個操作時的蜻蜓數(shù)量. 每當(dāng)智能體的執(zhí)行動作導(dǎo)致游戲中蜻蜓數(shù)
量增加時, 它將獲得正向獎勵; 反之, 如果動作導(dǎo)致蜻蜓數(shù)量減少, 則會受到懲罰. 通過這種方式, 該獎勵機(jī)制直接促進(jìn)了智能體對能增加蜻蜓數(shù)量行為的學(xué)習(xí), 進(jìn)而提高了其在游戲中的性能.
通過與本文提出的獎勵函數(shù)塑形方法進(jìn)行對比實(shí)驗(yàn), 不僅可直觀地評估兩種不同獎勵機(jī)制對智能體學(xué)習(xí)效率和最終性能的影響, 還能進(jìn)一步驗(yàn)證獎勵函數(shù)塑形技術(shù)在提高模型訓(xùn)練速
度和性能方面的優(yōu)越性. 該對比實(shí)驗(yàn)的設(shè)計(jì), 為探索更高效、 更智能的游戲AI訓(xùn)練方法提供了有價(jià)值的參考.
3.1.2 模型訓(xùn)練與隨機(jī)策略對比測試
為驗(yàn)證本文模型的推理效果, 將其與隨機(jī)策略進(jìn)行對比, 即隨機(jī)點(diǎn)擊場上某一只青蛙. 深度強(qiáng)化學(xué)習(xí)部分基于Python的PyTorch庫實(shí)現(xiàn), 網(wǎng)絡(luò)采用3層全連接層, 隱藏層維度
為128, 折扣因子為0.99, 學(xué)習(xí)率為0.000 3, 并使用Adam優(yōu)化器. 對采用不同方法通關(guān)游戲所需的實(shí)際步數(shù)進(jìn)行對比.
3.2 實(shí)驗(yàn)結(jié)果與分析
圖5為不同獎勵機(jī)制的獎勵值變化曲線, 其中: 藍(lán)色線為本文獎勵機(jī)制的訓(xùn)練情況; 橙色線為平滑曲線, 用于觀察趨勢; 綠色線為對比設(shè)計(jì)的獎勵機(jī)制; 紅色線為平滑曲線. 由圖5可見, 本文提出的精
細(xì)化獎勵機(jī)制能使模型的訓(xùn)練效果更好, 在4×106個時間步時即趨于穩(wěn)定, 而對比的獎勵機(jī)制基本在6×106個時間步時才趨于穩(wěn)定, 訓(xùn)練速度提升約50%.
圖6為3種不同算法和獎勵機(jī)制的訓(xùn)練效果對比, 其中: 綠色為本文基于深度強(qiáng)化學(xué)習(xí)的智能引導(dǎo)算法, 采用精細(xì)化獎勵機(jī)制; 橙色為傳統(tǒng)深度強(qiáng)化學(xué)習(xí)算法, 采用簡單的
對比獎勵機(jī)制; 藍(lán)色為隨機(jī)點(diǎn)擊的效果, 隨機(jī)點(diǎn)擊場上的青蛙, 不使用任何智能引導(dǎo). 由圖6可見, 前兩個均使用深度強(qiáng)化學(xué)習(xí)模型, 效果明顯優(yōu)于隨機(jī)點(diǎn)擊. 實(shí)驗(yàn)結(jié)果表明, 本文采用精細(xì)化獎勵機(jī)制的訓(xùn)練效果優(yōu)于對比獎勵機(jī)制.
3.3 算法部署
ONNX(open neural network exchange)是一種針對機(jī)器學(xué)習(xí)所設(shè)計(jì)的開放式文件格式, 用于存儲訓(xùn)練好的模型, 它使不同的人工智能框架(如PyTorch, MXNet)可以采用相同
格式存儲模型數(shù)據(jù)并交互, 因此在訓(xùn)練完代碼后, 為能在Unity的游戲中直接使用, 本文將訓(xùn)練模型保存為ONNX格式, 并通過Unity的Barracuda插件實(shí)現(xiàn)打包部署, 實(shí)際效果與實(shí)驗(yàn)效果基本一致.
綜上所述, 針對傳統(tǒng)基于深度強(qiáng)化學(xué)習(xí)的游戲智能體算法模型輸入狀態(tài)信息維度過大以及訓(xùn)練速度較慢的問題, 本文提出了一種基于深度強(qiáng)化學(xué)習(xí)的游戲智能引導(dǎo)算法. 該算法采
用一種新的模型架構(gòu), 通過狀態(tài)信息轉(zhuǎn)換, 能有效降低狀態(tài)信息維度, 同時精細(xì)化反饋獎勵值, 從而提高模型訓(xùn)練速度和性能. 對比實(shí)驗(yàn)結(jié)果表明, 該算法相比于傳統(tǒng)算法, 在
訓(xùn)練速度上提升了約50%, 在性能上提升了25%以上, 證明了該算法的優(yōu)越性與有效性.
參考文獻(xiàn)
[1] 曹馨月. 數(shù)字經(jīng)濟(jì)時代中國游戲產(chǎn)業(yè)發(fā)展面臨的機(jī)遇、 挑戰(zhàn)和對策 [J]. 商業(yè)觀察, 2023, 9(23): 92-95. (CAO X Y. Opportunities, Challenges and Countermeasures
for the Development of China’s Game Industry in the Era of Digital Economy [J]. Business Observation, 2023, 9(23): 92-95.)
[2] 韓東林, 李振. 數(shù)字技術(shù)賦能網(wǎng)絡(luò)游戲產(chǎn)業(yè)高質(zhì)量發(fā)展路徑研究 [J]. 合肥師范學(xué)院學(xué)報(bào), 2022, 40(5): 74-80. (HAN D L, LI Z. Research on Digital Technology
Enabling High-Quality Development Path of Online Game Industry [J]. Journal of Hefei Normal University, 2022, 40(5): 74-80.)
[3] 陳勇. 人工智能技術(shù)在計(jì)算機(jī)游戲軟件中的應(yīng)用 [J]. 軟件, 2022, 43(10): 92-94. (CHEN Y. Application of Artificial Intelligence Tech
nology in Computer Game Software [J]. Software, 2022, 43(10): 92-94.)
[4] 宋丕丞. AI賦能游戲開發(fā): 演化脈絡(luò)與應(yīng)用趨勢 [J]. 北京文化創(chuàng)意, 2024(4): 4-16. (S
ONG P C. Empowering Game Development with AI: Evolution and Application Trends [J]. Beijing Cultural Creativity, 2024(4): 4-16.)
[5] 王一帆. 游戲化教學(xué)策略——AI繪畫應(yīng)用于中小學(xué)生計(jì)算思維培養(yǎng)的路徑探討 [C]//2024計(jì)算思維與STEM教育研討會暨Bebras中國社區(qū)年度工作會議論文集. 北京: 北京師范大學(xué)
, 2024: 1-13. (WANG Y F. Gamification in Education: Exploring the Path of AI-Powered Drawing for Cultivating Computational Thinking in Primary and Secondary School Students
[C]//Proceedings of the 2024 Symposium on Computational Thinking and STEM Education and the Annual Meeting of the Bebras China Community. Beijing: Beijing Normal University, 2024: 1-13.)
[6] 周飛, 李久艷. 人工智能在游戲開發(fā)中的應(yīng)用現(xiàn)狀和展望 [J]. 中國管理信息化, 2020, 23(23): 183-185.(ZHOU F, LI J Y. The Application Status and Prospect of Art
ificial Intelligence in Game Development [J]. China Management Informationization, 2020, 23(23): 183-185.)
[7] KONSTANTINOS S, GEORGE K S, GEORGE A P. Reinforcement Learning in Game Industry—Revie
w, Prospects and Challenges [J]. Applied Sciences, 2023, 13(4): 2443-1-2443-23.
[8] 高陽, 陳世福, 陸鑫. 強(qiáng)化學(xué)習(xí)研究綜述 [J]. 自動化學(xué)報(bào), 2004, 30(1): 86-100. (GAO Y, CHEN S F, LU X. Review of Reinforcement L
earning Research [J]. Acta Automatica Sinica, 2004, 30(1): 86-100.)
[9] KUMAR A S, GOPINATHA P, SOHOM C. Reinforcement Learning Algorithms: A Brief S
urvey [J]. Expert Systems with Applications, 2023, 231: 120495-1-120495-32.
[10] LECUN Y, BENGIO Y, HINTON G. Deep Learning [J]. Nature, 2015, 521(7553): 436-444.
[11] KAI A, MARC P D, MILES B, et al. Deep Reinforcement Lear
ning: A Brief Survey [J]. IEEE Signal Processing Magazine, 2017, 34(6): 26-38.
[12] ZHAO D B, SHAO K, ZHU Y H, et al. Review of Deep Reinforcement Learning and
Discussions on the Development of Computer Go [J]. Control Theory amp; Applications, 2016, 33(6): 701-717.
[13] WAN L P, LAN X G, ZHANG H B, et al. A Review of Deep Reinforcement Learning
Theory and Application [J]. Pattern Recognition and Artificial Intelligence, 2019, 32(1): 67-81.
[14] MHIN V, KAVUKCUOGLU K, SILVER D, et al. Human-Level Con
trol through Deep Reinforcement Learning [J]. Nature, 2015, 518(7540): 529-533.
[15] SILVER D, HUANG A, MADDISON C J, et al. Mastering the Game of Go with Deep N
eural Networks and Tree Search [J]. Nature, 2016, 529(7587): 484-489.
[16] SILVER D, SCHRITTWIESER J, SIMONYAN K, et al. Maste
ring the Game of Go without Human Knowledge [J]. Nature, 2017, 550(7676): 354-359.
[17] VINYALS O, EWALDS T, BARTUNOV S, et al. Grandmaster Level in StarCraft Ⅱ Usi
ng Multi-agent Reinforcement Learning [J]. Nature, 2019, 575(7782): 350-354.
[18] GREFF K, SRIVASTAVA R K, KOUTNIK J, et al. LSTM: A
Search Space Odyssey [J]. IEEE Transactions on Neural Networks and Learning Systems, 2016, 28(10): 2222-2232.
[19] SCHULMAN J, LEVINE S, ABBEEL P, et al. Trust Region
Policy Optimization [C]//International Conference on Machine Learning. New York: ACM, 2015: 1889-1897.
[20] SCHULMAN J, WOLSKI F, DHARIWAL P, et al. Proximal Po
licy Optimization Algorithms [EB/OL]. (2017-04-28)[2023-12-28]. https://arxiv.org/abs/1707.06347v2.
[21] YE D, LIU Z, SUN M, et al. Mastering Complex Control in MOBA Games with Deep
Reinforcement Learning [C]//Proceedings of the 34th AAAI Conference on Artificial Intelligence. Palo Alto: AAAI, 2020: 6672-6679.
[22] 張薛晴, 宋玉磊, 田萌, 等. 嚴(yán)肅游戲在認(rèn)知障礙人群中應(yīng)用的范圍綜述 [J]. 醫(yī)學(xué)信息, 2023, 36(21): 173-177. (ZHANG X Q, SONG Y L, TIAN M, et al. A Sco
ping Review of Serious Game in People with Cognitive Impairment [J]. Journal of Medical
Information, 2023, 36(21): 173-177.)
(責(zé)任編輯: 韓 嘯)