張建東,王鼎涵,楊啟明,史國(guó)慶,陸屹,張耀中
(1.西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710072;2.沈陽(yáng)飛機(jī)設(shè)計(jì)研究所,遼寧 沈陽(yáng) 110035)
現(xiàn)代空戰(zhàn)以決策速度快、機(jī)動(dòng)性能高、態(tài)勢(shì)感知能力強(qiáng)、高魯棒性等特點(diǎn)為核心,然而有人機(jī)受人類(lèi)生理極限限制,無(wú)法發(fā)揮出戰(zhàn)斗機(jī)的極限性能。無(wú)人機(jī)擺脫了人類(lèi)生理極限,但機(jī)動(dòng)控制由地面指揮,決策速度慢,若大幅延長(zhǎng)觀察、判斷、決策、行動(dòng)(OODA)環(huán)的時(shí)間則容易錯(cuò)失戰(zhàn)機(jī),因此智能化無(wú)人機(jī)空戰(zhàn)自主決策成為當(dāng)今的研究熱點(diǎn)。
隨著OODA 3.0概念的提出[1]以及人工智能技術(shù)的不斷發(fā)展,無(wú)人機(jī)在機(jī)動(dòng)決策等單一維度的決策方面已經(jīng)實(shí)現(xiàn)了一定程度的自主化,并且在某些方面已經(jīng)達(dá)到或者超越了人類(lèi)飛行員的水平。然而,空戰(zhàn)過(guò)程是一個(gè)復(fù)雜的多維決策過(guò)程,要完成空戰(zhàn)的自主化決策,必須要實(shí)現(xiàn)多個(gè)維度的協(xié)同自主化決策。因此無(wú)人機(jī)多維空戰(zhàn)決策一直是該領(lǐng)域亟需攻克的難關(guān),其對(duì)實(shí)現(xiàn)完全無(wú)人化空戰(zhàn)的終極目標(biāo)至關(guān)重要。
當(dāng)前對(duì)無(wú)人機(jī)自主決策的諸多研究都集中在機(jī)動(dòng)決策方面,通過(guò)深度Q網(wǎng)絡(luò)(DQN)[2]、深度確定性策略梯度(DDPG)[3-5]、Actor-Critic等深度強(qiáng)化學(xué)習(xí)算法來(lái)實(shí)現(xiàn)對(duì)無(wú)人機(jī)的機(jī)動(dòng)控制。但這些方法有著超參數(shù)敏感、策略選擇單一、無(wú)法解決多維決策問(wèn)題[6]等缺點(diǎn),無(wú)法很好地滿(mǎn)足無(wú)人機(jī)空戰(zhàn)對(duì)于快速收斂、高魯棒性及多維決策的要求。事實(shí)上,空戰(zhàn)決策除了機(jī)動(dòng)決策外,還包括傳感器決策、武器決策、干擾決策等各方面多維度的決策。相比而言,分層強(qiáng)化學(xué)習(xí)憑借著其能夠進(jìn)行空間分解和分層訓(xùn)練的優(yōu)勢(shì),有望使無(wú)人機(jī)具備充足的策略,從而完成復(fù)雜的作戰(zhàn)任務(wù)。
目前,已經(jīng)有很多學(xué)者使用分層強(qiáng)化學(xué)習(xí)方法對(duì)無(wú)人機(jī)多維決策的相關(guān)問(wèn)題進(jìn)行了探索性研究。王俊敏等[7]在空戰(zhàn)編隊(duì)協(xié)同上應(yīng)用了分層策略,但關(guān)鍵的觀測(cè)數(shù)據(jù)并未給出,無(wú)法進(jìn)行有效訓(xùn)練。付躍文等[8]應(yīng)用了分層優(yōu)化方法解決了無(wú)人機(jī)之間協(xié)作任務(wù)規(guī)劃模塊設(shè)計(jì),證實(shí)了空戰(zhàn)決策空間建模的可行性。文永明等[9]研究了一種無(wú)人機(jī)機(jī)群對(duì)抗多耦合任務(wù)智能決策方法,采用分層強(qiáng)化策略訓(xùn)練方法,提出混合式深度強(qiáng)化學(xué)習(xí)架構(gòu),完成了無(wú)人機(jī)突防偵察任務(wù)及目標(biāo)的協(xié)同分配任務(wù),證實(shí)了分層架構(gòu)的有效性。程先峰等[10]采用一種基于MAXQ的Multi-agent分層強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)協(xié)調(diào)方法,增強(qiáng)了無(wú)人機(jī)在混合運(yùn)行復(fù)雜環(huán)境下適應(yīng)環(huán)境和自協(xié)調(diào)的能力。吳宜珈等[11]提出基于選項(xiàng)的近端策略分層優(yōu)化算法,用來(lái)解決近端策略?xún)?yōu)化算法在空戰(zhàn)智能決策過(guò)程中面臨的動(dòng)作空間過(guò)大、難以收斂的問(wèn)題。通過(guò)對(duì)相關(guān)文獻(xiàn)的分析可以看出,目前在無(wú)人機(jī)多維決策方面的研究還不夠完善,所研究問(wèn)題的規(guī)模都比較小,決策維度與現(xiàn)實(shí)差距較大,導(dǎo)致其應(yīng)用環(huán)境過(guò)于簡(jiǎn)單。
與此同時(shí),以美國(guó)為代表的軍事強(qiáng)國(guó)正在緊鑼密鼓地開(kāi)展將人工智能技術(shù)應(yīng)用于無(wú)人機(jī)復(fù)雜作戰(zhàn)任務(wù)的相關(guān)實(shí)驗(yàn)驗(yàn)證。2021年美國(guó)洛克希德·馬丁公司于美國(guó)國(guó)防部高級(jí)研究計(jì)劃局(DARPA)舉辦的Alpha狗斗(ADT)比賽中展示了其最新研發(fā)的分層強(qiáng)化學(xué)習(xí)算法適應(yīng)性新穎策略生成的操作層級(jí)結(jié)構(gòu)(PHANG-MAN[12]),成功地將分層強(qiáng)化學(xué)習(xí)方法應(yīng)用到無(wú)人機(jī)空戰(zhàn)決策中,實(shí)現(xiàn)了多維空戰(zhàn)決策中的追擊決策、規(guī)避決策、打擊決策。該算法在ADT決賽中斬獲第二,并擊敗了美國(guó)空軍F-16武器教練課的畢業(yè)生。該算法充分體現(xiàn)了分層強(qiáng)化學(xué)習(xí)在解決多維空戰(zhàn)決策問(wèn)題中的策略模塊化、智能化、去中心化的特點(diǎn),這一實(shí)驗(yàn)結(jié)果表明美軍在無(wú)人機(jī)多維決策方面已經(jīng)達(dá)到了很高水平。此外,其他相關(guān)研究[13-21]均表明深度強(qiáng)化學(xué)習(xí)在空戰(zhàn)中的理論可行性。因此,進(jìn)行無(wú)人機(jī)多維自主決策的應(yīng)用研究具有一定的理論意義和使用價(jià)值。
本文以無(wú)人機(jī)一對(duì)一(1v1)、集群四對(duì)四(4v4)的紅藍(lán)空戰(zhàn)對(duì)抗任務(wù)為場(chǎng)景,基于分層強(qiáng)化學(xué)習(xí)的架構(gòu)建立無(wú)人機(jī)智能空戰(zhàn)的多維決策模型,采用Soft Actor-Critic算法訓(xùn)練底層單元策略,并結(jié)合專(zhuān)家經(jīng)驗(yàn)建立元策略組,擴(kuò)展了決策的維度。改進(jìn)傳統(tǒng)的Option-Critic算法,設(shè)計(jì)優(yōu)化了策略終止函數(shù),提高了策略切換的靈活性,實(shí)現(xiàn)了空戰(zhàn)中多個(gè)維度決策的無(wú)縫切換。
為了較好地完成目標(biāo)打擊任務(wù),設(shè)計(jì)雷達(dá)開(kāi)關(guān)、主動(dòng)干擾、隊(duì)形轉(zhuǎn)換、目標(biāo)探測(cè)、目標(biāo)追蹤、干擾規(guī)避、武器選擇與目標(biāo)打擊共7種元策略。以貪心算法作為頂層元策略選擇策略,完成智能多維空戰(zhàn)自主決策。仿真實(shí)驗(yàn)結(jié)果表明,訓(xùn)練完成后的無(wú)人機(jī)可以靈活地完成元策略的切換調(diào)用,能夠以豐富的元策略組合完成更高層次的作戰(zhàn)決策,體現(xiàn)了分層強(qiáng)化學(xué)習(xí)算法在提升無(wú)人機(jī)自主決策維度上的應(yīng)用潛力。
根據(jù)空戰(zhàn)OODA環(huán)的概念,第1步需要確定目標(biāo)方位。本文設(shè)定雙方雷達(dá)探測(cè)能力一致,為實(shí)現(xiàn)先敵發(fā)現(xiàn),需要構(gòu)建高效的搜索方法。
貫穿整個(gè)空戰(zhàn)過(guò)程的雷達(dá)探測(cè)至關(guān)重要,它有著確定目標(biāo)精確方位、攻擊引導(dǎo)的作用。在打擊前,應(yīng)確保目標(biāo)不丟失,因此需要我機(jī)雷達(dá)能夠持續(xù)照射目標(biāo),同時(shí)規(guī)避目標(biāo)的電磁干擾。
在目標(biāo)探測(cè)過(guò)程中,被動(dòng)雷達(dá)能夠在電磁靜默情況下確定目標(biāo)方位。然而單架飛機(jī)的被動(dòng)探測(cè)僅能確定目標(biāo)方向,無(wú)法精確確定目標(biāo)的坐標(biāo)。若要完成精確探測(cè),則需要至少兩架飛機(jī)協(xié)同探測(cè)。
為降低因雷達(dá)開(kāi)機(jī)暴露位置的風(fēng)險(xiǎn),需要對(duì)雷達(dá)資源做合理的分配。在編隊(duì)內(nèi),對(duì)于距離較近、航向差較小的我機(jī),僅需開(kāi)啟其中一個(gè)雷達(dá),因此需要給出合理分配雷達(dá)資源的數(shù)學(xué)模型和規(guī)則模型。
在打擊目標(biāo)前,需要判斷目標(biāo)的距離以及自身剩余的導(dǎo)彈數(shù)量和種類(lèi)以選擇合適的導(dǎo)彈類(lèi)型。打擊目標(biāo)時(shí),應(yīng)該確保我機(jī)安全,采用合理的干擾策略,避免暴露位置。
在多機(jī)作戰(zhàn)過(guò)程中,編隊(duì)往往能夠最大化作戰(zhàn)能力,最小化作戰(zhàn)損耗。常用的編隊(duì)模型為長(zhǎng)機(jī)-僚機(jī)編隊(duì)。作戰(zhàn)伊始通過(guò)合理的編隊(duì)布局增強(qiáng)戰(zhàn)力,作戰(zhàn)過(guò)程中遇到隊(duì)形破壞可以采用隊(duì)形轉(zhuǎn)變策略重組編隊(duì),維持整個(gè)作戰(zhàn)過(guò)程中的戰(zhàn)力。
綜上所述,整個(gè)空戰(zhàn)流程涵蓋了雷達(dá)開(kāi)關(guān)、主動(dòng)干擾、隊(duì)形轉(zhuǎn)換、目標(biāo)探測(cè)、武器選擇、目標(biāo)打擊、目標(biāo)追蹤、干擾規(guī)避策略,空戰(zhàn)中的主要決策環(huán)節(jié)如圖1所示。
圖1 空戰(zhàn)全流程分析Fig.1 Analysis of the whole air combat process
為了降低因雷達(dá)開(kāi)機(jī)暴露位置的風(fēng)險(xiǎn),飛機(jī)往往會(huì)在非必要時(shí)刻關(guān)閉雷達(dá),處于電磁靜默狀態(tài)。本文構(gòu)建了雷達(dá)開(kāi)關(guān)模型,分析探測(cè)重疊區(qū)域,給出了雷達(dá)開(kāi)關(guān)判定規(guī)則。
為避免探測(cè)資源浪費(fèi),并降低暴露位置風(fēng)險(xiǎn),分析了雷達(dá)探測(cè)重疊區(qū)域,如圖2所示。圖2中,θ表示雷達(dá)的探測(cè)半角,λ1和λ2分別表示兩架飛機(jī)的航向角。
圖2 雷達(dá)探測(cè)重疊區(qū)域分析Fig.2 Overlapping area analysis of radar detection
設(shè)d表示兩機(jī)的間距,則無(wú)人機(jī)進(jìn)入判決區(qū)域的條件如式(1)所示:
(1)
式中:r為雷達(dá)探測(cè)距離。
式(1)表述了兩機(jī)間距及兩機(jī)航向角度差值小于閾值時(shí),兩機(jī)處于判決區(qū)域,需要關(guān)閉其中一架飛機(jī)的雷達(dá)。
設(shè)定判決狀態(tài)變量p,如果滿(mǎn)足判決公式,則判決變量p置為1,否則置為0,具體的判定規(guī)則如下:
1)若p=1,則關(guān)聯(lián)判決友機(jī)編號(hào)(id)為ip,本機(jī)id為im,根據(jù)全局判定列表[(p,ip,im)…],觀察是否存在重復(fù)ip,若存在則不開(kāi)啟im=ip飛機(jī)的雷達(dá),開(kāi)啟ip≠im飛機(jī)的雷達(dá)。否則開(kāi)啟長(zhǎng)機(jī)雷達(dá)。
2)所有不在全局列表中的無(wú)人機(jī)全部開(kāi)啟雷達(dá)。
模型輸入為我機(jī)的坐標(biāo)、航向、雷達(dá)開(kāi)關(guān)狀態(tài),輸出為雷達(dá)的開(kāi)機(jī)頻點(diǎn),0表示關(guān)機(jī),非0表示開(kāi)機(jī)相應(yīng)頻點(diǎn)。
為了實(shí)現(xiàn)瞄準(zhǔn)式干擾,本文構(gòu)建了主動(dòng)干擾模型,分析了干擾區(qū)域,給出了干擾規(guī)則。
實(shí)施干擾前,我機(jī)需要確定被干擾目標(biāo)的雷達(dá)頻點(diǎn),記為rt。若目標(biāo)處于我機(jī)主動(dòng)雷達(dá)的照射范圍內(nèi)且不受目標(biāo)干擾時(shí),則我機(jī)可以獲取到目標(biāo)雷達(dá)開(kāi)機(jī)頻點(diǎn)的觀測(cè)信息。此時(shí)僅需將我機(jī)的干擾頻點(diǎn)rj設(shè)置為目標(biāo)的雷達(dá)頻點(diǎn)即可完成瞄準(zhǔn)式干擾,即滿(mǎn)足:
rt=rj
(2)
模型的輸入為目標(biāo)的開(kāi)機(jī)頻點(diǎn),未探測(cè)到時(shí)獎(jiǎng)勵(lì)記為0,探測(cè)到n個(gè)目標(biāo)干擾頻點(diǎn),獎(jiǎng)勵(lì)記為n。輸出為我機(jī)的開(kāi)機(jī)頻點(diǎn)。
為了提高協(xié)同效能,構(gòu)建隊(duì)形轉(zhuǎn)換模型,建立長(zhǎng)機(jī)-僚機(jī)編隊(duì)模型,考慮到作戰(zhàn)過(guò)程中被破壞的情況給出了編隊(duì)重組方案。
初始時(shí)刻我方編隊(duì)為兩兩一組,以長(zhǎng)機(jī)-僚機(jī)形式編隊(duì),長(zhǎng)機(jī)執(zhí)行搜索-攻擊任務(wù),僚機(jī)進(jìn)行探測(cè)干擾任務(wù),掩護(hù)長(zhǎng)機(jī)。若長(zhǎng)機(jī)被擊毀,僚機(jī)將接替長(zhǎng)機(jī)位置完成攻擊與目標(biāo)探測(cè)等任務(wù)。長(zhǎng)機(jī)id記為idl,僚機(jī)id記為idf。構(gòu)建編隊(duì)列表與全局編隊(duì){[idl,idf]…},若作戰(zhàn)過(guò)程中因戰(zhàn)損導(dǎo)致編隊(duì)結(jié)構(gòu)被破壞,則可以通過(guò)判斷編隊(duì)列表進(jìn)行編隊(duì)重組。例如,編隊(duì)1長(zhǎng)機(jī)被擊毀,記[-idl,idf]。若整隊(duì)成員全部被擊毀,則將該編隊(duì)列表移出全局編隊(duì)。
編隊(duì)重組通過(guò)遍歷所有編隊(duì),根據(jù)編隊(duì)列表中是否存在負(fù)值篩選不完整編隊(duì),不完整編隊(duì)數(shù)量記作N,重組編隊(duì)數(shù)記作T,有
T=N%2
(3)
無(wú)法重組編隊(duì)數(shù)記為L(zhǎng),有
L=N-2T
(4)
重組的編隊(duì)根據(jù)遍歷順序賦予長(zhǎng)機(jī)或僚機(jī)職能,無(wú)法重組的單機(jī)單獨(dú)完成作戰(zhàn)任務(wù)。
模型的輸入為我機(jī)編隊(duì)的位置坐標(biāo)、航向及我機(jī)的存活狀態(tài),輸出為我機(jī)的航向。
為實(shí)現(xiàn)目標(biāo)的快速定位,本文構(gòu)建目標(biāo)探測(cè)模型,提出基于人工勢(shì)場(chǎng)的主動(dòng)搜索方法,構(gòu)建搜索圓域模型,設(shè)計(jì)被動(dòng)搜索方案。
為確保主動(dòng)搜索時(shí)編隊(duì)的分布式搜索,采用人工勢(shì)場(chǎng)維持我方無(wú)人機(jī)之間的距離,主要采用人工勢(shì)場(chǎng)中的斥力場(chǎng),我機(jī)編隊(duì)在分布式搜索過(guò)程中應(yīng)避免搜索區(qū)域的重復(fù)。通過(guò)定義勢(shì)場(chǎng)函數(shù),當(dāng)友機(jī)間距離過(guò)近時(shí),勢(shì)場(chǎng)的斥力趨近無(wú)窮;當(dāng)友機(jī)間距離超過(guò)指定值時(shí),勢(shì)場(chǎng)的斥力減少到0 N。定義ρ(q)為我機(jī)到其他友機(jī)自定義可調(diào)圓形邊界QO的距離:
(5)
式中:q為我機(jī)當(dāng)前位形;q′為邊界位形;?QO表示空間障礙區(qū)域的邊界。定義ρ0為一個(gè)障礙物影響的距離,當(dāng)我機(jī)q距離障礙(即友機(jī))距離大于ρ0時(shí),不會(huì)排斥q。符合上述標(biāo)準(zhǔn)的勢(shì)函數(shù)描述為
(6)
式中:η為比例系數(shù)。排斥力為Urep(q)的負(fù)梯度,當(dāng)ρ(q)≤ρ0時(shí),排斥力為
(7)
如果QO為凸函數(shù),b是QO邊界上最接近q的點(diǎn),則
ρ(q)=‖q-b‖
(8)
其梯度為
(9)
被動(dòng)探測(cè)方面,被動(dòng)雷達(dá)通過(guò)吸收敵方電磁波照射獲取目標(biāo)相對(duì)于自身的方位。被動(dòng)探測(cè)的優(yōu)點(diǎn)是能夠在不發(fā)射電磁波的情況下對(duì)目標(biāo)進(jìn)行探測(cè),缺點(diǎn)是精度較差,單架飛機(jī)僅能測(cè)得輻射來(lái)源的粗略方向,需要至少兩架無(wú)人機(jī)協(xié)同被動(dòng)探測(cè)目標(biāo)才能實(shí)現(xiàn)目標(biāo)位置的準(zhǔn)確計(jì)算。
多機(jī)協(xié)同作戰(zhàn)可利用被動(dòng)雷達(dá)定位目標(biāo)位置,當(dāng)編隊(duì)內(nèi)有我機(jī)被動(dòng)接收到目標(biāo)信號(hào)時(shí),友機(jī)配合支援,從不同方向進(jìn)行同步雷達(dá)搜索,可以快速定位目標(biāo),并進(jìn)行打擊(干擾,打擊協(xié)同一體化),但前提是目標(biāo)不丟失。目標(biāo)丟失分兩種情況:
1)目標(biāo)被其他友機(jī)摧毀;
2)目標(biāo)雷達(dá)照射區(qū)域脫離被動(dòng)探測(cè)區(qū)域(例如突然改變方向等)。
針對(duì)第1種情況,可以通過(guò)設(shè)計(jì)并檢查全局摧毀列表來(lái)解決;針對(duì)第2種情況,放棄被動(dòng)探測(cè)方法,直接開(kāi)啟主動(dòng)雷達(dá)搜尋目標(biāo)。
具體的搜索方法為:我機(jī)1被動(dòng)探測(cè)到目標(biāo),主動(dòng)雷達(dá)并沒(méi)有探測(cè)到;我機(jī)1根據(jù)自身坐標(biāo)位置及航向確定假想目標(biāo)最遠(yuǎn)位置(被動(dòng)探測(cè)能夠確定目標(biāo)方向,因此可以確定目標(biāo)在該方位線(xiàn)上最遠(yuǎn)距離dmax到最近距離dmin之間),第1次記錄的點(diǎn)記為pv(xv,yv),此時(shí)調(diào)動(dòng)距離最近的友機(jī)前來(lái)支援,但是最近的友機(jī)也可能受到目標(biāo)的干擾,此時(shí)應(yīng)跟隨我機(jī)1一同朝向目標(biāo)行進(jìn),并調(diào)動(dòng)其他距離最近的友機(jī)。如果在判斷圓域外,直接向pv點(diǎn)航行(在中軸線(xiàn)友機(jī)側(cè)),或者向我機(jī)1所在的位置航行(在中軸線(xiàn)友機(jī)另一側(cè))。如圖3所示,友機(jī)在我機(jī)同側(cè)時(shí)朝向pv航行,友機(jī)雷達(dá)探測(cè)區(qū)域?qū)⒏采w目標(biāo)位置,進(jìn)而探測(cè)到目標(biāo)具體坐標(biāo)及方位;友機(jī)在我機(jī)對(duì)側(cè)時(shí)朝我機(jī)(我機(jī)1)方向航行,同樣可以覆蓋目標(biāo)所有可能的位置。
圖3 我機(jī)位于判斷圓域外分析圖Fig.3 Analysis of our UAVs located outside the judgment circle
如果在判斷圓域內(nèi)且位于我機(jī)1一側(cè),同樣直接朝向pv航行,到達(dá)中線(xiàn)位置仍未探測(cè)到,則掉頭朝向我機(jī)1航行。反之亦然,按照該策略一定能夠快速探測(cè)到目標(biāo)。圖4中深藍(lán)色扇形表明初始位置友機(jī)的探測(cè)區(qū)域,由于目標(biāo)處于探測(cè)區(qū)域外,為了全覆蓋對(duì)側(cè)目標(biāo)可能存在的區(qū)域,需要飛到中線(xiàn),如果沒(méi)有探測(cè)到,折返朝向我機(jī)1航行。
圖4 我機(jī)位于判斷圓域內(nèi)分析圖Fig.4 Analysis of our UAVs located in the judgment circle
已知θ=60°,我機(jī)2飛行到中線(xiàn)再折返的原因在于中線(xiàn)與判斷圓域的交點(diǎn)Q距離pv恰好為最大探測(cè)距離dmax,此時(shí)朝向pv能夠覆蓋目標(biāo)所在弦。若我機(jī)2在圓域內(nèi)Q點(diǎn)與我機(jī)1構(gòu)成的弦內(nèi)接以pv為圓心、pvQ為半徑的部分圓弧,在此圓弧外時(shí)距離pv大于最大探測(cè)距離dmax,需要飛到中線(xiàn)附近才能夠全覆蓋。這個(gè)極限在于Q點(diǎn),越趨近于Q點(diǎn),意味著越需要朝著中線(xiàn)行進(jìn),才能全覆蓋。為了便于處理,我機(jī)2沒(méi)有在弦的不同側(cè)采取不同策略,而是統(tǒng)一按照先到達(dá)中線(xiàn)再折返這一思路。實(shí)際上,當(dāng)我機(jī)2在圓域內(nèi)由Q點(diǎn)與我機(jī)1構(gòu)成的弦右側(cè)圓弧內(nèi)時(shí),只需朝向pv進(jìn)行瞬時(shí)探測(cè),若沒(méi)有發(fā)現(xiàn)目標(biāo)即可折返。
模型輸入為我機(jī)的位置坐標(biāo)及航向,輸出為我機(jī)的航向。
為實(shí)現(xiàn)先敵打擊,構(gòu)建武器選擇與目標(biāo)打擊模型,建立打擊目標(biāo)分配策略,分析導(dǎo)彈攻擊區(qū),給出打擊策略。導(dǎo)彈攻擊區(qū)如圖5所示。
圖5 導(dǎo)彈攻擊區(qū)Fig.5 Missile attack zone
整個(gè)作戰(zhàn)OODA環(huán)中先敵打擊至關(guān)重要。顯然,當(dāng)目標(biāo)位于武器極限攻擊距離時(shí)立即開(kāi)火即為最優(yōu)打擊策略。武器的種類(lèi)需要根據(jù)距離進(jìn)行選擇,首選遠(yuǎn)程導(dǎo)彈,遠(yuǎn)距探測(cè)到即打擊,無(wú)遠(yuǎn)距導(dǎo)彈可貼近用中距導(dǎo)彈,近距離則選中距導(dǎo)彈。
此外,當(dāng)編隊(duì)作戰(zhàn)時(shí),應(yīng)考慮打擊目標(biāo)的分配問(wèn)題。打擊目標(biāo)id放入全局打擊列表中,每次迭代到相應(yīng)無(wú)人機(jī)時(shí)查詢(xún)本機(jī)打擊列表是否在全局打擊列表中,若存在,則具有相同打擊目標(biāo)的無(wú)人機(jī)不打擊此目標(biāo)。若打擊無(wú)人機(jī)陣亡,則將目標(biāo)id從全局打擊列表中移除。打擊目標(biāo)按照我機(jī)與目標(biāo)個(gè)體間距離大小進(jìn)行分配,距離近的個(gè)體優(yōu)先執(zhí)行對(duì)應(yīng)id的目標(biāo)打擊任務(wù),如果目標(biāo)在全局打擊列表中,友機(jī)選擇除此機(jī)之外探測(cè)到的目標(biāo)進(jìn)行打擊。
模型輸入為探測(cè)到的目標(biāo)位置坐標(biāo)及航向,輸出為我機(jī)的航向。
為實(shí)現(xiàn)探測(cè)到目標(biāo)后的目標(biāo)追蹤,本文構(gòu)建目標(biāo)追蹤模型,構(gòu)建其觀測(cè)值與獎(jiǎng)勵(lì)函數(shù),最后基于最大化熵軟演員-評(píng)論家(SAC)算法訓(xùn)練模型。
模型輸入為我機(jī)位置坐標(biāo)、航向及探測(cè)到的目標(biāo)位置坐標(biāo),輸出為我機(jī)航向。
為了避免追蹤過(guò)程中因目標(biāo)干擾導(dǎo)致目標(biāo)丟失,本文構(gòu)建了干擾規(guī)避模型,構(gòu)建其觀測(cè)值與獎(jiǎng)勵(lì)函數(shù),最后基于SAC算法訓(xùn)練模型。
模型輸入為我機(jī)的位置坐標(biāo)、探測(cè)到的目標(biāo)位置坐標(biāo)及我機(jī)航向,輸出為我機(jī)的航向。
為實(shí)現(xiàn)空戰(zhàn)多維決策,需要構(gòu)建空戰(zhàn)多維決策模型。本文基于分層結(jié)構(gòu),將底層決策模型分為依靠專(zhuān)家知識(shí)的經(jīng)驗(yàn)?zāi)P秃突赟AC算法決策的訓(xùn)練模型。針對(duì)決策模型何時(shí)結(jié)束的問(wèn)題,本文基于Option-Critic算法,摒棄策略訓(xùn)練,取而代之使用已有的策略模型,僅訓(xùn)練策略的終止函數(shù),實(shí)現(xiàn)策略的靈活切換。頂層策略選擇器基于貪心算法,選擇期望回報(bào)最高的策略作為當(dāng)前狀態(tài)下的決策。
對(duì)于由雷達(dá)開(kāi)關(guān)、主動(dòng)干擾、隊(duì)形轉(zhuǎn)換、目標(biāo)探測(cè)、武器選擇與目標(biāo)打擊元策略構(gòu)成的經(jīng)驗(yàn)?zāi)P突趯?zhuān)家知識(shí)無(wú)需訓(xùn)練。對(duì)于由目標(biāo)追蹤和干擾規(guī)避策略構(gòu)成的訓(xùn)練模型,訓(xùn)練采用SAC算法。其在傳統(tǒng)的Actor-Critic方法引入最大化熵的思想,采用與PPO[19]類(lèi)似的隨機(jī)分布式策略函數(shù),且是Off-Policy、Actor-Critic的算法。SAC算法區(qū)別于其他算法的明顯之處在于SAC同時(shí)最大化了回報(bào)和策略的熵值。在實(shí)際應(yīng)用中,SAC在各種常用的benchmark以及真實(shí)的機(jī)器人控制任務(wù)中表現(xiàn)穩(wěn)定、性能優(yōu)秀,具有極強(qiáng)的抗干擾能力。針對(duì) DDPG算法選擇確定性策略問(wèn)題,SAC引入了最大化熵方法,能夠讓策略盡可能隨機(jī),智能體可以充分探索狀態(tài)空間,避免策略過(guò)早陷入局部最優(yōu),并且可以探索到多個(gè)可行的方案來(lái)完成制定任務(wù),提高了抗干擾能力。此外,為提高算法性能,采用DQN中的技巧,引入兩個(gè)Q網(wǎng)絡(luò)以及目標(biāo)網(wǎng)絡(luò),為表述最大化熵值的重要程度,引入自適應(yīng)溫度系數(shù)α,針對(duì)不同問(wèn)題溫度系數(shù)的調(diào)節(jié),將其構(gòu)造成一個(gè)帶約束的優(yōu)化問(wèn)題,即最大化期望收益的同時(shí),保持策略的熵大于一個(gè)閾值。SAC訓(xùn)練模型算法的偽代碼如圖6所示。
圖6 SAC訓(xùn)練模型算法偽代碼Fig.6 Pseudocode of SAC training model algorithm
2.2.1 決策結(jié)構(gòu)分解
為構(gòu)建整體作戰(zhàn)策略,需要確定作戰(zhàn)流程以及作戰(zhàn)邏輯,整體作戰(zhàn)的分層決策結(jié)構(gòu)圖如圖7 所示。
圖7 整體作戰(zhàn)的分層決策結(jié)構(gòu)Fig.7 Hierarchical decision-making structure for operations
決策選擇層作為策略選擇器負(fù)責(zé)在當(dāng)前狀態(tài)下進(jìn)行元策略的挑選,初始編隊(duì)及需要編隊(duì)重組時(shí)選擇隊(duì)形轉(zhuǎn)換策略;在雷達(dá)未發(fā)現(xiàn)目標(biāo)階段應(yīng)選擇目標(biāo)探測(cè)策略進(jìn)行目標(biāo)搜索(分布式);搜索過(guò)程中要合理分配雷達(dá)資源選擇雷達(dá)開(kāi)關(guān)策略;發(fā)現(xiàn)目標(biāo)選擇目標(biāo)追蹤策略對(duì)目標(biāo)展開(kāi)追擊,追蹤目標(biāo)過(guò)程中避免目標(biāo)丟失與反擊應(yīng)該采取主動(dòng)干擾策略對(duì)目標(biāo)雷達(dá)干擾,并采取干擾規(guī)避策略;目標(biāo)進(jìn)入攻擊區(qū)時(shí)采用武器選擇與目標(biāo)打擊模型完成對(duì)敵打擊。
整個(gè)作戰(zhàn)策略由7部分元策略構(gòu)成:訓(xùn)練和干擾規(guī)避2個(gè)訓(xùn)練策略;雷達(dá)開(kāi)關(guān)、主動(dòng)干擾、隊(duì)形轉(zhuǎn)換、目標(biāo)探測(cè)及武器選擇與目標(biāo)打擊5個(gè)固定策略。對(duì)于訓(xùn)練策略基于Actor-Critic框架分別構(gòu)建執(zhí)行和評(píng)估神經(jīng)網(wǎng)絡(luò)。記錄狀態(tài)空間、動(dòng)作空間和獎(jiǎng)勵(lì)值,最終為這兩個(gè)策略設(shè)計(jì)經(jīng)驗(yàn)池。
2.2.2 改進(jìn)Option-Critic方法
由于基于傳統(tǒng)Option-Critic的分層強(qiáng)化學(xué)習(xí)方法很難引入專(zhuān)家的經(jīng)驗(yàn)知識(shí)且只能輸入元策略的個(gè)數(shù),其余均由Option-Critic算法訓(xùn)練每個(gè)元策略的策略函數(shù)和終止函數(shù)。而選項(xiàng)方法雖能引入經(jīng)驗(yàn)知識(shí),但要求人為設(shè)計(jì)終止函數(shù),無(wú)法實(shí)現(xiàn)元策略的靈活切換。為了更好解決復(fù)雜空戰(zhàn)問(wèn)題,引入現(xiàn)有效果較好的專(zhuān)家經(jīng)驗(yàn)?zāi)P褪直匾?且具有明顯的策略含義。本文基于傳統(tǒng)的Option-Critic算法并做出改進(jìn),為引入自定義模型,首先為Option-Critic指定現(xiàn)有元策略模型的個(gè)數(shù),將每個(gè)自定義策略模型和Option-Critic框架下的模型一一對(duì)應(yīng)起來(lái),在執(zhí)行Option-Critic框架訓(xùn)練時(shí),對(duì)于選中的策略?xún)H訓(xùn)練其終止函數(shù),策略函數(shù)由自定義模型提供。
上層策略選擇一個(gè)選項(xiàng)ω∈Ω,選項(xiàng)包含3部分:策略πω(a|s)表示選項(xiàng)中的策略,終止條件β表示狀態(tài)s有βω(s)概率結(jié)束當(dāng)前選項(xiàng),初始集Iω表示選項(xiàng)的初始狀態(tài)集合。
當(dāng)終止函數(shù)返回0時(shí),下一步還會(huì)由當(dāng)前選項(xiàng)來(lái)控制;當(dāng)終止函數(shù)返回1時(shí),該選項(xiàng)的任務(wù)暫時(shí)完成,控制權(quán)交還給上層策略。把每個(gè)選項(xiàng)的終止函數(shù)都用神經(jīng)網(wǎng)絡(luò)進(jìn)行函數(shù)近似來(lái)參數(shù)化表示,即βω,?(s),?表示網(wǎng)絡(luò)參數(shù),策略選取構(gòu)建好的模型策略πω(a|s)。在這些選項(xiàng)之間做選擇的上層策略,用πΩ(ω|s)表示,即在狀態(tài)s時(shí)策略選擇選項(xiàng)ω的概率。在此基礎(chǔ)上,可以定義某狀態(tài)下選擇某個(gè)選項(xiàng)后產(chǎn)生的總收益。選擇某個(gè)選項(xiàng)時(shí),采取某行動(dòng)之后產(chǎn)生的總收益和在使用某選項(xiàng)到達(dá)某狀態(tài)之后產(chǎn)生的總收益。
選項(xiàng)內(nèi)部?jī)H更新為各選項(xiàng)的終止函數(shù)βω,?(s)。根據(jù)總折扣回報(bào)相對(duì)其參數(shù)的導(dǎo)數(shù),可以利用如policy gradient的方法更新其參數(shù)。改進(jìn)的Option-Critic算法結(jié)構(gòu)如圖8所示,與原算法相比,本文將訓(xùn)練策略改成了自定義策略。圖8中,AΩ為選項(xiàng)之間的優(yōu)勢(shì)函數(shù),at為t時(shí)刻的動(dòng)作,ωt為t時(shí)刻選擇的選項(xiàng),rt為t時(shí)刻的獎(jiǎng)勵(lì),QU為最優(yōu)選項(xiàng)-價(jià)值函數(shù)。
圖8 改進(jìn)Option-Critic算法結(jié)構(gòu)圖Fig.8 Diagram of improved Option-Critic algorithm structure
2.2.3 多維空戰(zhàn)決策算法構(gòu)建
(10)
式中:γ為折扣率;st為t時(shí)刻狀態(tài);ω、a為尚未觀測(cè)到的隨機(jī)變量。
圖9 Beta算法偽代碼Fig.9 Pseudocode of Beta algorithm
圖10 多維空戰(zhàn)的構(gòu)建方法及流程Fig.10 Construction method and process of multi-dimensional air combat
3.1.1 軟件平臺(tái)
選用文獻(xiàn)[22]推出的MaCA環(huán)境對(duì)本文建立的模型進(jìn)行仿真驗(yàn)證。MaCA環(huán)境支持作戰(zhàn)場(chǎng)景和規(guī)模自定義,智能體數(shù)量和種類(lèi)自定義,智能體特征和屬性自定義,支持智能體行為回報(bào)規(guī)則和回報(bào)值自定義等。
MaCA環(huán)境中提供了一個(gè)電磁空間對(duì)抗的多智能體實(shí)驗(yàn)環(huán)境,環(huán)境中預(yù)設(shè)了探測(cè)單元和攻擊單元兩種智能體類(lèi)型:探測(cè)單元可模擬L、S波段雷達(dá)進(jìn)行全向探測(cè),支持多頻點(diǎn)切換;攻擊單元具備偵察、探測(cè)、干擾、打擊等功能,可模擬X波段雷達(dá)進(jìn)行指向性探測(cè),模擬L、S、X頻段干擾設(shè)備進(jìn)行阻塞式和瞄準(zhǔn)式電子干擾,支持多頻點(diǎn)切換,攻擊單元還可對(duì)對(duì)方智能體進(jìn)行導(dǎo)彈攻擊,同時(shí)具有無(wú)源偵測(cè)能力,可模擬多站無(wú)源協(xié)同定位和輻射源特征識(shí)別。
MaCA環(huán)境為研究利用人工智能方法解決大規(guī)模多智能體分布式對(duì)抗問(wèn)題提供了很好的支撐,專(zhuān)門(mén)面向多智能體深度強(qiáng)化學(xué)習(xí)開(kāi)放了RL-API接口。環(huán)境支持使用Python語(yǔ)言進(jìn)行算法實(shí)現(xiàn),并可調(diào)用Tensorflow、Pytorch等常用深度學(xué)習(xí)框架。
3.1.2 硬件環(huán)境
CPU采用Intel i7-10700KF,GPU采用Nvidia RTX 3070加速深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程,顯存大小為8 GB,內(nèi)存16 GB。
假定紅藍(lán)雙方功能完全一致。雙方在指定地圖大小的二維環(huán)境中完成整個(gè)探測(cè)-干擾-規(guī)避-協(xié)同-打擊作戰(zhàn)流程。藍(lán)方為規(guī)則驅(qū)動(dòng),規(guī)則未知。雙方任務(wù)為在規(guī)定作戰(zhàn)步數(shù)內(nèi)盡可能少地消耗導(dǎo)彈去殲滅更多的目標(biāo),取得數(shù)量?jī)?yōu)勢(shì)。單機(jī)1v1對(duì)抗場(chǎng)景地圖修改雙方戰(zhàn)機(jī)數(shù)量為1,遠(yuǎn)程導(dǎo)彈與近程導(dǎo)彈各4發(fā),地圖尺寸設(shè)置為500×500。目標(biāo)開(kāi)啟阻塞干擾,算法采用MaCA環(huán)境中的fix_rule_no_att黑盒算法;我機(jī)采用多維決策算法。共執(zhí)行20回合,每回合最大運(yùn)行步數(shù)為5 000。
多機(jī)4v4對(duì)抗場(chǎng)景地圖修改雙方戰(zhàn)機(jī)數(shù)量為4,遠(yuǎn)程導(dǎo)彈與近程導(dǎo)彈各4發(fā),地圖尺寸設(shè)置為500×500。目標(biāo)開(kāi)啟阻塞干擾雷達(dá),算法采用MaCA環(huán)境中的fix_rule_no_att黑盒算法;我機(jī)采用Beta算法。共執(zhí)行10回合,每回合最大運(yùn)行步數(shù)為5 000。
3.3.1 訓(xùn)練方法
我機(jī)當(dāng)前狀態(tài)下的航向角為α1,坐標(biāo)為(x0,y0);目標(biāo)當(dāng)前狀態(tài)下的方位角為α2,坐標(biāo)為(x1,y1)。記下一個(gè)狀態(tài)我機(jī)航向角為α1n,坐標(biāo)為(x0n,y0n);下個(gè)狀態(tài)目標(biāo)方位角為α2n,坐標(biāo)為(x1n,x2n),設(shè)偏航角為下個(gè)狀態(tài)我機(jī)航向角與當(dāng)前狀態(tài)目標(biāo)方位角的差值,記作Δ,有Δ=α1n-α2。目標(biāo)追蹤模型為純追蹤,問(wèn)題模型為最小化Δ。Δ和α2作為神經(jīng)網(wǎng)絡(luò)的輸入觀測(cè)值。目標(biāo)追蹤問(wèn)題模型最小化Δ,因此可以構(gòu)造二次函數(shù)R=-Δ2作為問(wèn)題的獎(jiǎng)勵(lì)函數(shù),Δ越小,獎(jiǎng)勵(lì)值越大,越接近0。
隨機(jī)初始狀態(tài),我機(jī)開(kāi)啟雷達(dá)對(duì)目標(biāo)進(jìn)行探測(cè),目標(biāo)干擾雷達(dá)關(guān)閉。訓(xùn)練環(huán)境采取1v1方式,首先固定我機(jī)進(jìn)行跟蹤訓(xùn)練。雙方觀測(cè)規(guī)則均采用MaCA環(huán)境中的raw規(guī)則,輸入狀態(tài)維度為2,動(dòng)作維度為1,Actor-Critic網(wǎng)絡(luò)中Actor策略網(wǎng)絡(luò)學(xué)習(xí)率設(shè)置為3×10-4,Critic策略網(wǎng)絡(luò)學(xué)習(xí)率設(shè)置為3×10-3,溫度參數(shù)設(shè)置為3×10-4,神經(jīng)網(wǎng)絡(luò)隱含層單元數(shù)為512,共兩層。回報(bào)折扣率設(shè)為0.99,軟更新參數(shù)設(shè)置為0.005。經(jīng)驗(yàn)池大小設(shè)置為100 000,最小存儲(chǔ)數(shù)據(jù)量設(shè)為1 000條。一次喂入神經(jīng)網(wǎng)絡(luò)的batch大小為64,總回合數(shù)為100,每回合最大步數(shù)設(shè)置為500。將環(huán)境Render設(shè)置為可見(jiàn)。
為了加快訓(xùn)練并豐富樣本,提出了訓(xùn)練優(yōu)化方法。設(shè)置目標(biāo)高速移動(dòng),我機(jī)固定,設(shè)置目標(biāo)移動(dòng)策略為每隔10步隨機(jī)改變航向,縮小地圖尺寸為50×50。頻繁的方位改變能夠讓我機(jī)充分探索各個(gè)航向。
整體訓(xùn)練過(guò)程收斂迅速,通過(guò)觀察可見(jiàn)我機(jī)成功鎖定目標(biāo),如圖11所示。
圖11 目標(biāo)運(yùn)動(dòng)、我機(jī)固定時(shí)的追蹤訓(xùn)練示意圖Fig.11 Schematic diagram of tracking training when the enemy UAVs are moving and our UAV is fixed
圖12和圖13展示了總訓(xùn)練輪數(shù)為100和1 000次的回報(bào)曲線(xiàn),可見(jiàn),使用SAC算法在目標(biāo)運(yùn)動(dòng),我機(jī)固定時(shí)的環(huán)境下訓(xùn)練效果顯著,該目標(biāo)追蹤問(wèn)題在每回合1 000步的迭代中能夠在第10回合左右達(dá)到收斂,收斂效果很好。
圖12 SAC跟蹤訓(xùn)練的原始回報(bào)曲線(xiàn)(100輪)Fig.12 Original reward curve of SAC tracking training (100 rounds)
圖13 SAC跟蹤訓(xùn)練的原始回報(bào)曲線(xiàn)(1 000輪)Fig.13 Original reward curve of SAC tracking training (1 000 rounds)
在1 000次的訓(xùn)練中,為了避免過(guò)擬合問(wèn)題,豐富訓(xùn)練樣本,本文采用了動(dòng)態(tài)改變環(huán)境的方法,通過(guò)動(dòng)態(tài)改變地圖的大小與無(wú)人機(jī)位置保證初識(shí)狀態(tài)的不同。從圖13中可見(jiàn),算法收斂后仍有一些回合回報(bào)值較低,但很快便達(dá)到收斂狀態(tài)。
我機(jī)固定訓(xùn)練完成,將經(jīng)過(guò)大量回合訓(xùn)練好的模型保存,改變地圖參數(shù),讓我機(jī)具有速度并擴(kuò)大地圖尺寸,目標(biāo)速度降低為與我機(jī)速度一致,驗(yàn)證跟蹤模型的有效性。在MaCA環(huán)境中,對(duì)目標(biāo)速度的改變并不會(huì)影響整體的代碼結(jié)構(gòu),僅需在map地圖中設(shè)置speed參數(shù)即可。使用圖14展示了總驗(yàn)證回合為10、目標(biāo)移動(dòng)時(shí)的驗(yàn)證回報(bào)曲線(xiàn)。
圖14 我機(jī)移動(dòng)時(shí)跟蹤驗(yàn)證的回報(bào)曲線(xiàn)Fig.14 Reward curve for tracking verification when our UAV is moving
由圖14可見(jiàn),當(dāng)我機(jī)運(yùn)動(dòng)時(shí)回報(bào)值依舊較小,通過(guò)10回合的驗(yàn)證(非訓(xùn)練),如圖15所示,發(fā)現(xiàn)我機(jī)能在目標(biāo)轉(zhuǎn)向時(shí)完美同步追蹤,跟蹤效果顯著,驗(yàn)證了訓(xùn)練模型的有效性。
圖15 驗(yàn)證演示過(guò)程示意圖Fig.15 Schematic diagram of verification demonstration
3.3.2 對(duì)照實(shí)驗(yàn)
采用DDPG算法作為對(duì)照,環(huán)境設(shè)置相同,通過(guò)調(diào)整超參數(shù)得到我機(jī)運(yùn)動(dòng)的情況下最優(yōu)跟蹤訓(xùn)練的回報(bào)曲線(xiàn)如圖16所示。
圖16 基于DDPG的跟蹤訓(xùn)練原始回報(bào)曲線(xiàn)Fig.16 Original reward curve of tracking training based on DDPG
DDPG算法處理該問(wèn)題同樣具有收斂趨勢(shì),但相較于SAC算法曲線(xiàn)波動(dòng)大,回報(bào)值沒(méi)有穩(wěn)定在0附近。這是由于DDPG算法對(duì)超參數(shù)極其敏感,略微調(diào)整學(xué)習(xí)率就可能導(dǎo)致訓(xùn)練結(jié)果不收斂。此外,DDPG算法只選擇一個(gè)最優(yōu)策略,而不考慮等優(yōu)策略,這影響了算法穩(wěn)定性及遷移性。而SAC算法同時(shí)最大化策略熵與回報(bào)期望,能夠?qū)W到等優(yōu)策略,此外,SAC算法對(duì)于不同的隨機(jī)數(shù)種子等超參數(shù)能夠達(dá)到同樣的收斂效果,穩(wěn)定性能也更加出色。
我機(jī)相對(duì)于目標(biāo)的方位角為α1,目標(biāo)的航向角為α2,我機(jī)的航向角為α3,目標(biāo)航向角與方位角度差值為Δ1,方位角與我機(jī)的航向角差值為Δ2,兩機(jī)間距記為d??梢愿鶕?jù)目標(biāo)航向角與方位角差值以及中值π來(lái)構(gòu)造觀測(cè)值和獎(jiǎng)勵(lì)函數(shù)。同樣地,先對(duì)觀測(cè)值進(jìn)行預(yù)處理,取cos(|Δ1-π|)作為觀測(cè)值,由于|Δ1-π|≤π,當(dāng)Δ1距離中值π越近時(shí),觀測(cè)值越大且附近越平緩,表明狀態(tài)很好。相反當(dāng)距離中值越遠(yuǎn)時(shí),觀測(cè)值越小,且附近的觀測(cè)值變化不大,表明狀態(tài)很差。
獎(jiǎng)勵(lì)函數(shù)的構(gòu)建需要記錄當(dāng)前狀態(tài)下的目標(biāo)航向α2,目標(biāo)坐標(biāo)(x2,y2),下一狀態(tài)下的方位角α1s,我機(jī)坐標(biāo)(x1s,y1s)。計(jì)算兩個(gè)狀態(tài)下的坐標(biāo)距離衡量采取的動(dòng)作是否減小了距離,記作
d=(x1s-x2)2+(y1s-y2)2
(11)
獎(jiǎng)勵(lì)函數(shù)第1部分構(gòu)造為
R=-(α2s-α1)2·d
(12)
獎(jiǎng)勵(lì)值越大,表明我機(jī)航向角與目標(biāo)方位角之間夾角越小,我機(jī)與目標(biāo)之間的距離越近。
獎(jiǎng)勵(lì)函數(shù)第2部分構(gòu)造為區(qū)域獎(jiǎng)勵(lì),判斷當(dāng)前狀態(tài)目標(biāo)的航向角與下一狀態(tài)方位角之間的差距是否在[175°,185°]和[-175°,-185°]內(nèi),如果在該范圍內(nèi),則獎(jiǎng)勵(lì)函數(shù)為
R=-1 000·|cos(10(α2-α1s))|
(13)
該獎(jiǎng)勵(lì)值越小,表明距離干擾中線(xiàn)越近,并且在遠(yuǎn)離干擾中線(xiàn)的方向獎(jiǎng)勵(lì)值梯度很大,引導(dǎo)我機(jī)優(yōu)先進(jìn)行干擾區(qū)的規(guī)避。最終觀測(cè)值構(gòu)造為cos(|Δ1-π|)、Δ2、α2、α1、d。超參數(shù)設(shè)定同3.3節(jié)。
通過(guò)圖17的回報(bào)曲線(xiàn)可見(jiàn)隨著訓(xùn)練的進(jìn)行,整體訓(xùn)練過(guò)程達(dá)到收斂狀態(tài)。觀察整個(gè)追蹤加躲避干擾的演示過(guò)程,如圖18所示,可以明顯看到我機(jī)在初始位置受到目標(biāo)干擾時(shí),選擇快速逃離干擾區(qū),逃離成功后對(duì)目標(biāo)進(jìn)行追擊。
圖17 跟蹤加規(guī)避干擾的回報(bào)曲線(xiàn)Fig.17 Tracking plus distraction avoidance payoff curve
圖18 干擾規(guī)避與追蹤演示圖Fig.18 Interference avoidance and tracking demo
3.5.1 回報(bào)獎(jiǎng)勵(lì)設(shè)計(jì)
模型訓(xùn)練需要的回報(bào)獎(jiǎng)勵(lì)依據(jù)不同的元策略分別設(shè)置。7種元策略的具體獎(jiǎng)勵(lì)設(shè)置方案如下:
1)針對(duì)目標(biāo)探測(cè)策略,設(shè)置固定時(shí)間步長(zhǎng)τ1,發(fā)現(xiàn)目標(biāo)則應(yīng)該由β(s)控制結(jié)束該選項(xiàng)。發(fā)現(xiàn)目標(biāo)給予獎(jiǎng)勵(lì)Ro=10。
2)針對(duì)武器選擇與目標(biāo)打擊策略,成功打擊一次目標(biāo)記獎(jiǎng)勵(lì)為Rh=100,若打擊列表仍存在打擊目標(biāo),則應(yīng)給予與終止函數(shù)概率呈反比的懲罰項(xiàng):
(14)
3)針對(duì)隊(duì)形轉(zhuǎn)換策略,在對(duì)局開(kāi)始階段與我機(jī)戰(zhàn)損時(shí)完成策略執(zhí)行記一次集群獎(jiǎng)勵(lì)Rg=30。
4)針對(duì)雷達(dá)開(kāi)關(guān)策略,成功完成開(kāi)關(guān)切換動(dòng)作記一次開(kāi)關(guān)獎(jiǎng)勵(lì)Rs=20。
5)針對(duì)主動(dòng)干擾策略,探測(cè)到目標(biāo)頻點(diǎn)并成功設(shè)定干擾頻點(diǎn)記一次干擾獎(jiǎng)勵(lì)Rj=100。
6)對(duì)于目標(biāo)追蹤策略,發(fā)現(xiàn)目標(biāo)時(shí)提供最大策略獎(jiǎng)勵(lì),記作Rc=100。
7)對(duì)于干擾規(guī)避策略,我機(jī)位于目標(biāo)干擾區(qū)域時(shí)提供給最大策略獎(jiǎng)勵(lì),記為Rm=100。
3.5.2 決策模型構(gòu)建
選項(xiàng)模型構(gòu)建結(jié)構(gòu)與一般Option-Critic結(jié)構(gòu)不同,在訓(xùn)練時(shí)采取之前已經(jīng)構(gòu)建好的元策略模型,通過(guò)封裝好的元策略模型,輸入環(huán)境狀態(tài)返還動(dòng)作,即放棄Option-Critic自動(dòng)訓(xùn)練策略,這是因?yàn)椴扇ption-Critic方法訓(xùn)練的元策略無(wú)法將動(dòng)作序列具體化為符合人類(lèi)邏輯與經(jīng)驗(yàn)的策略,且容易過(guò)擬合到某個(gè)動(dòng)作,而非序列動(dòng)作。改進(jìn)后的方法只通過(guò)Actor-Critic網(wǎng)絡(luò)訓(xùn)練得到終止函數(shù),給出元策略在不同狀態(tài)下完成執(zhí)行的時(shí)間。Critic網(wǎng)絡(luò)根據(jù)狀態(tài)及獎(jiǎng)勵(lì)更新選項(xiàng)價(jià)值函數(shù)Q值以及選項(xiàng)間的優(yōu)勢(shì)函數(shù),梯度反向傳遞Actor網(wǎng)絡(luò)完成參數(shù)更新給出終止函數(shù)。決策模型算法流程與示意圖如圖19與圖20所示。
圖19 決策模型算法流程Fig.19 Process of decision-making model algorithm
圖20 多維決策算法執(zhí)行示意圖Fig.20 Schematic diagram of multi-dimensional decision-making algorithm execution
3.6.1 1v1對(duì)戰(zhàn)結(jié)果
由于MaCA環(huán)境截圖效果無(wú)法顯示作戰(zhàn)流程,這里通過(guò)記錄實(shí)際數(shù)據(jù)繪制具有說(shuō)明意義的局部作戰(zhàn)軌跡,給出作戰(zhàn)示意圖。
圖21展示了我機(jī)探測(cè)到目標(biāo)之后選擇目標(biāo)追蹤策略對(duì)目標(biāo)展開(kāi)追蹤,能夠精準(zhǔn)鎖定目標(biāo)方位并進(jìn)行追蹤;在追蹤過(guò)程中干擾開(kāi)機(jī)且干擾頻點(diǎn)發(fā)生轉(zhuǎn)變,說(shuō)明采取了主動(dòng)干擾策略;與此同時(shí),開(kāi)啟干擾規(guī)避策略規(guī)避目標(biāo)干擾,從示意圖中可見(jiàn)我機(jī)繞開(kāi)了目標(biāo)的干擾區(qū)域成功規(guī)避目標(biāo)干擾。
圖21 分層強(qiáng)化1v1的仿真驗(yàn)證示意圖Fig.21 Schematic diagram of simulation verification of hierarchical reinforcement 1v1
與多機(jī)不同的是,在1v1中,由于沒(méi)有友機(jī)提供目標(biāo)的位置坐標(biāo)信息,我機(jī)判斷是否進(jìn)入干擾區(qū)的條件是目標(biāo)上一時(shí)刻所處探測(cè)區(qū)域的角度以及目標(biāo)是否丟失,如果處于探測(cè)區(qū)域的邊緣且目標(biāo)丟失,則需要重新搜索,被干擾概率很低。如果處于探測(cè)區(qū)域中央且下一時(shí)刻目標(biāo)丟失,則大概率由于目標(biāo)干擾造成,從而判斷出我機(jī)位于目標(biāo)區(qū),此時(shí)將假定目標(biāo)在上一時(shí)刻的方位且朝向我機(jī),我機(jī)需要躲避該固定干擾區(qū)域;將目標(biāo)引導(dǎo)到攻擊區(qū),在適當(dāng)?shù)木嚯x選擇攻擊動(dòng)作并成功打擊目標(biāo)。
各個(gè)策略的執(zhí)行動(dòng)作均以合適的時(shí)機(jī)完成切換,且策略執(zhí)行的終止函數(shù)能夠正確地在不同狀態(tài)終止正在執(zhí)行的策略。通過(guò)20輪的算法演示驗(yàn)證,我機(jī)(紅方)均取得勝利,以100%全勝的戰(zhàn)績(jī)戰(zhàn)勝了目標(biāo)算法,驗(yàn)證了該分層強(qiáng)化決策的有效性。
3.6.2 4v4對(duì)戰(zhàn)結(jié)果
表1展示了10回合中雷達(dá)開(kāi)關(guān)與否的被動(dòng)發(fā)現(xiàn)次數(shù)統(tǒng)計(jì),可見(jiàn)采用雷達(dá)開(kāi)關(guān)策略能夠大幅減少目標(biāo)被動(dòng)發(fā)現(xiàn)我機(jī)的頻次,減少因目標(biāo)被動(dòng)探測(cè)暴露我機(jī)位置的概率。這點(diǎn)對(duì)于在執(zhí)行異構(gòu)的情況下我機(jī)執(zhí)行的掩護(hù)任務(wù)尤為重要。
表1 10回合雷達(dá)開(kāi)關(guān)與否的被動(dòng)發(fā)現(xiàn)次數(shù)統(tǒng)計(jì)Table 1 Data of the number of passive discoveries with or without radar switch in 10 rounds
圖22展示了10回合中雷達(dá)開(kāi)關(guān)與否被動(dòng)發(fā)現(xiàn)次數(shù)的平均統(tǒng)計(jì)柱形圖,可以直觀看出采用雷達(dá)開(kāi)關(guān)策略目標(biāo)被動(dòng)探測(cè)到我機(jī)平均次數(shù)為13次,而禁用雷達(dá)開(kāi)關(guān)策略被動(dòng)探測(cè)次數(shù)上升到平均20次,證明了在分層決策下雷達(dá)開(kāi)關(guān)策略的有效性。
圖22 使用雷達(dá)開(kāi)關(guān)策略與否的平均被動(dòng)發(fā)現(xiàn)次數(shù)對(duì)比Fig.22 Comparison of average passive discoveries with and without radar switch strategy
圖23所示為Beta智能體可以在回合開(kāi)始完成初始化編隊(duì),以長(zhǎng)機(jī)-僚機(jī)編隊(duì)進(jìn)行目標(biāo)的探測(cè)與干擾,這種初始編隊(duì)能夠優(yōu)先取得信息優(yōu)勢(shì),實(shí)現(xiàn)壓制干擾,在我方無(wú)損毀的情況下殲滅兩架目標(biāo),在開(kāi)始便掌握數(shù)量?jī)?yōu)勢(shì)。我機(jī)編隊(duì)在殲滅了受壓制干擾的目標(biāo)之后終止函數(shù)停止編隊(duì)決策,策略選擇器根據(jù)當(dāng)前狀態(tài)選擇其他元策略。隊(duì)形轉(zhuǎn)換策略在作戰(zhàn)過(guò)程中能夠在我機(jī)隊(duì)形被破壞的情況下完成編隊(duì)重組,重組后以編隊(duì)形式對(duì)目標(biāo)進(jìn)行壓制干擾,避免了因單獨(dú)作戰(zhàn)敵我同時(shí)發(fā)射導(dǎo)彈而互換的情況。
圖23 初始編隊(duì)Fig.23 Initial formation
為驗(yàn)證隊(duì)形轉(zhuǎn)換策略的有效性,統(tǒng)計(jì)了10回合內(nèi)編隊(duì)重組后該編隊(duì)50步內(nèi)的打擊情況以及損失情況。記編隊(duì)成功打擊目標(biāo)數(shù)量為S,編隊(duì)成員損失數(shù)量為D,每局的數(shù)量統(tǒng)計(jì)如表2所示,其中,S與D均為0時(shí)代表本局編隊(duì)結(jié)構(gòu)未損壞。編隊(duì)重組后協(xié)同打擊仿真如圖24所示。
表2 10回合隊(duì)形轉(zhuǎn)換50步內(nèi)打擊與損失統(tǒng)計(jì)Table 2 Data of strike and loss within 50 steps in 10 rounds of formation change
圖24 編隊(duì)重組后協(xié)同編隊(duì)打擊目標(biāo)Fig.24 Cooperative formation striking the target after formation reorganization
從表2中的數(shù)據(jù)分析可知,除第2、5、6、8回合我機(jī)編隊(duì)結(jié)構(gòu)沒(méi)有破壞外,其他回合重組的編隊(duì)均完成了目標(biāo)的壓制打擊任務(wù),且僅有第7回合在編隊(duì)執(zhí)行搜索任務(wù)過(guò)程中損失1架戰(zhàn)機(jī),其他回合均無(wú)戰(zhàn)機(jī)損失,驗(yàn)證了分層決策下隊(duì)形轉(zhuǎn)換策略的有效性。
圖25展示了Beta算法能夠在友機(jī)陣亡時(shí)指導(dǎo)我機(jī)向陣亡方位進(jìn)行搜索,由于友機(jī)陣亡時(shí)代表目標(biāo)在附近活動(dòng),前往該區(qū)域附近進(jìn)行搜索能夠大幅增加截獲概率,充分展現(xiàn)了決策的智能性。
圖25 友機(jī)陣亡我機(jī)搜索決策Fig.25 Our UAV’s search decision when friendly UAVs are killed
目標(biāo)探測(cè)策略中的分布式搜索采用了人工勢(shì)場(chǎng)中的斥力場(chǎng),能夠維持友機(jī)間距,避免探索重復(fù)區(qū)域。圖26展示了我機(jī)分布式搜索策略,當(dāng)友機(jī)相互靠近時(shí)會(huì)采取相互遠(yuǎn)離的動(dòng)作。分層決策下,Beta成功在我機(jī)雷達(dá)未發(fā)現(xiàn)目標(biāo)時(shí)選擇目標(biāo)探測(cè)策略完成分布式搜索,驗(yàn)證了目標(biāo)探測(cè)模型的有效性。
圖26 分布式搜索Fig.26 Distributed search
圖27藍(lán)色實(shí)線(xiàn)表示導(dǎo)彈發(fā)射并命中,展示了我機(jī)武器選擇和打擊決策。為驗(yàn)證分層決策結(jié)構(gòu)是否可以準(zhǔn)確完成先敵打擊,需要考量我機(jī)采取武器選擇與目標(biāo)打擊策略時(shí)我機(jī)與目標(biāo)的距離是否恰為導(dǎo)彈攻擊區(qū)的邊緣。為此,統(tǒng)計(jì)了10輪全流程作戰(zhàn)過(guò)程中選擇打擊時(shí)我機(jī)與目標(biāo)平均距離,記為D1,給出該距離與攻擊區(qū)邊緣距離的差距,記為Δ1,相關(guān)數(shù)據(jù)記錄如表3所示。
表3 10回合隊(duì)形轉(zhuǎn)換50步內(nèi)打擊與損失統(tǒng)計(jì)Table 3 The gap between the current distance and the edge of the attack zone in 10 rounds
圖27 打擊演示Fig.27 Strike demo
從表3中的數(shù)據(jù)可見(jiàn),平均每局Beta采取打擊決策時(shí)距離誤差不超過(guò)20 m,充分展現(xiàn)了分層決策在武器選擇與目標(biāo)打擊的及時(shí)性與有效性,同時(shí)說(shuō)明了終止函數(shù)訓(xùn)練的有效性。
此外,該圖還展示了我機(jī)編隊(duì)對(duì)目標(biāo)進(jìn)行壓制干擾,讓目標(biāo)探測(cè)系統(tǒng)癱瘓從而無(wú)法對(duì)我機(jī)做出打擊動(dòng)作,雖然目標(biāo)的探測(cè)能力與武器與我機(jī)完全一致,但由于受到干擾無(wú)法第一時(shí)間向我方發(fā)射導(dǎo)彈,從而可以使我機(jī)編隊(duì)完成優(yōu)先打擊,主動(dòng)干擾策略的有效性也體現(xiàn)于此。
對(duì)于武器的使用情況,為避免我機(jī)對(duì)同一目標(biāo)發(fā)射多發(fā)導(dǎo)彈從而導(dǎo)致武器彈藥的浪費(fèi),采取了打擊目標(biāo)分配方法。為驗(yàn)證該方法的有效性,統(tǒng)計(jì)了每局作戰(zhàn)結(jié)束導(dǎo)彈的使用情況。結(jié)果表明,每局導(dǎo)彈消耗量均為4,即一發(fā)導(dǎo)彈打擊一個(gè)目標(biāo),利用效率為100%。
為分析全流程作戰(zhàn)分層決策Beta模型的有效性,本文定義了平均戰(zhàn)損,描述為平均每局對(duì)決的無(wú)人機(jī)損失數(shù)量,由表4與圖28可見(jiàn)在10場(chǎng)對(duì)局中Beta算法平均每局損失1.4架戰(zhàn)機(jī),黑盒算法fix_rule_no_att平均損失3.8架,充分說(shuō)明了結(jié)果表明Beta算法以全勝的戰(zhàn)績(jī)擊敗了黑盒算法。
表4 作戰(zhàn)結(jié)果Table 4 Combat result
圖28 算法對(duì)比Fig.28 Algorithm comparison
本文對(duì)無(wú)人機(jī)多維空戰(zhàn)自主決策展開(kāi)研究,分析了現(xiàn)有研究成果以及不足。針對(duì)相關(guān)研究缺乏多維決策的問(wèn)題,提出了采用分層強(qiáng)化學(xué)習(xí)完成無(wú)人機(jī)多維決策模型構(gòu)建以及訓(xùn)練方法的構(gòu)建。本文提出的多維空戰(zhàn)自主決策分層算法通過(guò)改變傳統(tǒng)Option-Critic框架,結(jié)合傳統(tǒng)選項(xiàng)框架能夠引入專(zhuān)家經(jīng)驗(yàn)的優(yōu)勢(shì),同時(shí)無(wú)需設(shè)計(jì)終止函數(shù),通過(guò)訓(xùn)練完成元策略的靈活切換,算法擴(kuò)展性強(qiáng)、層次分明、策略意義顯著。在MaCA環(huán)境完成紅藍(lán)對(duì)抗仿真,對(duì)空戰(zhàn)戰(zhàn)術(shù)決策以及自主空戰(zhàn)的多元化發(fā)展具有重要意義。得到主要結(jié)論如下:
1)元策略訓(xùn)練收斂,仿真驗(yàn)證能夠很好地完成目標(biāo)跟蹤、干擾規(guī)避等任務(wù)。
2)該算法能夠在不同狀態(tài)下完成最優(yōu)策略切換,并以全勝的戰(zhàn)績(jī)擊敗黑盒算法fix_rule_no_att。
下一步工作重點(diǎn)為:將訓(xùn)練環(huán)境遷移到三維,提升狀態(tài)動(dòng)作空間的復(fù)雜度,引入動(dòng)力學(xué)模型,引入偵察機(jī)將同構(gòu)問(wèn)題轉(zhuǎn)化為異構(gòu)問(wèn)題,將該算法應(yīng)用到更貼近真實(shí)空戰(zhàn)的環(huán)境中進(jìn)行測(cè)試。此外,該算法部分元策略基于專(zhuān)家經(jīng)驗(yàn),后續(xù)將完全去經(jīng)驗(yàn)化,建立全訓(xùn)練模型。