閆博為,杜潤樂,班曉軍,周 荻
(1. 哈爾濱工業(yè)大學(xué)航天學(xué)院,哈爾濱 150000;2. 試驗(yàn)物理與計(jì)算數(shù)學(xué)國家級(jí)重點(diǎn)實(shí)驗(yàn)室,北京 100076)
自生命誕生以來,追逃博弈問題就廣泛存在于自然界,是捕食者與被捕食者之間的生死游戲。而隨著人類科技的飛速發(fā)展,追逃博弈問題的研究也從生物之間的博弈轉(zhuǎn)變?yōu)槿祟愒煳镏g的博弈,追蹤者想方設(shè)法地追上逃逸者,而逃逸者則盡可能遠(yuǎn)離追蹤者,根據(jù)各自的策略完成博弈。
追逃博弈問題最早于1965年被提出。2014年,J.Y.Kuo等為解決動(dòng)態(tài)環(huán)境下的追逃博弈問題,運(yùn)用概率論與圖式理論為追蹤者設(shè)計(jì)了一種認(rèn)知行為學(xué)習(xí)機(jī)制,首先通過意向圖式預(yù)測逃逸者的位置,之后通過感知圖式為追蹤者選擇動(dòng)作,為追蹤者處于未知環(huán)境下的追蹤問題提出了一種解決方法[1]。2019年,在主動(dòng)防御的三者博弈場景中,Sun Q.等基于微分對(duì)策設(shè)計(jì)了一種制導(dǎo)律,使得追蹤者在無法獲知目標(biāo)與防御者加速度的情況下完成對(duì)目標(biāo)的追蹤,并完成對(duì)防御者的躲避[2]。
隨著人工智能技術(shù)的飛速發(fā)展,許多應(yīng)用領(lǐng)域均產(chǎn)生了智能化的趨勢。由于環(huán)境與任務(wù)目標(biāo)的復(fù)雜性,在實(shí)際應(yīng)用中單個(gè)智能體往往無法順利完成目標(biāo),需要多個(gè)智能體進(jìn)行協(xié)同合作[3],甚至可能面臨多個(gè)智能體之間的競爭博弈[4]。多智能體追逃問題同時(shí)存在競爭博弈與協(xié)同合作,是研究多智能體的一種良好平臺(tái)。
近年來,國內(nèi)外學(xué)者嘗試將強(qiáng)化學(xué)習(xí)方法引入追逃博弈問題研究之中。2011年,J.Y.Kuo等就通過Q學(xué)習(xí)(Q-Learning)[5]實(shí)現(xiàn)了單個(gè)追蹤者的追蹤策略學(xué)習(xí),并基于案例推理實(shí)現(xiàn)了多智能體之間的協(xié)同學(xué)習(xí)[6]。2017年,針對(duì)超級(jí)逃逸者,即逃逸者的最大速度超過所有追蹤者的最大速度的圍捕問題,A.A.Al-Talabi提出了一種模糊強(qiáng)化學(xué)習(xí)方法,使得追蹤者通過分散的方式捕獲單個(gè)超級(jí)逃逸者,并通過編隊(duì)控制策略避免碰撞,而逃逸者使用阿氏圓尋找追蹤者之間的空隙[7]。在追逃博弈中,追蹤者往往在與訓(xùn)練環(huán)境類似的場景中進(jìn)行決策,若環(huán)境改變則追蹤策略可能失效。為解決此問題,M.D.Awheda等提出了一種模糊強(qiáng)化學(xué)習(xí)算法,增強(qiáng)了追蹤者在與訓(xùn)練環(huán)境不同的場景中捕獲逃逸者的能力[8]。2018年,針對(duì)二維平面中智能小車的追逃問題,譚浪等設(shè)計(jì)了一種基于深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法[9]的追逃博弈算法[10]。2019年,Wang L.等將DDPG與模糊理論相結(jié)合,克服了原算法依賴概率分布的缺點(diǎn)[11]。通常在追逃游戲中,對(duì)運(yùn)動(dòng)學(xué)約束進(jìn)行簡化,并假設(shè)空間中沒有障礙物。2020年,Qi Q.等在考慮智能體運(yùn)動(dòng)學(xué)與環(huán)境靜態(tài)障礙物的情況下,提出了一種課程深度強(qiáng)化學(xué)習(xí)方法,追蹤者與逃逸者通過自我博弈的機(jī)制同時(shí)進(jìn)行訓(xùn)練,并通過課程學(xué)習(xí)的方法逐步增加學(xué)習(xí)任務(wù)難度[12]。針對(duì)智能體數(shù)量增多時(shí)群體強(qiáng)化學(xué)習(xí)算法狀態(tài)空間過大難以收斂的問題,劉強(qiáng)等提出了一種帶注意力機(jī)制的群體對(duì)抗策略,智能體只關(guān)注自身周圍的智能體,有效減少了Critic網(wǎng)絡(luò)的計(jì)算復(fù)雜度[13]。
上述方法中,多智能體追逃博弈通常在二維平面場景下進(jìn)行,且逃逸方智能體運(yùn)動(dòng)不受約束??紤]到任務(wù)狀況的復(fù)雜性,智能體往往不會(huì)局限于二維空間,且可能受到運(yùn)動(dòng)能力約束。因此,本文針對(duì)逃逸方智能體運(yùn)動(dòng)受約束的三維空間追逃問題,設(shè)計(jì)了一種基于深度Q網(wǎng)絡(luò)(Deep Q-Network,DQN)[14-15]的多智能體逃逸算法,并通過引入強(qiáng)化學(xué)習(xí)方法,解決了無法對(duì)智能體準(zhǔn)確建模時(shí)難以設(shè)計(jì)控制策略的問題,同時(shí)根據(jù)任務(wù)難易程度將智能體逃逸策略學(xué)習(xí)分為兩個(gè)階段,有效提高了學(xué)習(xí)效果。
本文中研究的多智能體問題為三維空間環(huán)境下的逃逸問題。為便于逃逸算法問題本身的研究,將該問題簡化為質(zhì)點(diǎn)的運(yùn)動(dòng)學(xué)問題,忽略智能體的外形與姿態(tài)變化。
雙方智能體在三維空間中初始距離為2km,且相向運(yùn)動(dòng),圖1所示為該場景示意圖。逃逸方與追蹤方均有3個(gè)智能體,逃逸方智能體速度較快,但受到運(yùn)動(dòng)約束,只可在法向進(jìn)行固定方向的離散機(jī)動(dòng),即y與z方向,如圖1右上角所示,且逃逸方智能體機(jī)動(dòng)次數(shù)受到約束,只能進(jìn)行有限次的法向機(jī)動(dòng);追蹤方智能體則可在法向進(jìn)行無限制持續(xù)機(jī)動(dòng),對(duì)逃逸方智能體進(jìn)行追蹤。雙方智能體各項(xiàng)運(yùn)動(dòng)學(xué)參數(shù)如表1所示。
圖1 多智能體追逃環(huán)境示意圖Fig.1 Schematic diagram of multi-agent pursuit-evasion environment
表1 智能體運(yùn)動(dòng)學(xué)參數(shù)
追蹤任務(wù)開始時(shí),追蹤方智能體依次鎖定距離其最近的一個(gè)尚未被追蹤的逃逸方智能體,逃逸方智能體通過在環(huán)境中不斷地探索學(xué)習(xí)得到一種合適的逃逸策略,該逃逸策略可使逃逸方智能體成功完成逃逸。
多智能體逃逸算法以DQN算法為核心,并可基于已有訓(xùn)練結(jié)果進(jìn)行再訓(xùn)練,算法總體框架如圖2所示。
圖2 多智能體逃逸算法框架Fig.2 Multi-agent evasion algorithm framework
若已有訓(xùn)練結(jié)果與當(dāng)前訓(xùn)練時(shí)的獎(jiǎng)勵(lì)函數(shù)不同,則在訓(xùn)練前需對(duì)網(wǎng)絡(luò)進(jìn)行初始化,即此時(shí)已有訓(xùn)練結(jié)果用于幫助智能體在訓(xùn)練前獲得高質(zhì)量的訓(xùn)練經(jīng)驗(yàn)。圖2中紅色虛線框中的部分為運(yùn)用DQN算法學(xué)習(xí)多智能體逃逸策略的主要部分,即DQN網(wǎng)絡(luò)更新在此部分完成。在多智能體逃逸算法中,智能體通過訓(xùn)練不斷改進(jìn)自身逃逸策略,并將已有訓(xùn)練結(jié)果當(dāng)作先驗(yàn)知識(shí),有效降低了訓(xùn)練難度,提高了訓(xùn)練效率。
DQN算法由Deep Mind公司提出,首次將深度神經(jīng)網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí)相結(jié)合,利用神經(jīng)網(wǎng)絡(luò)感知環(huán)境并進(jìn)行決策,解決了Q-learning只能應(yīng)用于離散狀態(tài)空間的情況。同時(shí),為解決神經(jīng)網(wǎng)絡(luò)訓(xùn)練在時(shí)序樣本數(shù)據(jù)下的收斂問題,引入了經(jīng)驗(yàn)回放單元與估計(jì)值-目標(biāo)值網(wǎng)絡(luò)兩種機(jī)制。式(1)與式(2)分別給出了DQN算法中值函數(shù)的迭代公式與Q網(wǎng)絡(luò)的損失函數(shù)。
(1)
(2)
逃逸方智能體采用分布式學(xué)習(xí)的方法,即每個(gè)智能體獨(dú)立使用一個(gè)Q網(wǎng)絡(luò),系統(tǒng)輸入的狀態(tài)為逃逸方和追蹤方之間的相對(duì)距離和視線角與視線角速率信息,輸出為智能體的機(jī)動(dòng)動(dòng)作,其中包括智能體法向上的不機(jī)動(dòng)、單個(gè)方向機(jī)動(dòng)與兩個(gè)方向同時(shí)機(jī)動(dòng)的九種機(jī)動(dòng)動(dòng)作,逃逸者機(jī)動(dòng)方式如圖3所示,算法整體框架如圖4所示。
在該算法中,神經(jīng)網(wǎng)絡(luò)的輸入為上述5個(gè)系統(tǒng)狀態(tài),輸出為智能體的九種動(dòng)作,由于輸入狀態(tài)與輸出動(dòng)作數(shù)量較少,因此采用三層全連接神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表2所示。
圖3 逃逸者機(jī)動(dòng)方式Fig.3 Maneuvers of the evader
圖4 分布式多智能體DQN算法框架Fig.4 Distributed multi-agent DQN algorithm framework
表2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
為加快智能體學(xué)習(xí)效率,利用課程學(xué)習(xí)的思想,對(duì)任務(wù)目標(biāo)進(jìn)行分解,使智能體根據(jù)任務(wù)難度由易到難分階段進(jìn)行學(xué)習(xí)。在第一階段中,智能體通過學(xué)習(xí)尋找可以成功逃逸的機(jī)動(dòng)策略,而對(duì)逃逸能力的強(qiáng)弱不作要求。因此,當(dāng)逃逸方智能體成功逃逸時(shí),獲得一個(gè)大的終端獎(jiǎng)勵(lì),終端獎(jiǎng)勵(lì)函數(shù)為
(3)
由于逃逸方智能體存在機(jī)動(dòng)時(shí)間限制,為更好利用有限的機(jī)動(dòng)能力進(jìn)行逃逸,鼓勵(lì)智能體探索更優(yōu)的逃逸策略,設(shè)計(jì)了智能體逃逸時(shí)的過程獎(jiǎng)勵(lì)r2
(4)
其中,qe為視線傾角;qb為視線偏角;t為仿真時(shí)間;智能體機(jī)動(dòng)動(dòng)作編號(hào)0為不機(jī)動(dòng),1~4為單方向機(jī)動(dòng),5~8為雙方向同時(shí)機(jī)動(dòng)。智能體的過程獎(jiǎng)勵(lì)主要取決于視線角的大小,由于初始視線角趨近于0,因此當(dāng)視線角變大時(shí),視為智能體更有可能完成逃逸。而過程獎(jiǎng)勵(lì)的系數(shù)取決于智能體機(jī)動(dòng)與機(jī)動(dòng)時(shí)機(jī)。由于逃逸方智能體機(jī)動(dòng)次數(shù)受限,因此設(shè)置單方向機(jī)動(dòng)或不機(jī)動(dòng)時(shí),即動(dòng)作編號(hào)0~4的獎(jiǎng)勵(lì)系數(shù)為200,較兩個(gè)方向機(jī)動(dòng)時(shí)的系數(shù)50更大,以鼓勵(lì)智能體進(jìn)行更長時(shí)間的機(jī)動(dòng),增強(qiáng)機(jī)動(dòng)能力的利用效率。同時(shí),過程獎(jiǎng)勵(lì)系數(shù)與仿真時(shí)間相關(guān),逃逸方越晚機(jī)動(dòng),留給追蹤方的機(jī)動(dòng)時(shí)間越少,更易完成逃逸,但是機(jī)動(dòng)時(shí)間過晚逃逸方機(jī)動(dòng)空間則會(huì)變小。因此,隨著時(shí)間t的增加,獎(jiǎng)勵(lì)系數(shù)變大,鼓勵(lì)逃逸方智能體盡可能晚的機(jī)動(dòng)。
由于第一階段訓(xùn)練沒有針對(duì)逃逸能力進(jìn)行針對(duì)性的強(qiáng)化,因此智能體無法充分運(yùn)用自身機(jī)動(dòng)能力。當(dāng)面臨新的初始環(huán)境條件時(shí),原來在訓(xùn)練中恰好可以完成逃逸的策略可能就會(huì)失效。因此,智能體將在第一階段任務(wù)學(xué)習(xí)的基礎(chǔ)上進(jìn)行訓(xùn)練,第二階段的訓(xùn)練任務(wù)是盡可能地增強(qiáng)逃逸方智能體的逃逸能力,即盡可能地遠(yuǎn)離追蹤者。
智能體在進(jìn)行第二階段任務(wù)學(xué)習(xí)之前,依靠第一階段學(xué)習(xí)所得逃逸策略產(chǎn)生更有價(jià)值的數(shù)據(jù),并將其填入經(jīng)驗(yàn)池中供智能體學(xué)習(xí)。由于此階段中逃逸方智能體的目標(biāo)是最大化逃逸能力,因此在訓(xùn)練時(shí)有針對(duì)性地選用成功逃逸的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行學(xué)習(xí)。基于第二階段任務(wù)的目標(biāo),即逃逸方智能體盡可能地遠(yuǎn)離追蹤者,對(duì)智能體的終端獎(jiǎng)勵(lì)進(jìn)行了改進(jìn),如式(5)所示
(5)
其中,dmin為逃逸過程中雙方智能體之間的最小距離,這項(xiàng)指標(biāo)體現(xiàn)了智能體的逃逸能力。當(dāng)此距離越大時(shí),逃逸方智能體獲得的獎(jiǎng)勵(lì)越大,從而鼓勵(lì)智能體優(yōu)化其策略,使得智能體可以充分利用其機(jī)動(dòng)能力完成更有效的逃逸。
智能體獲取的獎(jiǎng)勵(lì)為其過程獎(jiǎng)勵(lì)與終端獎(jiǎng)勵(lì)之和
r=r1+r2
(6)
綜上所述,基于DQN的多智能體逃逸算法流程如表3所示。
表3 基于DQN的多智能體逃逸算法
對(duì)智能體進(jìn)行了兩個(gè)階段四次(共3600回合)的訓(xùn)練。由于在逃逸方智能體不機(jī)動(dòng)或隨機(jī)機(jī)動(dòng)時(shí),追蹤方智能體在當(dāng)前雙方機(jī)動(dòng)能力下總能接近至0.5cm,因此設(shè)置當(dāng)雙方智能體最小相對(duì)距離大于0.5cm時(shí)視為逃逸成功,并在第二階段中對(duì)該指標(biāo)進(jìn)行優(yōu)化,其中第一次到第三次訓(xùn)練為第一階段,第四次訓(xùn)練為第二階段。設(shè)置探索概率隨著回合數(shù)的增加,從初始探索概率0.9逐漸下降至0.1,獎(jiǎng)勵(lì)折扣系數(shù)γ為0.9,學(xué)習(xí)率α為0.01,第一階段與第二階段經(jīng)驗(yàn)池大小分別為5000與2000。訓(xùn)練結(jié)果如表4所示。
表4 多智能體逃逸算法訓(xùn)練結(jié)果
對(duì)訓(xùn)練所得逃逸策略進(jìn)行測試,最終3個(gè)逃逸方智能體的逃逸最小距離分別為44.53cm、47.32cm及44.53cm。智能體運(yùn)動(dòng)軌跡仿真結(jié)果如圖5所示,圖6所示為其局部放大圖,其中每行代表不同的追逃雙方智能體,第一列至第三列分別表示追逃雙方智能體間的距離與雙方智能體在OXY與OXZ平面內(nèi)的位置。
根據(jù)圖5與圖6可以看出,逃逸方智能體在經(jīng)過學(xué)習(xí)后,可以通過學(xué)習(xí)所得的逃逸策略完成逃逸。根據(jù)圖6中第一列的局部放大圖可以看出,在該訓(xùn)練環(huán)境下追逃雙方智能體在運(yùn)動(dòng)過程中的最小距離為0.5m左右。
圖5 多智能體逃逸算法仿真結(jié)果Fig.5 Simulation results of multi-agent evasion algorithm
圖6 仿真結(jié)果局部放大圖Fig.6 Partial enlargement of simulation results
圖7給出了兩個(gè)階段的學(xué)習(xí)曲線,其中第一階段取每150回合的平均累計(jì)獎(jiǎng)勵(lì)值,第二階段取每50回合的平均累計(jì)獎(jiǎng)勵(lì)值,可以觀察得出累計(jì)獎(jiǎng)勵(lì)在一定回合后收斂于某一區(qū)間內(nèi)。
若不將智能體的策略學(xué)習(xí)分為由易到難的兩個(gè)階段,智能體會(huì)直接采用第二階段的獎(jiǎng)勵(lì)函數(shù)學(xué)習(xí)逃逸策略,其余訓(xùn)練參數(shù)相同。在經(jīng)過相同回合的學(xué)習(xí)后,智能體的訓(xùn)練結(jié)果如表5所示。圖8則給出了不分階段的智能體逃逸策略學(xué)習(xí)曲線,并取每150回合的平均累計(jì)獎(jiǎng)勵(lì)值。將表5與圖8分別與表4與圖7對(duì)比可以看出,若不分階段,智能體的策略學(xué)習(xí)難度較大,最終智能體難以習(xí)得可用的逃逸策略。由此可得,根據(jù)任務(wù)難度將智能體逃逸策略學(xué)習(xí)分為兩個(gè)階段,可有效提升智能體的策略學(xué)習(xí)效果。
圖7 多智能體逃逸算法學(xué)習(xí)曲線Fig.7 Learning curve of multi-agent evasion algorithm
表5 不分階段的訓(xùn)練結(jié)果
圖8 不分階段的學(xué)習(xí)曲線Fig.8 Learning curve without stages
由于逃逸方智能體只可進(jìn)行總長為1s的機(jī)動(dòng),根據(jù)經(jīng)驗(yàn)可知,逃逸方智能體在距離較近時(shí)機(jī)動(dòng)逃逸能力較強(qiáng),而距離過近時(shí)則由于時(shí)間不足無法完成逃逸。對(duì)強(qiáng)化學(xué)習(xí)機(jī)動(dòng)啟動(dòng)時(shí)刻進(jìn)行對(duì)比,結(jié)果如表6所示,可以看出,當(dāng)逃逸方智能體在雙方相距200m時(shí),智能體可以在探索概率較大時(shí),即較早的回合得到逃逸成功的樣本數(shù)據(jù),并且同樣經(jīng)過1500回合的學(xué)習(xí)后,啟動(dòng)距離為200m比300m獲得的成功樣本數(shù)據(jù)更多,由此可以證明當(dāng)啟動(dòng)距離選擇為200m時(shí)開始強(qiáng)化學(xué)習(xí)機(jī)動(dòng)效果較好。
表6 強(qiáng)化學(xué)習(xí)機(jī)動(dòng)啟動(dòng)時(shí)刻效果對(duì)比
為了測試算法效果,采用與訓(xùn)練不同的初始條件對(duì)學(xué)習(xí)所得逃逸策略進(jìn)行泛化測試,逃逸方智能體初始位置在YOZ平面中200m×200m的范圍內(nèi)進(jìn)行均勻隨機(jī)取樣,測試結(jié)果如圖9所示。
(a)智能體1
為檢測逃逸策略的穩(wěn)定性,對(duì)測試結(jié)果求均值與標(biāo)準(zhǔn)差,結(jié)果如表7所示。
表7 算法泛化測試結(jié)果
仿真結(jié)果表明,逃逸方智能體采用所學(xué)逃逸策略在初始位置200m×200m范圍內(nèi)均可成功完成逃逸,具有較好的泛化能力,逃逸能力穩(wěn)定,逃逸最小距離平均在40cm以上,且波動(dòng)較小,表明逃逸方智能體可以通過該算法學(xué)習(xí)得到合適的逃逸策略。
1)本文針對(duì)三維空間下的多智能體逃逸問題,設(shè)計(jì)了一種基于DQN的多智能體逃逸算法。該算法采用分布式學(xué)習(xí)的方法,多個(gè)智能體分別使用一個(gè)DQN進(jìn)行決策。通過引入DQN算法,使得智能體可以在不需要系統(tǒng)模型的情況下,通過對(duì)環(huán)境不斷地探索與學(xué)習(xí),僅需要雙方智能體相對(duì)距離與視線角等少量的環(huán)境狀態(tài),即可得到符合期望的多智能體逃逸策略,并對(duì)學(xué)習(xí)任務(wù)進(jìn)行分解,將其分為基礎(chǔ)任務(wù)與進(jìn)階任務(wù),降低了智能體逃逸策略的學(xué)習(xí)難度。
2)仿真結(jié)果表明,逃逸方智能體在不同的初始位置條件下均可以使用學(xué)習(xí)所得的逃逸策略完成逃逸,逃逸能力穩(wěn)定,并且根據(jù)其初始位置的不同呈一定的趨勢,表明該算法在訓(xùn)練中得到有效收斂。
3)本文算法為針對(duì)三對(duì)三的追逃問題所設(shè)計(jì),若拓展到不同場景不同智能體數(shù)量的情況下,需對(duì)算法的結(jié)構(gòu)與獎(jiǎng)勵(lì)函數(shù)進(jìn)一步設(shè)計(jì),擬在后續(xù)研究中增強(qiáng)算法的泛化能力,使其在不同場景下均可完成決策。
4)在仿真實(shí)驗(yàn)中發(fā)現(xiàn),算法在第二階段任務(wù)中不能保證收斂,同時(shí)同方智能體間缺乏協(xié)同合作,擬在后續(xù)研究中嘗試集中式學(xué)習(xí)算法,以增強(qiáng)同方智能體之間的交互合作,并增加雙方智能體博弈競爭的復(fù)雜度,將嘗試改進(jìn)算法的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與借鑒課程學(xué)習(xí)的思想,以克服策略收斂問題。