李 波,越凱強,甘志剛,高佩忻
(西北工業大學電子信息學院,西安 710114)
近年來,無人機不但在房地產[1]、農業[2]、安保[3]、搜索救援[4]、地面勘探[5]、特殊物流[6]等許多商業領域取得了不俗的成績[7],而且在軍事領域也大放異彩,出色的完成了許多有人駕駛飛機難以完成的任務。然而,單個無人機受其飛行距離、飛行范圍、彈載能力和應對突發狀況能力的制約,難以發揮出其應有的作戰效能。因此現有的研究都是基于多無人機系統[8]開展的,相比于單個無人機,多無人機系統具有更強的作戰優勢。對于多無人機系統而言,任務決策問題是重中之重,各國軍事專家都在為如何解決無人機的任務決策問題而不斷努力。
各國學者對于多無人機任務決策的研究都在如火如荼的進行,在多無人機協同搜索[9]、跟蹤[10]、任務分配[11-12]、航跡規劃[13]和編隊控制[14]等研究中,都已取得了不俗的成果。同時,深度學習和強化學習的快速發展,也極大地加快了無人機系統智能化[15]的發展進程。賴俊和饒瑞[16]提出了一種基于空間位置標注的好奇心驅動的深度強化學習方法,解決了室內無人機隨機目標搜索效率不高、準確率低等問題。Xu等[17]設計了一種新型仿生變形無人機模型,并采用了深度確定性策略梯度(Deep deterministic policy gradient,DDPG)算法作為仿生變形無人機的控制策略,可以使無人機在不同任務和飛行條件下完成快速的自主變形和空氣動力學性能優化。王濤等[18]提出了一種基于強化學習方法暨模糊Q學習的多約束條件下自主導航控制算法,提高了復雜環境下無人機器人自主導航控制系統的自適應性和魯棒性,通過對非完整性約束移動機器人運動模型的仿真,證明了該算法具有可移植性和通用性,可應用于無人機的空中躲避和攔截。Zhu等[19]以深度學習中的行動家-評論家(Actor-Critic)架構為基礎,并結合預訓練的ResNet網絡,完成了無人機在離散3D環境中進行自主導航到達目的地的任務。
結合現有的研究成果進行分析可以發現,現有研究的不足有以下幾點:
1) 大部分基于強化學習的無人機問題的研究都是針對靜態任務展開的,且以DDPG為代表的智能算法具有學習和收斂速度慢,精度不高的缺陷。
2)相比于單架無人機,多無人機的相關問題研究過少。現在多數的多無人機協同任務決策依然使用DDPG算法[20],傳統DDPG等智能算法在單架無人機相關領域表現優異,但是在多無人機環境下,由于涉及到的智能體數量多且復雜,收斂速度慢和精度不高的缺陷被放大,且隨著無人機數量的增多,其適用能力下降。
2017年,多智能體深度確定性策略梯度(Multi-agent deep deterministic policy gradient,MADDPG)算法由OpenAI發表于NIPS,主要應用于多智能體的協同圍捕、競爭[21-23]等場景,但MADDPG算法在多無人機協同任務決策作戰應用中,特別是作戰環境未知的情況下存在空白。為提高多無人機協同任務決策作戰能力,本文提出了將深度強化學習中的MADDPG算法引入到多無人機系統中,設計一種能夠符合多無人機系統特點的任務決策方法。
在解決多無人機任務決策問題時,首先要考慮戰場環境的特殊背景。戰場環境的多變性在一定程度上決定了任務決策的方法和難度。根據對戰場環境的理解狀況,可以將任務決策分為以下幾種情況。任務決策分類如圖1所示。

圖1 任務決策分類Fig.1 Task decision classification
1)在開始任務之前已經掌握所有的戰場環境。目標位置和戰場中的防空雷達、防空導彈等一系列威脅區域均已被提前探測到,并且在無人機執行任務過程中不再發生改變,這一類戰場情況對于無人機任務決策來說是最簡單的,同時也是目前研究最為成熟的。只需要在任務開始執行之前,運用相關算法規劃出最為合理且高效的航路,給無人機分配目標等任務信息,并加載給無人機,無人機就能夠按照預定任務決策方案完成作戰任務。
2)在任務開始前,只知道目標的位置,但是對作戰區域的具體火力和威脅情況并未全部探測到或者只探測到一部分。這時就需要無人機一邊執行任務一邊進行探測,在執行任務的過程中對航路進行再規劃,必要時對目標進行重分配。
3)還有一種情況更為復雜,目標區域的情況并未全部探測到,而且目標的位置也不是固定的,會隨著時間移動。這是一種動態的戰場環境,這種環境對無人機的智能化有著極高的挑戰,需要無人機在復雜多變的環境中協同作戰,動態實現規劃航路以及目標任務分配,這也是最為復雜且最為困難的情況。
本文主要針對第二類情況做出任務決策,即目標和威脅源位置只進行一次初始化且均固定不變,作戰區域的具體火力和威脅情況并未探測到。
1.2.1無人機建模
由于多無人機任務決策問題本身就具有高維度、高復雜性的特點,所以為簡化研究問題,做出假設:認為多無人機為同構機型,具有相同的物理特性,并且在研究過程中不考慮無人機的形狀大小等物理特性,將無人機簡化為質心運動。則無人機質點在二維空間的簡化運動模型定義為:
(1)

