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