齊長(zhǎng)興,畢義明,李勇,范陽(yáng)濤
(火箭軍工程大學(xué),陜西 西安 710025)
彈道導(dǎo)彈突防作戰(zhàn)效能評(píng)估是當(dāng)前研究的一個(gè)重要方向,導(dǎo)彈突防效能評(píng)估研究已經(jīng)取得了較大的進(jìn)展[1]。文獻(xiàn)[2]提出以攔截導(dǎo)彈對(duì)進(jìn)攻彈的毀傷效果轉(zhuǎn)化為進(jìn)攻導(dǎo)彈突防效能的新思路。文獻(xiàn)[3]運(yùn)用大系統(tǒng)理論的分解協(xié)調(diào)法,采用關(guān)聯(lián)預(yù)測(cè)法求解各子系統(tǒng)最優(yōu)值。文獻(xiàn)[4-7]借鑒運(yùn)用數(shù)學(xué)建模方法,實(shí)現(xiàn)導(dǎo)彈突防效能的定量計(jì)算。上述這些研究方法,其原理可以歸納為仿真實(shí)驗(yàn)方法或者建立在線性模型的基礎(chǔ)上。
隨著智能算法理論的發(fā)展,BP(back propagation)神經(jīng)網(wǎng)絡(luò)(BPNN)理論在效能評(píng)估領(lǐng)域得到了創(chuàng)新發(fā)展和應(yīng)用。文獻(xiàn)[8-10]基于BP神經(jīng)網(wǎng)絡(luò)理論,分別建立了神經(jīng)網(wǎng)絡(luò)效能評(píng)估模型,驗(yàn)證了神經(jīng)網(wǎng)絡(luò)效能評(píng)估模型的可行性。但是,隨著實(shí)踐應(yīng)用的深入,學(xué)者發(fā)現(xiàn)由于BP神經(jīng)網(wǎng)絡(luò)存在學(xué)習(xí)收斂速度緩慢,容易陷入局部最優(yōu)解的問題,并采用智能算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),取得了一些成果。文獻(xiàn)[11]用遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進(jìn)行優(yōu)化,構(gòu)建效能評(píng)估模型。文獻(xiàn)[12]利用粒子群算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò),但是粒子群算法收斂速度比較慢,魯棒性不高。文獻(xiàn)[13]采用了一種改進(jìn)型的人工魚群算法——基于自適應(yīng)動(dòng)態(tài)領(lǐng)域結(jié)構(gòu)的人工魚群算法,來優(yōu)化BP神經(jīng)網(wǎng)絡(luò),但是求解過程復(fù)雜,收斂性比較慢。本文提出了一種基于自適應(yīng)動(dòng)態(tài)領(lǐng)域結(jié)構(gòu)的螢火蟲算法,進(jìn)行BP神經(jīng)網(wǎng)絡(luò)優(yōu)化,建立神經(jīng)網(wǎng)絡(luò)效能評(píng)估模型,并對(duì)彈道導(dǎo)彈突防效能進(jìn)行評(píng)估。
BP神經(jīng)網(wǎng)絡(luò)構(gòu)建在多層前饋網(wǎng)絡(luò)的基礎(chǔ)上,由輸入層、隱含層和輸出層組成,BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示[14]。通常情況下,輸入層節(jié)點(diǎn)的個(gè)數(shù)取輸入向量的維數(shù),輸出層節(jié)點(diǎn)的個(gè)數(shù)取輸出向量的維數(shù)。目前,對(duì)于隱含層的個(gè)數(shù)沒有明確的標(biāo)準(zhǔn),需要根據(jù)研究的問題進(jìn)行判定,根據(jù)已有的研究,選取單隱含層的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)Fig.1 Basic structure of BPNN
圖1中,輸入層有M個(gè)神經(jīng)元,其輸入矢量為x∈Rm,x=(x1,x2,…,xm)T;隱含層有J個(gè)神經(jīng)元,其輸出矢量為v∈Rj,v=(v1,v2,…,vj)T;輸出層有P個(gè)神經(jīng)元,其輸出矢量為y∈Rp,y=(y1,y2,…,yp)T,期望輸出矢量為d∈Rp,d=(d1,d2,…,dp)T。輸入層到隱含層的權(quán)重值為wmj,閾值為θj;隱含層到輸出層的權(quán)重值為wjp,閾值為θp;訓(xùn)練樣本總誤差為Ep。其中變量之間關(guān)系如下:
(1)
(2)
(3)
2.1.1 基本螢火蟲算法(FA)
螢火蟲算法仿生原理是:將解空間的自由點(diǎn)模擬為自然界中的螢火蟲個(gè)體,把搜索求解過程轉(zhuǎn)化為螢火蟲個(gè)體位置更新和移動(dòng)過程,目標(biāo)函數(shù)計(jì)算數(shù)值用螢火蟲個(gè)體所處位置的優(yōu)劣代替,螢火蟲個(gè)體位置更新比為求解過程中最優(yōu)解的迭代過程[15]。
(1) 熒光素更新
li(t+1)=(1-ρ)li(t)+γJi(t+1),
(4)
式中:li(t)為螢火蟲i在t時(shí)刻熒光素的數(shù)值;ρ(0<ρ<1)為熒光素的揮發(fā)速度,表示以往經(jīng)驗(yàn)權(quán)重值;γ為熒光素增強(qiáng)系數(shù),表示更新過程中的經(jīng)驗(yàn)權(quán)重?cái)?shù)值;Ji(t+1)表示螢火蟲個(gè)體i在t+1時(shí)刻位置的目標(biāo)函數(shù)值。
(2) 位置更新
(5)
螢火蟲個(gè)體i的鄰域集合為
(6)
式中:Mi(t)為螢火蟲i在t時(shí)刻的同伴集合。
(7)
式中:螢火蟲i依據(jù)Pij選擇出同伴j后,依據(jù)式(8)進(jìn)行移動(dòng):
(8)
(3) 感知范圍更新
β(nt-Ni(t))}},
(9)
式中:β為控制感知范圍大小的參數(shù);nt為控制感知范圍內(nèi)同伴數(shù)量的參數(shù)。
2.1.2 自適應(yīng)步長(zhǎng)螢火蟲算法(SASFA)
在基本螢火蟲算法中,螢火蟲個(gè)體移動(dòng)步長(zhǎng)選取不恰當(dāng),導(dǎo)致搜索到的最優(yōu)解陷入局部最優(yōu)或者精度不高。針對(duì)存在的問題,設(shè)計(jì)自適應(yīng)步長(zhǎng)螢火蟲算法:螢火蟲個(gè)體在移動(dòng)過程中,移動(dòng)步長(zhǎng)的選擇與其感知決策域內(nèi)的螢火蟲個(gè)體分布密度有關(guān)。搜索步長(zhǎng)取值大小與感知決策域內(nèi)螢火蟲個(gè)體分布密度成反比關(guān)系。
(10)
定義2平均鄰域集合Ni(k,t):在感知決策平均域α(t)內(nèi),螢火蟲個(gè)體i在t時(shí)刻的同伴集合。
Ni(k,t)= {xi(t)di,j(t)=dj,i(t)<
α(t)+ε·rand()},
(11)
式中:k為第k個(gè)平均感知決策域,k=1,2,…,T;ε為擾動(dòng)因子,ε∈[a,b]。引入ε·rand()隨機(jī)數(shù),主要考慮增強(qiáng)算法的精度,避免搜索結(jié)果陷入局部最優(yōu)解。
定義3分布密度ηi(k,t):指t時(shí)刻在第k個(gè)平均感知決策域內(nèi)螢火蟲個(gè)體i的同伴集合,與螢火蟲i的在t時(shí)刻的同伴集合之間的比值。
(12)
那么,螢火蟲算法的自適應(yīng)移動(dòng)步長(zhǎng)描述為
si(k,t)=si(0,0)+φtηi(k,t)
,
(13)
式中:si(0,0)為初始化步長(zhǎng)數(shù)值。
綜上所述,螢火蟲算法描述如下:
Step 1 初始化
設(shè)置l0,ρ,β,γ,rs,Nmax等參數(shù)初始值;將螢火蟲隨機(jī)部署在解空間,則種群中每只螢火蟲在解空間中所處的位置可以描述為
xi=(xi1,xi2,…,xiD),i=1,2,…,m.
Step 2 熒光素更新
計(jì)算出螢火蟲個(gè)體在t+1時(shí)刻的熒光素?cái)?shù)值。
Step 3 位置更新
(1) 計(jì)算出每個(gè)螢火蟲個(gè)體xi(t)的鄰居集合Mi(t);
(2) 計(jì)算集合中每個(gè)鄰居的選擇概率Pij,依概率選擇出鄰居j;
(3) 計(jì)算出移動(dòng)步長(zhǎng)s;
(4) 進(jìn)行螢火蟲位置移動(dòng)更新。
Step 4 感知范圍更新
Step 5 條件判斷
當(dāng)t>T,則轉(zhuǎn)至Step 6;否則,轉(zhuǎn)至Step 2。
Step 6 算法結(jié)束,輸出結(jié)果
2.2.1 基本原理
自適應(yīng)步長(zhǎng)螢火蟲算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)核心思想為:采用螢火蟲種群的迭代優(yōu)化來代替BP算法輸出誤差的梯度修正。將BP神經(jīng)網(wǎng)絡(luò)中的連接權(quán)值和閾值轉(zhuǎn)化為螢火蟲個(gè)體的位置向量,通過螢火蟲算法在不同維度上的搜索變化過程,使得網(wǎng)絡(luò)誤差最小,滿足輸出要求或者達(dá)到最大訓(xùn)練次數(shù)。
2.2.2 算法設(shè)計(jì)
(1) 螢火蟲位置向量設(shè)計(jì)
以圖1為例,BP神經(jīng)網(wǎng)絡(luò)包含輸入層、隱含層和輸出層,每層包含的神經(jīng)元個(gè)數(shù)分別為M,J,P,網(wǎng)絡(luò)中閾值和權(quán)值分別為wmj,wjp和θj,θp。螢火蟲個(gè)體位置向量結(jié)構(gòu)如圖2所示。
圖2 螢火蟲個(gè)體位置向量結(jié)構(gòu)Fig.2 Individual position vector structure of firefly
BP神經(jīng)網(wǎng)絡(luò)需要優(yōu)化的參數(shù)個(gè)數(shù)為
MJ+J+JP+P.
螢火蟲個(gè)體位置向量表示為
x(t)= (x1,x2,…,xMJ,…,xMJ+J+JP+P)=
(w11,…,wMJ,θ1,…,θJ,w11,…,
wJP,θ1,…,θP).
(14)
(2) 算法描述
基于自適應(yīng)步長(zhǎng)螢火蟲算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的步驟如下:
Step 1 初始化BP神經(jīng)網(wǎng)絡(luò)
設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),設(shè)置輸入層、隱含層和輸出層的權(quán)值(w)、閾值(θ)、訓(xùn)練次數(shù)和訓(xùn)練誤差。
Step 2 初始化螢火蟲算法
設(shè)置l0,ρ,β,γ,rs,T等參數(shù)初始值;種群中每只螢火蟲在解空間中所處的位置向量為
x(t)= (w11,…,wMJ,θ1,…,θJ,
w11,…,wJP,θ1,…,θP).
Step 2 熒光素更新
計(jì)算出螢火蟲個(gè)體在t+1時(shí)刻的熒光素?cái)?shù)值,并將式(3)作為目標(biāo)函數(shù)。
Step 3 位置更新
(1) 計(jì)算出每個(gè)螢火蟲個(gè)體xi(t)鄰居集合Mi(t);
(2) 計(jì)算集合中每個(gè)鄰居的選擇概率Pij,依概率選擇出鄰居j;
(3) 計(jì)算出移動(dòng)步長(zhǎng)s;
(4) 進(jìn)行螢火蟲位置移動(dòng)更新。
Step 4 感知范圍更新
Step 5 條件判斷
當(dāng)t>T,則轉(zhuǎn)至Step 6;否則,轉(zhuǎn)至Step 2。
Step 6 確定權(quán)值(w)、閾值(θ)
將螢火蟲最優(yōu)位置向量映射給BP神經(jīng)網(wǎng)絡(luò),作為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值。
Step 7 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練
使用訓(xùn)練樣本對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直至達(dá)到滿足條件,并記錄此時(shí)網(wǎng)絡(luò)狀態(tài);否則,繼續(xù)訓(xùn)練。
彈道導(dǎo)彈突防效能評(píng)估指標(biāo)體系涉及到因素比較多,復(fù)雜度較高,在以往研究成果基礎(chǔ)上,構(gòu)建彈道導(dǎo)彈突防效能評(píng)估指標(biāo)體系,如表1所示。
表1 彈道導(dǎo)彈突防效能評(píng)估指標(biāo)體系
(1) BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)
1) 輸入層節(jié)點(diǎn)數(shù)設(shè)計(jì)
因素層指標(biāo)共16個(gè),則BP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)為16。
2) 輸出層節(jié)點(diǎn)數(shù)設(shè)計(jì)
以彈道導(dǎo)彈突防效能作為輸出值,因此輸出層節(jié)點(diǎn)數(shù)為1。
3) 隱含層節(jié)點(diǎn)數(shù)設(shè)計(jì)
目前,通常使用經(jīng)驗(yàn)公式計(jì)算和試湊法相結(jié)合辦法,來確定隱含層節(jié)點(diǎn)數(shù)。
(15)
式中:n為輸入層節(jié)點(diǎn)數(shù);l為輸出層節(jié)點(diǎn)數(shù);m為隱含層節(jié)點(diǎn)數(shù);取a=7,則隱含層節(jié)點(diǎn)數(shù)為11。
(2) 構(gòu)建基于SASFA-BP神經(jīng)網(wǎng)絡(luò)的評(píng)估模型
根據(jù)設(shè)計(jì)的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),構(gòu)建基于SASFA-BP神經(jīng)網(wǎng)絡(luò)的效能評(píng)估模型,以因素層指標(biāo)作為神經(jīng)網(wǎng)絡(luò)的輸入值,目標(biāo)層指標(biāo)作為神經(jīng)網(wǎng)絡(luò)的輸出值。
(3) 評(píng)判等級(jí)集合的確定
借鑒經(jīng)驗(yàn)做法,可將導(dǎo)彈突防效能評(píng)估值劃分為5個(gè)等級(jí):低、較低、一般、較好、好,分別用Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ來表示,這樣得到評(píng)價(jià)等級(jí)集合:U={Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ}。
評(píng)判等級(jí)與導(dǎo)彈突防效能評(píng)估值的對(duì)應(yīng)關(guān)系如下表2所示,表中所列數(shù)值實(shí)際是評(píng)判等級(jí)的量化指標(biāo)或者分級(jí)標(biāo)準(zhǔn)。
表2 評(píng)判等級(jí)的量化指標(biāo)
以某型號(hào)彈道導(dǎo)彈為例,針對(duì)某導(dǎo)彈防御系統(tǒng)進(jìn)行導(dǎo)彈突防效能評(píng)估試驗(yàn),經(jīng)過多次試驗(yàn)獲得試驗(yàn)數(shù)據(jù),作為訓(xùn)練樣本數(shù)據(jù),并以其中的3組作為測(cè)試數(shù)據(jù)。
用文中提出的自適應(yīng)螢火蟲算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行導(dǎo)彈突防效能值預(yù)測(cè),并用Matlab2014a編寫算法程序。算法相關(guān)參數(shù)設(shè)置如表3所示。
采用訓(xùn)練后的BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果如表4所示。
從表4中可以看出,經(jīng)過訓(xùn)練后的網(wǎng)絡(luò)可以達(dá)到最優(yōu)狀態(tài),誤差率接近0,說明神經(jīng)網(wǎng)絡(luò)模型評(píng)估值為有效評(píng)估值,評(píng)估結(jié)果可靠、可信。
表3 初始參數(shù)設(shè)置表
表4 測(cè)試結(jié)果
在同等條件下,設(shè)定BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差ERME分別為0.01,0.001,0.000 5,運(yùn)用Matlab2014a軟件分別對(duì)BPNN,FA-BPNN和SASFA-BPNN訓(xùn)練,神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線分別如圖3~5所示。
圖3 ERME=0.01條件下誤差曲線圖Fig.3 Error curve while ERME=0.01
在同等條件下,將測(cè)試數(shù)據(jù)分別運(yùn)用BPNN,FA-BPNN和SASFA-BPNN進(jìn)行運(yùn)算,計(jì)算結(jié)果如表5所示。
圖4 ERME=0.001條件下誤差曲線圖Fig.4 Error curve while ERME=0.001
圖5 ERME=0.000 5條件下誤差曲線圖Fig.5 Error curve while ERME=0.000 5
期望值實(shí)際值相對(duì)誤差(%)SASFAFABPSASFAFABP0.850.850 60.863 20.885 60.0711.5614.1980.770.769 90.786 30.746 60.0112.1223.0270.910.910 50.908 90.876 30.0562.3683.701
(1) 從圖3~5中可以得出,在相同的誤差要求下,SASFA-BPNN的訓(xùn)練次數(shù)少。例如,圖3中,F(xiàn)A-BPNN,BPNN的訓(xùn)練次數(shù)是SAFA-BPNN訓(xùn)練次數(shù)的1.78倍和2.1倍;圖4中,F(xiàn)A-BPNN,BPNN的訓(xùn)練次數(shù)是SASFA-BPNN訓(xùn)練次數(shù)的2.2倍和3.1倍;圖5中,F(xiàn)A-BPNN,BPNN的訓(xùn)練次數(shù)是SAFA-BPNN訓(xùn)練次數(shù)的3.5倍和4.3倍。通過對(duì)比分析可以得出,當(dāng)ERME取值較大值時(shí)(ERME=0.01),在網(wǎng)絡(luò)訓(xùn)練之后都能夠達(dá)到目標(biāo)誤差;但是當(dāng)ERME取較小值時(shí)(ERME=0.001,0.000 5),SAFASO-BPNN,FA-BPNN在網(wǎng)絡(luò)中訓(xùn)練之后都能夠達(dá)到目標(biāo)誤差,而BPNN在網(wǎng)絡(luò)中訓(xùn)練之后不能夠達(dá)到目標(biāo)誤差。
(2) 分析表4中的數(shù)據(jù)可以得出,3種算法輸出結(jié)果的相對(duì)誤差最大值之比為:1∶33∶61;3種算法輸出結(jié)果的相對(duì)誤差最小值之比為:1∶143∶277。這些數(shù)據(jù)反映了SASFA-BPNN算法精度明顯優(yōu)于FA-BPNN,BPNN。
(3) 綜上分析,SASFA-BPNN在實(shí)踐應(yīng)用中,計(jì)算精度高、收斂速度快,可以有效解決效能評(píng)估領(lǐng)域問題。
本文從螢火蟲仿生智能算法入手,有針對(duì)性的提出自適應(yīng)步長(zhǎng)改進(jìn)思路,克服了傳統(tǒng)螢火蟲算法收斂速度慢和易陷入局部最優(yōu)解的缺陷。并將改進(jìn)后的螢火蟲算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合,提出了基于自適應(yīng)步長(zhǎng)螢火蟲算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的效能評(píng)估模型。通過仿真計(jì)算,證明了自適應(yīng)步長(zhǎng)螢火蟲算法的優(yōu)越和評(píng)估模型的合理可靠。同時(shí),也為效能評(píng)估提供一種可信、可用的評(píng)估方法,具有一定的借鑒意義。但是,在實(shí)際應(yīng)用過程,由于研究對(duì)象涉及到的因素比較多,如何合理、科學(xué)的設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)以及各層包含的神經(jīng)元個(gè)數(shù),為今后研究提供一個(gè)重要方向和內(nèi)容。