閆博為,杜潤樂,班曉軍,周 荻
(1. 哈爾濱工業大學航天學院,哈爾濱 150000;2. 試驗物理與計算數學國家級重點實驗室,北京 100076)
自生命誕生以來,追逃博弈問題就廣泛存在于自然界,是捕食者與被捕食者之間的生死游戲。而隨著人類科技的飛速發展,追逃博弈問題的研究也從生物之間的博弈轉變為人類造物之間的博弈,追蹤者想方設法地追上逃逸者,而逃逸者則盡可能遠離追蹤者,根據各自的策略完成博弈。
追逃博弈問題最早于1965年被提出。2014年,J.Y.Kuo等為解決動態環境下的追逃博弈問題,運用概率論與圖式理論為追蹤者設計了一種認知行為學習機制,首先通過意向圖式預測逃逸者的位置,之后通過感知圖式為追蹤者選擇動作,為追蹤者處于未知環境下的追蹤問題提出了一種解決方法[1]。2019年,在主動防御的三者博弈場景中,Sun Q.等基于微分對策設計了一種制導律,使得追蹤者在無法獲知目標與防御者加速度的情況下完成對目標的追蹤,并完成對防御者的躲避[2]。
隨著人工智能技術的飛速發展,許多應用領域均產生了智能化的趨勢。由于環境與任務目標的復雜性,在實際應用中單個智能體往往無法順利完成目標,需要多個智能體進行協同合作[3],甚至可能面臨多個智能體之間的競爭博弈[4]。多智能體追逃問題同時存在競爭博弈與協同合作,是研究多智能體的一種良好平臺。
近年來,國內外學者嘗試將強化學習方法引入追逃博弈問題研究之中。2011年,J.Y.Kuo等就通過Q學習(Q-Learning)[5]實現了單個追蹤者的追蹤策略學習,并基于案例推理實現了多智能體之間的協同學習[6]。2017年,針對超級逃逸者,即逃逸者的最大速度超過所有追蹤者的最大速度的圍捕問題,A.A.Al-Talabi提出了一種模糊強化學習方法,使得追蹤者通過分散的方式捕獲單個超級逃逸者,并通過編隊控制策略避免碰撞,而逃逸者使用阿氏圓尋找追蹤者之間的空隙[7]。在追逃博弈中,追蹤者往往在與訓練環境類似的場景中進行決策,若環境改變則追蹤策略可能失效。為解決此問題,M.D.Awheda等提出了一種模糊強化學習算法,增強了追蹤者在與訓練環境不同的場景中捕獲逃逸者的能力[8]。2018年,針對二維平面中智能小車的追逃問題,譚浪等設計了一種基于深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法[9]的追逃博弈算法[10]。2019年,Wang L.等將DDPG與模糊理論相結合,克服了原算法依賴概率分布的缺點[11]。通常在追逃游戲中,對運動學約束進行簡化,并假設空間中沒有障礙物。2020年,Qi Q.等在考慮智能體運動學與環境靜態障礙物的情況下,提出了一種課程深度強化學習方法,追蹤者與逃逸者通過自我博弈的機制同時進行訓練,并通過課程學習的方法逐步增加學習任務難度[12]。針對智能體數量增多時群體強化學習算法狀態空間過大難以收斂的問題,劉強等提出了一種帶注意力機制的群體對抗策略,智能體只關注自身周圍的智能體,有效減少了Critic網絡的計算復雜度[13]。
上述方法中,多智能體追逃博弈通常在二維平面場景下進行,且逃逸方智能體運動不受約束。考慮到任務狀況的復雜性,智能體往往不會局限于二維空間,且可能受到運動能力約束。因此,本文針對逃逸方智能體運動受約束的三維空間追逃問題,設計了一種基于深度Q網絡(Deep Q-Network,DQN)[14-15]的多智能體逃逸算法,并通過引入強化學習方法,解決了無法對智能體準確建模時難以設計控制策略的問題,同時根據任務難易程度將智能體逃逸策略學習分為兩個階段,有效提高了學習效果。
本文中研究的多智能體問題為三維空間環境下的逃逸問題。為便于逃逸算法問題本身的研究,將該問題簡化為質點的運動學問題,忽略智能體的外形與姿態變化。
雙方智能體在三維空間中初始距離為2km,且相向運動,圖1所示為該場景示意圖。逃逸方與追蹤方均有3個智能體,逃逸方智能體速度較快,但受到運動約束,只可在法向進行固定方向的離散機動,即y與z方向,如圖1右上角所示,且逃逸方智能體機動次數受到約束,只能進行有限次的法向機動;追蹤方智能體則可在法向進行無限制持續機動,對逃逸方智能體進行追蹤。雙方智能體各項運動學參數如表1所示。