無人機在飛行過程中,由于慣性原因無法毫無約束的進行飛行轉彎,在進行轉彎飛行時會有一個最小轉彎半徑Rmin。如果航跡決策中的轉彎半徑Ruav小于無人機的最小轉彎半徑,則實際環境中無人機無法完成此動作決策。
1.2.2威脅建模
無人機在執行任務時,不但會遭遇來自地形和自然氣候的威脅,而且還會遭遇來自敵方防空雷達、防空導彈等一系列防御措施的威脅,將這一系列對無人機安全能夠造成危險的事物稱為無人機威脅源。一般情況下,將無人機威脅分為自然威脅和軍事威脅。本文在無人機攻擊任務決策時,將環境因素理想化,忽略來自環境對無人機的威脅,主要考慮無人機的軍事威脅,并且軍事威脅以敵方雷達威脅和導彈威脅為主要威脅源。
雷達威脅主要是指無人機在敵方空域飛行時,能夠探測并且對無人機造成影響的防空雷達。本文假設敵方防空雷達的探測范圍是360度,在二維空間環境中等效為以雷達位置為中心,雷達水平方向探測最遠距離Rmax為半徑的圓周,定義為:
(2)
因此雷達威脅的數學模型為:
(3)
式中:UR是無人機當前位置與雷達位置的相對距離。
導彈威脅主要是指可以影響無人機正常飛行的防空導彈。和雷達威脅相同,導彈威脅在二維空間環境中也可以等效為圓周。但是不同的是,無人機與導彈的距離越近越容易被擊中,無人機被擊中的概率與無人機和導彈的距離成一定比例,因此導彈威脅數學模型如式(4)所示。
(4)
其中:UR是無人機當前位置與導彈位置的距離;dMmax為導彈所能攻擊的最遠距離,dMmin為導彈攻擊允許的最近距離,一旦無人機與導彈的距離小于dMmin,則無人機一定會被擊中。
無人機執行任務過程中,無論是靜態任務還是動態任務都需要通過機載雷達設施對任務區域進行探測,以確定防空導彈等無人機威脅源的位置信息或者確保能夠及時探測到突發威脅源的狀況。這種探測行為可以更好的決策飛機的機動動作,規避危險,提高無人機的存活率。在無人機飛行探測過程中,將以機載雷達最大探測距離作為探測范圍。
DDPG算法是Actor-Critic框架和DQN(Deep Q network)算法的結合體,解決了DQN算法收斂困難的問題。根據DDPG算法的特點可以將其分為D(Deep)和DPG(Deterministic policy gradient)兩個部分。其中第一部分的D是指DDPG算法具有更深層次的網絡結構,該算法繼承了DQN中經驗池和雙層網絡的結構,能夠更有效的提高神經網絡的學習效率。第二部分的DPG是指DDPG算法采用了確定性策略,Actor不再輸出每個動作的概率,而是一個具體的動作。相比隨機性策略,DPG大大減少了算法的采樣數據量,提高了算法的效率,更有助于網絡在連續動作空間中的學習。
DDPG算法從網絡結構上來說應用了Actor-Critic的框架形式,所以具有兩個網絡:行動家(Actor)網絡和評論家(Critic)網絡。同時,Actor和Critic也都具備雙網絡結構,擁有各自的目標(Target)網絡和估計(Eval)網絡。DDPG的網絡結構如圖2所示。

圖2 DDPG的網絡結構Fig.2 Network structure of DDPG
在多無人機的環境當中,傳統的強化學習算法受到極大的挑戰。在多無人機系統中每一個無人機都是獨立的智能體,都需要不斷的學習來達到改進其策略的目的。這樣就導致從每一個無人機的角度來看,環境從靜態轉變為動態。這與傳統強化學習收斂的條件大不相同,在一定程度上導致無法僅僅通過改變單個智能體自身的策略來適應不穩定的環境,并且傳統策略梯度算法中方差大的問題會因為智能體數量的增多而被放大。而MADDPG算法就是針對這類問題而提出的一種基于多智能體環境的強化學習算法。
MADDPG算法基于Actor-Critic和DDPG進行了一系列的改進,并且采用集中式學習和分布式應用的原理,使其能夠適用于傳統強化學習算法無法處理的復雜多智能體環境。傳統強化學習算法在學習和應用時都必須使用相同的信息數據,而MADDPG算法允許在學習時使用一些額外的信息(即全局信息),但是在應用決策的時候只使用局部信息。相對于傳統Actor-Critic算法,MADDPG算法環境中共有M個智能體,第i個智能體的策略用πi表示,且其策略參數為θi,則可以得到M個智能體的策略集為π=π1,π2,…,πM,策略參數集合為θ=θ1,θ2,…,θM。第i個智能體的累計期望收益為:
(5)
其中:ri表示第i個智能體的獎勵。
則針對隨機策略,可以得到策略梯度公式為:
(6)

