高曉光,李新宇,岳勐琪,張金輝,趙利強(qiáng),吳高峰,李飛
1. 西北工業(yè)大學(xué) 電子信息學(xué)院,西安 710072 2. 航空工業(yè)洛陽電光設(shè)備研究所,洛陽 471000 3. 中國空空導(dǎo)彈研究院,洛陽 471009
地空導(dǎo)彈是從地面(地上、地下、車上等)發(fā)射、攻擊空中和太空目標(biāo)的導(dǎo)彈,當(dāng)前主要用來防御航空兵器[1]。地空導(dǎo)彈的發(fā)射區(qū)是一項(xiàng)提供給指揮員進(jìn)行導(dǎo)彈發(fā)射時(shí)機(jī)判斷的重要參數(shù),發(fā)射區(qū)的解算精度直接影響到導(dǎo)彈的攻擊效果。
早期為了獲取地空導(dǎo)彈發(fā)射區(qū)的工作式,多采用多項(xiàng)式擬合的方法。從文獻(xiàn)[2]中可以看出,多項(xiàng)式擬合需要從大量訓(xùn)練數(shù)據(jù)中分析各輸入?yún)?shù)與發(fā)射區(qū)的關(guān)系。由于地空導(dǎo)彈發(fā)射區(qū)的輸入?yún)?shù)較多,且部分輸入?yún)?shù)與發(fā)射區(qū)的關(guān)系并不直觀,因此很難通過直接觀察得到一個(gè)合適的工作式,且擬合精度較低。針對以上問題,有學(xué)者另辟蹊徑,選用神經(jīng)網(wǎng)絡(luò)對發(fā)射區(qū)進(jìn)行擬合[3]。神經(jīng)網(wǎng)絡(luò)可以通過隱層來提取輸入?yún)?shù)的特征,表征輸入與輸出之間的關(guān)系,不需要構(gòu)造具體的工作式,從而有效地避免了工作式選取過程的巨大工作量,文獻(xiàn)[4-8]也均指出神經(jīng)網(wǎng)絡(luò)能夠用于解決該類非結(jié)構(gòu)性問題。但神經(jīng)網(wǎng)絡(luò)是一種淺層網(wǎng)絡(luò),在面對大量且關(guān)系復(fù)雜的數(shù)據(jù)時(shí),其提取數(shù)據(jù)特征的能力有限,擬合效果存在瓶頸,當(dāng)隱層節(jié)點(diǎn)數(shù)達(dá)到一定程度后,擬合精度很難得到提升。當(dāng)隱層節(jié)點(diǎn)數(shù)過多時(shí),網(wǎng)絡(luò)訓(xùn)練時(shí)間將大大增加,還可能出現(xiàn)過擬合問題[9]。同時(shí),神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要大量的標(biāo)簽數(shù)據(jù),這極大地增大了實(shí)際應(yīng)用的人工成本。
傳統(tǒng)方法在對導(dǎo)彈發(fā)射區(qū)擬合時(shí)存在不足:
1) 多項(xiàng)式擬合算法無法應(yīng)對多維輸入。多項(xiàng)式擬合算法需要人工設(shè)計(jì)工作式,即人工設(shè)計(jì)輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的依賴關(guān)系。當(dāng)輸入數(shù)據(jù)維度較低時(shí),這種方法通常是可行的,并且可以保證一定精度;而當(dāng)輸入數(shù)據(jù)維度增加時(shí),輸入與輸出之間的依賴關(guān)系式很難通過直觀的方式進(jìn)行設(shè)計(jì),這很大程度上限制了多項(xiàng)式擬合算法的應(yīng)用場景和擬合精度。
2) BP (Back Propagation)神經(jīng)網(wǎng)絡(luò)存在擬合精度限制。傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)為三層神經(jīng)網(wǎng)絡(luò),雖然在理論上,當(dāng)隱層節(jié)點(diǎn)數(shù)目無限增多時(shí),可以以任意精度逼近任意非線性函數(shù),但在實(shí)際應(yīng)用中,這種條件是無法實(shí)現(xiàn)的。因此,當(dāng)BP神經(jīng)網(wǎng)絡(luò)的擬合精度達(dá)到一定程度時(shí),再想進(jìn)一步提高,需要付出大量的模型結(jié)構(gòu)代價(jià)和計(jì)算代價(jià),尤其是增加網(wǎng)絡(luò)深度時(shí)容易出現(xiàn)梯度彌散現(xiàn)象,反而使訓(xùn)練效果變差,這極大地限制了BP神經(jīng)網(wǎng)絡(luò)在高精度需求下的應(yīng)用。
3) 深度BP神經(jīng)網(wǎng)絡(luò)等監(jiān)督學(xué)習(xí)算法需要大量的標(biāo)簽數(shù)據(jù)。由于BP神經(jīng)網(wǎng)絡(luò)屬于監(jiān)督模型,所需的大量訓(xùn)練數(shù)據(jù)必須具有標(biāo)簽。在實(shí)際軍事應(yīng)用中,有時(shí)很難采集到大量標(biāo)簽數(shù)據(jù),若使用深層BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,則必須對無標(biāo)簽數(shù)據(jù)進(jìn)行人工標(biāo)注,此時(shí)的人力成本過大,如針對地空導(dǎo)彈發(fā)射區(qū)問題,數(shù)據(jù)的標(biāo)簽往往通過實(shí)彈打靶、專家經(jīng)驗(yàn)等方式獲得,在一些情況下很難完成,進(jìn)一步加大了獲取深度BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)的難度。
針對以上描述的問題,本文設(shè)計(jì)了一種基于堆棧稀疏自編碼器 (Stacked Sparse Auto Encoder, SSAE) 的深度擬合網(wǎng)絡(luò) (Deep Fitting Network, DFN),簡稱SSAE-DFN,并將其應(yīng)用于地空導(dǎo)彈發(fā)射區(qū)的擬合問題中。SSAE是一種深層神經(jīng)網(wǎng)絡(luò)模型,結(jié)構(gòu)上由多個(gè)AE (Auto Encoder) 模型堆疊而成,并加入稀疏性限制,具有無監(jiān)督學(xué)習(xí)的特性[10]。Hintong和Salakhutdinov[10]表明了兩點(diǎn)關(guān)鍵信息:① 多隱層的人工神經(jīng)網(wǎng)絡(luò)具有優(yōu)異的特征學(xué)習(xí)能力,學(xué)習(xí)得到的特征對數(shù)據(jù)有更本質(zhì)的描述;② 可通過“逐層初始化”(Layer Wise Pre-training)來解決深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練困難的問題。在表達(dá)相同的非線性函數(shù)時(shí),深層網(wǎng)絡(luò)比淺層網(wǎng)絡(luò)所需的節(jié)點(diǎn)數(shù)更少。本文所設(shè)計(jì)的深度擬合模型相對于傳統(tǒng)算法具有以下優(yōu)勢:
1) 可以有效應(yīng)對多維輸入。深度擬合網(wǎng)絡(luò)的工作機(jī)制是通過對數(shù)據(jù)的學(xué)習(xí)來自動建立輸入與輸出之間的依賴關(guān)系,所以理論上可以應(yīng)對任意維的輸入,從而克服了多項(xiàng)式方法的不足。
2) 提高擬合精度。多層深度擬合網(wǎng)絡(luò)具有更強(qiáng)的表達(dá)能力,可以擬合更加復(fù)雜的非線性函數(shù)。通過多隱層提取更準(zhǔn)確的數(shù)據(jù)特征來最終提高擬合精度。從而突破了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的擬合精度限制。
3) 減少對標(biāo)簽數(shù)據(jù)的依賴。針對地空導(dǎo)彈發(fā)射區(qū)問題,本文提出的深度擬合網(wǎng)絡(luò)首先通過無監(jiān)督學(xué)習(xí)的方式進(jìn)行預(yù)訓(xùn)練,即使用大量無標(biāo)簽的預(yù)訓(xùn)練數(shù)據(jù),將模型訓(xùn)練到一個(gè)較好的狀態(tài);之后,在監(jiān)督學(xué)習(xí)的方式下對網(wǎng)絡(luò)進(jìn)行微調(diào),此過程只需要少量的標(biāo)簽數(shù)據(jù)即可完成對發(fā)射區(qū)的擬合。相較于BP神經(jīng)網(wǎng)絡(luò),本文提出的深度擬合網(wǎng)絡(luò)大大減少對標(biāo)簽數(shù)據(jù)的依賴,節(jié)約了人力、縮短了實(shí)驗(yàn)流程,更避免了不必要的資源浪費(fèi)。
地空導(dǎo)彈發(fā)射區(qū)是一片空域范圍,目標(biāo)在發(fā)射區(qū)內(nèi)部時(shí),由地面發(fā)射的地空導(dǎo)彈將與目標(biāo)在殺傷區(qū)相遇[11]。根據(jù)地空導(dǎo)彈發(fā)射區(qū)獲取途徑的不同,可以分為理論發(fā)射區(qū)和實(shí)際發(fā)射區(qū)。理論發(fā)射區(qū)通過導(dǎo)彈研發(fā)方根據(jù)導(dǎo)彈的各項(xiàng)性能參數(shù)進(jìn)行計(jì)算獲得,而實(shí)際發(fā)射區(qū)則是根據(jù)理論發(fā)射區(qū)數(shù)據(jù),通過一定的解算方法得到。地空導(dǎo)彈實(shí)際發(fā)射區(qū)的解算精度表現(xiàn)為其與理論發(fā)射區(qū)的契合度,兩者越接近說明解算精度越高。本文后續(xù)部分中所提及的地空導(dǎo)彈發(fā)射區(qū),除特殊說明外,均指地空導(dǎo)彈實(shí)際發(fā)射區(qū)。
對地空導(dǎo)彈發(fā)射區(qū)的擬合,實(shí)際上是尋求一個(gè)最優(yōu)的函數(shù)形式來有效地表達(dá)各項(xiàng)輸入?yún)?shù)值與發(fā)射區(qū)數(shù)值之間的關(guān)系。假設(shè)空中目標(biāo)A高度為H,速度為V,則其與地空導(dǎo)彈的位置關(guān)系在水平面的投影可如圖1所示。其中,TD為目標(biāo)航向在水平面投影,地空導(dǎo)彈位置為O,安裝軸線方向?yàn)镺x。導(dǎo)彈離軸角是導(dǎo)彈發(fā)射方向與目標(biāo)方向的夾角,如圖中θ所示,導(dǎo)彈發(fā)射離軸角有限,最大離軸角記為θmax,于是可以根據(jù)TD的不同和導(dǎo)彈發(fā)射距離的限制,可以獲得KLMN組成的扇形區(qū)域所示的地空導(dǎo)彈發(fā)射區(qū),其中地空導(dǎo)彈發(fā)射位置O到MN的距離r為發(fā)射區(qū)近界距離,同理R為遠(yuǎn)界距離,而從導(dǎo)彈發(fā)射位置O到目標(biāo)航向水平投影的垂直距離即為航路捷徑,如圖中P所示。
圖1 地空導(dǎo)彈發(fā)射區(qū)水平面投影示意圖Fig.1 Projection of ground-to-air missile horizontal launch zone
通過6自由度的地空導(dǎo)彈發(fā)射區(qū)仿真,可以得到大量理論發(fā)射區(qū)近界和遠(yuǎn)界的數(shù)據(jù)。本文選用地空導(dǎo)彈理論發(fā)射區(qū)遠(yuǎn)界的數(shù)據(jù)進(jìn)行擬合,其數(shù)值主要與離軸角θ、目標(biāo)高度H、目標(biāo)速度V和航路捷徑P這4個(gè)變量有關(guān),因此地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界R所需構(gòu)造的工作式形式為
R=f(θ,H,V,P)
(1)
由于多項(xiàng)式擬合函數(shù)可以是任意函數(shù)形式的組合,因此多項(xiàng)式擬合算法最大的困難在于如何尋找到合適的工作式[12]。即便是多項(xiàng)式次數(shù)不高的簡單線性模型,隨自變量數(shù)目的增加,工作式項(xiàng)數(shù)也會以指數(shù)形式快速增加。
對于地空導(dǎo)彈發(fā)射區(qū)的擬合問題,影響地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界的因素主要有4個(gè),即離軸角θ、目標(biāo)高度H、目標(biāo)速度V和航路捷徑P,因此自變量的個(gè)數(shù)至少為4。多項(xiàng)式中除了簡單的線性模型變量外,還可能有其他形式的多項(xiàng)式項(xiàng),多項(xiàng)式的構(gòu)成將變得更加復(fù)雜,多項(xiàng)式的選擇也將變得更加困難。
以最高項(xiàng)為4次項(xiàng)的線性模型為例,構(gòu)造如下的多項(xiàng)式對地空導(dǎo)彈發(fā)射區(qū)進(jìn)行擬合:
R=f(θ,H,V,P)=f1(θ,H,V,P)+
f2(θ,H,V,P)+…+f3(θ,H,V,P)
(2)
可見通過多項(xiàng)式對地空導(dǎo)彈發(fā)射區(qū)進(jìn)行擬合難度很大,因此需要尋找其他的方法來對發(fā)射區(qū)進(jìn)行擬合。
由于多項(xiàng)式擬合存在函數(shù)形式難以確定等問題,因此考慮采用神經(jīng)網(wǎng)絡(luò)對地空導(dǎo)彈發(fā)射區(qū)進(jìn)行擬合。BP神經(jīng)網(wǎng)絡(luò)是一種按誤差反向傳播算法訓(xùn)練的多層前饋網(wǎng)絡(luò),是應(yīng)用最為成功的神經(jīng)網(wǎng)絡(luò),具有良好的非線性表達(dá)能力和優(yōu)異的函數(shù)逼近能力[13]。神經(jīng)網(wǎng)絡(luò)沒有具體的函數(shù)表達(dá)式,因此避免了工作式尋找困難的問題。
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示,圖中的神經(jīng)網(wǎng)絡(luò)包含輸入層(M)、2個(gè)隱層(I和J)以及輸出層(N),X=[x1,x2,…,xm]為m個(gè)輸入信號,Y=[y1,y2,…,yp]為p個(gè)輸出信號,wmi為輸入層到隱層I的權(quán)值、wij為隱層I到隱層J的權(quán)值、wjn為隱層J到輸出層的權(quán)值。于是,神經(jīng)網(wǎng)絡(luò)的輸出可以表示為
Y=hW,b(X)=h(WXT+b)
(3)
式中:W為權(quán)值矩陣;b為偏置項(xiàng)。
神經(jīng)網(wǎng)絡(luò)通過誤差反向傳播算法不斷修正各層之間的權(quán)值,用輸出層的誤差修正與輸出層相連接的權(quán)值,再計(jì)算出隱層單元的誤差來修正與隱層連接的權(quán)值。通過訓(xùn)練比較網(wǎng)絡(luò)的實(shí)際輸出與期望輸出的誤差,不斷調(diào)整網(wǎng)絡(luò)權(quán)值,直到輸出層的誤差達(dá)到預(yù)設(shè)的精度,從而得到整個(gè)網(wǎng)絡(luò)的權(quán)值。設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的要素包含選擇合理的隱層數(shù)、每層的節(jié)點(diǎn)數(shù)、代價(jià)函數(shù)、以及權(quán)值計(jì)算方法。
圖2 傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of traditional BP neural network
隨著隱層數(shù)的增加,網(wǎng)絡(luò)的深度也在增加,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對于地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界的擬合效果將會有一定的提升,因?yàn)樯顚泳W(wǎng)絡(luò)相比淺層網(wǎng)絡(luò)具備更強(qiáng)大的特征提取能力,但當(dāng)網(wǎng)絡(luò)深度到達(dá)一定程度后,由于BP算法本身存在梯度彌散的問題[14],會導(dǎo)致訓(xùn)練效果較差。過多的隱層節(jié)點(diǎn)數(shù)也可能導(dǎo)致網(wǎng)絡(luò)參數(shù)無法得到充分訓(xùn)練,從而使網(wǎng)絡(luò)的擬合性能下降,因此隱層節(jié)點(diǎn)數(shù)并不是越多越好[15]。
正是由于BP神經(jīng)網(wǎng)絡(luò)在參數(shù)選取時(shí)存在的這些不足,本文設(shè)計(jì)了一種堆棧式稀疏自編碼器網(wǎng)絡(luò)。
本文設(shè)計(jì)了一種基于AE模型的SSAE深度擬合網(wǎng)絡(luò)(SSAE-DFN)。SSAE網(wǎng)絡(luò)由多個(gè)AE堆疊而成的,并加入了稀疏性限制對網(wǎng)絡(luò)性能進(jìn)行進(jìn)一步的改善。SSAE網(wǎng)絡(luò)具有多層非線性映射的結(jié)構(gòu),通過無監(jiān)督學(xué)習(xí)方式的預(yù)訓(xùn)練,可以獲得一定的先驗(yàn)知識,使網(wǎng)絡(luò)權(quán)值處于較好的初始位置,能夠較好地逼近復(fù)雜函數(shù)[16-18]。SSAE網(wǎng)絡(luò)的基本單元是AE,下面對AE以及其相關(guān)訓(xùn)練算法進(jìn)行介紹。
自編碼器是一種無監(jiān)督學(xué)習(xí)算法模型,所使用的訓(xùn)練樣本是無類別標(biāo)簽的,利用反向傳播算法進(jìn)行訓(xùn)練,用于提取訓(xùn)練數(shù)據(jù)的高級特征[19],其基本結(jié)構(gòu)如圖3所示。
圖3 自編碼器的基本結(jié)構(gòu)Fig.3 Basic structure of auto-encoder
圖4 自編碼器網(wǎng)絡(luò)訓(xùn)練的抽象表示Fig.4 Abstract representation of auto-encoder network training
自編碼器的原理是將訓(xùn)練樣本同時(shí)作為網(wǎng)絡(luò)的輸入和輸出,即表征一個(gè)hW,b(x)≈x的映射關(guān)系,輸入信號是原始樣本的集合{x(1),x(2),…,x(n)} (x(i)∈Rm),其中m為輸入信號的維數(shù),將這些樣本從網(wǎng)絡(luò)的輸入層輸入,經(jīng)過非線性激勵(lì)映射到隱層,這個(gè)過程被稱為編碼,而將隱層繼續(xù)作為下一層的輸入,經(jīng)過非線性激勵(lì)映射到輸入層以重構(gòu)輸入數(shù)據(jù),這個(gè)過程被稱為解碼,和BP神經(jīng)網(wǎng)絡(luò)的代價(jià)函數(shù)類似,由于自編碼器的輸入等于輸出,因此其代價(jià)函數(shù)為
(4)
式中:第1項(xiàng)是重構(gòu)誤差項(xiàng);第2項(xiàng)是正則項(xiàng),用來防止過擬合;(x(k),y(k))為某一組訓(xùn)練樣本,hW,b(x(k))為輸入x(k)對應(yīng)的網(wǎng)絡(luò)輸出;W為自編碼器各節(jié)點(diǎn)之間的權(quán)重w構(gòu)成的矩陣。
從網(wǎng)絡(luò)整體訓(xùn)練的角度來看,自編碼器通過訓(xùn)練可以改善自身的性能,學(xué)習(xí)到輸入樣本數(shù)據(jù)的部分特征,從而可以進(jìn)一步提升深度網(wǎng)絡(luò)的性能。在使用自編碼器模型時(shí),可以對網(wǎng)絡(luò)加入某些特定的限制來增強(qiáng)網(wǎng)絡(luò)的整體性能,Vincent等對自編碼器進(jìn)行了改進(jìn),提出了降噪自編碼器 (De-noising Auto Encoder, DAE),解決了在分布相差很大條件下的訓(xùn)練樣本和測試樣本訓(xùn)練導(dǎo)致的訓(xùn)練效果快速下降的問題[20];而稀疏自編碼器 (Sparse Auto Encoder, SAE) 是基于稀疏性思想被提出的另一個(gè)經(jīng)典自編碼器模型,同樣得到了廣泛的應(yīng)用[21-22]。本文選取堆棧式稀疏自編碼器對地空導(dǎo)彈發(fā)射區(qū)進(jìn)行擬合,下面對有關(guān)SSAE的知識進(jìn)行詳細(xì)的介紹。
所謂稀疏性是受哺乳動物視覺系統(tǒng)的運(yùn)作機(jī)制啟發(fā)的,哺乳動物在視覺皮層中使用了稀疏性表示(Sparse Representation),其皮層中存在的細(xì)胞感受域(Receptive Field)具有帶通性(Band-pass)、方向性(Oriented)和空間局部性(Spatially Localized),為了理解這3種性能在視覺細(xì)胞捕獲到的圖像中存在的內(nèi)部結(jié)構(gòu)之間的關(guān)系,可以通過某種編碼手段來實(shí)現(xiàn),利用含稀疏項(xiàng)的目標(biāo)函數(shù)來學(xué)習(xí)訓(xùn)練數(shù)據(jù)的稀疏表示,可以表征以上3種 性能的相關(guān)性[23]。
假設(shè)自編碼器的激勵(lì)函數(shù)仍選擇Sigmoid函數(shù),神經(jīng)元的輸出值域?yàn)?0,1),那么關(guān)于神經(jīng)網(wǎng)絡(luò)的稀疏性,可以在神經(jīng)元的輸出十分趨近于1時(shí)認(rèn)為被激活,反之當(dāng)神經(jīng)元輸出十分趨近于0時(shí)認(rèn)為被抑制,從理論定義上將使神經(jīng)元在大部分時(shí)間內(nèi)都處于被抑制狀態(tài)的限制條件被稱為稀疏性限制[24]。
加入稀疏性限制,實(shí)際上是相對于多層BP神經(jīng)網(wǎng)絡(luò)在誤差反向傳播過程中加入了一個(gè)稀疏項(xiàng),目的是為了學(xué)習(xí)到樣本數(shù)據(jù)中更具一般性的特征,所謂稀疏性反映的是變量之間分布的差異,通過這些差異可以表征樣本數(shù)據(jù)之間的某些相關(guān)性關(guān)系。
KL散度(Kullback-Leibler Divergence, KLD)是信息論中的概念,在機(jī)器學(xué)習(xí)領(lǐng)域同樣得到了廣泛的應(yīng)用[25],多用于度量2個(gè)函數(shù)之間的相近程度和相似程度,在泛函分析中也經(jīng)常用到[26]。
假設(shè)現(xiàn)在有2個(gè)關(guān)于樣本集的概率分布為p和q,其中p為真實(shí)分布,而q為非真實(shí)分布,則按照真實(shí)分布p來衡量識別一個(gè)樣本所需編碼長度的期望(即平均編碼長度H(p))為
(5)
如果使用非真實(shí)分布q來表示真實(shí)分布p的平均編碼長度H(p,q),則為
(6)
由于用q來編碼的樣本來自于p分布,所以期望值H(p,q)中概率是p(i),H(p,q)被稱為“交叉熵”。
(7)
基于KLD理論,懲罰因子可以表示為
(8)
式中:|L2|為隱層Layer 2中神經(jīng)元的數(shù)量,
(9)
(10)
圖5 KL散度值的變化趨勢示意圖Fig.5 Variation trend schematic diagram of KL divergence value
(11)
式中:|I|、|J|為兩隱層的節(jié)點(diǎn)數(shù);wj,i為神經(jīng)元i和神經(jīng)元j之間的連接權(quán)值。
為了對比深度學(xué)習(xí)網(wǎng)絡(luò)模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界擬合效果的不同,選用與神經(jīng)網(wǎng)絡(luò)模型相同的訓(xùn)練樣本,以堆棧式稀疏自編碼器(SSAE)網(wǎng)絡(luò)模型對地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界進(jìn)行擬合。由于堆棧式稀疏自編碼器是由多個(gè)自編碼器堆疊而來,故其隱層數(shù)與各隱層節(jié)點(diǎn)數(shù)的選取對于最終的訓(xùn)練結(jié)果也存在較大的影響。輸入仍是由離軸角θ、目標(biāo)高度H、目標(biāo)速度V和航路捷徑P組成的輸入變量矩陣,即X=[θ,H,V,P]T,輸出矩陣與輸入矩陣相同,預(yù)訓(xùn)練過程是利用實(shí)驗(yàn)數(shù)據(jù)通過無監(jiān)督學(xué)習(xí)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使網(wǎng)絡(luò)的權(quán)值和偏置處于一個(gè)相對較好的初值位置;當(dāng)所有自編碼器訓(xùn)練完成,得到網(wǎng)絡(luò)的初始結(jié)構(gòu)參數(shù)后,在網(wǎng)絡(luò)頂層加入發(fā)射區(qū)遠(yuǎn)界的標(biāo)簽數(shù)據(jù)R對網(wǎng)絡(luò)進(jìn)行全局調(diào)優(yōu),進(jìn)一步優(yōu)化SSAE的網(wǎng)絡(luò)權(quán)值和偏置,得到最終訓(xùn)練好的深度網(wǎng)絡(luò)。深度網(wǎng)絡(luò)整體的訓(xùn)練分為網(wǎng)絡(luò)的預(yù)訓(xùn)練(Pre-training)和全局調(diào)優(yōu)(Fine-tuning)兩個(gè)過程,下面就深度網(wǎng)絡(luò)模型的具體訓(xùn)練過程進(jìn)行介紹。
根據(jù)式(1),本文使用的網(wǎng)絡(luò)具有4個(gè)輸入,1個(gè) 輸出。在構(gòu)建實(shí)際網(wǎng)絡(luò)時(shí),自編碼器的隱層節(jié)點(diǎn)數(shù)一般比輸入層節(jié)點(diǎn)數(shù)少。研究發(fā)現(xiàn),隱層節(jié)點(diǎn)數(shù)多于輸入層節(jié)點(diǎn)數(shù)時(shí),也可以得到同樣的訓(xùn)練效果。為了增加網(wǎng)絡(luò)的深度,SSAE的第1層 隱層節(jié)點(diǎn)數(shù)選為50,這樣可保證其后的隱層節(jié)點(diǎn)數(shù)以一定的步長逐漸減小,便于對數(shù)據(jù)進(jìn)行學(xué)習(xí)。為了確定本文所使用的網(wǎng)絡(luò)結(jié)構(gòu),本節(jié)進(jìn)行了如下實(shí)驗(yàn)。
該實(shí)驗(yàn)對不同結(jié)構(gòu)的網(wǎng)絡(luò)進(jìn)行精度分析,并采用平方根均方誤差(RMSE)作為衡量擬合結(jié)果精度的指標(biāo)。由圖6可知,在訓(xùn)練 SSAE時(shí),隨著網(wǎng)絡(luò)深度的增加,平方根均方誤差逐漸減少,但誤差下降的速率也在逐漸降低,三隱層網(wǎng)絡(luò)到四隱層網(wǎng)絡(luò)的誤差下降速率已近似為0,故本文沒有必要進(jìn)行大于四隱層網(wǎng)絡(luò)的實(shí)驗(yàn)。
圖6 不同隱層結(jié)構(gòu)堆棧式稀疏自編碼器平方根均方誤差(RMSE)Fig.6 RMSE of stacked sparse auto-encoder with different structures of hidden layer
自編碼器預(yù)訓(xùn)練的過程是無監(jiān)督的,對于地空導(dǎo)彈發(fā)射區(qū)樣本數(shù)據(jù)來講,僅需要利用輸入變量矩陣進(jìn)行訓(xùn)練。給定第1個(gè)自編碼器的輸入矩陣X(1)=[θ,H,V,P]T、隱層L(1)和輸出矩陣Y(1)=X(1)=[θ,H,V,P]T,并對其進(jìn)行歸一化處理,并隨機(jī)初始化網(wǎng)絡(luò)參數(shù)值,對第1個(gè)自編碼器進(jìn)行訓(xùn)練,第1個(gè)自編碼器的結(jié)構(gòu)如圖7所示。
網(wǎng)絡(luò)的預(yù)訓(xùn)練實(shí)際上就是依次訓(xùn)練所有的AE,使網(wǎng)絡(luò)權(quán)值處于一個(gè)相對較好的初始位置,預(yù)訓(xùn)練的過程是深度網(wǎng)絡(luò)能夠得到順利訓(xùn)練的保證,其具體步驟為
圖7 深度網(wǎng)絡(luò)第1個(gè)自編碼器結(jié)構(gòu)Fig.7 First auto-encoder structure of deep network
步驟1設(shè)計(jì)SSAE網(wǎng)絡(luò)結(jié)構(gòu)。為了使深度網(wǎng)絡(luò)的擬合結(jié)果具有說服力,需要利用控制變量的思想設(shè)計(jì)一系列的深度網(wǎng)絡(luò)結(jié)構(gòu),確定隱層數(shù)及各隱層節(jié)點(diǎn)數(shù)。在保證網(wǎng)絡(luò)結(jié)構(gòu)相同的前提下,對比BP算法和SSAE的擬合結(jié)果。
步驟2將地空導(dǎo)彈的離軸角θ、目標(biāo)高度H、目標(biāo)速度V和航路捷徑P的數(shù)據(jù)進(jìn)行歸一化處理,使其數(shù)據(jù)的數(shù)值全部位于[0,1]的區(qū)間內(nèi),作為第1個(gè)AE的輸入矩陣。
步驟3對第1個(gè)AE進(jìn)行訓(xùn)練,待結(jié)果收斂后將第1個(gè)AE的隱層輸出作為第2個(gè)AE的輸入對第2個(gè)AE進(jìn)行訓(xùn)練。
步驟4第2個(gè)AE訓(xùn)練結(jié)束后將其隱層輸出作為下一個(gè)AE的輸入,以此類推,直至每一個(gè)AE都訓(xùn)練完成。
經(jīng)過以上訓(xùn)練后,整個(gè)深度網(wǎng)絡(luò)可以得到一個(gè)相對較好的初始權(quán)值,接下來要對整個(gè)網(wǎng)絡(luò)進(jìn)行全局調(diào)優(yōu)。
SSAE網(wǎng)絡(luò)經(jīng)過預(yù)訓(xùn)練,網(wǎng)絡(luò)權(quán)值已經(jīng)位于一個(gè)較好的狀態(tài),接下來需要在頂層加入地空導(dǎo)彈發(fā)射區(qū)的標(biāo)簽數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行全局調(diào)優(yōu),需要在網(wǎng)絡(luò)頂端加入輸出層,得到了如圖8所示的網(wǎng)絡(luò)結(jié)構(gòu)。
圖8 堆棧式稀疏自編碼器網(wǎng)絡(luò)結(jié)構(gòu)Fig.8 Structure of stacked sparse auto-encoder network
網(wǎng)絡(luò)全局調(diào)優(yōu)是一個(gè)有監(jiān)督學(xué)習(xí)過程,將地空導(dǎo)彈發(fā)射區(qū)訓(xùn)練樣本數(shù)據(jù)中的離軸角θ、目標(biāo)高度H、目標(biāo)速度V和航路捷徑P組成輸入變量矩陣,即X=[θ,H,V,P]T,發(fā)射區(qū)遠(yuǎn)界R作為輸出矩陣,即Y=RT,通過誤差反向傳播算法中對深度網(wǎng)絡(luò)權(quán)值進(jìn)行全局調(diào)優(yōu),直至滿足誤差收斂條件或達(dá)到最大仿真步長,記錄下所有訓(xùn)練好的網(wǎng)絡(luò)參數(shù),即實(shí)現(xiàn)了堆棧式稀疏自編碼的整個(gè)訓(xùn)練過程。
本文以某導(dǎo)彈在尾追態(tài)勢下陣地海拔高度為0~3 000 m、離軸角為[-60°,60°]、目標(biāo)高度為3 000~20 000 m、目標(biāo)速度為100~800 m/s、航路捷徑為-30 000~30 000 m時(shí)的部分地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界數(shù)據(jù)作為訓(xùn)練樣本進(jìn)行擬合,其中部分樣本數(shù)據(jù)如表1所示。
(12)
式中:xmin為x(i)的最小值;xmax為x(i)的最大值,經(jīng)過歸一化處理的所有訓(xùn)練樣本值被轉(zhuǎn)化為[0,1]區(qū)間的無量綱數(shù)據(jù)。
本文在對仿真結(jié)果分析時(shí)所用到的一些指標(biāo)及其具體定義為
1) 平方根均方誤差RMSE
(13)
2) 平均絕對百分比誤差MAPE
(14)
式中:y為理論輸出值;y′為實(shí)際輸出值;T為樣本個(gè)數(shù)。
3) 超界(失界)大誤差點(diǎn)數(shù)統(tǒng)計(jì)
對于地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界而言,超界是指通過網(wǎng)絡(luò)計(jì)算得到的實(shí)際擬合遠(yuǎn)界值比理論值大,相反地,失界是指通過網(wǎng)絡(luò)計(jì)算得到的實(shí)際擬合遠(yuǎn)界值比理論值小。通過對超界和失界情況下大誤差點(diǎn)的個(gè)數(shù)統(tǒng)計(jì),可以最直觀地得到發(fā)射區(qū)遠(yuǎn)界的整體擬合結(jié)果與發(fā)射區(qū)遠(yuǎn)界理論值的誤差分布情況,分別選取誤差值Error≥10%和≥20%兩種條件為兩個(gè)檔次的大誤差,統(tǒng)計(jì)這兩種篩選條件下的誤差點(diǎn)個(gè)數(shù),可以從另一個(gè)角度對網(wǎng)絡(luò)的擬合性能進(jìn)行對比評估。
表1 部分地空導(dǎo)彈(SAM)發(fā)射區(qū)遠(yuǎn)界數(shù)據(jù)
Table 1 Far-field launching area data for partial Surface-to-Air Missile (SAM)
離軸角/(°)目標(biāo)高度/m目標(biāo)速度/(m·s-1)航路捷徑/m發(fā)射區(qū)遠(yuǎn)界值/m-3011000500-6000100000-159000700 2200096381.9 153000300-600043000 4517500100-1000049854.1 4515000700 6000100000 459000700-22000100000 453000100 800031854.1-3017500300 2400058236 4513000400-2600090236 303000100-1400033236 451000300-600032381.9 1511000600 2000100000 6011000800 12000100000-3030400-800031527.8-151000600-800042854.1-4530200 1600023000 309000600 18000100000 6013000600 18000100000 015000600 24000100000 015000600 16000100000-1511000100 1200059618-6011000200-1400063763.9 6011000500 800090618-4520000500 2200058381.9 606000700-1200066527.8-3015000300-1000082618-1511000100 2200058763.9 156000200 400050618-453000400-400041618 1517500600 1600070381.9
為進(jìn)一步研究訓(xùn)練SSAE網(wǎng)絡(luò)中不同AE的訓(xùn)練速度,本文使用雙隱層SSAE網(wǎng)絡(luò)的第1層與第2層AE迭代誤差的收斂速度來研究不同層AE的收斂情況。
由圖9看出,在對含兩層隱層的SSAE訓(xùn)練時(shí),第1層AE的迭代誤差下降較為緩慢,而第2層 AE訓(xùn)練時(shí)由于使用第1層AE的隱層作為輸入,訓(xùn)練時(shí)迭代誤差下降較快,這說明堆棧式的網(wǎng)絡(luò)構(gòu)建策略在一定程度上可以提升網(wǎng)絡(luò)訓(xùn)練的效率。
圖9 第1層與第2層自編碼器訓(xùn)練迭代誤差Fig.9 Iteration error of the first and second layers of auto encoder
SSAE-DEN的訓(xùn)練過程分為預(yù)訓(xùn)練與全局調(diào)優(yōu)兩個(gè)部分,調(diào)優(yōu)過程使用標(biāo)簽數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行全局調(diào)優(yōu),本文對單隱層、雙隱層、三隱層與四隱層網(wǎng)絡(luò)預(yù)訓(xùn)練與預(yù)訓(xùn)練加調(diào)優(yōu)后的訓(xùn)練誤差進(jìn)行比較,研究預(yù)訓(xùn)練對訓(xùn)練效果的影響。
通過表2可以明顯看出,僅預(yù)訓(xùn)練的網(wǎng)絡(luò)相對調(diào)優(yōu)后的網(wǎng)絡(luò)存在較大誤差,顯然經(jīng)過調(diào)優(yōu)后的SSAE-DFN能更好的擬合發(fā)射區(qū)。說明預(yù)訓(xùn)練后再經(jīng)過調(diào)優(yōu)的網(wǎng)絡(luò)能更好的擬合發(fā)射區(qū)遠(yuǎn)界。
表2 全局調(diào)優(yōu)對SSAE-DFN網(wǎng)絡(luò)訓(xùn)練誤差的影響
Table 2 Influence of global optimizationon training error of SSAE-DFN network
網(wǎng)絡(luò)訓(xùn)練方式RMSEMAPE僅預(yù)訓(xùn)練預(yù)訓(xùn)練+調(diào)優(yōu)僅預(yù)訓(xùn)練預(yù)訓(xùn)練+調(diào)優(yōu)4-50-1150555821.20.20830.07944-50-20-1134332516.30.17500.02704-50-20-10-1130871942.00.17090.01944-50-20-10-5-1128762450.00.16680.0266
為了對比BP神經(jīng)網(wǎng)絡(luò)與本文設(shè)計(jì)的SSAE網(wǎng)絡(luò)對地空導(dǎo)彈發(fā)射區(qū)擬合的效果,利用控制變量的思想,構(gòu)建與多層神經(jīng)網(wǎng)絡(luò)具有相同隱層結(jié)構(gòu)的堆棧式稀疏自編碼器對地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界樣本進(jìn)行訓(xùn)練,訓(xùn)練參數(shù)設(shè)定如表3所示。
表3 BP和SSAE網(wǎng)絡(luò)訓(xùn)練參數(shù)Table 3 Training parameters of BP and SSAE network
4.3.1 BP網(wǎng)絡(luò)與SSAE-DFN擬合效果對比
1) 評價(jià)指標(biāo)結(jié)果對比
根據(jù)式(14)和式(15)定義的評價(jià)指標(biāo),所訓(xùn)練得出的BP網(wǎng)路和SSAE-DFN的各項(xiàng)評價(jià)指標(biāo)如表4所示。
為了更直觀地對比堆棧式稀疏自編碼器與BP神經(jīng)網(wǎng)絡(luò)的擬合效果差異,可將SSAE-DFN與對應(yīng)相同隱層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò)模型擬合結(jié)果的各項(xiàng)統(tǒng)計(jì)指標(biāo)繪制在同一直方圖中,可以得到如圖10和圖11所示。
表4 深度稀疏自編碼器網(wǎng)絡(luò)評價(jià)指標(biāo)統(tǒng)計(jì)
Table 4 Statistics of sparse auto-encoder for deep network evaluation index
網(wǎng)絡(luò)結(jié)構(gòu)Error≥10%點(diǎn)數(shù)Error≥20%點(diǎn)數(shù)RMSEMAPE4-50-148678236128.30.07814-50-20-1557732516.30.02704-50-20-10-13505122960.02664-50-20-10-5-13075222210.0260
由圖10(a)相對誤差Error≥10%的點(diǎn)數(shù)對比統(tǒng)計(jì)結(jié)果可以看出,BP神經(jīng)網(wǎng)絡(luò)模型相對誤差Error≥10%的點(diǎn)數(shù)隨著網(wǎng)絡(luò)隱層數(shù)的增加整體呈減少趨勢,但當(dāng)網(wǎng)絡(luò)隱層數(shù)達(dá)到4層時(shí)相對誤差Error≥10%的點(diǎn)數(shù)驟增,這說明BP算法不適用于深度網(wǎng)絡(luò)的訓(xùn)練,出現(xiàn)了梯度彌散現(xiàn)象,之后的實(shí)驗(yàn)結(jié)果也表現(xiàn)出相同的現(xiàn)象。而堆棧式稀疏自編碼器網(wǎng)絡(luò)相對誤差Error≥10%的點(diǎn)數(shù)隨著網(wǎng)絡(luò)深度的增加而減少,且整體Error≥10%的大誤差點(diǎn)數(shù)相較于BP神經(jīng)網(wǎng)絡(luò)的擬合結(jié)果要少得多,誤差Error≥10%的點(diǎn)數(shù)也沒有出現(xiàn)劇增的現(xiàn)象,這說明SSAE-DFN可以有效地提升地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界的擬合效果。
圖10(b)為相對誤差Error≥20%的點(diǎn)數(shù)對比統(tǒng)計(jì)結(jié)果,和圖10(a)效果類似,可以明顯看出SSAE-DFN的擬合效果在相較于相同隱層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò)模型有顯著的提升,而且在網(wǎng)絡(luò)深度到達(dá)一定程度后,相對誤差Error≥20%的點(diǎn)數(shù)可以被控制在一個(gè)非常少的范圍內(nèi),這可以使火控系統(tǒng)在實(shí)際應(yīng)用中達(dá)到相當(dāng)高的精度。
從圖11(a)的結(jié)果來看,SSAE-DFN的RMSE值在相同隱層結(jié)構(gòu)下對比BP神經(jīng)網(wǎng)絡(luò)要小一倍,整體隨著隱層數(shù)的增加而下降。根據(jù)RMSE的定義可知RMSE的值用于表征擬合結(jié)果的整體離散程度,結(jié)果表明SSAE-DFN對地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界的擬合結(jié)果大誤差點(diǎn)數(shù)較少且整體誤差較小。
由MAPE的計(jì)算方法可知,MAPE的值用于表征擬合結(jié)果的整體相對百分比誤差。由圖11(b) 直方圖可以看出,SSAE-DFN的MAPE值隨隱層數(shù)的增加而減小,整體比BP神經(jīng)網(wǎng)絡(luò)的值有較大程度的減少,BP神經(jīng)網(wǎng)絡(luò)的MAPE值最小為0.055 2,即整體誤差為5.52%,而SSAE-DFN可以使地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界擬合的MAPE值降至0.026 0,即整體誤差為2.6%,相對于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)擬合法性能提升多于一倍,這對于提升火控系統(tǒng)的整體性能具有重要意義。
2) 與理論值對比
圖12為BP神經(jīng)網(wǎng)絡(luò)和SSAE-DFN擬合結(jié)果與理論值的整體對比圖,圖中藍(lán)色的點(diǎn)是發(fā)射區(qū)遠(yuǎn)界理論值,橙色為兩種網(wǎng)絡(luò)的擬合結(jié)果。從結(jié)果中可以看出SSAE-DFN的擬合值與理論值更為接近,由此說明SSAE-DFN對地空導(dǎo)彈發(fā)射區(qū)的擬合效果更好。
圖10 堆棧式稀疏自編碼器Error≥10%和Error≥20%的點(diǎn)數(shù)對比統(tǒng)計(jì)Fig.10 Comparison of stacked sparse auto-encoder Error≥10% and Error≥20% points
圖11 堆棧式稀疏自編碼器RMSE和MAPE對比統(tǒng)計(jì)Fig.11 Comparison of stacked sparse auto-encoder RMSE and MAPE
圖12 發(fā)射區(qū)擬合值與理論值整體對比Fig.12 Comparison of overall fitted value of launch area with theoretical value
由于樣本數(shù)較多,為了更顯著地表現(xiàn)兩種網(wǎng)絡(luò)模型的擬合效果,選取部分發(fā)射區(qū)遠(yuǎn)界平面的擬合值和理論值進(jìn)行繪圖比較如圖13所示,從圖中可以明顯看出,SSAE-DFN相較于BP神經(jīng)網(wǎng)絡(luò),不僅擬合精度更高,而且能更好地表征出發(fā)射區(qū)的曲線特性。
圖13 發(fā)射區(qū)擬合值與理論值部分對比Fig.13 Comparison of fitted and theoretical values of launch area
4.3.2 BP網(wǎng)絡(luò)與SSAE-DFN訓(xùn)練收斂速度對比
圖14為兩種網(wǎng)絡(luò)模型在訓(xùn)練過程中迭代誤差隨迭代次數(shù)的變化趨勢圖,從該圖中可以明顯看出堆棧式稀疏自編碼器網(wǎng)絡(luò)比BP神經(jīng)網(wǎng)絡(luò)的迭代誤差收斂速度快,且最終的迭代誤差值更小,這說明SSAE-DFN模型相對于BP神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練效率更高且訓(xùn)練效果更好。
圖14 兩種網(wǎng)絡(luò)模型迭代誤差變化趨勢Fig.14 Variation of iterative error in two network models
綜合以上各項(xiàng)評價(jià)指標(biāo)和對比圖來看,深度SSAE-DFN模型相較于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò),不僅訓(xùn)練效率高,對標(biāo)簽化數(shù)據(jù)依賴低,而且可以有效提升地空導(dǎo)彈發(fā)射區(qū)遠(yuǎn)界的擬合精度,使擬合誤差控制在一個(gè)較小的范圍內(nèi),這充分說明深度學(xué)習(xí)算法模型在地空導(dǎo)彈火控發(fā)射區(qū)擬合問題中具有更為優(yōu)秀的性能。
1) 采用SSAE-DFN模型對地空導(dǎo)彈發(fā)射區(qū)進(jìn)行擬合,不僅有效地解決了多項(xiàng)式擬合法中地空導(dǎo)彈發(fā)射區(qū)工作式難以確定的問題,且相較于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)可以達(dá)到更高的發(fā)射區(qū)擬合精度,訓(xùn)練效率也更高。
2) SSAE-DFN模型相較于BP神經(jīng)網(wǎng)絡(luò)模型,對標(biāo)簽數(shù)據(jù)的依賴性比較低,有效解決了地空導(dǎo)彈發(fā)射區(qū)擬合中標(biāo)簽數(shù)據(jù)不易獲取的難題,也節(jié)約了數(shù)據(jù)標(biāo)注所需的資源和成本。
3) SSAE-DFN模型克服了深度BP網(wǎng)絡(luò)易發(fā)生梯度彌散的缺陷,即使在隱層數(shù)較多時(shí)也能獲得較好的訓(xùn)練結(jié)果??梢蕴幚砀鼜?fù)雜的地空導(dǎo)彈發(fā)射區(qū)擬合模型。
4) 對于SSAE-DFN等深度網(wǎng)絡(luò)模型最優(yōu)結(jié)構(gòu)的確定方法,迄今為止仍未有可靠的理論支撐,在某些應(yīng)用較為成熟的領(lǐng)域也僅有一些經(jīng)驗(yàn)公式,但這些經(jīng)驗(yàn)公式不具有普適性,如何找到合適的方法確定SSAE-DFN的最優(yōu)結(jié)構(gòu)是一項(xiàng)非常具有研究價(jià)值的課題,還需要未來進(jìn)行更深層次的研究。