房安琪,李 蓉
(西安機(jī)電信息技術(shù)研究所,陜西 西安 710065)
現(xiàn)代戰(zhàn)爭(zhēng)中,大規(guī)模殺傷武器庫(kù)、地下指揮中心、多層建筑物、導(dǎo)彈發(fā)射井、飛機(jī)掩體等高價(jià)值目標(biāo)的防護(hù)能力大幅增強(qiáng),建筑物內(nèi)部結(jié)構(gòu)變化多樣[1],作為打擊這類(lèi)硬目標(biāo)的侵徹彈藥動(dòng)能也在不斷提高,在高速侵徹多層硬目標(biāo)時(shí),侵徹彈內(nèi)部的加速度傳感器獲取的過(guò)載中疊加了大量高頻振蕩信號(hào),導(dǎo)致層與層之間彼此粘連,計(jì)層算法準(zhǔn)確率下降甚至失效[2]。如何對(duì)多層粘連過(guò)載信號(hào)實(shí)現(xiàn)準(zhǔn)確計(jì)層一直是國(guó)內(nèi)外研究的熱點(diǎn),目前的層識(shí)別研究主要集中在信號(hào)處理方面。如基于幅值識(shí)別的計(jì)層方法,該算法簡(jiǎn)單易實(shí)現(xiàn),但對(duì)高速侵徹和復(fù)雜結(jié)構(gòu)多層目標(biāo)及寬速度范圍的適應(yīng)性不足。利用小波變換提取過(guò)載信號(hào)的小波系數(shù)[3],匹配濾波提取過(guò)載信號(hào)的包絡(luò)等方法相較于幅值識(shí)別算法進(jìn)一步提高了計(jì)層的準(zhǔn)確性,但需要計(jì)算多個(gè)中間過(guò)程,且在一定程度上依賴(lài)先驗(yàn)參數(shù),需針對(duì)不同戰(zhàn)斗部、不同靶板、不同工況設(shè)置不同閾值。文獻(xiàn)[4]采用時(shí)頻分析法研究彈體主軸方向加速度信號(hào)的Choi-Williams能量分布特征,提出以侵徹過(guò)程加速度信號(hào)的能量分布為依據(jù)的層識(shí)別方法。文獻(xiàn)[5]利用短時(shí)傅里葉變換對(duì)過(guò)載信號(hào)進(jìn)行處理,通過(guò)分析頻率成分及梯度提取完成層識(shí)別。這兩種方法對(duì)復(fù)雜信號(hào)的識(shí)別能力較為精準(zhǔn),但均為事后分析非實(shí)時(shí)處理,難以應(yīng)用到硬件電路。
本文針對(duì)此問(wèn)題,提出基于數(shù)據(jù)增強(qiáng)的侵徹引信準(zhǔn)確層識(shí)別神經(jīng)網(wǎng)絡(luò)方法。與信號(hào)處理方法不同的是,深度學(xué)習(xí)具備自己獲取知識(shí)的能力,即從原始數(shù)據(jù)中提取模式識(shí)別的能力,能夠自主分析決策,解決涉及現(xiàn)實(shí)世界知識(shí)的問(wèn)題。將神經(jīng)網(wǎng)絡(luò)引入目標(biāo)層識(shí)別算法,通過(guò)對(duì)侵徹多層粘連過(guò)載信號(hào)進(jìn)行學(xué)習(xí)與訓(xùn)練,自主認(rèn)知戰(zhàn)斗部侵徹多層硬目標(biāo)的過(guò)程,自適應(yīng)調(diào)整模型參數(shù),可以有效提升層識(shí)別算法的準(zhǔn)確性,使引信獲得精確計(jì)層起爆控制能力。
大量研究和實(shí)驗(yàn)表明,神經(jīng)網(wǎng)絡(luò)在擁有足量數(shù)據(jù)的情況下具有極其強(qiáng)大的非線(xiàn)性映射能力,但當(dāng)數(shù)據(jù)量較少時(shí),識(shí)別效果不理想,因此獲取大量數(shù)據(jù)是神經(jīng)網(wǎng)絡(luò)工作的關(guān)鍵。然而由于侵徹試驗(yàn)成本高昂,無(wú)法收集足夠多的過(guò)載信號(hào)來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,而利用數(shù)據(jù)增強(qiáng)方法對(duì)已有樣本進(jìn)行處理,可以顯著緩解訓(xùn)練數(shù)據(jù)缺乏的問(wèn)題。
本文將抗高過(guò)載電子數(shù)據(jù)傳感記錄器置入戰(zhàn)斗部,通過(guò)侵徹多層試驗(yàn)方法獲取戰(zhàn)斗部侵徹多層硬目標(biāo)的加速度信號(hào),采用線(xiàn)性抽取與插值、添加自適應(yīng)噪聲的方式將實(shí)測(cè)小樣本數(shù)據(jù)進(jìn)行擴(kuò)展。
線(xiàn)性抽取與插值是豐富離散數(shù)據(jù)的有效方法,也是神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)增強(qiáng)的常用手段。過(guò)載信號(hào)作為隨機(jī)振動(dòng)信號(hào)無(wú)法使用確定性的插值函數(shù)來(lái)擬合曲線(xiàn),因此本文采取連續(xù)均勻插值法,計(jì)算相鄰兩點(diǎn)的均值進(jìn)行數(shù)據(jù)填充,實(shí)現(xiàn)對(duì)實(shí)測(cè)過(guò)載信號(hào)的等倍數(shù)壓縮和擴(kuò)展,例如將6 000點(diǎn)的數(shù)據(jù)插值為12 000點(diǎn)或者將6 000點(diǎn)的數(shù)據(jù)抽取為3 000點(diǎn),將每條實(shí)測(cè)信號(hào)擴(kuò)展為原數(shù)量的兩倍,實(shí)測(cè)信號(hào)與經(jīng)過(guò)抽取和插值后的樣本對(duì)比如圖1所示。
圖1 實(shí)測(cè)信號(hào)與經(jīng)過(guò)抽取和插值后的樣本對(duì)比Fig.1 Samples of the measured overload signal after extraction and interpolation
從圖1可以看出過(guò)載數(shù)據(jù)在抽取和插值前后沒(méi)有顯著變化,在時(shí)域內(nèi)保持了波形的一致性,信號(hào)功率隨頻率的變化趨勢(shì)相同,具有相似的頻譜特征,在擴(kuò)展樣本的同時(shí)增加了數(shù)據(jù)多樣性。
文獻(xiàn)[6]發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)非常容易受到對(duì)抗樣本的攻擊,對(duì)抗樣本是指對(duì)原樣本產(chǎn)生一些人眼可能無(wú)法察覺(jué)的微小擾動(dòng),分類(lèi)器卻會(huì)輸出完全不同的預(yù)測(cè)結(jié)果,甚至以高置信度錯(cuò)誤分類(lèi)。為提高神經(jīng)網(wǎng)絡(luò)正確處理對(duì)抗樣本的能力,最近的一些工作在模型訓(xùn)練階段向輸入的數(shù)據(jù)集中添加隨機(jī)噪聲[7],實(shí)現(xiàn)網(wǎng)絡(luò)正則化,從而增強(qiáng)模型的魯棒性;然而這些方法所添加的噪聲均服從同一分布,具有相同的均值和標(biāo)準(zhǔn)差,沒(méi)有考慮到神經(jīng)網(wǎng)絡(luò)對(duì)不同數(shù)據(jù)的敏感度不同。因此,本文使用添加自適應(yīng)噪聲的數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),首先對(duì)每個(gè)過(guò)載信號(hào)樣本進(jìn)行功率譜分析,在功率集中的地方添加較多噪聲,有效降低模型對(duì)序列變化的敏感性,提高神經(jīng)網(wǎng)絡(luò)對(duì)抗擾動(dòng)的能力,在敏感性較小即功率分散的地方添加較少噪聲,提高模型的識(shí)別精度。
圖2顯示了過(guò)載信號(hào)與添加普通隨機(jī)噪聲和自適應(yīng)噪聲的不同。其中(a)為普通隨機(jī)噪聲,(b)為該隨機(jī)噪聲的功率譜估計(jì),(c)為根據(jù)過(guò)載信號(hào)不同敏感度產(chǎn)生的自適應(yīng)噪聲,(d)為該自適應(yīng)噪聲的功率譜估計(jì),(e)為原始過(guò)載信號(hào),(f)為該原始信號(hào)的功率譜估計(jì),(g)為將普通隨機(jī)噪聲添加到過(guò)載信號(hào)的樣本,(h)為添加隨機(jī)噪聲的功率譜估計(jì),(i)為將自適應(yīng)噪聲添加到過(guò)載信號(hào)的樣本,(j)為添加自適應(yīng)噪聲的功率譜估計(jì)。
圖2 原始信號(hào)與添加普通隨機(jī)噪聲和自適應(yīng)噪聲對(duì)比Fig.2 Comparison of the original signal with the addition of random noise and adaptive noise
從圖2可以看出,原始信號(hào)的中心頻率分布在1 kHz左右,其他諧波主要分布在(1.5, 2.5)kHz區(qū)間內(nèi),而添加隨機(jī)噪聲的信號(hào)中心頻率變?yōu)? kHz和2 kHz兩個(gè)波峰,其他諧波分布區(qū)間變?yōu)?2.2, 10)kHz區(qū)間內(nèi),完全喪失了原始信號(hào)的頻譜特征,而添加自適應(yīng)噪聲的信號(hào)中心頻率依然分布在1 kHz左右,其他諧波也分布在(1.5, 2.5) kHz區(qū)間內(nèi),在提高網(wǎng)絡(luò)對(duì)抗能力的前提下仍然保留了原始信號(hào)的特征,因此本文采用的自適應(yīng)噪聲能夠更好地增強(qiáng)神經(jīng)網(wǎng)絡(luò)的抗干擾能力,與此同時(shí)將每條實(shí)測(cè)信號(hào)擴(kuò)展為原數(shù)量的5倍,實(shí)現(xiàn)數(shù)據(jù)擴(kuò)充。
神經(jīng)網(wǎng)絡(luò)是由具有適應(yīng)性簡(jiǎn)單單元組成的廣泛并行互連網(wǎng)絡(luò),它的組織能夠模擬生物神經(jīng)系統(tǒng)對(duì)真實(shí)世界物體作出的交互反應(yīng)。神經(jīng)網(wǎng)絡(luò)最基本的組成成分是神經(jīng)元模型,如圖3所示,即上述的“簡(jiǎn)單單元”[8]。
圖3 神經(jīng)元模型Fig.3 Neuron model
神經(jīng)元接收來(lái)自其他神經(jīng)元傳遞的輸入信號(hào)x1,x2,…,xi,…,xn,這些輸入信號(hào)通過(guò)帶權(quán)重的連接w1,w2,…,wi,…,wn進(jìn)行傳遞,然后將其與神經(jīng)元閾值θ比較,通過(guò)激活函數(shù)處理產(chǎn)生輸出y:
(1)
其中,Relu函數(shù)是目前最常用的激活函數(shù)之一[9],表達(dá)式如下:
f(x)=max(0,x)
(2)
由式(2)可以看出,神經(jīng)元在輸入負(fù)值的情況下不被激活,這意味著同一時(shí)間內(nèi)只有部分神經(jīng)元被激活,這種單側(cè)抑制的性質(zhì)使神經(jīng)網(wǎng)絡(luò)變得稀疏,極大提高了模型的計(jì)算效率。
將神經(jīng)元的每個(gè)結(jié)點(diǎn)都與下一層所有結(jié)點(diǎn)相連就得到了神經(jīng)網(wǎng)絡(luò)的全連接層,如圖4所示。
圖4 全連接層Fig.4 Fully connected layer
在深度學(xué)習(xí)中,數(shù)據(jù)集一般分為獨(dú)立的三部分:訓(xùn)練集、驗(yàn)證集、測(cè)試集,其中訓(xùn)練集用于學(xué)習(xí)樣本數(shù)據(jù),學(xué)習(xí)完畢后驗(yàn)證集對(duì)模型進(jìn)行準(zhǔn)確率評(píng)估,測(cè)試集作為模型在學(xué)習(xí)與訓(xùn)練過(guò)程中從未出現(xiàn)的數(shù)據(jù),用于檢驗(yàn)?zāi)P偷姆夯芰?,也就是模型在全新?shù)據(jù)上的識(shí)別能力。
本文從實(shí)測(cè)侵徹多層過(guò)載信號(hào)庫(kù)中抽取試驗(yàn)數(shù)據(jù)187條,通過(guò)分析剔除不完整數(shù)據(jù)后用于建模的實(shí)測(cè)數(shù)據(jù)為162條,實(shí)驗(yàn)室仿真數(shù)據(jù)412條,采用數(shù)據(jù)增強(qiáng)生成的數(shù)據(jù)1 031條,總數(shù)據(jù)集為1 605條,其中1 120條作為訓(xùn)練集,485作為驗(yàn)證集。
模型的輸入是經(jīng)過(guò)歸一化后的序列數(shù)據(jù),標(biāo)簽為人工標(biāo)記的層識(shí)別信號(hào),具體而言,通過(guò)分析每條過(guò)載信號(hào)的包絡(luò)同時(shí)結(jié)合侵徹試驗(yàn)信息在侵徹體穿出靶板至穿入下一層靶板的間隔內(nèi)標(biāo)記一個(gè)幅值為200的識(shí)別信號(hào),其余時(shí)刻幅值均為0,如圖5所示。
圖5 訓(xùn)練集中的樣本數(shù)據(jù)Fig.5 Data from training set
超參數(shù)是神經(jīng)網(wǎng)絡(luò)訓(xùn)練開(kāi)始前人為設(shè)置的參數(shù),而非模型經(jīng)過(guò)訓(xùn)練習(xí)得的參數(shù)。通常情況下需要對(duì)超參數(shù)進(jìn)行不斷調(diào)試與優(yōu)化,確定一組最優(yōu)值以提高網(wǎng)絡(luò)的學(xué)習(xí)的能力和效率。超參數(shù)包括學(xué)習(xí)速率、優(yōu)化器、網(wǎng)絡(luò)深度、隱藏單元數(shù)、Epoch等。
學(xué)習(xí)速率被認(rèn)為是最重要的超參數(shù),它決定了參數(shù)每次更新的幅度,如果學(xué)習(xí)速率太小,會(huì)使收斂過(guò)慢;如果學(xué)習(xí)速率太大,則會(huì)導(dǎo)致?lián)p失函數(shù)振蕩甚至使梯度下降法越過(guò)最低點(diǎn)進(jìn)而發(fā)散。
通過(guò)選取不同學(xué)習(xí)速率,對(duì)比各學(xué)習(xí)速率的識(shí)別準(zhǔn)確率后使用指數(shù)衰減式學(xué)習(xí)速率,曲線(xiàn)變化如圖6所示。初始學(xué)習(xí)速率α0=10-7,衰減步長(zhǎng)T=1.0,衰減速率β=0.98,即:
(3)
圖6 指數(shù)衰減學(xué)習(xí)速率曲線(xiàn)Fig.6 Exponential decay learning rate curve
神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)是尋找合適的參數(shù)使損失函數(shù)盡可能小,解決這個(gè)問(wèn)題的過(guò)程稱(chēng)為最優(yōu)化,解決這個(gè)問(wèn)題使用的算法叫做優(yōu)化器,一個(gè)好的優(yōu)化器總能夠快速可靠地找到最小值,而不會(huì)陷入局部極小值、鞍點(diǎn)或高原區(qū)域。本文采用Adam優(yōu)化器,它同時(shí)兼顧了Momentum優(yōu)化器和RMSProp優(yōu)化器的優(yōu)點(diǎn),使用跟蹤梯度平方和的方式在不同方向調(diào)整梯度,實(shí)踐效果非常好,是深度學(xué)習(xí)的常用選擇。
深度學(xué)習(xí)另一個(gè)重要的概念是Epoch,每學(xué)習(xí)一遍數(shù)據(jù)集,就稱(chēng)為1個(gè)Epoch。神經(jīng)網(wǎng)絡(luò)只運(yùn)行一個(gè)Epoch是遠(yuǎn)遠(yuǎn)不夠的,而運(yùn)行過(guò)多Epoch又會(huì)導(dǎo)致模型陷入過(guò)擬合問(wèn)題,也就是模型只能在訓(xùn)練數(shù)據(jù)中達(dá)到滿(mǎn)意效果而無(wú)法適應(yīng)新數(shù)據(jù)。經(jīng)過(guò)不同的嘗試后,Epoch=2 000時(shí)模型的學(xué)習(xí)效果最好。
針對(duì)侵徹多層粘連過(guò)載信號(hào)特征建立神經(jīng)網(wǎng)絡(luò)模型,網(wǎng)絡(luò)深度共六層,第一層是Flatten層,將輸入一維化;第二層到第五層為全連接(Dense)層,使用Relu函數(shù)激活,用于擬合層識(shí)別信號(hào);最后一層為300個(gè)神經(jīng)元的Dense層,即每300個(gè)點(diǎn)輸出一次預(yù)測(cè)結(jié)果,完整的層識(shí)別神經(jīng)網(wǎng)絡(luò)模型如圖7所示。
圖7 層識(shí)別神經(jīng)網(wǎng)絡(luò)模型Fig.7 Layer recognition neural network model
假設(shè)神經(jīng)網(wǎng)絡(luò)的可訓(xùn)練參數(shù)為M,那么完成線(xiàn)下訓(xùn)練后由Dense層構(gòu)成的模型進(jìn)行層識(shí)別需要運(yùn)行的乘法指令為M個(gè),加法指令為M-1個(gè)。本文構(gòu)建的層識(shí)別模型參數(shù)數(shù)量如圖8所示,可訓(xùn)練參數(shù)為148 652,因此運(yùn)行的乘法指令為148 652個(gè),加法指令為148 651個(gè)。若選用STM32F7系列芯片每次預(yù)測(cè)時(shí)間約為2.1 ms,能夠滿(mǎn)足層識(shí)別的實(shí)時(shí)性要求。
圖8 層識(shí)別神經(jīng)網(wǎng)絡(luò)的參數(shù)量Fig.8 The number of parameters for layer recognition neural network
在A(yíng)naconda科學(xué)計(jì)算平臺(tái)使用TensorFlow 2.0深度學(xué)習(xí)框架進(jìn)行層識(shí)別神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與驗(yàn)證,選用MSE均方誤差作為損失函數(shù)評(píng)估模型的識(shí)別效果,其變化曲線(xiàn)如圖9所示,經(jīng)過(guò)2 000個(gè)Epoch后,訓(xùn)練集的損失約在18.452 2~19.058 3,驗(yàn)證集的損失可達(dá)3以下,其中由幅值帶來(lái)的誤差占總損失的98.4%,而幅值誤差對(duì)計(jì)層準(zhǔn)確度不產(chǎn)生影響,因此層識(shí)別誤差僅有1.6%。
圖9 訓(xùn)練集和驗(yàn)證集的損失函數(shù)Fig.9 Loss function of training set and validation set
使用多組未曾在學(xué)習(xí)與訓(xùn)練過(guò)程中出現(xiàn)的靶場(chǎng)實(shí)測(cè)過(guò)載信號(hào)組成測(cè)試集,模型輸出的層識(shí)別信號(hào)符合標(biāo)簽信息,可以實(shí)現(xiàn)精確計(jì)層,其中一組復(fù)雜粘連過(guò)載層識(shí)別模型預(yù)測(cè)結(jié)果如圖10所示。
圖10 層識(shí)別神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)結(jié)果Fig.10 Prediction results of layer recognition neural network model
本文提出基于數(shù)據(jù)增強(qiáng)的侵徹引信準(zhǔn)確層識(shí)別神經(jīng)網(wǎng)絡(luò)方法,該方法針對(duì)粘連過(guò)載特征構(gòu)建全連接神經(jīng)網(wǎng)絡(luò)模型,通過(guò)對(duì)過(guò)載信號(hào)進(jìn)行抽取、插值及添加自適應(yīng)噪聲將實(shí)測(cè)小樣本數(shù)據(jù)擴(kuò)展為較大樣本,實(shí)現(xiàn)數(shù)據(jù)增強(qiáng),層識(shí)別神經(jīng)網(wǎng)絡(luò)模型使用數(shù)據(jù)增強(qiáng)后的數(shù)據(jù)集進(jìn)行學(xué)習(xí)與訓(xùn)練,自主認(rèn)知戰(zhàn)斗部侵徹多層硬目標(biāo)的過(guò)程,自適應(yīng)調(diào)整模型參數(shù)。仿真驗(yàn)證結(jié)果表明,該方法不依賴(lài)先驗(yàn)參數(shù),能夠?qū)Σ煌邪?、不同?zhàn)斗部、不同工況下的侵徹多層過(guò)載信號(hào)實(shí)現(xiàn)準(zhǔn)確計(jì)層。