張耀中,許佳林,姚康佳,劉潔凌
1.西北工業大學 電子信息學院,西安 710072 2.西安北方光電科技防務有限公司,西安 710043
無人機與有人飛機相比,具有體積小、造價低、使用方便、對作戰環境要求低、戰場生存能力強等優點。在過去的幾十年里,伴隨著導航、傳感器、能量存儲與制造等相關技術的發展,無人機在軍用和民用領域都得到了廣泛的應用。
隨著無人機在相關領域應用的不斷推進,單架無人機在執行任務時暴露出了靈活性差和任務完成率低的短板,因此使用多架無人機構成集群協同執行相關任務必將成為無人機未來應用的重要發展方向。無人機集群可以看作是一個多Agent 系統(Multi-Agent Systems,MAS),其目標是協調集群內的無人機實現一個共同的任務目標。
當前對無人機集群的眾多研究都集中在協同任務決策方面,通過蟻群算法、狼群算法等有關的群體智能算法來實現對多架無人機的指揮控制。但這些方法有著計算時間過長、靈活性不足、智能化程度低的缺點,無法很好地滿足無人機集群對于無中心化、自主化、自治化的要求。相比而言,人工智能領域中的深度強化學習方法憑借著其強大的高維度信息感知、理解以及非線性處理能力,有望使無人機集群在面向戰場復雜任務時有足夠的智能協同完成作戰任務。
目前,已經有諸多學者使用深度強化學習方法對無人機集群的相關問題進行了探索性研究。其中,Pham等基于深度強化學習算法對無人機的自主導航過程進行了研究,并應用于自主目標區域覆蓋問題,在一定程度上解決了無人機集群聯合行動下的協同任務規劃問題和高維度狀態空間的挑戰[1-2];Qi和Zhu使用深度強化學習研究了智能體的環境感知問題,實現了對相鄰智能體的意圖感知[3];李高壘[4]和魏航[5]使用深度強化學習方法研究了影響無人機自主空戰的相關因素,為未來智能空戰提供了理論依據。Yamaguchi引入反饋控制律研究多機器人的協調運動問題,采用隊形矢量法控制機器人群體隊形實現了對目標的追擊[6]。目前已有部分學者采用人工智能算法來解決無人機對目標的追擊問題,如Gadre采用Q學習算法在柵格化環境下研究了智能體的追擊問題,并與動態規劃算法進行對比,取得了較好的效果[7]。蘇治寶等通過對未知環境中多移動智能體追擊單目標問題的研究,采用強化學習中的Q學習算法給出了相應的解決方案[8]。通過對相關文獻的分析可以看出,目前在無人機集群應用方面的研究還不夠完善,所研究問題的規模都比較小,而且大多采用柵格化的任務環境,導致應用環境過于簡單。
與此同時,一些軍事強國,如美、英、俄羅斯等都在開展將人工智能技術應用于無人機集群任務的相關實驗驗證,美國已經開展了多個智能化無人機集群項目,2016年美軍在加州進行的無人機集群實驗,成功地將人工智能技術應用到無人機集群的行為決策中,實現了無人機集群在空中自主協作,組成無人機集群隊形,并完成預定任務,充分體現了無人機集群的無中心化、自主化、自治化,這一實驗表明美軍在無人機集群自組網以及任務決策方面已經達到了實用化水平[9]。因此,進行無人機集群的應用研究具有一定的理論意義和使用價值。
本文在現有研究的基礎上,以無人機集群對敵方來襲目標的追擊任務為場景[10],基于深度確定性策略梯度網絡(Deep Deterministic Policy Gradient,DDPG)算法建立了人工神經網絡模型,設計了一種引導型回報函數有效解決了深度強化學習在長周期任務下的稀疏回報問題,通過引入基于滑動平均值的軟更新策略減少了DDPG算法中Eval網絡和Target網絡在訓練過程中的參數震蕩,提高了算法的訓練效率。仿真實驗結果表明,訓練完成后的無人機集群能夠較好地執行對敵方來襲目標的追擊任務,表現了人工智能算法在提升無人機集群指揮決策能力上的應用潛力。
如圖1所示,在任務場景中出現敵方目標,目標的初始位置已知,保持高度和速度恒定飛行,我方派出無人機集群進行追擊攔截。設定雙方都處于同一個水平面內,不考慮高度因素。不同于以往將任務環境網格化的離散處理方案,本文構建了連續的二維戰場地圖作為無人機集群追擊問題的任務環境,集群中的無人機、被追擊目標的位置,均采用連續的空間位置坐標表示。