P(s′|s,a1,…,aM,π1,…,πM)=P(s′|s,a1,…,
aM)=P(s′|s,a1,…,aM,π′1,…,π′M)
(7)
同樣可以將AC算法延伸到確定性策略μθi上,其回報期望梯度為:
(8)

(9)
其中,y由式(10)得到:
(10)


(11)
只要最小化上述代價函數,就能得到其他智能體策略的逼近。因此y可變為:
(12)

算法整體框架圖如圖3所示,根據算法整體框架圖可知,針對單個智能體,首先將其狀態輸入到自身的策略網絡當中,得到一個動作后輸出并作用于環境中,此時會得到一個新的狀態和回報值,最后將狀態轉移數據存入到智能體自身的經驗池當中。所有智能體都會和環境進行不斷的交互,不斷的產生數據并存儲到各自的經驗池當中。

圖3 MADDPG算法框架Fig.3 Algorithm framework of MADDPG
在更新網絡的過程中,隨機從每個智能體的經驗池中取出同樣時刻的一批數據,并將其拼接得到新的經驗。其中S和S′是相同時刻所有智能體的狀態組合,A是所有智能體在相同時刻做出的動作集合,R選用第i個智能體的回報值。最后將S′輸入到第i個智能體的目標策略網絡中得到動作A′,隨后將A′和S′一起輸入到第i個智能體的目標評價網絡中,得到對下一時刻估計的目標Q值,根據公式計算當前時刻目標Q值。
yi=ri+γQ′(si+1,μ′(si+1|Qμ′)|θQ′)
(13)
實際的Q值通過使用評價網絡得到,再利用TD偏差[24]來更新評價網絡,用Q值的策略梯度來更新策略網絡。所有智能體依照相同的方法來更新自身的網絡,只是每一個智能體的輸入有所差別,而在其它方面的更新流程相同。策略網絡與價值網絡的具體結構如圖4所示。

圖4 網絡結構Fig.4 Network structure
本文主要基于二維平面環境開展研究,共有k架無人機分別為: UAV1,UAV2,…,UAVk。其中每一架無人機自身狀態Suavi包含當前時刻的速度矢量(vuavi,x,vuavi,y)和在環境中的坐標位置(puavi,x,puavi,y)。環境狀態Senv包含了環境中N個威脅區的坐標位置、威脅半徑和M個目標的坐標位置。其中第i個威脅區的坐標位置和威脅半徑分別表示為(Wi,x,Wi,y)和i,y,第i個目標在環境中的坐標位置可以表示為(Mi,x,Mi,y)。
在MADDPG算法中,每一架無人機的狀態包括了自身的狀態、其它無人機的狀態和環境狀態。針對無人機UAV1在t時刻的狀態定義為:
St,uav1=(Suav1,Suav2,…,Suavk,Senv)
(14)
最終每架飛機在t時刻的狀態定義為:
St,uavi=(vuav1,x,vuav1,y,puav1,x,puav1,y,…,
vuavk,x,vuavk,y,puavk,x,puavk,y,
Wi,x,Wi,y,i,y,Mi,x,Mi,y)
(15)

