楊任農(nóng),張振興,房育寰,左家亮,張彬超
(空軍工程大學(xué) 空管領(lǐng)航學(xué)院, 陜西 西安 710038)
格斗導(dǎo)彈在現(xiàn)代空戰(zhàn)中扮演著關(guān)鍵角色,導(dǎo)彈的性能可能決定空戰(zhàn)的結(jié)果。在空戰(zhàn)對(duì)抗過(guò)程中,空空導(dǎo)彈發(fā)射結(jié)果是輔助決策系統(tǒng)中態(tài)勢(shì)評(píng)估的前提,準(zhǔn)確地預(yù)測(cè)我方和敵方發(fā)射導(dǎo)彈的攻擊結(jié)果,這不僅有助于評(píng)估敵方威脅、分析敵我態(tài)勢(shì),而且對(duì)我方下一步?jīng)Q策起到重要的引導(dǎo)作用。因此,探求準(zhǔn)確預(yù)測(cè)導(dǎo)彈攻擊結(jié)果的方法具有重要意義。
傳統(tǒng)的空空導(dǎo)彈攻擊區(qū)解算方法包括:一般擬合法[1]、三角變換擬合法[2]、插值法[2]等。近年來(lái),很多專(zhuān)家學(xué)者針對(duì)傳統(tǒng)方法存在的擬合精度差、收斂速度低、通用性差等問(wèn)題進(jìn)行了改進(jìn)。張列航等[3]、王凱等[4]提出基于反向傳播(Back Propagation, BP)神經(jīng)網(wǎng)絡(luò)的空空導(dǎo)彈攻擊區(qū)解算方法,通過(guò)在線(xiàn)計(jì)算獲得實(shí)時(shí)的、高精度的空空導(dǎo)彈攻擊區(qū)計(jì)算結(jié)果。但模型存在輸入數(shù)據(jù)不準(zhǔn)確的問(wèn)題。左家亮等[5]采用日??諔?zhàn)中產(chǎn)生的模擬發(fā)射數(shù)據(jù),構(gòu)建訓(xùn)練樣本庫(kù),提高了訓(xùn)練輸入數(shù)據(jù)的準(zhǔn)確度。但實(shí)際空戰(zhàn)輸入?yún)?shù)態(tài)勢(shì)種類(lèi)多,存在簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)特征提取能力不足的問(wèn)題。此外,上述方法僅側(cè)重于單純的攻擊區(qū)解算,忽視了空戰(zhàn)對(duì)抗情況下雙方攻擊態(tài)勢(shì)動(dòng)態(tài)變化這一因素對(duì)攻擊結(jié)果的影響。因此,結(jié)合機(jī)動(dòng)動(dòng)作,根據(jù)不同態(tài)勢(shì)下預(yù)測(cè)的攻擊結(jié)果對(duì)導(dǎo)彈攻擊區(qū)進(jìn)行劃分,從而為飛行員和指揮人員的決策提供幫助。
近年來(lái),以深度學(xué)習(xí)為代表的人工智能取得了巨大突破,深度學(xué)習(xí)方法取得了重要進(jìn)展。而深度學(xué)習(xí)方法包含多種類(lèi)型,其中深度置信網(wǎng)絡(luò)(Deep Belief Network, DBN)具有特征提取能力強(qiáng)、分類(lèi)效果好以及預(yù)測(cè)精度高等優(yōu)點(diǎn),并且其半監(jiān)督學(xué)習(xí)的特點(diǎn),適合于導(dǎo)彈攻擊結(jié)果數(shù)據(jù)庫(kù)規(guī)模小的現(xiàn)狀[6]。因此,提出基于DBN的導(dǎo)彈攻擊區(qū)分類(lèi)模型,同時(shí)將傳統(tǒng)導(dǎo)彈攻擊區(qū)參數(shù)進(jìn)一步細(xì)化,建立更加貼近實(shí)戰(zhàn)決策的導(dǎo)彈攻擊結(jié)果預(yù)測(cè)模型。通過(guò)對(duì)已經(jīng)分類(lèi)的空戰(zhàn)數(shù)據(jù)進(jìn)行訓(xùn)練,使用得到的模型對(duì)導(dǎo)彈攻擊區(qū)進(jìn)行分類(lèi)。但是,由于DBN結(jié)構(gòu)相對(duì)復(fù)雜,很難準(zhǔn)確確定相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)。黃海波等[7]使用經(jīng)驗(yàn)方法確定神經(jīng)元數(shù)目,造成訓(xùn)練誤差較大,預(yù)測(cè)結(jié)構(gòu)不準(zhǔn)確。潘廣源等[8]提出了根據(jù)訓(xùn)練的重構(gòu)誤差確定網(wǎng)絡(luò)結(jié)構(gòu),提高了網(wǎng)絡(luò)模型的準(zhǔn)確性。本文在黃海波等的基礎(chǔ)上,使用重構(gòu)誤差和測(cè)試錯(cuò)誤率作為標(biāo)準(zhǔn)確定網(wǎng)絡(luò)訓(xùn)練的結(jié)構(gòu),以提高模型的準(zhǔn)確性,并改善網(wǎng)絡(luò)訓(xùn)練時(shí)間。
導(dǎo)彈攻擊區(qū)是衡量導(dǎo)彈攻擊結(jié)果的重要標(biāo)準(zhǔn)。一般包含兩種:發(fā)射包線(xiàn)和殺傷包線(xiàn)[9]。其中,發(fā)射包線(xiàn)以被攻擊目標(biāo)為中心,我方飛機(jī)在該范圍內(nèi)向目標(biāo)發(fā)射導(dǎo)彈,能以不低于一定概率命中目標(biāo)。發(fā)射包線(xiàn)能夠讓我方獲得不同方位對(duì)目標(biāo)有效打擊的范圍,對(duì)空戰(zhàn)決策的意義不是很大。殺傷包線(xiàn)是以我方飛機(jī)為中心,計(jì)算能被攻擊的目標(biāo)在此載機(jī)周?chē)淖钸h(yuǎn)初始位置,在空戰(zhàn)中具有重要研究?jī)r(jià)值。因此,為了能夠提供給飛行員和指揮人員重要信息,選擇以攻擊機(jī)為中心的導(dǎo)彈攻擊區(qū)進(jìn)行討論。
以攻擊機(jī)為中心的空空導(dǎo)彈攻擊區(qū)主要包括遠(yuǎn)邊界(超過(guò)該距離,對(duì)敵方無(wú)法造成威脅)、近邊界(小于該距離,導(dǎo)彈無(wú)法爆炸或者載機(jī)受到威脅)和側(cè)邊界(受導(dǎo)彈的過(guò)載限制)。空空導(dǎo)彈發(fā)射區(qū)如圖1所示。
圖1 空空導(dǎo)彈發(fā)射區(qū)示意圖Fig.1 Envelop of air-to-air missile
空空導(dǎo)彈攻擊區(qū)受多種要素的影響,包括天氣、飛機(jī)高度、飛行速度、導(dǎo)彈性能、目標(biāo)機(jī)速度、目標(biāo)機(jī)高度差等,并且隨著發(fā)射條件的改變而改變[10]。根據(jù)經(jīng)驗(yàn),導(dǎo)彈攻擊區(qū)的遠(yuǎn)邊界Rmax和近邊界Rmin是高度h、速度v、機(jī)動(dòng)過(guò)載n、離軸角q、進(jìn)入角qT等初始攻擊條件的非線(xiàn)性函數(shù)[11]。
(1)
其中:hA,hT表示我方高度和目標(biāo)高度;vA,vT表示我方速度和目標(biāo)速度;nT表示目標(biāo)機(jī)動(dòng)過(guò)載;q和qT表示導(dǎo)彈離軸角和目標(biāo)進(jìn)入角。
根據(jù)實(shí)際空戰(zhàn)情況,將導(dǎo)彈攻擊區(qū)模型主要分成五類(lèi):①Ω1:目標(biāo)做任何機(jī)動(dòng)都無(wú)法躲開(kāi)我方導(dǎo)彈攻擊;②Ω2:目標(biāo)需要做180°置尾機(jī)動(dòng)才能躲開(kāi)我方導(dǎo)彈攻擊,而選擇90°轉(zhuǎn)彎?rùn)C(jī)動(dòng)會(huì)被導(dǎo)彈命中;③Ω3:目標(biāo)只需要做90°機(jī)動(dòng)即可躲開(kāi)我方導(dǎo)彈攻擊,如果繼續(xù)按原有航線(xiàn)飛行則會(huì)被導(dǎo)彈命中;④Ω4:目標(biāo)不需要做任何機(jī)動(dòng)即可躲開(kāi)我方導(dǎo)彈攻擊,雙方態(tài)勢(shì)處于導(dǎo)彈攻擊范圍的臨界狀態(tài);⑤Ω5:雙方態(tài)勢(shì)超出導(dǎo)彈攻擊范圍的上限,攻擊有效的概率極低。由于區(qū)域Ω5的范圍較大,并且對(duì)飛行員和指揮人員進(jìn)行決策的幫助較小,在預(yù)測(cè)模型中不考慮區(qū)域Ω5,直接通過(guò)參數(shù)閾值判別。導(dǎo)彈攻擊結(jié)果劃分如圖2所示。
圖2 導(dǎo)彈攻擊結(jié)果劃分Fig.2 Classification of missile attack results
在圖2中,A為攻擊機(jī),T為目標(biāo)機(jī),目標(biāo)機(jī)處于攻擊機(jī)的Ω3區(qū)域內(nèi)。在北東天慣性坐標(biāo)系下,攻擊機(jī)的坐標(biāo)為(xA,yA,zA),目標(biāo)機(jī)的坐標(biāo)為(xT,yT,zT),攻擊機(jī)高度為hA,目標(biāo)機(jī)高度為hT,攻擊機(jī)速度為vA,目標(biāo)機(jī)速度為vT,攻擊機(jī)航向角為φA,目標(biāo)機(jī)航向角為φT。位置關(guān)系式為:
(2)
(3)
(4)
hA_T=hT-hA
(5)
其中:αA_T表示攻擊機(jī)A攻擊目標(biāo)機(jī)T的水平方向視線(xiàn)角,dA_T表示A與T之間的距離,βA_T表示A攻擊T的垂直方向視線(xiàn)角,hA_T表示A與T的高度差。
對(duì)攻擊機(jī)而言,攻擊區(qū)分類(lèi)預(yù)測(cè)可理解為是對(duì)其攻擊結(jié)果進(jìn)行預(yù)測(cè),區(qū)域Ω1對(duì)目標(biāo)攻擊結(jié)果最好;對(duì)目標(biāo)機(jī)而言,攻擊區(qū)分類(lèi)預(yù)測(cè)可計(jì)算出空戰(zhàn)機(jī)動(dòng)區(qū)域的威脅程度,區(qū)域Ω1威脅程度最高。理論上,對(duì)區(qū)域Ω1、區(qū)域Ω2、區(qū)域Ω3、區(qū)域Ω4和區(qū)域Ω5只能進(jìn)行大概的估算,無(wú)法實(shí)現(xiàn)十分精準(zhǔn)的分類(lèi)。由于攻擊區(qū)分類(lèi)模型涉及參數(shù)多,數(shù)據(jù)庫(kù)較大,將采用深度學(xué)習(xí)算法學(xué)習(xí)雙機(jī)在不同態(tài)勢(shì)下的空戰(zhàn)結(jié)果的數(shù)據(jù),進(jìn)而實(shí)現(xiàn)相對(duì)準(zhǔn)確的攻擊區(qū)劃分。
在超視距空戰(zhàn)中,影響導(dǎo)彈攻擊結(jié)果的態(tài)勢(shì)參數(shù)主要包括:hA,hT,dA_T,vT,αA_T,βA_T,φA和φT。基于此,建立攻擊機(jī)與目標(biāo)機(jī)之間的態(tài)勢(shì)參數(shù)與導(dǎo)彈攻擊結(jié)果的關(guān)系,DBN導(dǎo)彈攻擊區(qū)分類(lèi)模型如圖3所示。
圖3 基于DBN的導(dǎo)彈攻擊結(jié)果預(yù)測(cè)模型Fig.3 DBN-based missile attack results prediction model
DBN雖然是一種有監(jiān)督的深度學(xué)習(xí)方法,但是由于其內(nèi)部是由一系列疊加的受限玻爾茲曼機(jī)(Restricted Boltzmann Machines, RBM)和BP神經(jīng)網(wǎng)絡(luò)構(gòu)成,兼具無(wú)監(jiān)督學(xué)習(xí)方法的優(yōu)勢(shì),其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 DBN結(jié)構(gòu)圖Fig.4 Structure of DBN
在圖4中,第一層是可見(jiàn)層,接收輸入數(shù)據(jù),輸入數(shù)據(jù)經(jīng)過(guò)隱含層h1和h2由輸出層輸出。Wi表示層間權(quán)值。
DBN主要使用“逐層貪婪[12]”的方法進(jìn)行訓(xùn)練,處理流程為:①RBM使用無(wú)監(jiān)督方法進(jìn)行訓(xùn)練,并且每一層RBM需要單獨(dú)進(jìn)行訓(xùn)練,盡量保證特征信息被保留,前一層RBM的輸出作為后一層RBM的輸入;②無(wú)監(jiān)督訓(xùn)練后輸出到BP神經(jīng)網(wǎng)絡(luò)中,使用有監(jiān)督方法訓(xùn)練網(wǎng)絡(luò),并采用反向傳播算法調(diào)整網(wǎng)絡(luò)參數(shù)。
在DBN中,RBM起到十分重要的作用,其結(jié)構(gòu)如圖5所示。
圖5 RBM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Structure of RBM network
由圖5可知,RBM由可見(jiàn)層和隱含層組成,wij表示可視層和隱含層之間的權(quán)值。
重構(gòu)誤差RError為RBM的重構(gòu)特征與原始數(shù)據(jù)的誤差,表達(dá)式為:
(6)
式中:n表示樣本個(gè)數(shù),m表示樣本維度,pij表示經(jīng)過(guò)Gibbs采樣重構(gòu)的新特征,dij表示訓(xùn)練數(shù)據(jù),pb表示取值個(gè)數(shù)或范圍。
根據(jù)日常空戰(zhàn)中產(chǎn)生的模擬發(fā)射數(shù)據(jù),將不同態(tài)勢(shì)下導(dǎo)彈發(fā)射時(shí)刻的攻擊機(jī)與目標(biāo)機(jī)相對(duì)態(tài)勢(shì)數(shù)據(jù)作為模型輸入,具體為2.1節(jié)的八種特征參數(shù)。根據(jù)文獻(xiàn)[13]提出的彈道仿真理論,精確計(jì)算在該態(tài)勢(shì)下的攻擊結(jié)果,并按照結(jié)果進(jìn)行分類(lèi),具體有Ω1、Ω2、Ω3、Ω4四種。
結(jié)合導(dǎo)彈性能的約束條件對(duì)數(shù)據(jù)采集進(jìn)行如下定義:
(7)
采集的數(shù)據(jù)必須滿(mǎn)足式(7),在此基礎(chǔ)上,將態(tài)勢(shì)數(shù)據(jù)輸入到彈道仿真模型中,計(jì)算攻擊結(jié)果??諔?zhàn)攻擊結(jié)果如圖6所示,通過(guò)為目標(biāo)機(jī)選擇不同機(jī)動(dòng)動(dòng)作,實(shí)現(xiàn)導(dǎo)彈攻擊結(jié)果的進(jìn)一步劃分。
(a) Ω4
(b) Ω3
(c) Ω2
(d) Ω1圖6 空戰(zhàn)攻擊結(jié)果分類(lèi)Fig.6 Classification of missile attack results
具體步驟如下:
Step1:在目標(biāo)不做任何機(jī)動(dòng)平飛時(shí),仿真彈道沒(méi)有命中目標(biāo)則屬于Ω4。
Step2:如果Step 1命中,則在此態(tài)勢(shì)下目標(biāo)機(jī)做90°機(jī)動(dòng),重新進(jìn)行彈道仿真,仿真彈道沒(méi)有命中目標(biāo)且不屬于Ω4的區(qū)域,則屬于Ω3。
Step3:如果Step 2命中,則在此態(tài)勢(shì)下目標(biāo)機(jī)做180°機(jī)動(dòng),重新進(jìn)行彈道仿真,仿真彈道命中目標(biāo)的區(qū)域?qū)儆讦?,沒(méi)有命中且不屬于Ω3的區(qū)域則屬于Ω2。
通過(guò)上述步驟,完成Ω1、Ω2、Ω3和Ω4的空戰(zhàn)攻擊結(jié)果數(shù)據(jù)分類(lèi)標(biāo)記。使用彈道仿真方法代替專(zhuān)家人為地進(jìn)行煩瑣且需要大量時(shí)間的數(shù)據(jù)樣本分類(lèi)標(biāo)記工作,有效地避免了數(shù)據(jù)標(biāo)記中的人為主動(dòng)因素,實(shí)現(xiàn)對(duì)區(qū)域Ω1、Ω2、Ω3和Ω4數(shù)據(jù)樣本的客觀分類(lèi)。
由于攻擊機(jī)和目標(biāo)機(jī)的高度、速度都是動(dòng)態(tài)變化的,假設(shè)按此標(biāo)準(zhǔn)對(duì)攻擊機(jī)的攻擊區(qū)域進(jìn)行樣本空間擬合,數(shù)據(jù)量將會(huì)相當(dāng)大。為使訓(xùn)練樣本盡可能多地包含空間態(tài)勢(shì)種類(lèi),保證訓(xùn)練數(shù)據(jù)庫(kù)的完整性,同時(shí)考慮實(shí)際空戰(zhàn)中,攻擊機(jī)與目標(biāo)機(jī)相互牽制,因此,選擇相對(duì)態(tài)勢(shì)數(shù)據(jù)進(jìn)行擬合。此外,考慮導(dǎo)彈攻擊效果與導(dǎo)彈高度的關(guān)系,數(shù)據(jù)采樣在高度范圍內(nèi)進(jìn)行。
從獲得的導(dǎo)彈攻擊區(qū)分類(lèi)樣本庫(kù)中選取樣本,構(gòu)建DBN導(dǎo)彈攻擊區(qū)分類(lèi)模型的訓(xùn)練樣本集(Xtrain,Ytrain)和測(cè)試樣本集(Xtest,Ytest)。其中,Xtrain為樣本庫(kù)中隨機(jī)抽取的50 000組數(shù)據(jù),Xtest為樣本庫(kù)中隨機(jī)抽取的10 000組數(shù)據(jù),Ytrain和Ytest分別為每組數(shù)據(jù)對(duì)應(yīng)的導(dǎo)彈攻擊區(qū)分類(lèi)結(jié)果。
由文獻(xiàn)[14]可得,DBN隱含層數(shù)和網(wǎng)絡(luò)重構(gòu)誤差以及模型精度的關(guān)系如下:
1) DBN隱含層數(shù)目越多,提取輸入數(shù)據(jù)特征的能力越好;
2)網(wǎng)絡(luò)的重構(gòu)誤差體現(xiàn)了模型對(duì)數(shù)據(jù)的訓(xùn)練程度,重構(gòu)誤差越小,說(shuō)明訓(xùn)練好的模型越接近訓(xùn)練數(shù)據(jù)模型;
3)DBN采用的梯度下降法會(huì)使訓(xùn)練誤差隨隱含層數(shù)的增加而增大,層數(shù)越多,訓(xùn)練難度越大;
4)隨著網(wǎng)絡(luò)層數(shù)的增加,訓(xùn)練成本會(huì)急劇增大。
由此可知,DBN隱含層數(shù)的選擇對(duì)于模型的準(zhǔn)確性具有重要意義,既要保證模型精度,又要降低訓(xùn)練成本和縮短訓(xùn)練時(shí)間。在引入重構(gòu)誤差RError的基礎(chǔ)上,加入測(cè)試錯(cuò)誤率Error。測(cè)試錯(cuò)誤率Error是指從導(dǎo)彈攻擊區(qū)分類(lèi)庫(kù)中抽取一定量樣本進(jìn)行測(cè)試時(shí),模型判別錯(cuò)誤的樣本數(shù)占總測(cè)試樣本數(shù)的比率。隱含層數(shù)的確定公式為:
(8)
其中:ω表示設(shè)定的目標(biāo)重構(gòu)誤差,ζ表示設(shè)定的目標(biāo)精度,L表示DBN隱含層數(shù),Nrbm表示RBM隱含層數(shù)。整個(gè)訓(xùn)練過(guò)程是:DBN首先進(jìn)行無(wú)監(jiān)督訓(xùn)練,如果RError小于或等于設(shè)定值,進(jìn)行下一步的反向微調(diào)和數(shù)據(jù)測(cè)試;如果RError大于設(shè)定值,將隱含層數(shù)加1,重新進(jìn)行無(wú)監(jiān)督訓(xùn)練,直到RError小于或等于設(shè)定值。然后進(jìn)行反向微調(diào)與數(shù)據(jù)測(cè)試,并判斷Error是否小于或等于設(shè)定值;如果Error大于設(shè)定值,將隱含層數(shù)加1,重新進(jìn)行訓(xùn)練,直到Error小于或等于設(shè)定值,進(jìn)而確定隱含層數(shù)。DBN的訓(xùn)練流程如圖7所示。
圖7 DBN隱含層數(shù)確定流程圖Fig.7 Determination flow chart of DBN hidden layers
從訓(xùn)練集中抽取7000組數(shù)據(jù)進(jìn)行訓(xùn)練和測(cè)試,其中,5000組數(shù)據(jù)用于無(wú)監(jiān)督訓(xùn)練,并且分成50個(gè)批次,每個(gè)批次100組數(shù)據(jù);1000組數(shù)據(jù)用于有監(jiān)督訓(xùn)練;1000組數(shù)據(jù)用于錯(cuò)誤率測(cè)試。每個(gè)隱含層默認(rèn)神經(jīng)元為100個(gè),根據(jù)樣本實(shí)際訓(xùn)練情況和文獻(xiàn)[9]關(guān)于誤差閾值的確定方法,將重構(gòu)誤差條件設(shè)定為RError≤15%,模型測(cè)試錯(cuò)誤率Error≤13%。考慮到重構(gòu)誤差和分類(lèi)誤差閾值的確定具有一定的主觀性,為了檢驗(yàn)得到的隱含層數(shù)是否最優(yōu),在確定最優(yōu)隱含層數(shù)后,增加1組隱含層數(shù)為最優(yōu)隱含層數(shù)加1的實(shí)驗(yàn)。通過(guò)實(shí)驗(yàn),共得到4組不同隱含層數(shù)的訓(xùn)練結(jié)果,結(jié)果如圖8和表1所示。
圖8 不同層數(shù)重構(gòu)誤差圖Fig.8 Reconstruction error of different layers
由圖8可知,DBN網(wǎng)絡(luò)的重構(gòu)誤差隨著網(wǎng)絡(luò)層數(shù)的增加而減小,并且隱含層數(shù)為3和4的重構(gòu)誤差相差較小。
表1 不同層數(shù)的訓(xùn)練結(jié)果
由表1可知,測(cè)試錯(cuò)誤率隨著網(wǎng)絡(luò)層數(shù)的增加先減小后增大,并且當(dāng)網(wǎng)絡(luò)層數(shù)為3時(shí)達(dá)到最小值。訓(xùn)練時(shí)間隨網(wǎng)絡(luò)層數(shù)的增加而延長(zhǎng),符合預(yù)期效果。這說(shuō)明層數(shù)的增加導(dǎo)致反向梯度下降算法的誤差累加過(guò)大,測(cè)試錯(cuò)誤率不隨著網(wǎng)絡(luò)層數(shù)的增加而一直減小。由此確定DBN最優(yōu)網(wǎng)絡(luò)隱含層數(shù)為3。
隱含層神經(jīng)元數(shù)目的確定目前還沒(méi)有統(tǒng)一的方法或者經(jīng)驗(yàn)公式[15]。由問(wèn)題可知,輸入層神經(jīng)元個(gè)數(shù)nv=8,輸出層神經(jīng)元個(gè)數(shù)no=4,最優(yōu)隱含層數(shù)為3??紤]到隱含層神經(jīng)元反映了導(dǎo)彈攻擊區(qū)模型,并且可以通過(guò)降低隱含層神經(jīng)元數(shù)目提取數(shù)據(jù)特征,將隱含層神經(jīng)元數(shù)目設(shè)置為nh1=100,nh2=80。由于最后一層隱含層神經(jīng)元數(shù)目直接關(guān)系到模型最終的準(zhǔn)確率,采用類(lèi)似窮舉的方法確定nh3的值,其中,nh3∈[10,60],步長(zhǎng)取2。最后,根據(jù)每次得到的重構(gòu)誤差和測(cè)試錯(cuò)誤率確定最優(yōu)神經(jīng)元數(shù)目,仿真結(jié)果如圖9和圖10所示。
圖9 最后一層訓(xùn)練重構(gòu)誤差Fig.9 Reconstruction error of the last layer
圖10 最后一層測(cè)試錯(cuò)誤率Fig.10 Test error rate of the last layers
由圖9和圖10可知,當(dāng)最后一層節(jié)點(diǎn)數(shù)目大于22時(shí),重構(gòu)誤差幾乎保持不變;當(dāng)最后一層節(jié)點(diǎn)數(shù)目為30時(shí),測(cè)試錯(cuò)誤率最低。因此,選取最后一層神經(jīng)元數(shù)目為30。
由此可得,最終建立的DBN結(jié)構(gòu)為8-100-80-30-4。
在進(jìn)行DBN訓(xùn)練之前,需要設(shè)置模型參數(shù),主要參數(shù)如下:
1)學(xué)習(xí)率。根據(jù)專(zhuān)家經(jīng)驗(yàn),設(shè)置權(quán)重學(xué)習(xí)率lw=0.050,可見(jiàn)層偏置學(xué)習(xí)率lbv=0.100,隱含層偏置學(xué)習(xí)率lbh=0.100。為了避免算法陷入局部最優(yōu)值,引入動(dòng)量項(xiàng)。動(dòng)量更新公式為:
(9)
式中:K表示動(dòng)量項(xiàng),θ表示網(wǎng)絡(luò)參數(shù)集,Wij表示節(jié)點(diǎn)間的權(quán)重,t表示迭代次數(shù)。
2)初始權(quán)值和閾值。隨機(jī)初始化權(quán)值服從N~(0,0.1)的正態(tài)分布,輸入層和隱含層閾值設(shè)置為0。
3)Batchsize。為了提高運(yùn)算效率,將訓(xùn)練集分成包含100個(gè)數(shù)據(jù)的小批量數(shù)據(jù),設(shè)置Batchsize為100。
4)微調(diào)次數(shù)。微調(diào)次數(shù)決定模型精度,為了獲得較優(yōu)的微調(diào)次數(shù),分別求出不同微調(diào)次數(shù)對(duì)應(yīng)的測(cè)試錯(cuò)誤率。不同微調(diào)次數(shù)的訓(xùn)練結(jié)果如圖11所示。由圖11可知,當(dāng)微調(diào)次數(shù)達(dá)到396時(shí),錯(cuò)誤率基本保持不變,并且滿(mǎn)足要求。因此,設(shè)置微調(diào)次數(shù)為400。
圖11 不同微調(diào)次數(shù)錯(cuò)誤率Fig.11 Error rate of different fine-tuning times
軟件平臺(tái)為T(mén)ensorFlow平臺(tái),硬件平臺(tái)為具有12 Inter Xeon(R) E5 CPU和4 GB RAM的高性能處理器。
DBN模型最終結(jié)構(gòu)為8-100-80-30-4,通過(guò)訓(xùn)練樣本集(Xtrain,Ytrain)和測(cè)試樣本集(Xtest,Ytest)對(duì)模型進(jìn)行訓(xùn)練和測(cè)試。使用訓(xùn)練好的多層DBN對(duì)10 000組測(cè)試數(shù)據(jù)進(jìn)行分類(lèi),其中用于微調(diào)的400組數(shù)據(jù)進(jìn)行訓(xùn)練集正確率的驗(yàn)證,而其余9600組數(shù)據(jù)則進(jìn)行測(cè)試集正確率的驗(yàn)證。模型訓(xùn)練完成后,逐層提取經(jīng)過(guò)網(wǎng)絡(luò)后的原始數(shù)據(jù)特征值,得到特征提取線(xiàn),如圖12所示,圖中縱坐標(biāo)為原始數(shù)據(jù)和各隱含層重構(gòu)特征,橫坐標(biāo)對(duì)應(yīng)四種區(qū)域。
由圖12可得:四類(lèi)導(dǎo)彈攻擊區(qū)具有不同的特征提取線(xiàn),并且差異較大;根據(jù)特征提取曲線(xiàn)可知,導(dǎo)彈攻擊區(qū)的特征被逐層提取,并且特征數(shù)量越來(lái)越少。
在對(duì)模型進(jìn)行微調(diào)的過(guò)程中,選擇樣本庫(kù)數(shù)據(jù)進(jìn)行有監(jiān)督學(xué)習(xí)稱(chēng)為微調(diào)數(shù)據(jù)采樣。微調(diào)數(shù)據(jù)采樣方式的不同對(duì)于訓(xùn)練效率和模型精度的影響也不同。因此,采用邊界采樣、等間距采樣和隨機(jī)采樣三種方法進(jìn)行有監(jiān)督學(xué)習(xí)。邊界采樣即提取該區(qū)域邊緣的數(shù)據(jù)進(jìn)行有監(jiān)督學(xué)習(xí),等間距采樣即在樣本庫(kù)中等間距選取數(shù)據(jù),隨機(jī)采樣即在樣本庫(kù)中隨機(jī)選取數(shù)據(jù)。具體采樣方式如圖13所示。
圖12 逐層特征提取線(xiàn)Fig.12 Curves of feature extraction layer by layer
(a) 邊界采樣 (a) Edge sampling
(b) 等間距采樣 (b) Uniformly sampling圖13 兩種采樣形式Fig.13 Two sample formations
在保證模型預(yù)測(cè)精度的基礎(chǔ)上,分別使用三種采樣方式訓(xùn)練DBN,將測(cè)試集正確率標(biāo)準(zhǔn)定為85%,測(cè)試三種方法達(dá)到準(zhǔn)確率要求所需要的采樣數(shù)量,微調(diào)訓(xùn)練時(shí)間和在該采樣方式下最終的正確率,實(shí)驗(yàn)結(jié)果如表2所示。
表2 三種樣本采樣方式效果對(duì)比
由表2可知,邊界采樣在采樣數(shù)量較少時(shí)就可以達(dá)到較高水平,但最終模型的正確率上限較低,樣本的選取也需要對(duì)樣本庫(kù)進(jìn)行操作;等間距采樣數(shù)量最多,微調(diào)訓(xùn)練時(shí)間最長(zhǎng),最終達(dá)到的正確率上限也最高;隨機(jī)采樣數(shù)量適中,最終達(dá)到的正確率上限也較高。綜上,在實(shí)際應(yīng)用中,隨機(jī)采樣適用性更強(qiáng),等間距采樣和邊界采樣對(duì)樣本數(shù)據(jù)操作更方便。
為檢驗(yàn)DBN的準(zhǔn)確性,分別使用BP神經(jīng)網(wǎng)絡(luò)(網(wǎng)絡(luò)結(jié)構(gòu)8-90-4)和支持向量機(jī)(Support Vector Machine, SVM)(徑向基核函數(shù),懲罰因子c=4,核函數(shù)參數(shù)g=2.5)兩種方法進(jìn)行對(duì)比分析,三種算法的分類(lèi)結(jié)果如表3所示。
表3 三種算法分類(lèi)結(jié)果對(duì)比表
由表3可知,DBN的正確率高于BP神經(jīng)網(wǎng)絡(luò)和SVM。經(jīng)過(guò)分析,輸入數(shù)據(jù)的維數(shù)較高,數(shù)據(jù)量大,參數(shù)變化范圍廣,而B(niǎo)P神經(jīng)網(wǎng)絡(luò)規(guī)模小,特征提取能力差,SVM訓(xùn)練成本隨著樣本量的增加急劇增大,懲罰因子等參數(shù)難以確定,兩種方法均難以提取態(tài)勢(shì)信息與導(dǎo)彈攻擊結(jié)果關(guān)系的主要特征信息,導(dǎo)致分類(lèi)正確率不高。而DBN通過(guò)深層的網(wǎng)絡(luò)結(jié)構(gòu),建立了從原始輸入到抽象特征的良好映射關(guān)系,從而有效地對(duì)導(dǎo)彈攻擊結(jié)果進(jìn)行分類(lèi)。
從處理測(cè)試集的運(yùn)行時(shí)間和內(nèi)存占用率峰值兩方面性能評(píng)價(jià)三種算法:BP神經(jīng)網(wǎng)絡(luò)和DBN隱含層數(shù)目較多,運(yùn)行時(shí)間較長(zhǎng),占用內(nèi)存多,但是,訓(xùn)練好的DBN和BP神經(jīng)網(wǎng)絡(luò)模型的單組運(yùn)行時(shí)間均滿(mǎn)足實(shí)時(shí)性要求,并且DBN的準(zhǔn)確性最高,具有實(shí)際應(yīng)用價(jià)值。
本文提出了基于DBN的空空導(dǎo)彈攻擊區(qū)分類(lèi)模型。構(gòu)建了導(dǎo)彈攻擊結(jié)果的樣本數(shù)據(jù)庫(kù)。根據(jù)目標(biāo)機(jī)動(dòng)方式的不同,結(jié)合導(dǎo)彈攻擊結(jié)果將導(dǎo)彈攻擊區(qū)分為五個(gè)部分。其次根據(jù)重構(gòu)誤差和測(cè)試誤差率確定DBN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),從而完成攻擊結(jié)果的預(yù)測(cè)。然后在實(shí)驗(yàn)部分搭建TensorFlow仿真平臺(tái),通過(guò)模擬導(dǎo)彈發(fā)射過(guò)程構(gòu)建訓(xùn)練樣本庫(kù),討論了采樣方式的不同對(duì)模型結(jié)果的影響。最后與BP神經(jīng)網(wǎng)絡(luò)和SVM進(jìn)行分類(lèi)對(duì)比實(shí)驗(yàn),驗(yàn)證了模型的有效性。使用TensorFlow平臺(tái)實(shí)現(xiàn)導(dǎo)彈攻擊區(qū)分類(lèi),主要用于仿真實(shí)驗(yàn)部分,在工程實(shí)踐部分,需要進(jìn)一步探索實(shí)現(xiàn)算法和軟件平臺(tái)。