圖1 無人機集群執行追擊任務示意圖Fig.1 Schematic diagram of UAV swarm for pursuit task
本文針對任務場景中只有一個目標出現的情況,且不考慮目標針對無人機集群進行機動規避等行為,目標按照自身預定的運動策略進行飛行。無人機集群的任務是圍堵目標,實現對目標的打擊或者驅離,當無人機集群與目標之間的距離滿足一定的態勢要求后,視為無人機集群完成追擊任務[11-12]。
為了便于問題分析,將集群中的無人機看作質點運動模型,使用兩個方向的加速度來控制無人機的運動過程,如圖2所示。

圖2 無人機的運動學模型Fig.2 Kinematic model of UAV
無人機的質點運動方程表示為
(1)
(2)
(3)

針對式(1)~式(3)建立的無人機運動控制模型,為了便于強化學習算法的實現,采用2個方向的加速度作為控制量對無人機的運動行為進行控制,如圖3所示。
由圖3可知,無人機的行為空間包含切向加速度a∥和法向加速度a⊥2個維度,無人機的行為即深度強化學習算法的輸出可以是這2個維度中滿足范圍要求的任意值,限定無人機的行為空間滿足:

圖3 無人機加速度控制模型圖Fig.3 Diagram of UAV acceleration control model
(4)
同時,對無人機的速度做出限制,規定無人機的速度v∈[3,7] m/s。
設定集群中的無人機具有對任務場景的全局探測能力,為了模擬傳感器的真實探測效果,對無人機的傳感器探測結果加入一個服從正態分布ε~N(μ,σ2)的隨機誤差。誤差的參數為
(5)
式中:di_t為無人機到目標的距離。
因此,集群中每架無人機對目標位置的探測結果為
(6)
式中:(xg,yg)為無人機探測到的目標位置;(x′g,y′g) 為目標的真實位置;εx、εy為服從正態分布N(0,σ2)的隨機誤差。
無人機對目標速度的探測結果計算為
(7)
式中:(xg_old,yg_old)為上一時刻探測到的目標位置;(xg_now,yg_now)為當前時刻探測到的目標位置。
集群內的無人機之間需要進行信息交互以便使無人機集群具有更好的協作行為決策,每架無人機都有固定的通信范圍,在通信范圍內的無人機之間可以進行通信,為了便于仿真分析,設定每架無人機最多可以與通信范圍內距離最近的3架無人機進行信息交互,如圖4所示。


圖4 集群內信息交互關系示意圖Fig.4 Schematic diagram of interaction within swarm

圖5 無人機間態勢信息關系圖Fig.5 Situational relationship between UAVs
DDPG算法是一種結合了基于值迭代和策略迭代的深度強化學習算法[13-14]。該算法的優勢在于可以針對無限大小的狀態空間和行為空間實現智能體對最優策略的學習,使無人機集群在針對具體任務的學習過程中具有更優良的性能表現。DDPG算法是在傳統的“演員-評論家”算法的基礎上改進形成的,下面對算法網絡的結構進行詳細分析。
“演員-評論家”算法主要由2個不同的網絡模塊組成,分別是演員網絡模塊和評論家網絡模塊。
演員網絡模塊主要通過對輸入環境的狀態觀測,利用人工神經網絡得到智能體行為的選擇概率,完成智能體與環境的交互過程,并且用交互得到的環境回報對人工神經網絡的參數進行更新,用來維護和更新智能體的動作選取策略。
評論家網絡模塊則通過對輸入環境的狀態及行為進行觀測,來評估每個環境狀態與行為的價值,即估計演員網絡模塊的價值,通過實際網絡價值與預測網絡價值的誤差來更新當前神經網絡。評論家網絡模塊輸出的價值可以對演員網絡模塊的行為選取策略進行指導,這也是“演員-評論家”算法的由來。
由上述可知,對于“演員-評論家”算法2個不同的網絡模塊:演員網絡模塊和評論家網絡模塊分別需要建立各自的人工神經網絡。演員網絡模塊的人工神經網絡實現了從觀測狀態到智能體行為選取概率的映射,其訓練過程需要結合評論家網絡模塊的誤差進行。而評論家網絡模塊的人工神經網絡是通過對環境狀態和行為選取的觀測得到相應的評分,形成環境狀態與行為到對應評分的映射。“演員-評論家”算法的模型結構如圖6所示。