(16)
并且,無人機的動作輸出,受到最小轉彎半徑的約束,如果不符合約束條件,則被視為不合理動作輸出,需要進行重新選擇。
本文主要從以下三個方面來設計獎勵函數。
1)針對躲避威脅區設定一個威脅獎勵,當無人機進入威脅區后,會被給予一個負獎勵。即Rf=-1,(DW
2)在無人機的飛行過程中,每一架無人機都應和其它無人機保持安全距離,一旦無人機的位置過近,就會互相產生飛行威脅甚至發生碰撞,所以為了避免無人機發生碰撞,應當設定一個碰撞獎勵Rp,當無人機間的距離小于安全距離時,就會給予其負獎勵。即Rp=-1,(Ddij
3)為了在開始訓練時,能夠準確的引導無人機的動作選擇,并且讓無人機每一步都擁有一個密集獎勵,在這里設計了一個距離獎勵Rr,計算每一時刻,無人機與目標的最近距離,以距離的負值作為獎勵值,距離越近,獎勵值越大。即Rr=-dmin,其中dmin是各個目標和各架無人機之間最小距離的和。
最終無人機的獎勵函數設計為:
Ri=Rf+Rp+Rr
(17)
本文設計了MADDPG算法模型,采用了確定性動作策略,即a=πθ(s)。網絡結構設計為:策略網絡結構為[39;56;56;2]的全連接神經網絡;價值網絡的結構是[123;118;78;36;1]的全連接神經網絡,神經網絡隱藏層都采用RELU函數作為激活函數,網絡結構表示輸入層、隱藏層和輸出層對應的節點數。在訓練時的mini-batch大小為1024,最大回合數(max episode)為30000,輔助網絡的更新率0.01,價值網絡的學習率為0.01,策略網絡的學習率為0.001,兩個網絡都采用了Adam Optimizer優化器進行學習,經驗池的大小為1×106,一旦經驗池的數據超過最大數值,將會丟掉原始的經驗數據。

表1 MADDPG網絡結構參數Table 1 Network structure parameters of MADDPG
初始化仿真環境包含三架無人機的初始位置、三個目標的位置和7個威脅區的分布情況。具體初始環境如圖5所示。

圖5 初始環境Fig.5 Initial environment
通過建立DDPG和MADDPG兩種模型結構進行訓練。最終得到獎勵函數如圖6所示。
圖6為訓練過程中,三架無人機在每一回合(episode)訓練時的獎勵變化圖。橫坐標表示訓練的回合數(episodes),縱坐標表示每一回合訓練時三架無人機的累計獎勵。可以看出隨著訓練次數的增多,獎勵的絕對值減小,但是獎勵逐漸增大,由于訓練過程中存在隨機噪聲,所以訓練時無論是哪個時刻都存在振蕩現象,但從圖6中依然可以看出,在訓練回合數達到10000回合后,兩種算法的獎勵曲線趨于平緩,總體呈收斂趨勢。

圖6 訓練獎勵收斂曲線Fig.6 Reward convergence curve of single step training
圖7是三架無人機網絡參數變化曲線圖,表示每架無人機網絡結構中Actor網絡和Critic網絡的Q值(狀態動作值)和損失值(Q估計值和Q實際值之間差距的平方)的變化規律。圖7(a)是DDPG算法模型三架無人機網絡參數的變化曲線圖,圖7(b)是MADDPG算法模型三架無人機網絡參數的變化曲線圖。可以看出,兩種算法隨著訓練次數的增加,Actor網絡的Q值逐漸增大,直到收斂。Critic網絡中損失值隨著訓練的次數增加而逐漸減少,直到收斂。對比DDPG和MADDPG兩種算法中每架無人機網絡Q值和損失值的變化曲線,可以發現DDPG算法在訓練過程中,每架無人機網絡的Q值在訓練到5000回合之后有明顯的下降趨勢,而MADDPG算法整體呈上升收斂趨勢,沒有明顯的波動變化趨勢。且MADDPG算法中每架無人機網絡的初始損失值明顯小于DDPG算法中的初始損失值,而且在兩種算法收斂后,MADDPG算法中的損失值要明顯小于DDPG算法中的損失值。說明了MADDPG比DDPG算法具有更強的穩定性和更快的收斂性。最終兩種算法模型的軌跡圖如圖8所示。

圖7 不同算法無人機網絡參數變化Fig.7 Changes of UAV network parameters based on different algorithms
圖8(a)為DDPG算法模型經過訓練后得到的無人機軌跡圖。圖8(b)為MADDPG算法模型訓練后得到的無人機軌跡圖。對比兩種算法模型的無人機飛行軌跡可以看出,DDPG算法最終的飛行軌跡

圖8 不同算流下的無人機軌跡Fig.8 Flight path of UAV based on different algorithms
并沒有完全進入目標區域,相對目標有一定的距離,而且第二架無人機的軌跡還進入了威脅區內。而MADDPG算法模型的飛行軌跡全都進入了目標區域,而且躲避了所有的威脅區。綜合分析兩種算法的獎勵曲線變化圖和飛行軌跡圖,可以得出結論:在該環境下,MADDPG算法優于DDPG算法。
針對現有多無人機任務決策研究中的缺點,進行了基于MADDPG算法的多無人機任務決策問題的研究,詳細闡述了MADDPG算法的原理和特點,并且基于多無人機任務背景,分別從網絡結構、狀態空間、動作空間和獎勵函數設計了MADDPG算法的模型結構,將MADDPG算法和多無人機任務決策問題相結合,實驗證明MADDPG算法不僅可以解決多無人機任務決策問題,并且相對DDPG算法,針對傳統算法學習效率并不高的缺陷,本文提出的方法具有更快的收斂速度和學習效率。