張超然,呂余海
(海軍研究院,上海 200020)
機載武器攻擊區(qū)是飛行員判斷導彈發(fā)射時機的重要依據(jù),準確的攻擊區(qū)是有效完成空戰(zhàn)任務(wù)的重要保證。目前,機載武器攻擊區(qū)計算主要包括理論計算法、插值算法和擬合算法等[1]。理論計算法利用武器模型,根據(jù)發(fā)射條件,通過解算微分方程組得到攻擊區(qū)[2-3],計算的攻擊區(qū)較為精確,但是計算量大,實時性不高。插值算法需要離線計算全面的攻擊區(qū)數(shù)據(jù),建立攻擊區(qū)數(shù)據(jù)表,再根據(jù)當前狀態(tài)進行插值計算,需要龐大的存儲資源。擬合算法是利用離線樣本數(shù)據(jù),擬合導彈發(fā)射參數(shù)與攻擊區(qū)間的映射關(guān)系,將擬合參數(shù)裝載到火控系統(tǒng)[4],火控系統(tǒng)根據(jù)實時的發(fā)射狀態(tài)計算攻擊區(qū)。
傳統(tǒng)擬合算法包括多項式擬合、三角函數(shù)擬合等,此類方法依賴于模型的準確性,而由于攻擊區(qū)的高度非線性,無法進行精確的擬合?;谏窠?jīng)網(wǎng)絡(luò)的擬合算法無需對函數(shù)進行建模,可以利用輸入輸出樣本,直接對神經(jīng)網(wǎng)絡(luò)進行訓練,可有效提高攻擊區(qū)計算精度[5-6]。
神經(jīng)網(wǎng)絡(luò)擬合算法的估計效果嚴重依賴于樣本的數(shù)量與質(zhì)量,受到飛行試驗成本的限制,可利用的導彈真實飛行數(shù)據(jù)往往較少且不全面,攻擊區(qū)擬合算法一般需要大量飛行仿真數(shù)據(jù)作為訓練樣本。然而,由于仿真與導彈實際飛行的真實性存在差距,仿真得到的數(shù)據(jù)置信度往往低于實際飛行試驗數(shù)據(jù)[7],由于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法無法區(qū)分不同樣本,導致少量實際飛行數(shù)據(jù)對估計結(jié)果的影響很小,算法無法有效的利用這些數(shù)據(jù)的信息。
文中研究基于置信度神經(jīng)網(wǎng)絡(luò)的機載武器攻擊區(qū)擬合方法,區(qū)分不同置信度的訓練樣本,既能有效利用仿真飛行數(shù)據(jù)的全面性,又能有效利用少量飛行樣本數(shù)據(jù)的真實性,擬合得到更為精確的機載武器攻擊區(qū)。
機載武器攻擊區(qū)主要由載機高度、發(fā)射速度、離軸角、目標高度、速度、以及目標過載等因素決定,攻擊區(qū)是這些因素的復雜非線性函數(shù),可表示為:
Rmax=f(ha,va,θat,ht,vt,nt)
(1)
式中:Rmax為最大攻擊距離;ha為載機高度;va為載機速度;θat為導彈發(fā)射離軸角;ht為目標高度;vt為目標速度;nt為目標水平過載。
神經(jīng)網(wǎng)絡(luò)擬合方法是將X=[ha,va,θat,ht,vt,nt]等導彈發(fā)射參數(shù)作為網(wǎng)絡(luò)輸入,將Y=[Rmax]等作為網(wǎng)絡(luò)輸出,利用大量樣本對網(wǎng)絡(luò)進行訓練,得到訓練后的網(wǎng)絡(luò)Y=net(X)。在機載火控系統(tǒng)計算時,根據(jù)不同的輸入?yún)?shù),利用訓練后的網(wǎng)絡(luò)對攻擊區(qū)進行估計。神經(jīng)網(wǎng)絡(luò)擬合算法流程如圖1所示。
圖1 神經(jīng)網(wǎng)絡(luò)機載武器攻擊區(qū)擬合方法流程
步驟1,建立神經(jīng)網(wǎng)絡(luò)模型。根據(jù)攻擊區(qū)計算的輸入輸出個數(shù)、非線性映射特點,建立神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。根據(jù)式(1)的攻擊區(qū)擬合問題,輸入層為6個節(jié)點,輸出層節(jié)點數(shù)根據(jù)需要得到的攻擊距離個數(shù)確定,可利用3層或4層神經(jīng)網(wǎng)絡(luò)逼近該非線性映射。
步驟2,神經(jīng)網(wǎng)絡(luò)初始化。神經(jīng)網(wǎng)絡(luò)初始化包括各連接權(quán)值、閾值的初始化,以及彈道樣本的歸一化等處理。對彈道樣本歸一化的處理,可把高度、速度、角度等數(shù)據(jù)轉(zhuǎn)化為0~1的數(shù),取消不同物理量之間的數(shù)量級差別,避免樣本因數(shù)量級差別過大造成網(wǎng)絡(luò)訓練失敗,歸一化可以使用最大最小法、平均數(shù)方差法等。
步驟3,利用樣本對神經(jīng)網(wǎng)絡(luò)進行訓練。訓練主要包括隱藏層輸出計算、輸出層輸出計算、誤差計算、權(quán)值更新、閾值更新等。
隱藏層輸出的計算,根據(jù)樣本中的發(fā)射參數(shù)等輸入及連接權(quán)值、閾值,并采用激勵函數(shù)計算隱藏層輸出,為保證神經(jīng)元的非線性,可選用S型傳遞函數(shù)作為激勵函數(shù);輸出層的計算,根據(jù)隱藏層輸出、隱藏層-輸出層連接權(quán)值以及輸出層閾值,并采用激勵函數(shù)計算輸出。誤差的計算,利用樣本減去神經(jīng)網(wǎng)絡(luò)輸出,獲得神經(jīng)網(wǎng)絡(luò)的預測誤差。根據(jù)網(wǎng)絡(luò)預測誤差,利用學習算法更新網(wǎng)絡(luò)中各連接權(quán)值和節(jié)點閾值。
步驟4,判斷神經(jīng)網(wǎng)絡(luò)是否訓練結(jié)束。根據(jù)預設(shè)的訓練次數(shù)或者期望達到的誤差門限判斷是否完成訓練。如果未完成訓練,則再進行網(wǎng)絡(luò)訓練,如果訓練結(jié)束則保存網(wǎng)絡(luò)參數(shù)。
步驟5,機載火控系統(tǒng)攻擊區(qū)計算。前4個步驟均是在地面離線完成,完成訓練后將網(wǎng)絡(luò)參數(shù)加載到機載火控系統(tǒng)中,機載火控系統(tǒng)根據(jù)當前時刻導彈發(fā)射參數(shù),實時計算機載武器攻擊區(qū)。
機載武器的實際飛行數(shù)據(jù)個數(shù)遠少于仿真飛行數(shù)據(jù)個數(shù),而且由于仿真條件與真實環(huán)境存在一定的差距,大多數(shù)情況下,仿真得到的樣本相對于真實情況都存在誤差,這導致了仿真飛行數(shù)據(jù)與實際飛行數(shù)據(jù)存在不同的置信度。如果將其簡單的組合,利用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)同時處理,實際飛行數(shù)據(jù)所起的作用很小,甚至在實際飛行數(shù)據(jù)偏離仿真飛行數(shù)據(jù)較大時,可能會導致真實數(shù)據(jù)被視為野點,或者導致網(wǎng)絡(luò)的過擬合。
因此,需要對具有不同置信度的數(shù)據(jù)進行區(qū)分處理,既能更好地擬合少量高置信度數(shù)據(jù)樣本,又能充分的利用低置信度樣本信息。
基于置信度神經(jīng)網(wǎng)絡(luò)的機載武器攻擊區(qū)擬合方法主要分為兩步:第一步利用仿真飛行數(shù)據(jù)對網(wǎng)絡(luò)進行訓練,得到先驗網(wǎng)絡(luò)net1(X);第二步利用實際飛行樣本對標準神經(jīng)網(wǎng)絡(luò)的輸出誤差修改,進行二次訓練,得到置信度神經(jīng)網(wǎng)絡(luò)net2(X)。
如果兩次神經(jīng)網(wǎng)絡(luò)都是經(jīng)過良好訓練的,先驗神經(jīng)網(wǎng)絡(luò)輸出可視為置信度神經(jīng)網(wǎng)絡(luò)的輸出加入誤差:
net1(X)=net2(X)+ε(X)
(2)
由于仿真飛行樣本誤差來源的復雜性,噪聲既包含一部分確定成分又包含一定自相關(guān)性的不確定成分,因此噪聲一般包含常值偏置部分以及隨機偏差部分。
文獻[8]根據(jù)貝葉斯公式,建立并推導了net1(X)與net2(X)之間的誤差期望E(ε(X))范圍,根據(jù)εi=Yi-net1(Xi)的正負將E(ε(X))的范圍分為以下3種情況:
(3)
式中:‖‖表示取范數(shù);ri為實際飛行樣本的影響范圍,超出該范圍后,誤差期望值受實際飛行樣本的影響將衰減到10%以下。
利用式(3)可以求出每一個仿真飛行樣本的誤差容量區(qū)間[edj,euj],容量區(qū)間的上、下限對應式(3)的最大、最小值。利用誤差容量區(qū)間對net2(X)的網(wǎng)絡(luò)預測誤差進行修正,再利用修正后的誤差對網(wǎng)絡(luò)的權(quán)值、閾值進行訓練,訓練學習算法會在net1(X)+ed和net1(X)+eu之間尋找到一個相對合適的綜合神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)提高對實際飛行數(shù)據(jù)樣本擬合程度,以及充分利用仿真飛行數(shù)據(jù)信息的目的。具體實現(xiàn)流程如圖2所示。
圖2 置信度神經(jīng)網(wǎng)絡(luò)攻擊區(qū)擬合方法流程
步驟1,建立標準神經(jīng)網(wǎng)絡(luò),利用仿真飛行數(shù)據(jù)樣本(Xj,Yj)對神經(jīng)網(wǎng)絡(luò)進行訓練,獲得神經(jīng)網(wǎng)絡(luò)Y=net1(X)。
步驟2,計算每一個實際飛行數(shù)據(jù)樣本(Xi,Yi)與該神經(jīng)網(wǎng)絡(luò)輸出之間的誤差εi=Yi-nets(Xi),根據(jù)實際飛行數(shù)據(jù)的影響范圍ri求出每個仿真飛行數(shù)據(jù)樣本的容量區(qū)間[edj,euj],容量區(qū)間的上下限對應式(3)的最大最小值。
步驟3,利用實際飛行數(shù)據(jù)樣本、仿真飛行數(shù)據(jù)樣本進行第二次神經(jīng)網(wǎng)絡(luò)訓練,將仿真飛行數(shù)據(jù)樣本的神經(jīng)網(wǎng)絡(luò)預測誤差修改為:
(4)
步驟4,根據(jù)發(fā)射參數(shù)輸入,利用net2(X)網(wǎng)絡(luò)進行機載武器攻擊區(qū)計算。
選取某型空空導彈的理論攻擊區(qū)進行仿真分析,在理論攻擊區(qū)上疊加隨機噪聲、常值偏差作為仿真飛行數(shù)據(jù)樣本,選取部分理論攻擊區(qū)數(shù)據(jù)作為實際飛行數(shù)據(jù)樣本,分別對傳統(tǒng)神經(jīng)網(wǎng)絡(luò)以及置信度神經(jīng)網(wǎng)絡(luò)進行訓練,對比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)和置信度神經(jīng)網(wǎng)絡(luò)的攻擊區(qū)擬合效果。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為6-7-1,即輸入層6個節(jié)點,隱藏層7個節(jié)點,輸出層1個節(jié)點,隱藏層激勵函數(shù)為sigmoid函數(shù),輸出層的激勵函數(shù)為purelin函數(shù),并采用Levenberg-Maquardt方法進行訓練。
圖3為攻擊區(qū)擬合結(jié)果,圖3(a)為在隨機噪聲情況下的估計結(jié)果;圖3(b)為隨機噪聲加負常值偏差情況下的估計結(jié)果;圖3(c)為隨機噪聲加正常值偏差情況下的結(jié)果。仿真飛行數(shù)據(jù)樣本遠多于實際飛行數(shù)據(jù)樣本,實際飛機數(shù)據(jù)樣本只有4個,從結(jié)果中可以看出,置信度神經(jīng)網(wǎng)絡(luò)能夠得到更好的擬合實際飛行數(shù)據(jù)樣本,估計的攻擊區(qū)與理論攻擊區(qū)之間的誤差更小。在存在負常值偏差的情況下,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法擬合的攻擊區(qū)明顯偏小,導致失機發(fā)射概率過大。在存在正常值偏差的情況下,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)擬合的攻擊區(qū)明顯偏大,導致界外發(fā)射概率過大,這兩種情況會導致飛行員對武器攻擊邊界誤判,而置信度神經(jīng)網(wǎng)絡(luò)可以有效的利用實際飛行數(shù)據(jù)樣本將擬合的攻擊區(qū)進行修正。
對兩種算法的失機發(fā)射概率Pml、界外發(fā)射概率Pab和成功發(fā)射概率Pst進行統(tǒng)計,結(jié)果如表1所示。從表1中可以看出在各種噪聲情況下,置信度神經(jīng)網(wǎng)絡(luò)算法能夠有效抑制仿真飛行數(shù)據(jù)樣本的常值偏差和隨機噪聲影響,能夠有效減小攻擊區(qū)估計誤差,提高武器發(fā)射成功概率。
表1 兩種擬合方法的結(jié)算精度比較
提出了一種基于置信度神經(jīng)網(wǎng)絡(luò)的機載武器攻擊區(qū)擬合算法,算法可將實際飛行數(shù)據(jù)有效的應用于攻擊區(qū)的校核,有效提高機載攻擊區(qū)計算的準確性,是將少量的實際飛行數(shù)據(jù)應用于攻擊區(qū)估計的有效手段。在作戰(zhàn)實驗、演習中應注重實際飛行數(shù)據(jù)的采集,并可利用該算法對現(xiàn)有攻擊區(qū)進行修正,進一步提高估計的準確性。