圖6 “演員-評論家”算法的模型結構Fig.6 Model structure of “Actor-Critics” algorithm
DDPG算法融合了“演員-評論家”算法和深度Q網絡算法,是一種新型的深度強化學習算法[15-16],算法的網絡架構如圖7所示。

圖7 DDPG算法的網絡架構圖Fig.7 Network architecture of DDPG algorithm
如圖7所示,DDPG算法主要由環境、記憶回放單元、演員網絡模塊和評論家網絡模塊構成。其中,環境是智能體的交互空間,也是智能體的探索空間,智能體在與環境的交互過程中得到交互樣本,并將交互樣本存儲到記憶回放單元中用于智能體的訓練過程。為了優化算法的學習過程,DDPG算法吸取了深度Q網絡算法的思想,對于算法中的網絡部分分別構建了一對結構完全相同的人工神經網絡,分別稱為Eval神經網絡和Target神經網絡。其中Eval神經網絡用于訓練更新網絡參數,Target神經網絡則使用周期性軟更新策略對Eval神經網絡進行跟隨,并協助Eval神經網絡進行訓練。
演員網絡模塊的神經網絡用來完成對智能體行為選取概率的確定,智能體進行行為決策時,將依據演員網絡模塊提供的行為選擇概率來選取行為與環境進行交互。評論家網絡模塊的神經網絡通過接收環境狀態和智能體行為,用來生成對“狀態-行為”的價值評估。其中Eval神經網絡用來判斷當前狀態與行為的價值,Target神經網絡接收下一時刻的狀態和演員部分Target神經網絡輸出的下一時刻行為,并進行價值判斷。
DDPG算法中演員和評論家2部分的神經網絡有著不同的功能和結構,相應的訓練方式也不同,使用不同的損失函數進行訓練。對于評論家網絡而言,使用TD-error對Eval神經網絡的參數進行訓練,訓練過程使用最小化損失函數Loss進行更新,即
TD-error=reward(st,at)+
(8)
Loss=(TD-error)2
(9)

對于演員網絡模塊中神經網絡的訓練過程,通過最大化<狀態,行為>相對應的價值判斷來實現,因此使用對狀態和行為的評價均值作為損失函數,即
Loss=-mean(v(s,a;θcritic))
(10)
在DDPG算法中,如果只是依據算法輸出的行為選擇策略來決定無人機的當前行為,容易導致算法對任務環境探索的不充分,因此需要對DDPG算法策略增加一定的探索性[17]。根據DDPG算法的特點,增強算法探索性的實現方法是在無人機行為選取過程中增加一定的隨機噪聲[18-19],即
action=action′+Noise
(11)
式中:action為無人機當前時刻選擇的行為;action′為DDPG算法中演員網絡模塊輸出的無人機行為;Noise為隨機噪聲。
由于DDPG算法輸出的是無人機在2個方向上加速度的連續控制量,因此采用上述方法增強DDPG算法的探索性具備良好的可行性,設定隨機噪聲服從正態分布:
Noise~N(μ,σ2)
(12)
噪聲的期望值μ=0、方差σ與迭代輪次相關,隨著網絡訓練迭代次數的增加σ將逐漸減小,為了保證無人機集群具備足夠的探索能力,確保在無人機探索初期其行為選擇能夠選取到行為空間中的任意值,對隨機噪聲方差初始值的設計為
σ0=(actionmax-actionmin)/4
(13)
σ=Kepisodeσ0
(14)
式中:K=0.999 5;episode為算法訓練代數。
由前述分析可知,DDPG算法由一對結構完全相同的神經網絡,即“演員”部分人工神經網絡(Actor網絡)和“評論家”部分人工神經網絡(Critic網絡)構成[19-20],所構建網絡的Tensorboard輸出如圖8所示。

