■ 白 光 張永軍 穆仕博
?
基于AHGA - BP網(wǎng)絡(luò)的防空導(dǎo)彈研制費(fèi)用預(yù)測(cè)方法
■ 白 光 張永軍 穆仕博
在基于神經(jīng)網(wǎng)絡(luò)的防空導(dǎo)彈研制費(fèi)用預(yù)測(cè)模型研究中,針對(duì)直接利用遺傳算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)運(yùn)算時(shí)間長(zhǎng)、精度較低的問(wèn)題,本文提出了一種基于AHGA+BP混合學(xué)習(xí)算法的防空導(dǎo)彈研制費(fèi)用預(yù)測(cè)模型。采用此模型對(duì)典型防空導(dǎo)彈研制費(fèi)用進(jìn)行預(yù)測(cè),并與其它方法進(jìn)行比較,結(jié)果表明,此方法計(jì)算速度更快,精度更高。
隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,現(xiàn)代導(dǎo)彈武器系統(tǒng)的科技含量大大增加,研制費(fèi)用也隨之增大。為了使武器裝備系統(tǒng)的研制費(fèi)用概算建立在較為科學(xué)嚴(yán)密的理論基礎(chǔ)上,降低人為因素的影響,建立費(fèi)用模型是十分必要的?;谶z傳算法的神經(jīng)網(wǎng)絡(luò)費(fèi)用預(yù)測(cè)模型已經(jīng)被一部分人提出,并且證明是可行的,但是這些方法一般是直接利用遺傳算法訓(xùn)練神經(jīng)網(wǎng)絡(luò),運(yùn)算時(shí)間很長(zhǎng),精度相對(duì)較低。本文提出了一種基于AHGA+BP網(wǎng)絡(luò)的防空導(dǎo)彈研制費(fèi)用預(yù)測(cè)方法,它通過(guò)自適應(yīng)遞階遺傳算法AHGA訓(xùn)練初始權(quán)值,同時(shí)優(yōu)化BP網(wǎng)絡(luò)結(jié)構(gòu),具有較好的收斂速度和較短的運(yùn)算時(shí)間。
遞階遺傳算法(HGA) 染色體由兩部分構(gòu)成:控制基因和參數(shù)基因。控制基因以二進(jìn)制位的形式表示,“1”表示下層基因處于激活狀態(tài),“0”表示下層基因處于非激活狀態(tài)。參數(shù)基因以實(shí)數(shù)的形式表示,代表著相應(yīng)神經(jīng)元的連接權(quán)值和閾值。通過(guò)這種層次結(jié)構(gòu),遞階遺傳算法在進(jìn)行遺傳尋優(yōu)過(guò)程中可以改變神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),能夠在進(jìn)行參數(shù)學(xué)習(xí)的同時(shí)進(jìn)行結(jié)構(gòu)優(yōu)化。而在遺傳過(guò)程中采用自適應(yīng)的交叉和變異概率能有效加快遺傳速度和避免早熟現(xiàn)象出現(xiàn)??梢圆捎萌龑拥倪f階基因結(jié)構(gòu)來(lái)表示一個(gè)可能的神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)。染色體的遞階結(jié)構(gòu)及其編碼如圖1 所示。
3.1混合算法的原理
BP算法本質(zhì)上是一種誤差梯度下降法,其局部搜索能力很強(qiáng),但算法性能依賴于初始條件,隨機(jī)選取的初始權(quán)值使學(xué)習(xí)易陷入局部極小,全局搜索能力弱。由于BP算法只能優(yōu)化神經(jīng)網(wǎng)絡(luò)的參數(shù),不對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行修改,因此網(wǎng)絡(luò)的結(jié)構(gòu)需根據(jù)先驗(yàn)知識(shí)或反復(fù)試湊而定,很難同時(shí)得到結(jié)構(gòu)和權(quán)值均優(yōu)化的神經(jīng)網(wǎng)絡(luò)。
AHGA是一種隨機(jī)搜索算法,能在概率意義收斂到全局最優(yōu)點(diǎn),其收斂過(guò)程不是BP算法的漸變式,往往帶有突變式的特點(diǎn)。因此在混合學(xué)習(xí)策略中,首先通過(guò)AHGA得到一個(gè)全局近似的最優(yōu)解,并以此為初值,再利用BP算法進(jìn)行快速搜索。這樣就將GA的全局搜索能力與梯度算法的局部搜索能力結(jié)合起來(lái)。一方面由AHGA保證學(xué)習(xí)的全局收斂性,克服梯度法對(duì)初值的依賴和局部收斂問(wèn)題,另一方面,與BP 算法相結(jié)合也克服了GA所帶來(lái)的隨機(jī)性和概率性, 有助于提高它的搜索效率。神經(jīng)網(wǎng)絡(luò)隱節(jié)點(diǎn)個(gè)數(shù)的選取目前并無(wú)具體的理論指導(dǎo),實(shí)踐中往往是通過(guò)經(jīng)驗(yàn)或反復(fù)試湊來(lái)解決的。由此得到的網(wǎng)絡(luò)參數(shù)對(duì)于給定的學(xué)習(xí)準(zhǔn)則而言通常不是最佳的。AHGA采用二進(jìn)制編碼和浮點(diǎn)數(shù)編碼相結(jié)合的混合編碼方法,通過(guò)二進(jìn)制編碼對(duì)神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)進(jìn)行編碼,對(duì)其權(quán)值采用浮點(diǎn)數(shù)編碼的形式,這樣既保留了二進(jìn)制編碼的簡(jiǎn)單、易操作的優(yōu)點(diǎn),又具有浮點(diǎn)數(shù)編碼的搜索空間大,穩(wěn)定性好和運(yùn)算速度快的優(yōu)點(diǎn),能夠在對(duì)權(quán)值進(jìn)行學(xué)習(xí)的同時(shí)對(duì)神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)進(jìn)行優(yōu)化。這樣也可使BP算法能夠在優(yōu)化過(guò)的網(wǎng)絡(luò)結(jié)構(gòu)上對(duì)最優(yōu)個(gè)體進(jìn)行訓(xùn)練,進(jìn)一步提高了BP算法的學(xué)習(xí)效率。
圖1 染色體遞階結(jié)構(gòu)及其編碼
3.2AHGA - BP算法
(1)隨機(jī)產(chǎn)生初始種群2n個(gè);
(2)對(duì)群體中每個(gè)個(gè)體的控制基因串解碼,計(jì)算隱層節(jié)點(diǎn)個(gè)數(shù),并將相應(yīng)的權(quán)值賦給由控制基因決定的網(wǎng)絡(luò)結(jié)構(gòu)中;
(3)將訓(xùn)練樣本輸入到每個(gè)個(gè)體所決定的網(wǎng)絡(luò)中,求取每個(gè)個(gè)體的適應(yīng)度函數(shù)值。由于AHGA 要同時(shí)進(jìn)行神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化和權(quán)值求解,所以取適應(yīng)值函數(shù)為:
其中fe為網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)的均方誤差,fs為網(wǎng)絡(luò)的復(fù)雜度,設(shè)為網(wǎng)絡(luò)中激活的連接權(quán)值數(shù)除以網(wǎng)絡(luò)中的所有連接權(quán)值數(shù)(包括激活的和未激活的),為適應(yīng)值系數(shù);
(4)根據(jù)個(gè)體的適應(yīng)度函數(shù)值進(jìn)行選擇復(fù)制操作,采用輪盤(pán)賭選擇,個(gè)體被選中的概率為:
其中n為群體個(gè)數(shù),N為較大的正數(shù)。在群體中選取n個(gè)個(gè)體作為父代,并同時(shí)用當(dāng)前最優(yōu)個(gè)體替換父代中的最差個(gè)體;
(5)對(duì)父代個(gè)體進(jìn)行交叉、變異產(chǎn)生新的n個(gè)子代個(gè)體,與變異后的父代形成新的個(gè)數(shù)為2n的種群??刂苹虿捎脝吸c(diǎn)交叉方式,參數(shù)基因采用算術(shù)交叉方式,自適應(yīng)交叉概率取為:
式中的正常數(shù),為當(dāng)前代中種群的最小適應(yīng)度,為種群的平均適應(yīng)度,為兩個(gè)交叉?zhèn)€體中較小的適應(yīng)度。的調(diào)整與算法收斂程度成反向,從而有效地防止了算法收斂于局部最??;同時(shí),個(gè)體的適應(yīng)度越小,相應(yīng)的值愈小,使好的進(jìn)化結(jié)果得以保存??刂苹虿捎梦蛔儺悾瑓?shù)基因采用均勻變異,自適應(yīng)變異概率取為:
式中的常數(shù),為當(dāng)前代中種群的最小適應(yīng)度,為種群的平均適應(yīng)度,為需變異個(gè)體的適應(yīng)度;
(6)判別進(jìn)化判據(jù)和條件,若滿足則停止進(jìn)化跳轉(zhuǎn)到(7),否則跳轉(zhuǎn)(2)繼續(xù)進(jìn)化;
(7)從已進(jìn)化好的種群中選出若干個(gè)體分別使用BP算法進(jìn)行預(yù)訓(xùn)練,而后選取最優(yōu)個(gè)體繼續(xù)進(jìn)行梯度尋優(yōu),所得結(jié)果作為整個(gè)優(yōu)化的結(jié)果。
4.1網(wǎng)絡(luò)模型的建立
建立防空導(dǎo)彈研制費(fèi)網(wǎng)絡(luò)模型的基本思想是:把防空導(dǎo)彈的主要特征參數(shù)和戰(zhàn)術(shù)技術(shù)指標(biāo)作為網(wǎng)絡(luò)的輸入向量,將防空導(dǎo)彈的研制費(fèi)用作為網(wǎng)絡(luò)的輸出,然后用AHGA選擇出的最優(yōu)樣本訓(xùn)練這個(gè)網(wǎng)絡(luò),經(jīng)過(guò)訓(xùn)練好的網(wǎng)絡(luò)所持有的權(quán)系數(shù)和閥值便是網(wǎng)絡(luò)經(jīng)過(guò)自適應(yīng)學(xué)習(xí)所得到的研制費(fèi)用與防空導(dǎo)彈的特征參數(shù)和戰(zhàn)術(shù)技術(shù)指標(biāo)的內(nèi)部表示。一旦網(wǎng)絡(luò)訓(xùn)練完畢,就可以作為一種有效的工具用于新研制型號(hào)的研制費(fèi)估算。網(wǎng)絡(luò)模型如圖3。
根據(jù)估算戰(zhàn)術(shù)導(dǎo)彈研制費(fèi)的需要,應(yīng)該選擇對(duì)費(fèi)用起主要影響作用的指標(biāo)作為網(wǎng)絡(luò)的輸入。選擇指標(biāo)的過(guò)程,采用多元統(tǒng)計(jì)分析中的主成分逐步回歸法進(jìn)行。對(duì)防空導(dǎo)彈來(lái)說(shuō),這里選擇其最大射程(Rmax)、最大射高(Hmax)、最大飛行速度(Vmax)、質(zhì)量(M0)、最大機(jī)動(dòng)過(guò)載(Nm)、彈長(zhǎng)(L)、最大彈徑(Dmax)、翼展長(zhǎng)度(S)、戰(zhàn)斗部質(zhì)量(M1)和單發(fā)殺傷概率(P1)共10個(gè)指標(biāo)作為輸入。采用參數(shù)標(biāo)準(zhǔn)化處理模型為:
越大越好型參數(shù)
越小越好型參數(shù)
4.2網(wǎng)絡(luò)的訓(xùn)練過(guò)程
(1)將遺傳種群數(shù)取為80,隱節(jié)點(diǎn)數(shù)取為10(訓(xùn)練時(shí)還會(huì)修改),適應(yīng)值系數(shù)取為0.5,采用自適應(yīng)交叉、變異概率,k1k2取0.5,k3k4取0.1。將已知的20對(duì)樣本進(jìn)行AHGA進(jìn)化,使網(wǎng)絡(luò)能按學(xué)習(xí)算法調(diào)節(jié)結(jié)構(gòu)參數(shù),最后得到隱層的節(jié)點(diǎn)數(shù)為8。
(2)選出6個(gè)不同的最優(yōu)個(gè)體,利用BP算法進(jìn)行預(yù)訓(xùn)練100次。為了使BP算法學(xué)習(xí)因子足夠大同時(shí)又防止在學(xué)習(xí)過(guò)程中產(chǎn)生振蕩,特別在權(quán)值修正模型中加入了勢(shì)態(tài)因子,取= 0.1,具體模型為:
式中Wji—第i個(gè)節(jié)點(diǎn)到第j個(gè)節(jié)點(diǎn)的權(quán)值變化量;η—學(xué)習(xí)因子;σpj—相應(yīng)節(jié)點(diǎn)的誤差修正量;Opi—p模式相應(yīng)節(jié)點(diǎn)的實(shí)際輸出。
(3)選出上面訓(xùn)練后誤差下降最快的個(gè)體,再利用BP算法對(duì)此個(gè)體繼續(xù)訓(xùn)練600次,得到優(yōu)化結(jié)果,到此,網(wǎng)絡(luò)模型被最后確定。
4.3模型的應(yīng)用
調(diào)用訓(xùn)練好的網(wǎng)絡(luò)(即把相應(yīng)的權(quán)值和閥值傳送給網(wǎng)絡(luò))對(duì)愛(ài)國(guó)者、霍克等典型防空導(dǎo)彈的研制費(fèi)進(jìn)行預(yù)測(cè),其網(wǎng)絡(luò)值與原始值見(jiàn)表1。
表1 典型防空導(dǎo)彈研制費(fèi)的原始值與網(wǎng)絡(luò)值(1992年,單位:億美元)
4.4與其它預(yù)測(cè)方法進(jìn)行比較
目前將神經(jīng)網(wǎng)絡(luò)應(yīng)用于費(fèi)用估算的方法有很多,其中與BP法比較結(jié)果見(jiàn)表2。
以上比較結(jié)果可以看出本文采用的方法精確性更高,計(jì)算速度更快,是一種有效的防空導(dǎo)彈研制費(fèi)用預(yù)測(cè)方法。
表2 AHGA - BP法與其它方法進(jìn)行導(dǎo)彈研制費(fèi)預(yù)測(cè)的值比較(1992年,單位:億美元)
本文將自適應(yīng)階梯算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò),得出的AHGA + BP混合算法能夠在對(duì)網(wǎng)絡(luò)權(quán)值進(jìn)行學(xué)習(xí)的同時(shí)對(duì)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)進(jìn)行優(yōu)化,相對(duì)直接利用遺傳算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)方法,此方法運(yùn)算時(shí)間更快,精度更高,是防空導(dǎo)彈研制費(fèi)用預(yù)測(cè)的一種行之有效的方法。
參考文獻(xiàn):
(1) 婁壽春等. 戰(zhàn)術(shù)導(dǎo)彈壽命周期費(fèi)用研究[J]. 三原 :空軍導(dǎo)彈學(xué)院 ,1994.
(2) 世界導(dǎo)彈大全[M]. 北京 :軍事科學(xué)出版社 ,1987.
(3) 呂俊, 張興華, 張湜.基于自適應(yīng)遞階遺傳算法的神經(jīng)網(wǎng)絡(luò)優(yōu)化策略[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2005.41( 2) : 305-307.
(4) T Y Ke, K S Tang, K F Man et al.Hierarchical genetic fuzzy controller for a solar power plant[C]. In: Proc IEEE Int Symp Industrial Electronics, 1998: 584-588.
(5) 姜晨,徐宗昌,肖國(guó)軍.用神經(jīng)網(wǎng)絡(luò)組合預(yù)測(cè)法估算反艦導(dǎo)彈研制費(fèi)用[J].系統(tǒng)工程與電子技術(shù),2004.3:348-372.
(6)劉銘,劉毅靜.基于人工神經(jīng)網(wǎng)絡(luò)的防空導(dǎo)彈研制費(fèi)模型[J].彈箭與制導(dǎo)學(xué)報(bào),1999.1:61 - 64.
作者簡(jiǎn)介:(白光,空軍駐西北地區(qū)軍事代表室;張永軍,空軍駐西北地區(qū)軍事代表室;穆仕博,中國(guó)人民解放軍駐中國(guó)空軍導(dǎo)彈研究院軍事代表室)