圖1 多智能體追逃環境示意圖Fig.1 Schematic diagram of multi-agent pursuit-evasion environment

表1 智能體運動學參數
追蹤任務開始時,追蹤方智能體依次鎖定距離其最近的一個尚未被追蹤的逃逸方智能體,逃逸方智能體通過在環境中不斷地探索學習得到一種合適的逃逸策略,該逃逸策略可使逃逸方智能體成功完成逃逸。
多智能體逃逸算法以DQN算法為核心,并可基于已有訓練結果進行再訓練,算法總體框架如圖2所示。

圖2 多智能體逃逸算法框架Fig.2 Multi-agent evasion algorithm framework
若已有訓練結果與當前訓練時的獎勵函數不同,則在訓練前需對網絡進行初始化,即此時已有訓練結果用于幫助智能體在訓練前獲得高質量的訓練經驗。圖2中紅色虛線框中的部分為運用DQN算法學習多智能體逃逸策略的主要部分,即DQN網絡更新在此部分完成。在多智能體逃逸算法中,智能體通過訓練不斷改進自身逃逸策略,并將已有訓練結果當作先驗知識,有效降低了訓練難度,提高了訓練效率。
DQN算法由Deep Mind公司提出,首次將深度神經網絡與強化學習相結合,利用神經網絡感知環境并進行決策,解決了Q-learning只能應用于離散狀態空間的情況。同時,為解決神經網絡訓練在時序樣本數據下的收斂問題,引入了經驗回放單元與估計值-目標值網絡兩種機制。式(1)與式(2)分別給出了DQN算法中值函數的迭代公式與Q網絡的損失函數。

(1)
(2)

逃逸方智能體采用分布式學習的方法,即每個智能體獨立使用一個Q網絡,系統輸入的狀態為逃逸方和追蹤方之間的相對距離和視線角與視線角速率信息,輸出為智能體的機動動作,其中包括智能體法向上的不機動、單個方向機動與兩個方向同時機動的九種機動動作,逃逸者機動方式如圖3所示,算法整體框架如圖4所示。
在該算法中,神經網絡的輸入為上述5個系統狀態,輸出為智能體的九種動作,由于輸入狀態與輸出動作數量較少,因此采用三層全連接神經網絡,神經網絡結構參數如表2所示。

圖3 逃逸者機動方式Fig.3 Maneuvers of the evader

圖4 分布式多智能體DQN算法框架Fig.4 Distributed multi-agent DQN algorithm framework

