許 亮 馬 碩 薛 薇 李寧寧
1.天津理工大學電氣電子工程學院,天津市復雜系統(tǒng)控制理論及應(yīng)用重點實驗室,天津 300384
2.北京航天動力研究所,北京100076
液體火箭發(fā)動機的故障檢測對于提高發(fā)動機運行的準確度具有十分重要的意義。隨著現(xiàn)代航天技術(shù)的飛速發(fā)展,液體火箭被越來越多的國家發(fā)射使用[1]。液體火箭的動力裝置系統(tǒng)主要由推進劑輸送和增壓系統(tǒng)及液體火箭發(fā)動機兩大部分組成。液體火箭發(fā)動機的故障檢測顯得尤為重要[2-5]。
經(jīng)常采用神經(jīng)網(wǎng)絡(luò)算法預測發(fā)動機故障檢測的問題。眾所周知,神經(jīng)網(wǎng)絡(luò)具有較高的非線性映射能力以及高效的自主學習性和容錯能力[6-8],因此神經(jīng)網(wǎng)絡(luò)成為液體火箭發(fā)動機故障檢測的重要手段[9]。通常,人們都使用BP神經(jīng)網(wǎng)絡(luò)進行運算,但BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計上具有盲目性的缺點。最近,越來越多的人通過使用小波神經(jīng)網(wǎng)絡(luò)進行預測[10-11],相比于前向的神經(jīng)網(wǎng)絡(luò),小波神經(jīng)網(wǎng)絡(luò)具有更強的學習能力,精度也更高,它的基元和整個結(jié)構(gòu)是依據(jù)小波分析理論確定的,所以結(jié)構(gòu)更加簡單,收斂速度更快。
智能算法在實際應(yīng)用中會根據(jù)具體問題進行改進[12]。劉利軍、雷宇等提出了一種雙向長短時記憶神經(jīng)網(wǎng)絡(luò)的航空發(fā)動機氣路部件故障診斷模型,實驗結(jié)果充分表明雙向LSTM模型的優(yōu)越性[9]。胡昌華、張軍波等提出一種基于小波和人工神經(jīng)網(wǎng)絡(luò)的方法實現(xiàn)對系統(tǒng)故障檢測與診斷的研究[13]。何浩、胡小平等采用支持向量機SVM檢測和診斷液體火箭發(fā)動機故障診斷的數(shù)據(jù),結(jié)果證實了該方法的正確性和可行性[14]。董周杰、郭迎清提出一種基于數(shù)據(jù)驅(qū)動的綜合模糊聚類算法用于液體火箭發(fā)動機的故障診斷[15],模型仿真結(jié)果表明該故障診斷算法能夠準確及時地檢測并隔離出故障。劉明、楊明等提出基于粒子群算法求解單顆衛(wèi)星軌道參數(shù)、解析法求解星座軌道參數(shù)的方法。仿真表明,該方法具有較好的工程應(yīng)用價值[16]。王娟、吳憲祥和郭寶龍?zhí)岢鲆环N結(jié)合Ferguson樣條路徑描述和改進粒子群優(yōu)化算法的路徑規(guī)劃方法[17],將其用于移動機器人的路徑規(guī)劃,證實有一定的實用價值。
曾勇、張金奮等人在船舶避碰決策案例上為了避免陷入局部最優(yōu),提高全局搜索能力,讓粒子群算法與遺傳算法相結(jié)合,提高收斂精度,加速全局尋優(yōu)[18]。戴航、王春波等人針對優(yōu)化電池損耗及儲能系統(tǒng)收益情況提出一種雙適應(yīng)度混沌粒子群算法,引入混沌擾動,解決了粒子群算法全局尋優(yōu)能力不足,罰函數(shù)難以選取等問題[19]?;诖?,為了解決傳統(tǒng)粒子群算法初期容易陷入局部最優(yōu)的問題,并且為了提高運算效率[20-21],本文采用逐漸遞減的選取方式,將粒子群優(yōu)化算法的慣性權(quán)重和學習因子進行改進,并與小波神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出一種改進的粒子群算法(PSO)與小波神經(jīng)網(wǎng)絡(luò)(WNN)相結(jié)合的方法,將其用于液體火箭發(fā)動機的故障檢測中。
為了能根據(jù)液體火箭發(fā)動機的性能參數(shù)判斷出發(fā)動機是否發(fā)生故障,本文利用小波神經(jīng)網(wǎng)絡(luò)參與建立對其進行預測的神經(jīng)網(wǎng)絡(luò)模型。張清華等人于1992年首次提出了小波神經(jīng)網(wǎng)絡(luò)(wavelet neural network,WNN),并在函數(shù)學習上取得了成功[6]。小波神經(jīng)網(wǎng)絡(luò)是小波變換和人工神經(jīng)網(wǎng)絡(luò)的結(jié)合。小波神經(jīng)網(wǎng)絡(luò)是基于BP神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),其中小波基函數(shù)用作隱含層節(jié)點的傳遞函數(shù),信號向前傳播而誤差向后傳播。小波神經(jīng)網(wǎng)絡(luò)集人工神經(jīng)網(wǎng)絡(luò)和小波分析優(yōu)點于一身,不僅網(wǎng)絡(luò)收斂速度快,又能避免陷入局部最優(yōu),同時又有時頻局部分析的特點[13,22-23]。小波神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)如圖1所示。
圖1 小波神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)
在圖1中,X1,X2,…,Xp是小波神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),Y1,Y2…,Yq是小波神經(jīng)網(wǎng)絡(luò)的預測輸出,ωij和ωjk為小波神經(jīng)網(wǎng)絡(luò)權(quán)值。
在輸入信號序列為xi(i=1,2,…,p)時,隱含層輸出計算公式為:
(1)
式中,h(j)為隱含層第j個節(jié)點的輸出值;bj為小波基函數(shù)hj的平移因子;aj為小波基函數(shù)hj的伸縮因子;ωij是輸入層和隱含層的連接權(quán)值;hj為小波基函數(shù)。
本次液體火箭發(fā)動機故障檢測仿真實驗將Morlet母小波基函數(shù)作為小波基函數(shù),其數(shù)學公式為:
(2)
小波神經(jīng)網(wǎng)絡(luò)輸出層計算公式為:
(3)
式中,l隱含層節(jié)點數(shù);ωjk為隱含層到輸出層權(quán)值;h(i)為第i個隱含層節(jié)點的輸出;m為輸出層節(jié)點數(shù)。
小波神經(jīng)網(wǎng)絡(luò)權(quán)值參數(shù)校正算法與BP神經(jīng)網(wǎng)絡(luò)權(quán)值校正的算法基本類似,網(wǎng)絡(luò)的權(quán)值和小波基函數(shù)參數(shù)采用梯度修正法進行修正,通過大量數(shù)據(jù)的訓練,使小波神經(jīng)網(wǎng)絡(luò)的真實輸出與期望輸出之間誤差最小。
小波基函數(shù)的系數(shù)和小波神經(jīng)網(wǎng)絡(luò)的權(quán)值通過預測誤差e校正,公式如下:
(4)
(5)
(6)
(7)
(8)
(9)
式中,η為學習速率。
由于本案例中的小波神經(jīng)網(wǎng)絡(luò)的權(quán)值和小波基函數(shù)的參數(shù)采用的修正方法為梯度學習算法,此算法也有一定缺點,比如在靠近極小值時容易造成進化緩慢并且容易陷入最小,所以為了提高神經(jīng)網(wǎng)絡(luò)學習速率,本文采用增加動量項的方法,增加動量項的權(quán)值和小波基函數(shù)參數(shù)修正公式為:
(10)
(11)
(12)
式中,k為動量項學習速率。
粒子群優(yōu)化算法(PSO)最初起源于對鳥群捕食行為的觀察和研究[16,24],此算法中每一個由擬合函數(shù)確定的每個擬合值都有一個對應(yīng)的粒子對應(yīng)關(guān)系。粒子的速度不僅決定了粒子的行進方向,還指示了粒子在空間中行進的距離。每個粒子可以通過自身以及其他粒子的運動經(jīng)驗動態(tài)調(diào)整其自身速度,實現(xiàn)個體在可解空間中的尋優(yōu)[25]。
個體極值由Pbest表示,指的是個體粒子由所遍歷位置中各個粒子計算得出的擬合值的最佳位置;群體極值由Gbest表示,是指種群中所有粒子搜索到的適應(yīng)度的最優(yōu)位置。粒子每次移動搜索后,適應(yīng)度值都會隨著位置的變化而重新計算,并通過比較新粒子的適應(yīng)度值與個體極值和群體極值的適應(yīng)度值來更新Pbest和Gbest的位置。
每個粒子更新速度和位置的數(shù)學公式如下所示:
(13)
(14)
式中,ω為慣性權(quán)重;d=1,2,…,n;k為當前迭代次數(shù);Vid為粒子的速度;C1和C2為非負的常數(shù),稱為加速度因子;r1和r2為分布于[0,1]之間的隨機數(shù)。一般建議將其位置和速度限制在一定的區(qū)間[26][-Xmax,Xmax][-Vmax,Vmax],以防止粒子的盲目搜索。此方法稱之為BPSO。
建立模型初期的時候,由于空間很大,導致粒子群的搜索范圍很大,為了避免粒子過早陷入局部最優(yōu),同時提高迭代后期的局部搜索能力,并隨著迭代次數(shù)的增加加快系統(tǒng)的收斂速度,所以將慣性權(quán)重和學習因子的選取采用逐漸遞減的方式,其動態(tài)調(diào)整過程如下:
(15)
(16)
式中,ω是慣性權(quán)重,ωmax是慣性權(quán)重最大值,ωmin是慣性權(quán)重最小值,k是當前迭代次數(shù),是變量,kmax是總共迭代次數(shù),是常量。由上述公式可以看出,慣性權(quán)重和迭代次數(shù)成負相關(guān),并且慣性權(quán)重是迭代次數(shù)的二次函數(shù)。
改進之后的粒子群算法,迭代初期的時候,ω變化緩慢,有利于在初始迭代時尋找滿足條件的局部最優(yōu)值,在接近最大迭代次數(shù)時,ω變化較快,在尋找到局部最優(yōu)值之后能夠快速地收斂逼近于全局最優(yōu)值,提高運算效率。此改進的粒子群算法稱之為IPSO。
1)確定小波神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu),確定WNN的輸入層、隱含層、輸出層的節(jié)點數(shù)目,確定迭代次數(shù)maxgen、種群規(guī)模sizepop、個體和速度最大最小值、參數(shù)學習率;
2)進行WNN的權(quán)值初始化和節(jié)點初始化;
3)產(chǎn)生初始粒子和速度,計算各個粒子適應(yīng)度函數(shù)值,比較所有粒子的適應(yīng)度值,從中選取最好的粒子作為Pid,選取粒子歷史最優(yōu)狀態(tài)為個體最優(yōu)[27]Pgd;
4)根據(jù)公式(13)和(14)更新粒子的速度和位置;
5)根據(jù)適應(yīng)度函數(shù)重新計算每個粒子的適應(yīng)度,并更新粒子最優(yōu)值[27]Pid和Pgd;
6)進行條件判斷:若迭代次數(shù)小于設(shè)定的最大值或誤差參數(shù)小于設(shè)定的誤差值,則得到最優(yōu)粒子即WNN參數(shù);否則,跳轉(zhuǎn)到步驟3)[27];
7)確定WNN的最優(yōu)網(wǎng)絡(luò)參數(shù),輸入訓練參數(shù)并進行WNN模型的預測[27]。
IPSO-WNN流程圖如圖2所示。
圖2 IPSO-WNN流程圖
本次實驗選取某一型號的液體火箭發(fā)動機試車數(shù)據(jù)進行實驗和仿真,采用MATLAB_R2016a軟件進行仿真,隨機選取232組數(shù)據(jù)進行實驗,取正常數(shù)據(jù)和非正常數(shù)據(jù)各10組作為測試數(shù)據(jù)樣本,其余數(shù)據(jù)作為訓練樣本進行訓練。
粒子群算法參數(shù)設(shè)置如下:種群規(guī)模是20;隱形節(jié)點個數(shù)n=10;ωmax=0.9;ωmin=0.4;cmax=2.1;cmin=0.8;Vmax=1;Vmin=-1;學習概率lr1=0.01,lr2=0.001。
對改進粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)算法(IPSO-WNN)與未改進粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)算法(BPSO-WNN)以及單獨使用小波神經(jīng)網(wǎng)絡(luò)算法(WNN)進行仿真計算比較,為了能直觀地看出比較結(jié)果,采用誤差圖對比和所用時間來評判故障預測模型的優(yōu)劣。
本文在使用相同的訓練數(shù)據(jù)和測試數(shù)據(jù)的基礎(chǔ)上,將改進的粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的故障檢測預測模型與傳統(tǒng)的粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的故障檢測預測模型的實驗結(jié)果進行比較。預測值與實際輸出值的對比結(jié)果分別如圖3和圖4所示,其中橫坐標為數(shù)據(jù)樣本編號,縱坐標為輸出結(jié)果值。三者的誤差對比如圖5所示,其中橫坐標為粒子的迭代次數(shù),縱坐標為誤差數(shù)值。
圖3 IPSO-WNN結(jié)果對比圖
圖4 BPSO-WNN結(jié)果對比圖
圖5 誤差圖
圖3為IPSO-WNN算法預測模型的輸出對比圖,圖4為BPSO-WNN算法預測模型的輸出對比圖。從圖的比較中可以看出,IPSO-WNN算法預測模型的預測值和實際值更加吻合,IPSO-WNN預測模型與液體火箭發(fā)動機實際情況更加切合,對應(yīng)預測曲線的擬合效果明顯優(yōu)于另一個模型,具有較強的預測能力。圖5中用“+”號標記的線為WNN算法預測模型的誤差圖,虛線為BPSO-WNN算法預測模型的誤差圖,實線為IPSO-WNN算法預測模型的誤差圖。從這3種直線的對比可以看出IPSO-WNN算法的迭代次數(shù)少于BPSO-WNN算法和WNN算法的迭代次數(shù),IPSO-WNN算法比BPSO-WNN算法和WNN算法的誤差下降得更快,更快地達到最小值,并趨于穩(wěn)定。從中可以得出雖然IPSO-WNN模型比BPSO-WNN模型和WNN算法所需要的迭代次數(shù)減少,但新算法能夠在迭代次數(shù)更少的前提下誤差降到最低并趨于穩(wěn)定。
從表1可以看出3種模型結(jié)構(gòu)所用時間的對比,分析可得,IPSO-WNN模型在3種結(jié)構(gòu)中所用時間最少,說明優(yōu)化后的此模型比其他2種擁有更好的精確度,實驗效果更加理想。
表1 三種模型運行時間對比
綜上3種故障檢測模型對比結(jié)果表明:基于WNN的故障檢測模型需要訓練的時間較長,準確率較低;基于BPSO-WNN的故障檢測模型雖然能夠通過PSO優(yōu)化算法優(yōu)化選擇基于WNN的故障檢測模型中的參數(shù),但冗余數(shù)據(jù)增加了訓練的時間,相對于WNN提高了結(jié)果的準確性;基于IPSO-WNN的故障檢測模型,通過對傳統(tǒng)PSO的慣性權(quán)重和學習因子的選取,采用逐漸遞減方式加快收斂速度,避免過早陷入局部最優(yōu),在迭代后期加大局部搜索能力。從實驗結(jié)果中可以看出此方法相比于以上2種方法預測更加準確,速度更快,實驗結(jié)果更加理想。
使用改進后的粒子群算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)(IPSO-WNN),對液體火箭發(fā)動機進行故障檢測,結(jié)果表明:
1) 改進后的粒子群算法可以避免其過早陷入局部最優(yōu),提高迭代后期的局部搜索能力,并隨著迭代次數(shù)的增加加快收斂速度;
2) 粒子群優(yōu)化算法可以與小波神經(jīng)網(wǎng)絡(luò)算法相結(jié)合,結(jié)合后的新算法可以對液體火箭發(fā)動機進行有效的故障檢測;
3) 在本次液體火箭發(fā)動機的故障檢測預測實驗中,修正后的IPSO-WNN算法模型與WNN算法和BPSO-WNN算法相比,IPSO-WNN算法模型提高了故障檢測預測的精度。