(海軍航空大學 岸防兵學院,山東 煙臺 264001)
航材是飛機保障過程中的重要物質(zhì)基礎(chǔ),是實施換件修理的必要物質(zhì)條件,將直接影響到飛機的戰(zhàn)備完好性和出動率[1]。在經(jīng)歷原始粗放的航材管理模式后,經(jīng)濟性也成為航材保障的重要因素。實際工作中,有些航材大量積壓,不僅耗費資金,同時占用庫房。而同時也因為部分航材缺件導致停飛。既要保證戰(zhàn)備需求,同時也要滿足經(jīng)濟性需求,這就要求保障過程中盡量做到精確、高效。發(fā)動機如同飛機的心臟,一方面對于飛行安全至關(guān)重要,另一方單價較貴,不能大量儲存。如何預測發(fā)動機故障率,提前做好相應準備,對于提高航材保障水平具有較大意義。近年來,學者運用神經(jīng)網(wǎng)絡(luò)強大的數(shù)學模擬預測能力對航材進行預測,吳清亮在使用BP神經(jīng)網(wǎng)絡(luò)對備件的需求進行了預測[2];李連等通過附加動量項和變步長思想對 BP 網(wǎng)絡(luò)進行改進[4];上述兩位學者使用網(wǎng)絡(luò)時間較早,使用原模型對部分備件進行模擬,取得初步的效果。但神經(jīng)網(wǎng)絡(luò)在很多情況下精度較差,對樣本的學習能力不足,尤其是對部分航材備件,消耗量少,且服役周期較短,樣本小導致預測誤差較大。在此基礎(chǔ)上,韓玉等使用粗糙集和神經(jīng)網(wǎng)絡(luò)針對艦載直升機航材消耗影響因素的非定量性以及冗余性等問題做出了優(yōu)化[3],利用粗糙集的理論知識去除冗余,篩選出主要消耗因素,之后利用神經(jīng)網(wǎng)絡(luò)建立了航材消耗模型;;陳博等在分析了灰色系統(tǒng)優(yōu)勢的基礎(chǔ)上,對神經(jīng)網(wǎng)絡(luò)做了局部優(yōu)化,提高了神經(jīng)網(wǎng)絡(luò)的魯棒性和學習性能[5],最后通過算例證明優(yōu)化后的算法能夠較好的提升預測精度。本文以某俄式發(fā)動機為研究對象,收集了3年發(fā)動機壽命記錄,運用BP神經(jīng)網(wǎng)絡(luò)進行預測。通過分析樣本的數(shù)據(jù)特點,針對神經(jīng)網(wǎng)絡(luò)在計算中可能產(chǎn)生的問題進行模型改進,使得改進后BP神經(jīng)網(wǎng)絡(luò)預測誤差更小。
針對故障率進行分析預測,首先需要在收集數(shù)據(jù)的基礎(chǔ)上,進行分析。故障率或者說是失效率,是失效發(fā)生在一定的時間段內(nèi)的概率,根據(jù)用途不同,分為瞬間失效率、累積失效率和平均失效率。為方便計算,在此我們假定出廠時每個裝備質(zhì)量完好,在運輸、儲存、維護等過程中按標準完成,不存在因人為損壞的部件。
根據(jù)GJB451A-2005定義可靠性是指“產(chǎn)品在規(guī)定的條件下和規(guī)定的時間內(nèi)下,完成規(guī)定功能的能力”[6]。依據(jù)定義,我們將可靠度記作R(t)。假設(shè)在t=0時刻有N個裝備開始工作,而到t時刻有n(t)個裝備失效,即有N-n(t)個裝備繼續(xù)工作,則t時刻R(t)的估計值為:
(1)
累積失效率是裝備再時間段0至t失效的概率[6]。用公式表達為關(guān)于t的函數(shù),記作F(t),其表示式為:
F(t)=P{T≤t}=1-P(T>t)=1-R(t)
(2)
失效率是裝備正常工作至某時刻,在該時刻后的單位時間內(nèi)發(fā)生故障的概率[6],記作λ(t)。按上述定義,失效率是失效僅發(fā)生在時間段t至t+Δt內(nèi)的概率,同樣是關(guān)于t的函數(shù),其表達式為:
失效率的估計值可由下式求得:
(3)
其中:Δt為試驗單位區(qū)間,Δn為Δt內(nèi)失效的樣品總數(shù);Ns為到t1時刻可用樣品數(shù)[5]。
平均失效率是裝備在一個規(guī)定的時間段內(nèi)總的故障數(shù)nf(t)與全體裝備工作的累加時間之比[6]。 平均失效率估計值的公式為:
(4)
值得注意的是,在實際工作中,難免會有非質(zhì)量原因的故障,比如飛行員操作失誤等,此類數(shù)據(jù)不能用作分析裝備故障率。
BP神經(jīng)網(wǎng)絡(luò)是一種具有三層或三層以上的神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)如圖1所示。其中包括輸入層I、中間層H和輸出層Y,各層之間連接權(quán)重類比為神經(jīng)元細胞的神經(jīng)纖維強度。當數(shù)據(jù)樣本輸入神經(jīng)網(wǎng)絡(luò)后,從輸入層經(jīng)各中間層向輸出層傳播,在輸出層的各神經(jīng)元獲得網(wǎng)絡(luò)處理過的輸入響應。而后以輸出數(shù)據(jù)與實際誤差最小為優(yōu)化目標,修正由輸出層到各中間層及輸入層的權(quán)值及誤差參數(shù),這種算法稱為“誤差反向傳播算法”,即BP算法。利用誤差反向傳播對權(quán)值矩陣調(diào)整后,重新進行網(wǎng)絡(luò)輸出,并計算網(wǎng)絡(luò)的輸出值與真值的誤差。隨著這種誤差反向的傳播修正不斷進行,網(wǎng)絡(luò)對輸入樣本計算的正確率也不斷提升?;谏鲜鲞\算,BP網(wǎng)絡(luò)進行不斷迭代,直至誤差達到理想范圍或訓練次數(shù)達到網(wǎng)絡(luò)設(shè)定的最大值。
在引言中所提,目前神經(jīng)網(wǎng)絡(luò)已普遍應用于故障診斷領(lǐng)域,并且發(fā)揮了較大的作用。近年來,對神經(jīng)網(wǎng)絡(luò)的優(yōu)化也在不斷發(fā)展:一方面對模型進行優(yōu)化,對激勵函數(shù)、步長或者反饋機制進行完善;另一方面隨著更多數(shù)學工具的發(fā)展,使用其他工具對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,例如灰色系統(tǒng)、粗糙集等等,均使故障診斷水平有了大幅提升。但即便如此,沒有一種模型能適用所有備件。一方面是備件種類龐大,在研究時難以兼顧所有;另一方面每種備件的設(shè)計壽命、使用環(huán)境、故障風險均不相同,導致故障率不同。只有針對航材特點,分析選用適當?shù)哪P筒拍苓_到最佳效果。本文使用BP神經(jīng)網(wǎng)絡(luò)對某航空發(fā)動機故障率進行預測,采用最快梯度下降法進行學習[8]。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
傳統(tǒng)統(tǒng)BP網(wǎng)絡(luò)存在一些缺陷,網(wǎng)絡(luò)訓練時常會出現(xiàn)收斂慢、蕩陷入局部極小值點等問題,影響預測效果[7]。本文通過改變激勵函數(shù)的形式優(yōu)化神經(jīng)網(wǎng)絡(luò)模型,對故障率進行擬合。
在BP神經(jīng)網(wǎng)絡(luò)中,假設(shè)輸入層的節(jié)點個數(shù)為n,隱含層的節(jié)點個數(shù)為l,輸出層的節(jié)點個數(shù)為m。輸入層到隱含層的權(quán)重wij,隱含層到輸出層的權(quán)重為wjk,輸入層到隱含層的偏置為aj,隱含層到輸出層的偏置為bk。學習速率為η,激勵函數(shù)為g(x)。其中激勵函數(shù)取Sigmoid函數(shù)[7]。形式為:
(5)
在誤差反向傳播的過程中,我們的目標是使得誤差函數(shù)達到最小值minE,即我們使用誤差梯度下降法。
在研究發(fā)動機故障率時,由于發(fā)動機狀態(tài)屬于持續(xù)過程,傳統(tǒng)BP網(wǎng)絡(luò)擬合效果不佳。本文通過將激勵函數(shù)加入模糊參數(shù),并將參數(shù)進行訓練。提高神經(jīng)元對原狀態(tài)的保持特性,從而減少神經(jīng)元狀態(tài)的錯誤變化,有利于提高網(wǎng)絡(luò)的抗擾能力。參數(shù)參與學習,能更好的對樣本規(guī)律進行挖掘,提高學習效率。
對故障率λi,輸出函數(shù)為:
(6)
其中:c為模糊參數(shù)。
1)隱含層到輸出層的權(quán)重更新:
(7)
權(quán)重的更新公式為:
wjk=wjk+ηHjek
(8)
2)輸入層到隱含層的權(quán)重更新:
(9)
權(quán)重的更新公式為:
(10)
3)偏置的更新:
隱含層到輸出層的偏置更新:
(11)
則偏置的更新公式為:
bk=bk+ηek
(12)
輸入層到隱含層的偏置更新:
(13)
(14)
則偏置的更新公式為:
(15)
4)輸出:
隱含層的輸出:
(16)
輸出層的輸出:
(17)
誤差計算:
(18)
5)模糊參數(shù)更新:
(19)
對比上文通用Sigmoid函數(shù)相比,改進后的激勵函數(shù)的響應與樣本數(shù)據(jù)更加緊密,具有明顯的模糊特性。當權(quán)值進行改變時,模糊參數(shù)能有效減小神經(jīng)元的變化,部分提高網(wǎng)絡(luò)的魯棒性,并增加了網(wǎng)絡(luò)對數(shù)據(jù)樣本的學習能力。網(wǎng)絡(luò)權(quán)值的每一次更新都伴隨著模糊參數(shù)的優(yōu)化計算,直到網(wǎng)絡(luò)誤差達到滿意范圍或達到指定最大迭代次數(shù)。由于模糊網(wǎng)絡(luò)對參數(shù)進行的優(yōu)化訓練,在神經(jīng)元的基礎(chǔ)上增加了有效向?qū)В瑥亩鰪娏司W(wǎng)絡(luò)對歷史輸入信息的學習能力,使得網(wǎng)絡(luò)能夠更充分挖掘數(shù)據(jù)樣本中的規(guī)律,提高網(wǎng)絡(luò)預測準確性[9]。
本文以某型號直升機發(fā)動機為例,該發(fā)動機設(shè)計壽命1000 h。將1000 h按照每100 h進行分段,即到每100 h內(nèi)故障的發(fā)動機數(shù),經(jīng)統(tǒng)計故障數(shù)如表1所示。在工程實踐中,常使用平均失效率,但本文考慮每個階段航空發(fā)動機故障率,在計算時使用故障率進行考量,根據(jù)公式推導得出該型號發(fā)動機故障率在每個時間段的故障率,具體數(shù)據(jù)如表2所示。在上文中提及,本文僅排除了人為的重大故障,不同的使用環(huán)境、使用方法、保養(yǎng)質(zhì)量等因素均會對故障率有所影響,可以使用相關(guān)文獻中的工具進行具體分析,本文假定此類條件滿足要求。
表1 分段故障表
表2 分段故障表
分析表1可見,該航空發(fā)動機故障率較低,相對符合浴盆曲線規(guī)律,在3個時間段內(nèi)出現(xiàn)0值,表明該發(fā)動機可靠性較高,同時這在使用神經(jīng)網(wǎng)絡(luò)進行仿真計算時容易產(chǎn)生誤差。多次由相對較高的數(shù)值變?yōu)?值,使應相對平穩(wěn)的數(shù)據(jù)鏈產(chǎn)生較大拐點。在網(wǎng)絡(luò)迭代時,為求得最小誤差,權(quán)值會響應的增大,容易出現(xiàn)局部極小值。
神經(jīng)網(wǎng)絡(luò)學習過程需要處理大量計算過程,在此本實驗使用MATLAB軟件編程運算。由于數(shù)據(jù)樣本較少,而神經(jīng)網(wǎng)絡(luò)的權(quán)值及偏置需要大量的訓練次數(shù)且樣本空間,因此在編程時,采用循環(huán)迭代的思路。輸入變量 [0,900]區(qū)間內(nèi)9個數(shù)據(jù),激勵函數(shù)從輸入變量每次提取一個進行迭代訓練,將前一個時間段內(nèi)發(fā)動機故障率進行迭代預測下一時間段發(fā)動機故障率。在一次訓練內(nèi),通過9個數(shù)據(jù)對權(quán)重及參數(shù)訓練相應次數(shù),提高了網(wǎng)絡(luò)的準確性。[900,1000]數(shù)據(jù)用做訓練完成后的預測對比值。
以0.02的學習速率進行訓練,前9次訓練完成后,訓練后誤差如表2所示。
分析運算結(jié)果,可以看出改進后的神經(jīng)網(wǎng)絡(luò)對比原網(wǎng)絡(luò)在誤差平方和減小了42.6%。使用訓練過的網(wǎng)絡(luò)在學習速率0.02時預測[900,1000]故障率,結(jié)果分別為:6.120、3.985,與真實值7.69相比,改進后的神經(jīng)網(wǎng)絡(luò)預測準確率提高了27%,運算結(jié)果如圖2所示。改進后的網(wǎng)絡(luò)比原網(wǎng)絡(luò)更好的適應樣本故障率。而原網(wǎng)絡(luò)在低學習速率擬合不佳,收斂速度較慢,曲線平穩(wěn)不能體現(xiàn)樣本特征。
表2 0.02學習速率訓練結(jié)果
表3 0.02學習速率訓練結(jié)果
圖2 學習速率0.02時故障率圖
為進一步分析新舊網(wǎng)絡(luò)對于樣本及學習速率的關(guān)聯(lián),我們使用0.035的學習速率進行訓練,前9次訓練完成后,訓練后誤差如表3所示。
在0.035的學習速率下,改進后的神經(jīng)網(wǎng)絡(luò)對比原網(wǎng)絡(luò)在誤差平方和減小了8.6%。使用訓練過的網(wǎng)絡(luò)在學習速率0.035時預測[900,1000]故障率,結(jié)果分別為:13.495、6.509,與真實值7.69相比,原神經(jīng)網(wǎng)絡(luò)誤差較大,難以采用。運算結(jié)果如圖3所示。
圖3 學習速率0.035時故障圖
對比兩次試驗結(jié)果,我們可以看出,由于該航空發(fā)動機故障率較低,數(shù)據(jù)相對平穩(wěn),且0值存在較多,使得原網(wǎng)絡(luò)在計算中陷入局部極小值問題。而隨著使用時間的增加,故障率升高,前段的訓練得出的權(quán)值使得預測數(shù)據(jù)過高。高學習速率較低學習速率有較好的訓練效果,尤其是傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),訓練后的誤差平方和與改進后的相差8.6%,但由于極值的問題,訓練后的權(quán)值與理想情況差距較大,在預測n+1時間段故障率體現(xiàn)明顯,對于樣本數(shù)據(jù)擬合不佳,預測效果較差。而在激勵函數(shù)中加入模糊參數(shù),該參數(shù)參與神經(jīng)網(wǎng)絡(luò)訓練,與樣本有一定的關(guān)聯(lián)性,在網(wǎng)絡(luò)權(quán)值的改變中起到控制作用,避免局部極小值出現(xiàn)。在不同的學習速率,改進后的神經(jīng)網(wǎng)絡(luò)均體現(xiàn)出了一定的適應性。不僅僅是在訓練過程中誤差較低,更重要的是在預測時因與樣本結(jié)合更為密切,預測結(jié)果更為準確。
通過使用收集的數(shù)據(jù)對神經(jīng)網(wǎng)絡(luò)進行訓練,對比訓練結(jié)果,并通過訓練后的網(wǎng)絡(luò)對數(shù)據(jù)預測,我們可以看出改進的神經(jīng)網(wǎng)絡(luò)在對于該型號發(fā)動機故障率擬合有了優(yōu)化,并且故障率預測更為準確。運用該模型對于提高該備件預測準確性有一定實踐意義。同時,由于樣本數(shù)據(jù)容量較小,對于小樣本預測問題,本文提供了一種循環(huán)迭代學習的思路。