表2 神經網絡結構參數
為加快智能體學習效率,利用課程學習的思想,對任務目標進行分解,使智能體根據任務難度由易到難分階段進行學習。在第一階段中,智能體通過學習尋找可以成功逃逸的機動策略,而對逃逸能力的強弱不作要求。因此,當逃逸方智能體成功逃逸時,獲得一個大的終端獎勵,終端獎勵函數為
(3)
由于逃逸方智能體存在機動時間限制,為更好利用有限的機動能力進行逃逸,鼓勵智能體探索更優的逃逸策略,設計了智能體逃逸時的過程獎勵r2
(4)
其中,qe為視線傾角;qb為視線偏角;t為仿真時間;智能體機動動作編號0為不機動,1~4為單方向機動,5~8為雙方向同時機動。智能體的過程獎勵主要取決于視線角的大小,由于初始視線角趨近于0,因此當視線角變大時,視為智能體更有可能完成逃逸。而過程獎勵的系數取決于智能體機動與機動時機。由于逃逸方智能體機動次數受限,因此設置單方向機動或不機動時,即動作編號0~4的獎勵系數為200,較兩個方向機動時的系數50更大,以鼓勵智能體進行更長時間的機動,增強機動能力的利用效率。同時,過程獎勵系數與仿真時間相關,逃逸方越晚機動,留給追蹤方的機動時間越少,更易完成逃逸,但是機動時間過晚逃逸方機動空間則會變小。因此,隨著時間t的增加,獎勵系數變大,鼓勵逃逸方智能體盡可能晚的機動。
由于第一階段訓練沒有針對逃逸能力進行針對性的強化,因此智能體無法充分運用自身機動能力。當面臨新的初始環境條件時,原來在訓練中恰好可以完成逃逸的策略可能就會失效。因此,智能體將在第一階段任務學習的基礎上進行訓練,第二階段的訓練任務是盡可能地增強逃逸方智能體的逃逸能力,即盡可能地遠離追蹤者。
智能體在進行第二階段任務學習之前,依靠第一階段學習所得逃逸策略產生更有價值的數據,并將其填入經驗池中供智能體學習。由于此階段中逃逸方智能體的目標是最大化逃逸能力,因此在訓練時有針對性地選用成功逃逸的經驗數據進行學習?;诘诙A段任務的目標,即逃逸方智能體盡可能地遠離追蹤者,對智能體的終端獎勵進行了改進,如式(5)所示
(5)
其中,dmin為逃逸過程中雙方智能體之間的最小距離,這項指標體現了智能體的逃逸能力。當此距離越大時,逃逸方智能體獲得的獎勵越大,從而鼓勵智能體優化其策略,使得智能體可以充分利用其機動能力完成更有效的逃逸。
智能體獲取的獎勵為其過程獎勵與終端獎勵之和
r=r1+r2
(6)
綜上所述,基于DQN的多智能體逃逸算法流程如表3所示。

表3 基于DQN的多智能體逃逸算法
對智能體進行了兩個階段四次(共3600回合)的訓練。由于在逃逸方智能體不機動或隨機機動時,追蹤方智能體在當前雙方機動能力下總能接近至0.5cm,因此設置當雙方智能體最小相對距離大于0.5cm時視為逃逸成功,并在第二階段中對該指標進行優化,其中第一次到第三次訓練為第一階段,第四次訓練為第二階段。設置探索概率隨著回合數的增加,從初始探索概率0.9逐漸下降至0.1,獎勵折扣系數γ為0.9,學習率α為0.01,第一階段與第二階段經驗池大小分別為5000與2000。訓練結果如表4所示。

表4 多智能體逃逸算法訓練結果
對訓練所得逃逸策略進行測試,最終3個逃逸方智能體的逃逸最小距離分別為44.53cm、47.32cm及44.53cm。智能體運動軌跡仿真結果如圖5所示,圖6所示為其局部放大圖,其中每行代表不同的追逃雙方智能體,第一列至第三列分別表示追逃雙方智能體間的距離與雙方智能體在OXY與OXZ平面內的位置。
根據圖5與圖6可以看出,逃逸方智能體在經過學習后,可以通過學習所得的逃逸策略完成逃逸。根據圖6中第一列的局部放大圖可以看出,在該訓練環境下追逃雙方智能體在運動過程中的最小距離為0.5m左右。

圖5 多智能體逃逸算法仿真結果Fig.5 Simulation results of multi-agent evasion algorithm

