亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進(jìn)DQN算法的NPC行進(jìn)路線規(guī)劃研究

        2022-08-02 08:27:58森,李璽,黃運(yùn)
        無線電工程 2022年8期

        劉 森,李 璽,黃 運(yùn)

        (1.河北遠(yuǎn)東通信系統(tǒng)工程有限公司, 河北 石家莊 050200;2.陸軍工程大學(xué)石家莊校區(qū),河北 石家莊 050000;3.中國人民解放軍32620部隊(duì),青海 西寧 810007)

        0 引言

        在軍事游戲或仿真訓(xùn)練系統(tǒng)中,非玩家角色(No-player Character,NPC)的智能化水平在很大程度上決定了模擬訓(xùn)練的效果。構(gòu)建NPC的核心是進(jìn)行行為建模。行為建模分為認(rèn)知行為建模和物理行為建模,行進(jìn)路線的規(guī)劃則是NPC物理行為建模的重要組成部分。傳統(tǒng)的NPC行進(jìn)路線規(guī)劃主要采用固定路線或利用有限狀態(tài)機(jī)、行為樹構(gòu)建腳本等方式。前者相對比較原始,很難有效提升模擬訓(xùn)練的效果,后者具有一定的智能性,但是面對復(fù)雜多變的戰(zhàn)場環(huán)境往往不能靈活應(yīng)對。本文針對上述問題開展研究,利用強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)的方法設(shè)計(jì)NPC行進(jìn)路線規(guī)劃算法,實(shí)現(xiàn)NPC行進(jìn)路線的智能化選擇。

        近年來,深度學(xué)習(xí)(Deep Learning,DL)和RL相結(jié)合產(chǎn)生的深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL),使傳統(tǒng)的RL擴(kuò)展到高維度狀態(tài)空間和高維度動作空間等以前無法解決的領(lǐng)域[1]。特別是Mnih等人[2]提出的深度Q網(wǎng)絡(luò)(Deep Q-Network,DQN)將DRL的研究推向新的高度。目前,各國學(xué)者利用DRL在機(jī)器人控制[3-4]、游戲[5]和無人駕駛[6-7]等領(lǐng)域開展了廣泛而深入的研究。其中,基于DRL的路線規(guī)劃研究[8-14]也是熱點(diǎn)之一,同時(shí)也是多領(lǐng)域的基礎(chǔ)應(yīng)用研究內(nèi)容。

        上述研究多關(guān)注于如何進(jìn)行避障,而在此基礎(chǔ)上如何實(shí)現(xiàn)最優(yōu)路線的選擇研究較少。另外,由于DQN算法在經(jīng)驗(yàn)回放時(shí)采用均勻的采樣方法,不利于算法的收斂。本文針對DQN算法收斂性差和最優(yōu)路線選取問題進(jìn)行改進(jìn),提出PRDQN算法。該算法利用基于SumTree的優(yōu)先經(jīng)驗(yàn)回放方法取代了DQN算法的均勻采樣回放機(jī)制,并重新設(shè)計(jì)了獎(jiǎng)勵(lì)函數(shù)。實(shí)驗(yàn)證明,該算法相對于DQN算法不僅提高了收斂速度,而且實(shí)現(xiàn)了路線的優(yōu)化。

        1 PRDQN算法

        1.1 Q-learning算法

        Q-learning是RL的經(jīng)典算法,核心是智能體通過與環(huán)境的不斷交互學(xué)習(xí),更新和完善Q-table,以達(dá)到智能決策的目的。Q-table的行代表狀態(tài),列代表行動,表格的數(shù)值即Q-value是在不同狀態(tài)下采取相應(yīng)行動時(shí)能夠獲得的最大的未來期望獎(jiǎng)勵(lì)。Q-learning算法利用式(1)來計(jì)算Q-value:

        Q(st,at)=Q(st,at)+

        α[rt+γmaxQ(st+1,at+1)-Q(st,at)]。

        (1)

        式(1)展開可得:

        Q(st,at)=(1-α)Q(st,at)+

        α[rt+γmaxQ(st+1,at+1)]。

        (2)

        將式(2)進(jìn)行迭代,得:

        Q(st,at)=(1-α)Q(st,at)+α[rt+γmaxQ(st+1,at+1)]=

        (1-α){(1-α)Q(st,at)+

        α[rt+γmaxQ(st+1,at+1)]}+

        α[rt+γmaxQ(st+1,at+1)]=

        (1-α)2Q(st,at)+

        [1-(1-α)2][rt+γmaxQ(st+1,at+1)]=

        …=

        (1-α)nQ(st,at)+

        [1-(1-α)n][rt+γmaxQ(st+1,at+1)],

        (3)

        式中,st為t時(shí)刻的狀態(tài);at為t時(shí)刻采取的行動;st+1為t+1時(shí)刻的狀態(tài);at+1為t+1時(shí)刻采取的動作;Q(st,at)為st狀態(tài)下采用行動at的值函數(shù);α為學(xué)習(xí)率;rt為t時(shí)刻已經(jīng)獲得的獎(jiǎng)勵(lì);γ為衰減因子。由于α∈(0,1),因此0<α-1<1,當(dāng)n→∞時(shí),(1-α)n→0,則式(3)可變?yōu)椋?/p>

        Q(st,at)=rt+γmaxQ(st+1,at+1)。

        (4)

        式(4)即是在各類程序中,計(jì)算st狀態(tài)下采用行動at的Q值公式。

        利用Q-learning算法實(shí)現(xiàn)RL簡單明了,并且不存在收斂性的問題。但是,當(dāng)狀態(tài)空間S和行動空間A足夠大時(shí),Q-table會變得非常大,從而導(dǎo)致維數(shù)災(zāi)難。因此,純粹的Q-learning算法很少用于解決現(xiàn)實(shí)中的各類應(yīng)用問題。

        1.2 DQN算法

        針對Q-learning算法存在的維數(shù)災(zāi)難問題,DeepMind團(tuán)隊(duì)的Mnih等人將深度卷積神經(jīng)網(wǎng)絡(luò)和Q-learning結(jié)合,利用卷積神經(jīng)網(wǎng)絡(luò)動態(tài)生成Q-table,不僅避免了復(fù)雜空間的維數(shù)災(zāi)難,而且在一定程度上解決了非線性函數(shù)近似表示值函數(shù)的不穩(wěn)定問題。

        DQN算法示意如圖1所示,算法定義了2個(gè)相對獨(dú)立且結(jié)構(gòu)相同的網(wǎng)絡(luò),分別是訓(xùn)練網(wǎng)絡(luò)(TrainingNet)和目標(biāo)網(wǎng)絡(luò)(TargetNet)。利用Q-learning算法,智能體通過與環(huán)境的交互,實(shí)現(xiàn)訓(xùn)練網(wǎng)絡(luò)的學(xué)習(xí)。經(jīng)過固定步數(shù)的訓(xùn)練后,將訓(xùn)練網(wǎng)絡(luò)中的參數(shù)全部賦值給目標(biāo)網(wǎng)絡(luò)。設(shè)置經(jīng)驗(yàn)回放單元的目的是減少訓(xùn)練樣本的相關(guān)行,改善神經(jīng)網(wǎng)絡(luò)逼近強(qiáng)化學(xué)習(xí)的動作值函數(shù)不穩(wěn)定的問題。每次訓(xùn)練時(shí)從經(jīng)驗(yàn)庫中均勻選取一批樣本與訓(xùn)練樣本混合在一起,破壞相鄰訓(xùn)練樣本的相關(guān)性,提高樣本的利用率。

        圖1 DQN算法示意Fig.1 Schematic diagram of DQN algorithm

        DQN的損失函數(shù)是目標(biāo)網(wǎng)絡(luò)的Q-value與評估網(wǎng)絡(luò)的Q-value差的平方值,表示為:

        LOSSt=(targetQt-Q(st,at,wt))2,

        (5)

        式中,targetQ根據(jù)式(4)可得:

        targetQt=rt+γmaxQ′(st+1,at+1,wt+1),

        (6)

        w為網(wǎng)絡(luò)參數(shù),采用梯度下降法學(xué)習(xí):

        wt+1=wt+E[targetQt-Q(st,at,wt)]Q(st,at,wt)。

        (7)

        1.3 改進(jìn)算法

        傳統(tǒng)的DQN算法利用經(jīng)驗(yàn)回放機(jī)制,阻斷了訓(xùn)練樣本的相關(guān)行,改善了不穩(wěn)定的問題,但是采用均勻采樣的方式不利于算法的收斂。另外,DQN算法獎(jiǎng)勵(lì)函數(shù)設(shè)置的比較簡單,往往不能實(shí)現(xiàn)最優(yōu)路線的規(guī)劃。本文針對經(jīng)驗(yàn)回放和獎(jiǎng)勵(lì)函數(shù)進(jìn)行了改進(jìn),提出了PRDQN算法。

        1.3.1 基于SumTree的優(yōu)先經(jīng)驗(yàn)回放

        SumTree采用二叉樹結(jié)構(gòu),如圖2所示。節(jié)點(diǎn)存儲的是樣本的優(yōu)先級(Priority),數(shù)值越大,優(yōu)先級越高,通過這種方式可以讓好的樣本重復(fù)利用的幾率更大。SumTree中,只有葉子節(jié)點(diǎn)代表具體樣本,非葉子節(jié)點(diǎn)沒有實(shí)際意義,父節(jié)點(diǎn)的優(yōu)先級是子節(jié)點(diǎn)優(yōu)先級的和。葉子節(jié)點(diǎn)的優(yōu)先級通過TD-error[15-17]確定,TD-error是樣本在利用時(shí)序差分(Temporal Difference,TD)更新時(shí)目標(biāo)網(wǎng)絡(luò)值函數(shù)與訓(xùn)練網(wǎng)絡(luò)值函數(shù)的差值,本文TD-error的值采用損失函數(shù)值,如式(5)所示。差值越大說明預(yù)測精度還有較大的上升空間,被訓(xùn)練的價(jià)值就越大,因此優(yōu)先級越高。葉子節(jié)點(diǎn)下面的數(shù)值代表該樣本對應(yīng)的數(shù)值區(qū)間,優(yōu)先級高的葉子節(jié)點(diǎn)對應(yīng)的數(shù)值區(qū)間大,在均勻采樣的過程中被選中的概率就高。SumTree的算法實(shí)現(xiàn)如算法1所示。

        圖2 SumTree示意Fig.2 Schematic diagram of SumTree

        算法1:SumTree算法1) Def SumTree(節(jié)點(diǎn))2) if節(jié)點(diǎn)==葉子節(jié)點(diǎn)3) ifPriority節(jié)點(diǎn)

        以圖2為例,假如從(0,52)中抽取樣本S=25,則從SumTree的根節(jié)點(diǎn)0開始,由于左子節(jié)點(diǎn)1的優(yōu)先級為22,小于25,所以選擇右子節(jié)點(diǎn)2,同時(shí)S=25-22=3,然后判斷節(jié)點(diǎn)2的左子節(jié)點(diǎn)5的優(yōu)先級值是否大于3,依次判斷下去,最后選擇節(jié)點(diǎn)12。

        1.3.2 獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)

        在RL過程中,智能體在與環(huán)境的交互中能夠獲得獎(jiǎng)勵(lì),驅(qū)使智能體在不斷的嘗試中選擇獲得獎(jiǎng)勵(lì)多的行為策略。傳統(tǒng)的DQN算法獎(jiǎng)勵(lì)函數(shù)的設(shè)置如下:

        (8)

        式中,C通常為正整數(shù)??梢钥闯?,除去到達(dá)目的地和發(fā)生碰撞外,其他情況下智能體獲得的獎(jiǎng)勵(lì)都是0,通過大量訓(xùn)練雖然能夠使智能體到達(dá)目的地,但是無法獲取最優(yōu)路線。為此,本文重新設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù),在沒有到達(dá)目的地或發(fā)生碰撞時(shí),判斷下一個(gè)行動到達(dá)的點(diǎn)中哪一個(gè)距離終點(diǎn)距離更近,距離最近的點(diǎn)對應(yīng)的行動獎(jiǎng)勵(lì)設(shè)為βC:

        (9)

        式中,與目的地的距離通過歐式距離公式計(jì)算得出,即:

        (10)

        式中,x(x1,x2,…,xn)是當(dāng)前位置坐標(biāo);y(y1,y2,…,yn)是目的地坐標(biāo)。

        1.3.3 算法描述

        本文提出的PRDQN算法流程如下。

        算法2:PRDQN算法1) 生成訓(xùn)練數(shù)據(jù)集2) 初始化設(shè)置,利用CNN生成訓(xùn)練網(wǎng)絡(luò)(TrainingNet)和目標(biāo)網(wǎng)絡(luò)(TargetNet)3) 生成初始Q-table4) 訓(xùn)練網(wǎng)絡(luò)5) 設(shè)置epochs,batchsize等相關(guān)變量6) while count

        2 實(shí)驗(yàn)及結(jié)果分析

        為了驗(yàn)證算法的有效性,本文設(shè)計(jì)了如下實(shí)驗(yàn)。隨機(jī)生成200張25 pixel×25 pixel的圖片作為NPC行進(jìn)訓(xùn)練地圖,每張圖根據(jù)不同的起點(diǎn),再生成25×25=625張圖片,共計(jì)125 000張,圖中隨機(jī)生成若干黑色像素點(diǎn)代表地圖中的障礙。NPC從左上角的像素點(diǎn)[0,0]出發(fā),到達(dá)右下角的像素點(diǎn)[24,24]則完成路線規(guī)劃,中途碰到障礙則失敗。實(shí)驗(yàn)軟件環(huán)境:python 3.8,tensorflow 2.4.0,pycharm 2020.3.2。

        本文設(shè)計(jì)了2層卷積網(wǎng)絡(luò)加2層全連接網(wǎng)絡(luò)的結(jié)構(gòu),卷積核大小為2*2,由于圖像包含3個(gè)通道,因此卷積核的厚度為3,第1次卷積包含10個(gè)卷積核,第2次卷積包含20個(gè)卷積核,第1層全連接層包含100個(gè)神經(jīng)元,第2層全連接層包含2個(gè)神經(jīng)元,生成的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

        圖3 算法中深度卷積網(wǎng)絡(luò)的處理過程Fig.3 Processing flow of deep convolution network in the algorithm

        實(shí)驗(yàn)程序參數(shù)設(shè)置如表1所示。

        表1 參數(shù)設(shè)置表Tab.1 Parameter setting

        訓(xùn)練過程中的參數(shù)變化如圖4所示。橫軸代表w值,縱軸代表的是分布數(shù)量,每個(gè)切片代表在當(dāng)前訓(xùn)練步數(shù)下w值的分布情況。

        使用同樣的訓(xùn)練集,分別對傳統(tǒng)DQN算法和PRDQN算法進(jìn)行訓(xùn)練,損失函數(shù)的變化情況如圖5所示。

        從圖5的實(shí)驗(yàn)結(jié)果可以看出,本文提出的PRDQN算法在收斂性上要好于傳統(tǒng)DQN算法,在訓(xùn)練步數(shù)到達(dá)1 000時(shí),就可以將損失函數(shù)值穩(wěn)定地控制在30以下。

        訓(xùn)練完成之后,隨機(jī)生成10張測試用圖,對傳統(tǒng)DQN算法和PRDQN算法進(jìn)行測試,結(jié)果如圖6所示。

        從圖6的實(shí)驗(yàn)結(jié)果可以看出,PRDQN算法生成的規(guī)劃路線基本沿圖像對角線方向,從行進(jìn)的角度來說,利于NPC在最短的時(shí)間內(nèi)到達(dá)指定地點(diǎn),不僅實(shí)現(xiàn)了路線規(guī)劃,而且優(yōu)化了行進(jìn)路線。傳統(tǒng)DQN算法雖然也能夠完成路線規(guī)劃,但是路線明顯比較曲折。

        (a) 第1卷積層的w值

        (a) 傳統(tǒng)DQN算法

        (a) 傳統(tǒng)DQN算法的測試效果

        3 結(jié)束語

        本文改進(jìn)了傳統(tǒng)DQN算法的經(jīng)驗(yàn)回放機(jī)制和獎(jiǎng)勵(lì)函數(shù),設(shè)計(jì)了PRDQN算法。該算法基于TD-error為經(jīng)驗(yàn)回放單元中的樣本設(shè)置優(yōu)先級,并利用SumTree算法實(shí)現(xiàn)了優(yōu)先級經(jīng)驗(yàn)回放機(jī)制。同時(shí),根據(jù)NPC行進(jìn)的需求,重新設(shè)計(jì)了獎(jiǎng)勵(lì)函數(shù)。實(shí)驗(yàn)證明,PRDQN算法在收斂性和最優(yōu)路線規(guī)劃方面都優(yōu)于傳統(tǒng)的DQN算法。

        目前,算法應(yīng)用于二維地圖中,動作空間限于二維空間。在三維仿真訓(xùn)練系統(tǒng)中,行為策略將在三維空間中展開,需要針對獎(jiǎng)勵(lì)函數(shù)做進(jìn)一步改進(jìn),考慮地形起伏等更多維度的因素對NPC行進(jìn)的影響。

        亚洲中文无码av在线| 日韩女优精品一区二区三区| 亚洲av无码无限在线观看| 色婷婷久久综合中文久久蜜桃av | 国产精品日本中文在线| 亚洲国产精品一区二区毛片| 99热这里有精品| 欧美第五页| 日本最新一区二区三区视频 | 亚洲av日韩av永久无码色欲| 久久久久久久尹人综合网亚洲 | 精品久久人人妻人人做精品| 东京热加勒比久久精品| 精品人妻丰满久久久a| 高清偷自拍第1页| 一区二区三区中文字幕p站| 亚洲国产精品成人av| 亚洲AV一二三四区四色婷婷| 欧美性巨大╳╳╳╳╳高跟鞋| 亚洲悠悠色综合中文字幕| 亚洲av色香蕉一区二区三区蜜桃 | 丰满人妻一区二区三区蜜桃 | а√天堂资源8在线官网在线| 国产私人尤物无码不卡| 极品少妇一区二区三区| 日本色偷偷| 中文字幕亚洲无线码在一区| 一本色道久久88综合日韩精品 | 香蕉免费一区二区三区| 日韩av一区二区不卡| 成人女同av免费观看| 午夜视频网址| 婷婷成人基地| 丰满多毛的大隂户毛茸茸| 成人国产一区二区三区| 亚洲一区二区三区精品久久| 成人综合亚洲欧美一区h| 99精品国产在热久久国产乱| 久久九九国产精品怡红院| 亚洲av日韩av永久无码下载| 久久这里都是精品99|