(海軍航空大學(xué) 煙臺 264001)
電子元器件是航空航天和武器裝備系統(tǒng)的重要組成部分,要求其在一定的時間內(nèi)性能好、高可靠、壽命長,甚至“零故障”[1]。在靜態(tài)長期貯存維護(hù)過程中,由于受到溫度、濕度、振動、光照以及電化學(xué)腐蝕等外界影響,其內(nèi)部組成材料性能發(fā)生物理和化學(xué)變化,對應(yīng)的性能參數(shù)也將改變,從而會造成使用障礙,甚至失效[2]。對電子元器件進(jìn)行性能預(yù)測,對于制定測試實(shí)驗(yàn)計(jì)劃,有效改善使用條件,有著十分重要的意義。神經(jīng)網(wǎng)絡(luò)的機(jī)理是仿造人腦神經(jīng)元網(wǎng)絡(luò)對信息進(jìn)行抽象處理,用多種連接方式將不同基本模型連接起來而組成不同的網(wǎng)絡(luò)結(jié)構(gòu),它具有并行范圍廣、分布式存儲和處理、自組織、自適應(yīng)和自開發(fā)能力的特點(diǎn),特別在處理需要同時考慮多種制約因素和不同條件下的、邏輯關(guān)系模糊的信息方面適用性較強(qiáng)[3]。目前神經(jīng)網(wǎng)絡(luò)在電子元器件故障診斷和性能預(yù)測方面應(yīng)用廣泛,例如,黃瑞毅[4]利用神經(jīng)網(wǎng)絡(luò)模型預(yù)測非工作狀態(tài)時的電子元器件可靠性性能參數(shù)時間序列,與傳統(tǒng)應(yīng)用回歸模型預(yù)測的結(jié)果比較,神經(jīng)網(wǎng)絡(luò)模型預(yù)測精度有較大提高。胡桂廷[5]構(gòu)建在模型辨識基礎(chǔ)上建立的BP神經(jīng)網(wǎng)絡(luò),經(jīng)過多次訓(xùn)練后對光伏電池的最大功率點(diǎn)電壓進(jìn)行預(yù)測,取得了理想效果,證明具有很好的適用性。鄒心遙[6]等提出一種基于BP神經(jīng)網(wǎng)絡(luò)的電子元器件壽命預(yù)測方法,對MOS電容加速壽命進(jìn)行試驗(yàn)并分析數(shù)據(jù),得出該方法對預(yù)測MOS電容失效時間具有很好的實(shí)用意義,并且精度也符合要求。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)[7]是1986年由Rumelhart和McCelland組成的科學(xué)小組提出的,該網(wǎng)絡(luò)的訓(xùn)練算法采用的方法是通過反向傳播訓(xùn)練誤差來調(diào)整各層權(quán)值閾值,最終達(dá)到理想訓(xùn)練效果,該算法具有結(jié)構(gòu)清晰明了、算法簡單高效等特點(diǎn)。BP算法在實(shí)際應(yīng)用中也存在不足,體現(xiàn)在網(wǎng)絡(luò)對初始值和學(xué)習(xí)因子的選取敏感,優(yōu)化目標(biāo)函數(shù)復(fù)雜且可能存在多個極小點(diǎn)使得網(wǎng)絡(luò)陷入局部極小,誤差收斂達(dá)不到預(yù)期精度[8]。為提高BP網(wǎng)絡(luò)訓(xùn)練收斂速度和減少誤差,避免收斂陷入局部極小,本文提出一種對BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中賦值常數(shù)的動量因子進(jìn)行改進(jìn),用前后兩層誤差反饋來調(diào)整動量因子的取值,使得動量因子在約束收斂震蕩的同時,對權(quán)值和閾值的調(diào)整速率的精確度方面也起到一定作用。仿真試驗(yàn)證明改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)在一定程度上提高了網(wǎng)絡(luò)整體映射能力。
神經(jīng)元[9~10]是神經(jīng)網(wǎng)絡(luò)系統(tǒng)的基本處理單元,它是構(gòu)成神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)。神經(jīng)元在生物學(xué)上是以生物神經(jīng)系統(tǒng)的神經(jīng)細(xì)胞為基礎(chǔ)的生物模型,在對生物神經(jīng)系統(tǒng)進(jìn)行研究的基礎(chǔ)上探討人工智能的機(jī)制,把神經(jīng)元數(shù)學(xué)化產(chǎn)生了神經(jīng)元數(shù)學(xué)模型[11]。圖1是人工神經(jīng)元的示意圖。
圖1 神經(jīng)元結(jié)構(gòu)模型[12]
神經(jīng)元模型可用下列表達(dá)式闡述:
神經(jīng)元的輸出決定于激活函數(shù)的類型,常見的激活函數(shù)主要有階躍型、線性型、雙曲型和對數(shù)s型等。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)采用誤差反向傳播來調(diào)整各層權(quán)值閾值的算法,廣泛應(yīng)用于函數(shù)逼近、系統(tǒng)辨識、語言識別和數(shù)據(jù)處理等領(lǐng)域[13]。BP網(wǎng)絡(luò)的主體結(jié)構(gòu)由一個輸入層、一個或多個隱含層和一個輸出層組成,各層傳遞函數(shù)可不同,常見隱含層中的神經(jīng)元采用sigmoid型傳遞函數(shù),輸出層函數(shù)采用純線性傳遞函數(shù),其結(jié)構(gòu)如圖2所示。
圖2 BP網(wǎng)絡(luò)結(jié)構(gòu)
BP網(wǎng)絡(luò)在學(xué)習(xí)過程中,網(wǎng)絡(luò)的權(quán)值和閾值不斷修正,首先輸入模式經(jīng)過輸入層正向傳播至隱含層,在隱含層的處理后傳送輸出層,每一層神經(jīng)元的狀態(tài)只受它上一層神經(jīng)元狀態(tài)影響。如果輸出達(dá)不到期望,則進(jìn)入反向傳播環(huán)節(jié),誤差在反向傳播的過程中不斷修正各層連接的權(quán)值和閾值,直至誤差達(dá)到精度要求為止。
結(jié)合BP結(jié)構(gòu)網(wǎng)絡(luò),其算法推導(dǎo)過程如下:
1)輸入信號正向傳播過程:
隱含層第i個節(jié)點(diǎn)的輸入
輸出層函數(shù)為線性函數(shù),則第k個節(jié)點(diǎn)的輸入為
第k個節(jié)點(diǎn)的輸出ok為
定義誤差函數(shù)
其中定義第k個節(jié)點(diǎn)輸出的期望值為Fk,Ek表示輸出誤差,預(yù)測精度即真實(shí)值與期望值之間的誤差,誤差越小,則說明精度越高[14]。
2)反向傳播過程:
定義誤差函數(shù)隱含層權(quán)值公式為
輸出層權(quán)值公式為:
隱含層閾值公式為
輸出層閾值公式為
式中,η為學(xué)習(xí)率[15],;α為動量因子[16],;t為調(diào)節(jié)次數(shù);δ與偏差有關(guān)[17]。
對于輸出層:
對于隱含層:
通常采用梯度下降法來調(diào)整BP神經(jīng)網(wǎng)絡(luò)各層連接權(quán)值和閾值調(diào)整量。
隱含層權(quán)值調(diào)整量為
輸出層權(quán)值調(diào)整量為
隱含層閾值調(diào)整量為
輸出層閾值調(diào)整量為
因?yàn)?/p>
則輸出層權(quán)值調(diào)整量為
隱含層權(quán)值調(diào)整量為
輸出層閾值調(diào)整量為
隱含層閾值調(diào)整量為
為了使網(wǎng)絡(luò)預(yù)期精確度更高,訓(xùn)練速率更快,在傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法中誤差反向傳播環(huán)節(jié)對隱含層和輸出層的權(quán)值閾值進(jìn)行修正。為達(dá)到預(yù)期,本文提出對BP神經(jīng)網(wǎng)絡(luò)中常數(shù)項(xiàng)動量因子賦變量值,可根據(jù)誤差反饋調(diào)整值的大小,相比較BP神經(jīng)網(wǎng)絡(luò),改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)各層權(quán)值閾值調(diào)整不再是前兩層簡單線性關(guān)系,通過增加輸出誤差比值來調(diào)整大小,能夠更深層將輸出誤差變化的影響因素考慮進(jìn)去,在網(wǎng)絡(luò)訓(xùn)練過程中,增加了前面輸出誤差的影響,在有效約束收斂時產(chǎn)生的震蕩同時,提高了預(yù)測精度,在一定程度上提高了網(wǎng)絡(luò)映射能力。對學(xué)習(xí)速率η的改進(jìn)體現(xiàn)在通過相鄰兩層輸出誤差的比較來改變η的大小,合理調(diào)整訓(xùn)練進(jìn)度,能夠有效改善訓(xùn)練時間過長,學(xué)習(xí)速率過緩的問題。
與常規(guī)權(quán)值調(diào)整公式中常數(shù)項(xiàng)動量因子α0不同,改進(jìn)后的動量因子是一個變量,其取值受前面輸出誤差的影響,且大小隨輸出誤差比值大小做調(diào)整。按照經(jīng)驗(yàn)可知,,誤差調(diào)整總體呈下降趨勢。
現(xiàn)令
則式(2)~(8)、式(2)~(9)調(diào)整為
同理閾值的調(diào)整為
此外,通常取常數(shù)項(xiàng)的學(xué)習(xí)速率η對網(wǎng)絡(luò)的訓(xùn)練性能也起一定作用。η取值要求合適但沒有絕對定量,取值過小,會使得訓(xùn)練收斂減慢,訓(xùn)練時間過長;取值過大,會網(wǎng)絡(luò)穩(wěn)定性降低,收斂效果變差[18]。綜合考慮訓(xùn)練時間和穩(wěn)定性兩方面因素,參照預(yù)先設(shè)定的誤差參數(shù),提出對η取值進(jìn)行調(diào)整,當(dāng)網(wǎng)絡(luò)輸出誤差較上一層輸出超出設(shè)定值,則減小η值,反之增加,直至網(wǎng)絡(luò)訓(xùn)練收斂達(dá)到預(yù)期。η取值如下:
通過前后兩層誤差自動調(diào)整η來一定程度上保證網(wǎng)絡(luò)盡可能以最大允許速率訓(xùn)練。
基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測步驟如下:
由此可得出m組樣本數(shù)據(jù)(Rj,Mj),j=1,2,...,m。其中包括訓(xùn)練樣本和測試樣本。
2)網(wǎng)絡(luò)結(jié)構(gòu)初始化
網(wǎng)絡(luò)結(jié)構(gòu)首先要確定隱含層的層數(shù),然后確定網(wǎng)絡(luò)輸入層、隱含層和輸出層的節(jié)點(diǎn)數(shù)目。隱含層層數(shù)的確定對網(wǎng)絡(luò)結(jié)構(gòu)具有重要影響,層數(shù)增加能在一定程度上提高精度,降低誤差,但是同時也使得結(jié)構(gòu)復(fù)雜,延長了訓(xùn)練時間,因此大多采用具有一個輸入層、一個輸出層和一個隱含層的三層網(wǎng)絡(luò)模型結(jié)構(gòu),當(dāng)然要視具體情況而定[19]。設(shè)輸入層節(jié)點(diǎn)數(shù)m為評價指標(biāo)的個數(shù),輸出層節(jié)點(diǎn)數(shù)n一般為1,隱含層節(jié)點(diǎn)數(shù)q的確定有多個經(jīng)驗(yàn)優(yōu)化關(guān)系,選擇其中的一個,即
3)網(wǎng)絡(luò)參數(shù)初始化
網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練過程中,各層權(quán)值、閾值的確定是關(guān)鍵所在,按照專家經(jīng)驗(yàn),權(quán)值的初始值w取值在(- 0.3,+0.3)范圍內(nèi)。
4)訓(xùn)練網(wǎng)絡(luò)
利用改進(jìn)的BP神經(jīng)網(wǎng)絡(luò),計(jì)算網(wǎng)絡(luò)輸出及誤差,當(dāng)網(wǎng)絡(luò)收斂至一定程度中止訓(xùn)練,否則調(diào)整各層權(quán)值閾值,直至達(dá)到訓(xùn)練目標(biāo)。
5)預(yù)期性能分析
為了科學(xué)合理的評判網(wǎng)絡(luò)預(yù)測效果,需要從不同角度評判預(yù)測性能。網(wǎng)絡(luò)預(yù)測速率方面采用運(yùn)算收斂至目標(biāo)的迭代次數(shù)來評判,網(wǎng)絡(luò)預(yù)測精度方面采用預(yù)測值與真實(shí)值的相對誤差來評判,綜合二者來評判網(wǎng)絡(luò)的整體預(yù)測效果。
通過對導(dǎo)引頭實(shí)測數(shù)據(jù)的研究分析,雷達(dá)導(dǎo)引頭[20]中故障率較高的部件有發(fā)射機(jī)、接收機(jī)、電源組合和天線組合,通過測試各部件所得數(shù)據(jù)來分析導(dǎo)引頭性能及健康狀態(tài),其中在導(dǎo)引頭各部件中故障率占比較大的元器件有:電源、磁控管、二極管等。其中以雷達(dá)導(dǎo)引頭中27V電源為研究對象,以下是電源5年每季度電壓變化測試數(shù)據(jù)并進(jìn)行歸一化處理,見表1。
表1 電源電壓檢測數(shù)據(jù)歸一化處理結(jié)果
取其中連續(xù)6個季度的檢測值作為輸入向量,第7個季度的檢測值作為目標(biāo)向量,則可得到表2,取前8組數(shù)據(jù)作為訓(xùn)練樣本,后3組作為測試樣本,最后通過測試值與預(yù)測值對比進(jìn)行誤差分析。
表2 網(wǎng)絡(luò)訓(xùn)練樣本和測試樣本
前人大量實(shí)驗(yàn)證明,一個三層BP神經(jīng)網(wǎng)絡(luò)經(jīng)過多次訓(xùn)練能夠完成任意m維到n維的映射,且達(dá)到一定精度。輸入層節(jié)點(diǎn)為m=6,輸出層節(jié)點(diǎn)為n=1,按照經(jīng)驗(yàn)公式計(jì)算,隱含層節(jié)點(diǎn)應(yīng)取q=8,由于隱含層節(jié)點(diǎn)數(shù)的選取對網(wǎng)絡(luò)精度和運(yùn)算速率影響較大,現(xiàn)取q=7,9,11,13,然后通過網(wǎng)絡(luò)訓(xùn)練觀察精度和運(yùn)算速率來確定q最優(yōu)取值。設(shè)網(wǎng)絡(luò)訓(xùn)練次數(shù)為2000,訓(xùn)練目標(biāo)0.0001,w的初始取值在(- 0.3,+0.3) 內(nèi)選取,η=0.05,θi(0)=0.9,ak(0)=0.9,隱含層所有映射關(guān)系都是s型函數(shù),利用Matlab進(jìn)行仿真試驗(yàn),得到隱含層節(jié)點(diǎn)不同取值所對應(yīng)的訓(xùn)練誤差曲線,如圖3所示。
通過對隱含層取不同值,觀察網(wǎng)絡(luò)收斂速度和誤差精度,在優(yōu)先考慮誤差精度的基礎(chǔ)上考慮運(yùn)算速率,如圖1~4。對比發(fā)現(xiàn),當(dāng)隱含層節(jié)點(diǎn)q=7時,網(wǎng)絡(luò)收斂速率最快,當(dāng)q=9時,收斂速率有所增加,但預(yù)測誤差最小。綜合比較,隱含層數(shù)q=9總體效果較好,則改進(jìn)后BP神經(jīng)網(wǎng)絡(luò)輸入層、隱含層和輸出層節(jié)點(diǎn)分別取6、9、1。
為驗(yàn)證改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測性能,現(xiàn)以2017年三、四季度和2018年第一季度電源電壓檢測數(shù)據(jù)為期望數(shù)據(jù),分別以傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)和改進(jìn)神經(jīng)網(wǎng)絡(luò)進(jìn)行電源電壓預(yù)測,利用Matlab仿真試驗(yàn),得到兩種算法下訓(xùn)練速度和誤差結(jié)構(gòu)曲線圖,如圖5所示。
圖5 改進(jìn)前后兩種算法預(yù)測誤差曲線圖
通過觀察圖5和圖6可知,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法預(yù)測精度較高,預(yù)測值與期望值擬合度較高,預(yù)測平均誤差為0.45%,而傳統(tǒng)神經(jīng)網(wǎng)絡(luò)預(yù)測平均誤差為4.8%,在預(yù)測誤差方面,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)明顯由于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)。在運(yùn)算速率方面,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)在迭代809次后,誤差精度就達(dá)到預(yù)期,而傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)迭代1000次仍未達(dá)到預(yù)期。由此可見,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)運(yùn)算精度更高,收斂速度更快,具有更強(qiáng)的映射能力。
圖6 兩種算法性能參數(shù)預(yù)測曲線
本章在對BP神經(jīng)網(wǎng)絡(luò)研究的基礎(chǔ)上,提出了改進(jìn)型BP神經(jīng)網(wǎng)絡(luò),并對某型防空導(dǎo)彈雷達(dá)導(dǎo)引頭發(fā)射機(jī)上電源電壓性能進(jìn)行預(yù)測,通過仿真實(shí)驗(yàn)證明,改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)對導(dǎo)引頭發(fā)射機(jī)電源電壓性能預(yù)測具有很好的適用性,相比較傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)具有運(yùn)算精度更高,收斂速度更快的優(yōu)點(diǎn),網(wǎng)絡(luò)映射能力更強(qiáng)。下步工作主要研究改進(jìn)BP神經(jīng)網(wǎng)絡(luò)對其他電子設(shè)備的適用型,并進(jìn)一步提高網(wǎng)絡(luò)的穩(wěn)定性。