圖6 仿真結果局部放大圖Fig.6 Partial enlargement of simulation results
圖7給出了兩個階段的學習曲線,其中第一階段取每150回合的平均累計獎勵值,第二階段取每50回合的平均累計獎勵值,可以觀察得出累計獎勵在一定回合后收斂于某一區間內。
若不將智能體的策略學習分為由易到難的兩個階段,智能體會直接采用第二階段的獎勵函數學習逃逸策略,其余訓練參數相同。在經過相同回合的學習后,智能體的訓練結果如表5所示。圖8則給出了不分階段的智能體逃逸策略學習曲線,并取每150回合的平均累計獎勵值。將表5與圖8分別與表4與圖7對比可以看出,若不分階段,智能體的策略學習難度較大,最終智能體難以習得可用的逃逸策略。由此可得,根據任務難度將智能體逃逸策略學習分為兩個階段,可有效提升智能體的策略學習效果。

圖7 多智能體逃逸算法學習曲線Fig.7 Learning curve of multi-agent evasion algorithm

表5 不分階段的訓練結果

圖8 不分階段的學習曲線Fig.8 Learning curve without stages
由于逃逸方智能體只可進行總長為1s的機動,根據經驗可知,逃逸方智能體在距離較近時機動逃逸能力較強,而距離過近時則由于時間不足無法完成逃逸。對強化學習機動啟動時刻進行對比,結果如表6所示,可以看出,當逃逸方智能體在雙方相距200m時,智能體可以在探索概率較大時,即較早的回合得到逃逸成功的樣本數據,并且同樣經過1500回合的學習后,啟動距離為200m比300m獲得的成功樣本數據更多,由此可以證明當啟動距離選擇為200m時開始強化學習機動效果較好。

表6 強化學習機動啟動時刻效果對比
為了測試算法效果,采用與訓練不同的初始條件對學習所得逃逸策略進行泛化測試,逃逸方智能體初始位置在YOZ平面中200m×200m的范圍內進行均勻隨機取樣,測試結果如圖9所示。

(a)智能體1
為檢測逃逸策略的穩定性,對測試結果求均值與標準差,結果如表7所示。

表7 算法泛化測試結果
仿真結果表明,逃逸方智能體采用所學逃逸策略在初始位置200m×200m范圍內均可成功完成逃逸,具有較好的泛化能力,逃逸能力穩定,逃逸最小距離平均在40cm以上,且波動較小,表明逃逸方智能體可以通過該算法學習得到合適的逃逸策略。
1)本文針對三維空間下的多智能體逃逸問題,設計了一種基于DQN的多智能體逃逸算法。該算法采用分布式學習的方法,多個智能體分別使用一個DQN進行決策。通過引入DQN算法,使得智能體可以在不需要系統模型的情況下,通過對環境不斷地探索與學習,僅需要雙方智能體相對距離與視線角等少量的環境狀態,即可得到符合期望的多智能體逃逸策略,并對學習任務進行分解,將其分為基礎任務與進階任務,降低了智能體逃逸策略的學習難度。
2)仿真結果表明,逃逸方智能體在不同的初始位置條件下均可以使用學習所得的逃逸策略完成逃逸,逃逸能力穩定,并且根據其初始位置的不同呈一定的趨勢,表明該算法在訓練中得到有效收斂。
3)本文算法為針對三對三的追逃問題所設計,若拓展到不同場景不同智能體數量的情況下,需對算法的結構與獎勵函數進一步設計,擬在后續研究中增強算法的泛化能力,使其在不同場景下均可完成決策。
4)在仿真實驗中發現,算法在第二階段任務中不能保證收斂,同時同方智能體間缺乏協同合作,擬在后續研究中嘗試集中式學習算法,以增強同方智能體之間的交互合作,并增加雙方智能體博弈競爭的復雜度,將嘗試改進算法的神經網絡結構與借鑒課程學習的思想,以克服策略收斂問題。