圖8 DDPG算法網絡結構(Tensorboard)Fig.8 Network structure of DDPG algorithm (Tensorboard)
3.4.1 “演員”網絡模塊的人工神經網絡結構
“演員”網絡模塊的人工神經網絡用來輸出無人機的行為,在無人機集群追擊任務環境中,無人機集群的狀態空間為自身位置(xi,yi)、速度(vx_i,vy_i)、探測得到的目標位置(xg,yg)、速度(vx_g,vy_g)以及通過信息交互得到的其他無人機的相關信息(xij,yij)、(vx_ij,vy_ij)和其他無人機的探測信息(xij_get,yij_get)、(vx_ij_get,vy_ij_get),共32個維度作為無人機的狀態空間,如圖9所示。
對“演員”網絡模塊中的Target和Eval人工神經網絡,構建了2個結構完全相同的6層全連接人工神經網絡,每層網絡的人工神經元個數分別為[100,100,300,100,100,2],最后一層神經網絡為二維度的輸出層,對應無人機的切向加速度a∥與法向加速度a⊥。輸出神經元使用tanh(x)作為激活函數,實現網絡輸出與無人機行為的映射,其他各層的神經元使用relu(x)作為激活函數。并且使用RMSProp(Root Mean Square Prop)算法作為訓練的優化器。“演員”網絡模塊中人工神經網絡的結構如圖10所示。圖中“演員”

圖10 “演員”網絡模塊中人工神經網絡結構Fig.10 Network structure in “Actor” network module
網絡模塊中,w1,w2,…,w6和b1,b2,…,b6代表了6層網絡中的權重值和偏置值。
3.4.2 “評論家”網絡模塊的人工神經網絡結構
“評論家”網絡模塊的人工神經網絡通過對“狀態-行為”的價值評估,指導“演員”網絡模塊中神經網絡的訓練過程[21-23]。因此,評論家網絡模塊中神經網絡的輸入狀態為無人機集群的狀態信息與行為信息,網絡的狀態空間構成如圖11所示。

圖11 “評論家”網絡模塊的狀態空間構成Fig.11 State space of “Critic” network module
對“評論家”網絡模塊中的Target和Eval人工神經網絡,構建了2個結構完全相同的5層全連接人工神經網絡,每層網絡的人工神經元個數分別為[100,300,100,10,1]。輸出層的神經元使用tanh (x)作為激活函數,隱藏層的神經元使用relu(x)作為激活函數,并且使用RMSProp(Root Mean Square Prop)算法作為訓練的優化器。神經網絡的結構如圖12所示。

圖12 “評論家”網絡模塊中的人工神經網絡結構Fig.12 Network structure in “Critic” network module
在“演員”網絡模塊和“評論家”網絡模塊中同時存在Target和Eval人工神經網絡,其中Eval神經網絡用于訓練過程,而Target神經網絡則周期性的跟隨訓練網絡相應參數的變化而更新。對于Target神經網絡的參數更新使用基于滑動平均值的軟更新策略,即
θTarget=kθTarget+(1-k)θEval
(15)
式中:θTarget為Target神經網絡參數;θEval為Eval神經網絡參數;k為滑動因子,經驗取值為0.2。
對于連續的狀態空間和行為空間,無人機進行隨機初始化之后要經歷一段很長時間與環境的交互過程才能達到最終狀態。此時,僅在無人機集群到達最終狀態之后給予相應回報的方式,有著回報周期過長的缺陷,容易導致強化學習過程無法進行有效學習,即存在著稀疏回報問題。
為了解決稀疏回報問題,對無人機集群的學習目標進行了相應的修改,增加有效回報,從而加快學習速度,構建不同情形下無人機的回報函數來指導深度強化學習的學習方向,即
(16)


