謝蕃葳,王旭剛
(南京理工大學(xué) 能源與動力工程學(xué)院,江蘇 南京 210094)
超遠(yuǎn)程滑翔制導(dǎo)炮彈滑翔段的彈道規(guī)劃一直以來都是研究的重點和難點,其既要滿足寬空域?qū)捤儆蝻w行過程中的強耦合、快時變以及強非線性的運動約束關(guān)系,還需要在被限制的控制空間內(nèi)尋求最大作戰(zhàn)射程[1,2]?;瓒蔚膹椀酪?guī)劃的實質(zhì)是求解非線性帶約束最優(yōu)控制問題,對應(yīng)的動力學(xué)模型是時變非線性微分方程組。隨著非線性條件和約束條件的增多,目前該方程組難以通過解析的方式求得目標(biāo)解。因此,現(xiàn)在的彈道規(guī)劃方法主要歸納為三類:間接方法[3,4]、直接方法[5,6]和智能啟發(fā)式方法[7-9]。
深度強化學(xué)習(xí)是采用深度神經(jīng)網(wǎng)絡(luò)做函數(shù)擬合的一類新興強化學(xué)習(xí)算法,它不同于依靠大量最優(yōu)彈道數(shù)據(jù)樣本進行彈道規(guī)劃訓(xùn)練的深度學(xué)習(xí)方法[10],而是通過與環(huán)境的自主交互尋求最優(yōu)規(guī)劃網(wǎng)絡(luò)參數(shù)。目前,強化學(xué)習(xí)的相關(guān)應(yīng)用已經(jīng)在圍棋[11]、電子競技[12]等場合中展示了在復(fù)雜環(huán)境下處理各種信息,并將信息轉(zhuǎn)換為規(guī)劃決策的能力。目前,基于深度強化學(xué)習(xí)的飛行器彈道規(guī)劃研究仍處于起步階段。文獻[13]在設(shè)定初速度與出射角的情況下,在彈丸的外彈道飛行過程利用Q-learning算法輸出控制指令,通過強化學(xué)習(xí)迭代計算實現(xiàn)彈道優(yōu)化目標(biāo),導(dǎo)彈射程比無控時明顯增加。文獻[14]提出了一種基于網(wǎng)絡(luò)優(yōu)選雙深度Q網(wǎng)絡(luò)的深度強化學(xué)習(xí)方法,保存了訓(xùn)練過程當(dāng)中的最佳網(wǎng)絡(luò),突出了算法優(yōu)越的性能表現(xiàn)。但文中對獎勵函數(shù)的落速懲罰沒有指明,沒有明確的約束限制指向。文獻[15]提出了一種無模型的強化學(xué)習(xí)和交叉熵方法相結(jié)合的在線航跡規(guī)劃算法,利用近端策略優(yōu)化算法離線訓(xùn)練智能體,可以在復(fù)雜多變的飛行空域中生成曲率平滑的航跡,擁有較高的突防成功率。文獻[16]利用深度確定性策略梯度算法訓(xùn)練得到巡飛彈突防控制策略網(wǎng)絡(luò),在1 000次飛行仿真下?lián)碛?2.1%的任務(wù)成功率,平均決策時間僅有1.48 ms。
然而,以上深度強化學(xué)習(xí)算法研究的重點主要集中在算法的應(yīng)用性能上,算法本身的穩(wěn)定性研究方面稍有欠缺。強化學(xué)習(xí)的相關(guān)研究領(lǐng)域普遍存在著訓(xùn)練不穩(wěn)定的問題。所以,為了建立穩(wěn)定的深度強化學(xué)習(xí)訓(xùn)練過程,本文以超遠(yuǎn)程滑翔制導(dǎo)炮彈滑翔段作為研究對象進行彈道規(guī)劃,創(chuàng)新性提出了一種IM-DQN算法,采用無效經(jīng)驗剔除的經(jīng)驗池管理方法,將訓(xùn)練過程中整體表現(xiàn)低效的回合樣本點全部剔除以保證提取樣本時避開這些低效環(huán)節(jié),并且添加探索限制策略進行更新,保證訓(xùn)練網(wǎng)絡(luò)效果不會大幅度跌塌,使得訓(xùn)練效果更加穩(wěn)定。
滑翔制導(dǎo)炮彈在彈道頂點展開鴨舵進行滑翔,本文聚焦智能規(guī)劃方法在滑翔段的適用性問題,為了突出研究問題的重點,給出了典型滑翔運動模型,攻角為控制參數(shù),其三自由度運動模型為[17]:
(1)
式中:x、y是慣性坐標(biāo)系下的位置,v、θ、m分別是炮彈飛行速度、彈道傾角、炮彈質(zhì)量。阻力Fx和升力Fy計算公式如下:
(2)
超遠(yuǎn)程滑翔制導(dǎo)炮彈的彈道規(guī)劃往往期望在有限制條件下實現(xiàn)最大射程,因此將連續(xù)問題離散化,建立目標(biāo)優(yōu)化函數(shù)。
(3)
式中:vf表示落速,vc為落速限制,tf表示終止時間。xa表示離散后一個步長ts內(nèi)通過執(zhí)行a動作得到的航程距離。
針對滑翔段軌跡優(yōu)化問題,提出用深度強化學(xué)習(xí)方法訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),將非線性規(guī)劃問題離散化,轉(zhuǎn)化為序列決策問題。它根據(jù)此時的狀態(tài)和內(nèi)置深度神經(jīng)網(wǎng)絡(luò)可以在毫秒級快速輸出對應(yīng)的控制動作,然后迭代狀態(tài)和控制指令得到一條最優(yōu)規(guī)劃曲線,避免了在飛行過程中求解復(fù)雜的非線性規(guī)劃問題,通過地面訓(xùn)練的方式減少了空間飛行過程中的計算量,規(guī)劃流程如圖1。
圖1 基于神經(jīng)網(wǎng)絡(luò)的彈道規(guī)劃Fig.1 Trajectory planning based on neural network
滑翔初始數(shù)據(jù)參數(shù)設(shè)定見表1。
表1 滑翔初始參數(shù)設(shè)定Table 1 Initial glide parameter setting
本文研究的是滑翔段無動力滑翔,為保證飛行過程中的穩(wěn)定性,飛行過程中的控制量具有嚴(yán)格限制,設(shè)置攻角幅值的約束為α∈[0,12°],綜合考慮尋優(yōu)空間的大小與尋優(yōu)時間的長短,將控制攻角離散化,控制攻角取值為0~12°之間的整數(shù)。
DQN方法起源于Q-learning方法,采用一個價值表格記錄下每個狀態(tài)下的動作,并且賦予每個動作相應(yīng)的值,以表明此狀態(tài)下各動作的優(yōu)劣。但隨著狀態(tài)空間和動作空間的變大,整個價值表格的容量空間也會隨之變大,如果狀態(tài)空間是連續(xù)的,則無法使用Q-learning方法。因此,Q-learning方法可以解決離散狀態(tài)空間問題,而無法解決連續(xù)狀態(tài)空間問題。面對此類連續(xù)空間問題,DQN采用一個神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)代替價值表格,即動作價值網(wǎng)絡(luò)Q(st,at,μi),輸入當(dāng)前的狀態(tài)和動作即可得到相應(yīng)的動作價值Q值,解決了連續(xù)空間狀態(tài)維度爆炸的問題。
為了使訓(xùn)練過程更加穩(wěn)定,DQN算法采用了相同神經(jīng)元個數(shù)和參數(shù)配置的雙網(wǎng)絡(luò)結(jié)構(gòu),分別是當(dāng)前評估價值網(wǎng)絡(luò)μ和目標(biāo)價值網(wǎng)絡(luò)ω。在每次訓(xùn)練開始前,在給定的參數(shù)范圍內(nèi)初始化狀態(tài)參數(shù);在訓(xùn)練過程中,動作的選擇遵循貪心策略,即在開始訓(xùn)練的一段時間內(nèi),網(wǎng)絡(luò)模型會在動作空間內(nèi)隨機選擇動作,但隨著訓(xùn)練的不斷推進,一段時間后會逐步根據(jù)當(dāng)前的動作價值網(wǎng)絡(luò)的最大值選擇最優(yōu)動作。
根據(jù)當(dāng)前狀態(tài)和動作輸出下一階段的狀態(tài)參數(shù),輸入當(dāng)前經(jīng)驗樣本et=(statrtst+1)到記憶經(jīng)驗池容積De=(e1e2…et)當(dāng)中,記憶經(jīng)驗池方法有效打破了樣本之間的關(guān)聯(lián)關(guān)系,提高了數(shù)據(jù)利用率,每一次在固定時間步長之后從經(jīng)驗池容積當(dāng)中提取小批量樣本重新計算其動作價值,DQN算法誤差更新如下式[18]:
(4)
傳統(tǒng)DQN方法在前期訓(xùn)練的時候,參數(shù)通過經(jīng)驗池樣本中隨機抽取一批樣本進行更新,里面包含的低性能數(shù)據(jù)樣本,不利于網(wǎng)絡(luò)模型的最優(yōu)解。本文提出IM-DQN算法,在傳統(tǒng)DQN的原先經(jīng)驗池方法[19]基礎(chǔ)上添加優(yōu)秀經(jīng)驗保存,在更替網(wǎng)絡(luò)方面添加了限制探索率的策略模式,具體實現(xiàn)過程如下:
①優(yōu)秀經(jīng)驗保存會剔除表現(xiàn)低效的整個回合樣本點,只保留優(yōu)秀回合樣本,網(wǎng)絡(luò)模型在隨機抽取樣本的時候不再從低效回合樣本中學(xué)習(xí)經(jīng)驗。
②傳統(tǒng)DQN方法在每固定回合后,無條件將目標(biāo)價值網(wǎng)絡(luò)參數(shù)替換為評估價值網(wǎng)絡(luò)參數(shù)。限制探索率方法與之相比增加了一個限制探索率,如果多次訓(xùn)練出來的評估價值網(wǎng)絡(luò)的一個回合獎勵值低于目標(biāo)價值網(wǎng)絡(luò)的一個回合獎勵值乘以限制探索率的值,則這次更新停止反而將評估價值網(wǎng)絡(luò)重新替換為目標(biāo)價值網(wǎng)絡(luò),否定了網(wǎng)絡(luò)模型這一輪回合的探索工作。IM-DQN算法流程[20]如圖2所示。
圖2 IM-DQN算法流程框圖Fig.2 Flowchart of Improved DQN algorithm
本文將IM-DQN算法思想移入到彈道規(guī)劃當(dāng)中。算法采用了3步式的設(shè)計思路:狀態(tài)空間設(shè)計、狀態(tài)轉(zhuǎn)移方式設(shè)計以及獎勵值函數(shù)設(shè)計。
狀態(tài)空間設(shè)計:針對滑翔段飛行場景,滑翔制導(dǎo)炮彈滑翔橫向距離x、當(dāng)前高度y、飛行速度v、彈道傾角θ及動作值作為狀態(tài)空間,定義為S=(xyvθα)。
狀態(tài)轉(zhuǎn)移方式設(shè)計:在IM-DQN算法當(dāng)中,確定當(dāng)前狀態(tài)參數(shù)之后,動作價值網(wǎng)絡(luò)本身就是策略網(wǎng)絡(luò),在有限的動作空間內(nèi)選取最大動作,相當(dāng)于一個非線性函數(shù)映射當(dāng)前狀態(tài)下最佳動作。確定了當(dāng)前狀態(tài)、動作選取以及運動學(xué)模型,再通過數(shù)值方法求解相關(guān)非線性方程確定下一狀態(tài)參數(shù)。
獎勵值函數(shù)設(shè)計:為提高樣本效率和完成約束限制條件,本文采取連續(xù)獎勵項和懲罰項相結(jié)合的獎勵函數(shù)設(shè)置,設(shè)計如下式所示:
r(s)=rx+rp
(5)
式中:rx為每一步的航程獎勵函數(shù),只與當(dāng)前點到初始點的距離有關(guān)。rp為約束懲罰項。綜合以上兩點,現(xiàn)對獎勵函數(shù)具體設(shè)計如下式:
(6)
(7)
設(shè)置rx的目的是壓縮每一步的獎勵,促使著滑翔制導(dǎo)炮彈朝著更遠(yuǎn)的方向飛行。設(shè)置rp的作用是在炮彈落速低于約束限制之后給予一個懲罰措施。需要注意的是,相比于最優(yōu)控制求解過程的強制約束,DQN的約束往往呈現(xiàn)的是一種弱約束限制,它只是促使著彈道規(guī)劃落速朝著限制點運動,結(jié)果不一定嚴(yán)格滿足約束,而是在約束附近搖擺不定。
IM-DQN在訓(xùn)練過程中的步驟如下:
①初始化記憶經(jīng)驗池De,設(shè)置神經(jīng)網(wǎng)絡(luò)的超參數(shù),初始化評估價值網(wǎng)絡(luò)μ和目標(biāo)價值網(wǎng)絡(luò)ω。
②外循環(huán):初始滑翔制導(dǎo)炮彈的滑翔起點狀態(tài)參數(shù)s0,然后進入到內(nèi)循環(huán)當(dāng)中。
③內(nèi)循環(huán):內(nèi)循環(huán)是一個訓(xùn)練回合里面的工作循環(huán)。首先在每一步由貪心策略選取動作a,執(zhí)行動作a即可得到下一狀態(tài)st+1,采用優(yōu)秀經(jīng)驗保存機制存放(starst+1)到經(jīng)驗池De當(dāng)中;在隔了N個步長后將經(jīng)驗池De中隨機采樣一批樣本(si,a,r,si+1)進行價值判定,當(dāng)提取的樣本滿足終止條件時:yj=rj,而在其它情況下,其價值均為:yj=rj+γmaxa′Q(st+1,a′,ω),再進行梯度計算loss=[yj-Q(st,at,μt)]2,以此更新評估網(wǎng)絡(luò)μ。傳統(tǒng)DQN算法是在一定步數(shù)后無條件更換目標(biāo)價值網(wǎng)絡(luò),而IM-DQN算法會根據(jù)限制探索率進行更新,若滿足更新限制率,則ω=μ,反之則μ=ω。
本文以滑翔制導(dǎo)炮彈為研究對象開展彈道規(guī)劃,為了更大程度模擬真實作戰(zhàn)情況以及探索更多狀態(tài)空間,訓(xùn)練過程中在表1的滑翔參數(shù)基礎(chǔ)上添加隨機擾動:滑翔初始高度為57.5~58.5 km,初始速度為1 250~1 300 m/s,初始彈道傾角為-3°~0°。網(wǎng)絡(luò)學(xué)習(xí)率設(shè)置為η=0.01,折扣因子γ=0.99,經(jīng)驗池容量ND=20 000,采樣規(guī)模ba=64,訓(xùn)練時間步長設(shè)置為5 s。仿真實驗全部網(wǎng)絡(luò)采用同一種結(jié)構(gòu),設(shè)置兩個隱藏層,每層64個神經(jīng)元,中間全部采用tanh激活函數(shù)進行連接。具體網(wǎng)絡(luò)結(jié)構(gòu)及激活函數(shù)設(shè)置設(shè)計見表2。為更直觀的顯示規(guī)劃算法性能表現(xiàn),設(shè)置參照組最大升阻比方法、GPM方法與強化學(xué)習(xí)算法進行橫向性能比較。
表2 網(wǎng)絡(luò)結(jié)構(gòu)Table 2 Network structure
考慮到最大升阻比方法無法對落速進行約束,本文設(shè)計了兩種實驗,最大升阻比方法、DQN方法、IM-DQN方法3種實驗在無落速約束條件下進行仿真對比;GPM、IM-DQN方法2種實驗在有約束條件下進行仿真對比。
無落速仿真實驗選擇rx作為獎勵函數(shù),不再考慮懲罰約束項。為更方便觀察獎勵值的變化趨勢,本文設(shè)計每100個值取一次平均值作為平均獎勵值點。分別設(shè)計DQN和IM-DQN算法在10 000、30 000和50 000這三組不同訓(xùn)練回合下的對比實驗,為盡可能減少訓(xùn)練過程的偶然性對實驗的影響,每種回合分別訓(xùn)練10次取其中最優(yōu)網(wǎng)絡(luò)參數(shù)。兩種方法的具體獎勵趨勢如圖3和圖4所示。
圖3 無約束下的DQN算法獎勵趨勢圖Fig.3 Unconstrained DQN algorithm reward trend graph
圖4 無約束下的IM-DQN算法獎勵趨勢圖Fig.4 Unconstrained IM-DQN algorithm reward trend graph
從上面獎勵趨勢圖可以得出,傳統(tǒng)DQN算法的訓(xùn)練過程呈現(xiàn)出一種強隨機性,它的最終序列動作很難尋求到航程最優(yōu)值。反觀IM-DQN方法,在不同回合下它們的獎勵值全部呈現(xiàn)一個逐步上升的趨勢。表3為兩種方法的最終訓(xùn)練結(jié)果。
表3 無約束下兩種算法的最優(yōu)訓(xùn)練結(jié)果Table 3 The optimal training results of the two algorithms without constraints
根據(jù)對比結(jié)果看出IM-DQN方法訓(xùn)練結(jié)果更加穩(wěn)定。兩種算法皆在30 000訓(xùn)練回合數(shù)達(dá)到航程最大值,故選取30 000回合數(shù)作為最終訓(xùn)練回合數(shù)。本小節(jié)對比了IM-DQN方法、DQN方法和最大升阻比方法,3種算法的性能表現(xiàn)如圖5所示。
圖5 3種算法下的性能效果Fig.5 Performance effects of the three algorithms
對比圖5的仿真結(jié)果可以得出,IM-DQN方法相較于DQN方法和最大升阻比方法的射程都有所提升,其中相較于DQN方法和最大升阻比方法分別提升了9.8 km和19.5 km,說明IM-DQN方法在無約束條件下具有較好的優(yōu)化性能。飛行過程中該方法對應(yīng)的速度曲線相較于其它兩種方法更加平滑。3種方法的具體性能如表4所示。
表4 無約束下的三種方法性能比較Table 4 Performance comparison of three methods without constraints
有落速約束下的獎勵函數(shù)選用公式(5),完整考慮連續(xù)獎勵項和約束懲罰項。在有落速約束下選取合適的訓(xùn)練回合次數(shù),同樣設(shè)置10 000、30 000和50 000共3組不同訓(xùn)練回合,每組重復(fù)訓(xùn)練10次,各選其中性能表現(xiàn)最好的一組作為實驗參照組。為觀察獎勵值點的位置情況,3種訓(xùn)練回合下皆以等差的形式取400個點作為觀察對象。獎勵值點及其相關(guān)表現(xiàn)如圖6和圖7所示。
圖6 有約束下的DQN算法獎勵值點圖Fig.6 Constrained DQN algorithm rewards value point plot
圖7 有約束下的IM-DQN算法獎勵值點圖Fig.7 Constrained IM-DQN algorithm rewards value point plot
由圖6和圖7可以得出,兩種方法的獎勵值點在不同訓(xùn)練回合的末端皆落于零值以上,說明兩種訓(xùn)練方法都可以良好的滿足落速約束限制。但從性能表現(xiàn)來看,IM-DQN方法訓(xùn)練結(jié)果的獎勵值點最后在150附近起伏,而DQN方法的3種訓(xùn)練回合的結(jié)果獎勵值僅有15,在圖6中基本與右零刻度線重合,說明了航程性能上的差異。兩種方法的具體性能如表5所示。
表5 有約束下兩種算法的最優(yōu)訓(xùn)練結(jié)果Table 5 Optimal training results of two algorithms under constraints
根據(jù)上述仿真實驗結(jié)果可知,在有限次數(shù)訓(xùn)練下,傳統(tǒng)DQN方法的性能效果完全無法跟相同訓(xùn)練回合下的IM-DQN方法相比。在有約束條件下,DQN方法難以尋求到最優(yōu)動作價值網(wǎng)絡(luò),它僅僅滿足了約束限制,但不能在有約束下尋求最優(yōu)。從不同訓(xùn)練回合可以看出DQN方法隨著訓(xùn)練回合數(shù)增加,網(wǎng)絡(luò)性能逐漸發(fā)生變化,這種情況說明要想通過DQN方法完全體現(xiàn)出其最優(yōu)性能網(wǎng)絡(luò)可能還需要更多的訓(xùn)練回合數(shù),這同時也延長了前期訓(xùn)練的準(zhǔn)備時間,不利于實際作戰(zhàn)的應(yīng)用。從圖7及表5可以得出,不同于于無約束情況下,當(dāng)問題復(fù)雜之后,隨著訓(xùn)練回合的增多,網(wǎng)絡(luò)所呈現(xiàn)的效果也就越好,綜合考慮下選取50 000訓(xùn)練回合數(shù)的神經(jīng)網(wǎng)絡(luò)作為有約束下的動作價值網(wǎng)絡(luò)。為觀察IM-DQN具體性能表現(xiàn)情況,本小節(jié)設(shè)計基于最優(yōu)控制理論的高斯偽譜法作為仿真對比參照組,通過GPOPS工具箱可以得到最優(yōu)控制規(guī)劃曲線。IM-DQN方法與GPM的具體性能效果對比仿真如圖8所示。
圖8 兩種算法下的性能對比效果Fig.8 Performance comparison between the two algorithms
圖8和表6是IM-DQN和GPM算法的性能結(jié)果對比,由圖可以得出IM-DQN方法規(guī)劃曲線與GPM十分相似,甚至結(jié)果值還略高于GPM,這也展示了強化學(xué)習(xí)在與環(huán)境交互過程中的優(yōu)越性能,它擁有著在約束條件下尋求最優(yōu)性能網(wǎng)絡(luò)參數(shù)的能力。強化學(xué)習(xí)之所以可以在有約束條件下尋求到了最優(yōu)性航程網(wǎng)絡(luò)參數(shù),是因為深度強化學(xué)習(xí)在探索過程中帶有記憶性,并且賦予這種記憶價值,這種價值不同于深度學(xué)習(xí)限制于數(shù)據(jù)樣本自身的局限性,強化學(xué)習(xí)的記憶基于與環(huán)境的交互過程,在環(huán)境交互中評定動作的優(yōu)劣程度,使得深度強化學(xué)習(xí)可以突破單純深度學(xué)習(xí)的局部樣本最優(yōu)解。但在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中有許多因素會導(dǎo)致網(wǎng)絡(luò)性能崩塌,本文IM-DQN方法添加了低效經(jīng)驗池剔除和探索限制率的組合策略,使得網(wǎng)絡(luò)的魯棒性更高,不容易在訓(xùn)練過程中發(fā)生崩塌。隨著學(xué)習(xí)過程的逐漸增加,網(wǎng)絡(luò)也積累著更多的知識從而做出更優(yōu)的指令。
表6 有約束下的兩種方法性能比較Table 6 Performance comparison of two methods under constraints
本文利用強化學(xué)習(xí)與環(huán)境交互的特點,提出了一種基于IM-DQN的滑翔制導(dǎo)炮彈彈道規(guī)劃方法,在傳統(tǒng)DQN算法的基礎(chǔ)上,利用低效經(jīng)驗池剔除加限制探索率策略,有效解決了傳統(tǒng)DQN學(xué)習(xí)效率低,獎勵曲線方向不明確的問題。仿真結(jié)果證明,IM-DQN方法很好地解決了傳統(tǒng)強化學(xué)習(xí)方法在尋求最優(yōu)控制過程中網(wǎng)絡(luò)崩塌現(xiàn)象無法尋求到最優(yōu)解的問題,為智能彈道規(guī)劃提供一種新的選擇。