孫 楚,趙 輝,王 淵,周 歡,韓 瑾
(1.空軍工程大學航空航天工程學院,西安 710038;2.汾西重工有限責任公司,太原 030027)
機動決策是無人戰(zhàn)斗機(Unmanned Combat Aerial Vehicle,UCAV)自主空戰(zhàn)決策任務系統(tǒng)的重要組成環(huán)節(jié)[1-2]。將強化學習技術應用于UCAV的機動決策研究中,能夠充分發(fā)揮強化學習在無樣本學習中的優(yōu)勢,其強大的學習能力能夠極大地加強UCAV的魯棒性及對動態(tài)環(huán)境的適應能力,對提升無人機自主作戰(zhàn)效能具有重要的意義。
文獻[3]使用RBF神經(jīng)網(wǎng)絡建立了航空兵認知行為模型,一定程度上克服了空間離散方法的使用困境,但RBF網(wǎng)絡中隱層節(jié)點數(shù)固定不變且離散動作集有限,在面對快速變化的空戰(zhàn)態(tài)勢時算法的泛化能力明顯不足;文獻[4-7]針對連續(xù)狀態(tài)空間強化學習問題進行了詳細的研究,提出了一系列用于解決連續(xù)狀態(tài)空間下強化學習應用問題的方法,但其涉及的控制動作控制變量為離散形式,控制情形簡單,要應用于復雜的空戰(zhàn)機動決策中還有待改進。需要指出的是,現(xiàn)有機動決策的研究成果雖能夠解決連續(xù)狀態(tài)空間問題,但均以建立戰(zhàn)術動作集與基本動作集為基礎[8],將動作空間作離散化處理以實現(xiàn)機動決策。一方面,離散的動作集雖然能夠快速生成決策序列,但針對劇烈變化的空戰(zhàn)態(tài)勢缺乏靈活有效的調整方法[9],無法有效應對非典型空戰(zhàn)態(tài)勢;另一方面,離散化粒度粗糙的動作集會使飛行軌跡不夠平滑,增大控制系統(tǒng)負擔;而離散化粒度精細的動作集會提高問題維度,增大計算負擔。采用連續(xù)動作集強化學習的機動決策方法建立狀態(tài)與動作值的映射關系,直接輸出連續(xù)的動作控制變量,在這種情況下機動動作將不受任何限制,同時控制量形式簡單,極大地提升了UCAV的機動靈活性,較好地克服了離散動作集的缺點,對提升UCAV自主控制水平與作戰(zhàn)能力而言非常必要。
針對上述問題,本文采用強化學習中的Actor-Critic構架,充分發(fā)揮了其解決連續(xù)狀態(tài)空間問題的優(yōu)勢,通過共用隱層的自適應NRBF神經(jīng)網(wǎng)絡,實現(xiàn)對不同態(tài)勢下真實值函數(shù)與最優(yōu)策略的逼近,在輸出效用值的同時輸出連續(xù)動作控制變量;結合熵理論設計了NRBF神經(jīng)網(wǎng)絡隱層節(jié)點的自適應調整方法;通過構建高斯分布的隨機動作控制變量平衡學習中“探索-利用”的關系。最后通過不同態(tài)勢下的仿真分析了決策方法在空戰(zhàn)中的對抗能力,并通過對比實驗驗證了連續(xù)動作控制變量集對提升UCAV控制性能的有效性。
設紅方UCAV為我機,藍方UCAV為敵機。狀態(tài)變量是UCAV對態(tài)勢的描述,輸入狀態(tài)變量越多,則對態(tài)勢的描述越全面,但會增大網(wǎng)絡學習的計算量,選取基本的狀態(tài)描述變量x0為
式中,Vr與hr分別是我機和敵機UCAV的速度和高度;qr與qb分別表示我機和敵機UCAV速度矢量與其質心的夾角;ΔV與Δh分別表示我機和敵機的速度差、高度差;β表示我機和敵機UCAV速度的矢量夾角;d表示我機和敵機UCAV的相對距離。
為了充分發(fā)掘態(tài)勢信息,x0經(jīng)過數(shù)據(jù)處理后才能作為輸入變量,其中包含了對qr,qb,Vr的微分運算,實際輸入x為
這種選取方法側重于無人機的位置與速度狀態(tài),適合描述雙方的空戰(zhàn)態(tài)勢。
狀態(tài)變量與雙方在地面坐標系下的換算關系為
式中(xr,yr,zr)、(xb,yb,zb)分別為我機UCAV與敵機UCAV在地面坐標系下的坐標分別為雙方UCAV的航向角;分別為雙方UCAV的航跡角。
為簡化分析過程,這里選用三自由度質點運動模型,UCAV動力學方程可表示為
式(1)中,nx為切向過載,用于表示UCAV的切向加速度;nz為法向過載,用于表示UCAV的法向加速度;γx為滾轉角。
根據(jù)UCAV的動力學方程,可以得到UCAV在地面坐標系下各個方向上的加速度,表示為
通過對式(1)、式(2)進行運算,可以得到UCAV的速度v,航跡角,航向角與UCAV在地面坐標系下的坐標;此外,通過改變 nx、nz與 γx,可以控制UCAV在任意方向上的加速度,因此,可以選擇nx、nz與γx3個參數(shù)來描述UCAV的動作控制量a,記為
在UCAV機動決策中應用強化學習方法,首先必須解決連續(xù)狀態(tài)空間的表示問題。Actor-Critic構架將動作生成與策略評價部分分離,分別進行策略學習與值函數(shù)的逼近,能夠較好地解決連續(xù)狀態(tài)空間下的決策問題,其基本結構如圖1所示。
圖1 Actor-Critic結構
其中,xt為t時刻的輸入狀態(tài)變量,at為當前策略下t時刻生成的動作控制變量。
Critic部分用于對狀態(tài)進行評估,是從狀態(tài)xt到效用值V(xt)的映射關系,表示為
其中,V(xt)是瞬時獎賞r的折扣累積,是狀態(tài)與動作的評價指標。在真實值函數(shù)未知的情況下,由時序差分學習方法[10],設折扣率為γ,V(xt)的更新公式為
同時Critic部分存儲了過去的效用值,用于生成誤差函數(shù)Et。
Actor部分用于實現(xiàn)狀態(tài)xt到動作at的映射關系,這種映射關系是策略的具體體現(xiàn),表示為
對于空戰(zhàn)機動決策問題,式(4)、式(6)一般由復雜的非線性映射關系表示,本文采用歸一化RBF神經(jīng)網(wǎng)絡實現(xiàn)這種映射。
圖1的運行流程為:狀態(tài)xt分別輸入Actor與Critic部分,分別輸出當前策略下的動作at與誤差函數(shù)Et;誤差Et用于更新Actor與Critic中的參數(shù);動作at作用于環(huán)境產(chǎn)生下一個狀態(tài)變量xt+1。
以NRBF神經(jīng)網(wǎng)絡作為Actor與Critic中的非線性逼近器,實現(xiàn)從狀態(tài)到效用值與動作控制量的映射,基本結構如圖2所示。無人機獲取的狀態(tài)變量輸入后,網(wǎng)絡輸出為當前狀態(tài)的效用值V(x)。通過不斷地修正網(wǎng)絡中的參數(shù),可以實現(xiàn)對真實效用值的逼近。
圖2 RBF神經(jīng)網(wǎng)絡結構
用于實現(xiàn)非線性映射的基函數(shù)采用高斯函數(shù),第j個RBF函數(shù)如式(7)所示。
其中,x為輸入狀態(tài)變量,cij為第i個基函數(shù)的中心,σij為基函數(shù)中心的寬度。
輸出層的線性映射表示為
其中,wik表示各個連接節(jié)點的權重,m表示輸出節(jié)點的個數(shù)。
NRBF神經(jīng)網(wǎng)絡提高了網(wǎng)絡的插值性能,降低了網(wǎng)絡對高斯基函數(shù)中參數(shù)的敏感度[11],這些特性均有助于提高網(wǎng)絡的泛化性。將RBF神經(jīng)網(wǎng)絡的輸出進行歸一化處理,即得到NRBF神經(jīng)網(wǎng)絡,表示為
網(wǎng)絡采用TD方法逼近真實值函數(shù),則TD誤差表示為
其中,rt為瞬時獎賞,γ為折扣率。
NRBF神經(jīng)網(wǎng)絡中,隱層節(jié)點個數(shù)q、中心ci、寬度σi與輸出層的連接權重wij直接決定了網(wǎng)絡的性能,對于本例中的無樣本學習情況,并沒有辦法事先確定完整抽象空戰(zhàn)態(tài)勢特征的隱層節(jié)點個數(shù),較好的方法是令網(wǎng)絡起始節(jié)點數(shù)為零,在訓練過程中自行判斷是否需要添加新的節(jié)點,故為其設計自適應調整的優(yōu)化方法。
2.2.1 結構學習
由于強化學習相當于采用無標簽數(shù)據(jù)學習,對每一個輸入xt,僅能得到瞬時獎賞rt,因此,采用TD誤差δt作為增加節(jié)點的準則,表示為
其中,δmin為TD的誤差閾值。
同時計算輸入狀態(tài)變量到每一個基函數(shù)中心的距離和d,如果新輸入向量滿足
則增加一個節(jié)點。該節(jié)點增加規(guī)則基于這樣一個推論:如果新輸入狀態(tài)變量到每一個基函數(shù)中心的距離和越大,那么它與所有基函數(shù)的不相關性就越高,現(xiàn)有基函數(shù)對該狀態(tài)變量的表達能力就越弱。
距離d的計算方法決定了節(jié)點增加方法的性能,通常采用的歐式距離公式的問題在于:該公式是距離的幾何度量,而在空戰(zhàn)態(tài)勢評估中,兩個相近的狀態(tài)變量可能代表完全不同的態(tài)勢,這里結合熵原理,以相對熵作為距離的評判標準。
定義對輸入狀態(tài)變量xt,它與任意基函數(shù)中心的相對熵為
則相對熵距離可表示為
當輸入狀態(tài)變量到其他所有基函數(shù)中心的相對熵距離和小于dmin,表明該狀態(tài)變量包含的相對信息量較小,不應增加新的節(jié)點;反之,表明該狀態(tài)變量包含的信息量較大,現(xiàn)有基函數(shù)的表達能力不足,需要增加新的節(jié)點。
對于新增基函數(shù)的中心,直接選取當前輸入樣本,新增基函數(shù)的寬度為
其中,為重疊系數(shù)。
2.2.2 參數(shù)學習
基于TD誤差,誤差函數(shù)表示為
由式(5),使用當前估計的值函數(shù)代替真實值函數(shù),采用梯度下降法對權重向量w的誤差求負導數(shù),可以得到對參數(shù)w的更新規(guī)則為
其中,αw為對連接權值向量的學習率。同理分別對ci與σi的誤差求負導數(shù),可得到基函數(shù)中心與寬度的更新公式為
其中,αc與αδ為對應參數(shù)的學習率。
通過網(wǎng)絡輸出的動作控制變量本質上是過去所有瞬時獎賞的折扣累積,因此,輸出層的權重更新方法體現(xiàn)了對過去經(jīng)驗的“利用”,為了平衡網(wǎng)絡對于未知動作的探索,有必要設計隨機動作選擇方法。
設對狀態(tài)xt,網(wǎng)絡輸出動作值為at,表示為
以縱向過載nx為例,網(wǎng)絡輸出的a1t并不能直接作為動作值,需要將其轉換為符合無人機控制特性的 a1t',設
設當前狀態(tài)下的輸出為a1t'=nxt,服從N(nxt,σ(k))的高斯分布,k表示網(wǎng)絡運行次數(shù),其標準差為k的函數(shù),設
其中,b1,b2為參數(shù)。
受實際情況的約束,3個控制變量均有固定的取值范圍,將a1t'的概率分布修改為
對每一個 a1t',按 p(a1t')的概率在內隨機選取動作值,當參數(shù)確定時,選取動作值的概率分布僅由k決定。
令a1t'=nxt,可得選擇網(wǎng)絡輸出動作值的概率為
圖 3 列出了在 a1'∈[-10,10],b1=20,b2=1 000,nxt=0情況下的動作值概率分布情況。
圖3 動作控制變量概率密度
可見在k=1時,概率分布曲線平緩,近似于均勻分布,表明在初次試探時,無人機更注重對未知動作的探索;當k=1 000時,概率分布集中于0附近,表明此時無人機更傾向于選擇與網(wǎng)絡實際輸出相近的動作值;同時,如果網(wǎng)絡的后期訓練效果不夠理想,可以通過人為減小k值以增強對未知動作的探索,且k值的改變并不直接作用于網(wǎng)絡的參數(shù)更新過程,有效提高了網(wǎng)絡的訓練效果。
對空戰(zhàn)其中一方而言:當達成導彈發(fā)射條件時,獲得最大獎賞;當態(tài)勢有利時,獲得一般獎賞;當態(tài)勢不利時,獲得負獎賞。依據(jù)該原則,設計獎賞函數(shù)如下。
2.4.1 角度獎賞
式(24)中:φ為本機速度矢量與目標線的夾角;q為目標速度矢量與目標線的夾角;φmax為導彈最大發(fā)射偏角。
2.4.2 速度獎賞
其中,V0為最佳空戰(zhàn)速度,表示為
其中,Vmax表示無人機最大飛行速度,dmax表示雷達最大搜索距離。
2.4.3 距離獎賞
2.4.4 高度獎賞
其中,Δh0為最佳空戰(zhàn)高度差。2.4.5 達成發(fā)射條件獎賞
設計導彈發(fā)射條件為:vr≤1.8 Ma,|φ|≤π/3,π/3≤q≤5π/3,d≤10 000 m。當本機對目標達到上述態(tài)勢時,變量con=1(否則為0),獲得獎賞
當敵機形成上述態(tài)勢時,本機獲得獎賞
2.4.6 環(huán)境獎賞
設置環(huán)境獎賞的主要目的是使無人機能夠較好地適應環(huán)境。實驗發(fā)現(xiàn):在網(wǎng)絡訓練的初期,網(wǎng)絡動作選擇策略的探索主要是為了適應飛行環(huán)境,避免危險的飛行動作,如:飛行高度低于最低安全高度或飛行速度超過最大允許速度。此過程耗時較長,且此時網(wǎng)絡對空戰(zhàn)態(tài)勢獎賞不敏感,對提升無人機機動決策能力的貢獻較小,因此,為了提升網(wǎng)絡訓練效率,環(huán)境獎賞的力度要遠大于其他獎賞,促使網(wǎng)絡迅速生成符合環(huán)境約束的動作策略。
設環(huán)境獎賞為re,表示為
綜上所述,總獎賞函數(shù)表示為
基于以上的分析,機動決策強模型如下頁圖4所示。
輸出為3個動作控制量與當前狀態(tài)的效用值V(xt),參數(shù)學習模塊通過結合存儲的V(xt-1)對隱層與輸出層進行參數(shù)更新;動作控制量首先經(jīng)動作選擇策略模塊選擇要采取的動作值,再作用于環(huán)境,產(chǎn)生下一個狀態(tài)變量xt+1。
圖4 基于強化學習的機動決策方法
算法流程為:
Step 1:數(shù)據(jù)初始化;
Step 2:讀取輸入變量并處理生成xt,產(chǎn)生3個動作控制量與對當前狀態(tài)的估計效用值V(xt);
Step 3:計算瞬時獎賞 rt,并按式(11)與式(14)計算輸入狀態(tài)變量到每一個隱層節(jié)點的相對熵距離與 TD 誤差 δt,如果滿足式(12),則增加一個節(jié)點,否則節(jié)點數(shù)不變;
Step 3:動作選擇策略對網(wǎng)絡輸出動作控制量進行處理,生成作用于環(huán)境的動作控制量;
Step 4:結合緩存的 V(xt-1),按式(17)~ 式(19)更新網(wǎng)絡參數(shù);
Step 5:判斷是否達到最大學習步數(shù),是則結束;否則將動作控制量作用于環(huán)境,生成xt+1,轉到Step 2。
為了加快計算速度,仿真設置敵方無人機按固定航跡飛行,起始點為(0,0,0),勻速 200 m/s,共有直線飛行、蛇形機動、盤旋飛行3個情形,其狀態(tài)參數(shù)事先以數(shù)組形式存儲,按時間輸出作為環(huán)境的反饋信號。3種情形下的我方UCAV參數(shù)設置如表1所示。
這里選取了訓練后期的3條飛行軌跡與最終收斂的飛行軌跡,并給出了不同訓練次數(shù)下法向過載控制量的變化曲線,結果如圖5~圖13所示。
其中藍色軌跡為敵機飛行軌跡。
圖5~圖13表明:前期策略學習側重于對環(huán)境的適應,由于本例中環(huán)境獎賞力度較大,導致起始累積獎賞較低;訓練進行到3 000次時,3種情形下的無人機動作選擇策略均可以較好地適應飛行環(huán)境的約束,未出現(xiàn)早期訓練過程中超出范圍限制的危險飛行動作。此時無人機已經(jīng)能夠對敵機的機動動作做出一定的反應,但整體航跡上機動決策的質量并不高,末端仍然存在錯過敵機的現(xiàn)象??刂屏壳€的變化速率較快,表明此時的動作選擇策略中仍然包含了較大的隨機因素;繼續(xù)進行訓練,無人機與敵機航跡末端的距離明顯減小,基本能夠分辨出無人機要采取的機動動作,累積獎賞值趨于收斂,表明動作選擇策略已接近最優(yōu);最終,無人機的動作選擇策略會使航跡收斂,動作值中隨機因素基本消失,控制量曲線趨于平滑。
表1 仿真參數(shù)設置
圖5 敵機直線飛行的訓練軌跡
圖6 累積獎賞變化曲線
圖7 法向過載控制量變化曲線
以上3個情形的仿真表明:無人機的動作選擇策略在經(jīng)訓練后能夠依據(jù)態(tài)勢輸出合理的連續(xù)動作控制量,具備空戰(zhàn)能力。
圖8 敵機蛇形機動的訓練軌跡
圖9 累積獎賞變化曲線1
圖10 法向過載控制量變化曲線1
圖11 敵機盤旋飛行的訓練軌跡
圖12 累積獎賞變化曲線2
圖13 法向過載控制量變化曲線2
采用文獻[12]中的基本機動動作集實現(xiàn)情形3中的無人機飛行軌跡。主要采取的動作與控制量如表2所示。
表2 基本機動動作操縱指令
按相同的仿真步長對無人機分別施加控制量,得到控制量nz與γx的變化曲線如圖14、圖15所示。
圖15 滾轉角控制量變化曲線
圖14、圖15表明:由于法向過載nz的取值僅為1,nzmax或-nzmax,采用基本機動動作集在每一步長上只能施加固定的控制量,而情形3中無人機盤旋過程中的法向過載保持在2 g以內,無論起始采取右轉彎或右俯沖均使控制量產(chǎn)生嚴重的跳變,如果考慮控制系統(tǒng)的延遲特性,還會進一步降低控制效果;而連續(xù)動作情況下產(chǎn)生的控制量連續(xù)性較強,整體上控制量分布較均勻。因此,采用連續(xù)動作控制量更有利于無人機的控制。
3.1節(jié)中情形3下的獎賞值變化曲線如圖16所示,其中獎賞1與均值1曲線為采用相對熵距離的獎賞與均值;獎賞2與均值2曲線為采用歐式距離的獎賞與均值。圖17記錄了第一次訓練過程中1 010個仿真步長(40 s)內RBF神經(jīng)網(wǎng)絡隱層節(jié)點數(shù)目的變化情況,可以看出:在訓練開始階段,采用相對熵距離公式與歐式距離公式的網(wǎng)絡節(jié)點增長速率相同,表明在訓練開始階段,由于網(wǎng)絡隱層節(jié)點數(shù)少,對新狀態(tài)變量的表達能力較弱,因此,此時節(jié)點增加速度較快;在訓練后期,兩者產(chǎn)生了顯著的差異,采用相對熵距離的網(wǎng)絡隱層節(jié)點數(shù)最終為616個,而采用歐式距離的隱層節(jié)點數(shù)為671個,通過觀察圖16中效用值變化曲線,采用相對熵距離與歐式距離計算方法的效用值的均值分別為-11.113 2與-11.925 9,最終效用值保持在6.387 0與6.106 3,表明兩者的動作選擇策略性能相近?;谙鄬鼐嚯x的網(wǎng)絡用較少的隱層節(jié)點數(shù),達到了與采用歐式距離的網(wǎng)絡相同的訓練效果,證明基于相對熵距離的自適應節(jié)點構建方法更加高效。
圖16 獎賞值變化曲線
圖17 隱層節(jié)點數(shù)量變化曲線
本文設計了基于連續(xù)動作控制變量的無人機機動決策方法,采用共用隱層的NRBF神經(jīng)網(wǎng)絡結構分別逼近效用值與動作控制變量,提出了基于相對熵距離的神經(jīng)網(wǎng)絡隱層節(jié)點自適應構建方法,并設計了基于高斯分布的隨機動作選擇策略。仿真實驗結果表明,所設計的算法能夠滿足無人機機動決策的需求,相對于采用有限離散動作集的機動決策算法,該方法產(chǎn)生的航跡更為平滑,無人機的機動也更加靈活;同時,該自適應節(jié)點構建策略有效降低了RBF神經(jīng)網(wǎng)絡的隱層節(jié)點數(shù),提高了算法運行效率。