對于式(16)中的無人機集群回報函數,由無人機與目標之間的距離變化情況、無人機的速度方向以及無人機的速度大小共同表示。當無人機與目標之間的距離變小時對應的回報函數為正值;由無人機的速度大小與速度方向相結合構成了回報函數,在相同速度大小的情況下,速度矢量的方向越指向目標,無人機的回報就越高;同理,在無人機速度方向指向目標的情況下,無人機的速度越大回報越高;對于無人機速度方向遠離目標的情況下,無人機的速度越大,其負向回報越高。
由于無人機集群從初始狀態出發,需要運行較長時間才能到達目標狀態,如果在長時間的中間狀態下無法得到環境的有效回報,容易導致算法訓練過程中的梯度消失,從而導致訓練過程無法收斂。無人機集群采用上述引導型回報函數時,訓練過程中會根據無人機的任一狀態產生一個與當前<狀態,行為>相對應的價值回報,從而引導無人機集群逐漸向目標狀態轉移。因此,式(16) 能較準確地反應無人機的行為收益,算法的訓練結果表明,通過采用引導型回報函數能夠較好地解決深度強化學習中的稀疏回報問題。
使用DDPG算法對無人機集群的追擊任務進行訓練,程序實現流程如圖13所示。

圖13 DDPG算法的程序流程圖Fig.13 Algorithm flow chart of DDPG algorithm
設定仿真場景中只存在一個勻速前進的目標,當集群中的任意一架無人機追擊到目標之后,視為無人機集群完成了對目標的追擊任務,即到達了任務的最終狀態。
仿真中使用5架完全相同的無人機構成集群進行訓練。為了便于觀察算法的訓練狀態,防止訓練過程中出現梯度消失等現象,對人工神經網絡的收斂性能進行了監測,分別選取“演員”和“評論家”網絡模塊中的神經網絡參數進行統計觀察,得到相關統計信息如圖14~圖17所示。

圖14 “演員”網絡模型Eval網絡參數均值變化曲線Fig.14 Curve of average change in Eval network parameters in “Actor” network module

圖15 “演員”網絡模塊Target網絡參數方差變化曲線Fig.15 Curve of variance in Target network parameters in “Actor” network module

圖16 “評論家”網絡模塊Eval網絡參數均值變化曲線Fig.16 Curve of average change in Eval network parameters in “Critic” network module

圖17 “評論家”網絡模塊Target網絡參數方差變化曲線Fig.17 Curve of variance in Target network parameters in “Critic” network module
圖14~圖17數據曲線圖分別是對“演員”和“評論家”網絡模塊中的神經網絡參數取均值和方差進行統計的結果,圖中實線為網絡參數統計的真實值,虛線則是對統計數據進行周期為3的滑動平均處理的結果,用來表明參數統計的變化趨勢。由上述參數統計曲線圖可以看出人工神經網絡在訓練過程中很好地實現了收斂。
圖18截取自TensorBoard的“評論家”網絡模塊中的神經網絡參數分布變化直方圖,由遠及近(顏色由深變淺)表現了神經網絡在不同訓練階段各個神經元參數分布的變化情況,橫向表示神經元各個參數取值,從神經網絡的參數統計變化曲線圖與參數分布變化直方圖可以看出,人工神經網絡的參數分布情況在訓練過程中逐漸收斂到穩定的分布狀態。

圖18 “評論家”網絡模塊Eval網絡參數分布變化曲線Fig.18 Eval network parameter distribution curves in “Critic” network module
無人機集群在不同訓練輪次下的平均回報值變化趨勢如圖19所示。
由圖19可見,在算法的訓練過程中,無人機集群的行為收益值保持比較平穩的狀態緩慢增加,說明無人機集群行為隨著訓練過程的不斷進行有著越來越好的表現。

圖19 無人機集群在不同訓練輪次下的平均回報值Fig.19 Mean value of rewards under different training epochs for UAV swarm
隨著算法訓練回合的增加,無人機集群在環境中的回合總回報變化趨勢如圖20所示。

圖20 無人機集群在不同迭代輪次下的回合總回報Fig.20 Total rewards under different training epochs for UAV swarm
無人機集群在不同訓練輪次下的任務完成率如圖21所示。
從圖21可以看出,完成訓練后無人機集群執行對敵來襲目標追擊任務的成功率可以達到95%左右。

圖21 無人機集群在不同迭代輪次下的任務成功率Fig.21 Task completion rate under different training epochs for UAV swarm
使用5架相同無人機構成集群完成所創建神經網絡的訓練后,對訓練完成的模型進行了測試驗證。使用訓練完成的無人機集群執行對目標的追擊任務,生成5架無人機集群及目標的初始狀態,得到無人機集群追擊任務的軌跡圖如圖22所示。
如圖22所示,使用訓練完成的神經網絡模型很好地實現了5架無人機構成集群執行對目標的追擊任務。為了驗證模型對于動態數量無人機集群的適用性,分別使用10架和20架無人機構成集群,對無人機集群的追擊任務進行驗證,得到無人機集群軌跡圖如圖23和圖24所示。

圖23 10架無人機執行追擊任務的軌跡Fig.23 Trajectory of 10 UAVs on pursuit mission

圖24 20架無人機執行追擊任務的軌跡Fig.24 Trajectories of 20 UAVs on pursuit mission
由圖22~圖24可以看出,基于5架無人機訓練得到的模型能很好地應用于10和20架無人機用來執行對敵來襲目標的追擊任務中,可以看出,DDPG算法對無人機集群的行為決策有著良好的適應能力和泛化能力。
為了進一步驗證本文基于改進DDPG算法無人機集群模型的泛化能力和適應能力,對具有不同程度的逃逸策略的機動目標使用訓練完成的集群模型進行了實驗驗證,得到無人機集群軌跡圖如圖25所示。由圖25仿真結果可以看出,對于具有簡單逃逸策略的來襲目標,無人機集群很好地完成了預定的追擊任務。

圖25 簡單逃逸策略下對20架無人機的追擊任務軌跡Fig.25 Trajectories of 20 UAVs on pursuit mission with simple escape strategy target
在圖26的追擊任務場景中,當目標采用大機動逃逸運動策略時,由于來襲目標快速逃逸出了設定的任務邊界導致目標逃逸成功,但是訓練完成后的無人機集群仍然很好地完成了對預定目標的追擊任務。

圖26 大機動逃逸策略下對20架無人機的追擊任務軌跡Fig.26 Trajectories of 20 UAVs on pursuit mission with big maneuver escape strategy target
仿真實驗表明,深度強化學習能夠很好地滿足了無人機集群對于無中心化、自主化和自治化的要求。將人工智能算法應用在無人機集群的任務決策中具有很好的發展前景。
本文基于深度強化學習中的DDPG算法對無人機集群追擊任務進行了研究,為了平衡DDPG算法“探索-經驗”的矛盾,在訓練過程中對無人機行為加入了自適應的噪聲單元,以增強算法的探索能力。為了提升算法性能,引入基于滑動平均值的軟更新策略減少了DDPG算法中Eval神經網絡和Target神經網絡在訓練過程中的參數震蕩,提高了算法的收斂速度。為解決深度強化學習中的“稀疏回報”問題,設計了指導型回報函數,避免了無人機集群在長周期訓練條件下無法有效學習的問題,提升了算法的收斂性。
訓練完成后的無人機集群能夠很好地執行追擊任務。同時驗證了在不改變網絡模型和狀態空間結構的前提下,訓練完成的模型能直接應用于更多無人機構成的集群追擊任務中和具有不同程度逃逸策略的機動目標追擊任務中。仿真結果表明使用DDPG算法針對無人機集群的追擊任務可以求解出良好的行為策略,體現了基于人工神經網絡的強化學習算法在提升無人機集群指揮決策模型的泛化能力上的巨大應用潛力。