吳禎濤,李學仁2,杜 軍2,丁 超
(1.空軍工程大學 研究生院,西安 710038; 2.空軍工程大學 航空工程學院,西安 710038)
飛機的操縱系統(tǒng)是飛機的核心系統(tǒng)之一,飛行員通過操縱系統(tǒng)實現(xiàn)對飛機的控制,從而完成飛行任務。一旦操縱系統(tǒng)出現(xiàn)問題,飛行員就無法對飛機實現(xiàn)有效的控制,那么就會帶來重大的經(jīng)濟損失以及人員傷亡。所以說,針對飛機操縱系統(tǒng)建立一種行之有效的故障評估方法,是提高飛機可靠性、安全性的一種必要措施。
飛參數(shù)據(jù)反映了飛機各個部分的狀態(tài),對飛參數(shù)據(jù)進行分析即可了解飛機的狀態(tài),是否存在故障等[1]。在數(shù)據(jù)分析方面有很多方法,最早是利用BP神經(jīng)網(wǎng)絡實現(xiàn)對數(shù)據(jù)的預測,但是該方法容易陷入局部最小并且泛化性能較差,同時BP神經(jīng)網(wǎng)絡的初始權值和閾值的選取對最后的性能影響比較大[2],由此產(chǎn)生了使用粒子群算法或遺傳算法對其進行優(yōu)化,文獻[3]、文獻[4]和文獻[5]采用了粒子群算法進行優(yōu)化,文獻[6]、文獻[7]和文獻[8]采用了遺傳算法。優(yōu)化的目的是為了選取更優(yōu)的訓練參數(shù),但是對于神經(jīng)網(wǎng)絡本身的所具有的缺點來講,改進的效果并不明顯。之后有人提出使用支持向量機這一方法,該方法克服了BP神經(jīng)網(wǎng)絡容易陷入局部最小以及泛化能力差的缺點,文獻[9]就采用了最小二乘支持向量機實現(xiàn)了對大氣數(shù)據(jù)計算機系統(tǒng)的故障檢測,但是該方法在解決數(shù)據(jù)樣本較大的問題時所耗時間太長,不能滿足要求。
極限學習機(Extreme Learning Machine, ELM)是近段時間提出來的一種新方法[10],它是一種單隱含層前饋神經(jīng)網(wǎng)絡(single hidden-layer feedforward neural network, SLFN),被廣泛應用于分類、回歸、聚類等等問題中。由于其輸入權值和隱含層閾值均是隨機產(chǎn)生的,所以ELM的穩(wěn)定性較差,預測結(jié)果波動較大,故提出了一種差分進化(Differential Evolution, DE)的方法[11]。通過DE先對ELM的輸入權值以及隱含層閾值進行尋優(yōu),再將尋優(yōu)之后的輸入權值和隱含層閾值賦給ELM進行訓練,經(jīng)過DE的尋優(yōu)之后,優(yōu)化了ELM的算法結(jié)構(gòu),克服了其隨機性強的缺點,提高了算法的穩(wěn)定性[12-13]。
極限學習機是一種典型的單隱含層前饋神經(jīng)網(wǎng)絡,圖1為典型的單隱含層前饋神經(jīng)網(wǎng)絡模型。
圖1 單隱含層前饋神經(jīng)網(wǎng)絡模型
其中,輸入層節(jié)點數(shù)為n,輸出層節(jié)點數(shù)為m,隱含層節(jié)點數(shù)為l。ωji為輸入層第i個神經(jīng)元與隱含層第j個神經(jīng)元間的連接權值,βjk為輸入層第j個神經(jīng)元與隱含層第k個神經(jīng)元間的連接權值。設隱含層神經(jīng)元的激活函數(shù)為g(x),則極限學習機模型可以用公式(1)表示:
(1)
式中,j=1,2,3…;xj=[xj1,xj2,…,xjm]表示網(wǎng)絡的輸入值;yj=[yj1,yj2,…,yjm]表示網(wǎng)絡的輸出值。
將公式(1)改寫成矩陣形式:
Hβ=Y
(2)
其中:
H(ω1,ω2,…,ωl;b1,b2,…,bl;x1,x2,…,xn)=
根據(jù)Huang所提出的定理可知,當激活函數(shù)g(x)無限可微時,SLFN的參數(shù)并不需要全部進行調(diào)整,ω和b在訓練前可以隨機選擇,且在訓練過程中保持不變[14]。而隱含層的連接權值β可以通過求解以下方程組的最小二乘獲得:
(3)
其解為:
(4)
其中:H+為隱含層輸出矩陣H的Moore-Penrose廣義逆。
綜合上述,可以知道ELM算法主要分為以下步驟。
步驟1:確定隱含層神經(jīng)元個數(shù),隨機設定輸入層與隱含層間的連接權值ω和隱含層神經(jīng)元的偏置b;
步驟2:選擇一個無限可微的函數(shù)作為隱含層神經(jīng)元的激活函數(shù),進而計算隱含層輸出矩陣H;
差分進化(Differential Evolution, DE)是1995年由Storn等人提出的,是一種全局搜索的基于群體進化的算法。該算法的魯棒性和全局收斂能力較強,并且具有記憶個體最優(yōu)解和種群內(nèi)信息共享的特點。它的基本思想是在種群中隨機選擇3個個體向量,其中一個作為基準向量,之后將兩個個體向量的差分量作為基準向量的擾動量,從而得到變異向量,然后變異向量與基準向量進行雜交,得到試驗向量,最后基準向量與試驗向量進行比對,留下較優(yōu)者,保存在下一代群體之中。這樣就可以逐步的改善群體質(zhì)量,尋求最優(yōu)解[15]。具體步驟如下:
步驟1:初始化種群。設個體維數(shù)為D,種群規(guī)模為NP,進化代數(shù)為t,X(t)為第t代種群。首先產(chǎn)生第0代種群:
X(0)=[x1(0),x2(0),…,xNP(0)]
(5)
其中:xi(t)=(xi,1(t),xi,2(t),…,xi,D(t)),表示第t代種群中的第i個個體。
個體取值可以由下式表示:
xi,j(0) =Lj+randi,j[0,1](Uj-Lj)
(6)
其中: 1≤i≤NP,1≤j≤D,[Lj,Uj]為第j維上的取值范圍,randi,j[0,1]為0和1之間的隨機數(shù)。
步驟2:適應度函數(shù)。先使用ELM算法計算出輸出權值矩陣,之后設定均方根誤差為差分進化算法的目標函數(shù),從個體中選取樣本進行驗證,得到樣本的適應度。
步驟3:變異。假設對第i個基準向量xi(t)進行變異操作,變異向量可以由如下的形式來表示:
vi(t)=xr1(t)+F(xr2(t)-xr3(t))
(7)
其中:xr1(t),xr2(t)和xr3(t) 為從種群中隨機選擇的3個向量,r1,r2,r3∈[1,NP],且r1≠r2≠r3。F為縮放因子,取值范圍為[0,1]。3個向量 選擇完畢之后將兩個向量進行差分,然后與第3個向量相加,得到變異向量vi(t)。
步驟4:交叉。引入交叉運算的目的是為了提高種群的多樣性,交叉之后得到的個體可以由下式表示:
(8)
其中:ui,j(t)是新個體,vi,j(t)是變異產(chǎn)生的新個體,xi,j(t)是初始個體,CR是交叉概率,取值范圍為[0,1],jrand是[1,D]之間產(chǎn)生的隨機整數(shù)。
步驟5:選擇。將交叉之后的個體ui,j(t)與初始個體xi,j(t)進行比較,比較的指標就是它們的適應度函數(shù),即它們的均方根誤差,比較之后取較小的作為下一代個體。整個過程可以由下式來表示:
(9)
其中:f為適應度函數(shù),即樣本的均方根誤差。
經(jīng)過差分進化進行優(yōu)化之后的極限學習機算法流程可以由圖2表示:
圖2 DE-ELM算法流程圖
飛行員通過控制飛機操縱系統(tǒng)實現(xiàn)對飛機的操控,操縱系統(tǒng)的正常與否不僅影響飛機的飛行姿態(tài)、飛行品質(zhì)等等,更重要的是直接影響到飛機的安全以及機上人員的安全。尤其是對于軍用飛機來講,操縱系統(tǒng)一旦出現(xiàn)故障,就難以完成戰(zhàn)斗任務,難以實現(xiàn)對于敵對目標的精確打擊,從而導致戰(zhàn)爭的失利。
飛機是由舵面來保持其飛行姿態(tài)的穩(wěn)定,操縱系統(tǒng)則是對舵面進行直接的控制,從而能夠使飛機能夠穩(wěn)定的飛行。而舵面可以分為以下兩種:主要舵面和輔助舵面。其中主要舵面有:左右副翼、升降舵、方向舵。其功能就是實現(xiàn)飛機繞x、y、z三軸運動。輔助舵面有:前緣縫翼、前緣襟翼、后緣襟翼、飛行擾流板、地面擾流板和水平安定面。其主要功能是改善飛機的操縱和爬升性能。本文主要對飛機主要舵面進行故障的評估,所以選取了副翼、升降舵、方向舵作為輸出量。
本文中采用的數(shù)據(jù)是某型飛機從起飛至降落整個過程中產(chǎn)生的飛參數(shù)據(jù),輸入量為駕駛桿橫向位移、駕駛桿縱向位移和腳蹬位移,輸出量為左副翼角位移、右副翼角位移、升降舵角位移、方向舵角位移。將前1000個數(shù)據(jù)作為訓練集,隨后的100個數(shù)據(jù)作為測試集。部分飛參數(shù)據(jù)如表1所示:
為了評估該方法,使用均方誤差和決定系數(shù)兩個指標來進行評價。均方誤差E以及決定系數(shù)R2計算公式如下:
(10)
(11)
選取ELM算法中的隱含層個數(shù)為30,選取DE算法中的種群規(guī)模NP=30,交叉概率CR=0.8,縮放因子F=1,最大迭代次數(shù)為50次。通常情況下,NP一般取20-50,NP越大其種群的多樣性就越強[16],但是尋求最優(yōu)解的時間也會相應的增加,為了提高故障評估的實時性,所以說選擇30為種群規(guī)模。利用DE-ELM對左副翼角位移(FUL)、右副翼角位移(FUR)、升降舵角位移(FUPL)、方向舵角位移(FUPR)的擬合效果如圖3~6所示,擬合誤差如圖7~10所示。
圖3 左副翼角位移擬合
圖4 右副翼角位移擬合
圖5 升降舵角位移擬合
圖6 方向舵角位移擬合
圖7 左副翼角位移誤差
圖8 右副翼角位移誤差
圖9 升降舵角位移誤差
圖10 方向舵角位移誤差
由圖中可以看出DE-ELM的預測數(shù)據(jù)非常接近原始數(shù)據(jù),其相對誤差均在0附近 ,均方誤差均小于5×10-4,決定系數(shù)均大于0.95,可以認為DE-ELM對于飛參數(shù)據(jù)的擬合有著非常好的效果。為了更加直觀地體現(xiàn)該方法的優(yōu)勢,下面將針對同一組數(shù)據(jù),分別用BP神經(jīng)網(wǎng)絡、ELM算法和DE-ELM算法對其進行訓練,對比最終的擬合結(jié)果。選擇右副翼角位移為輸出量,操縱桿的縱向位移和橫向位移以及腳蹬位移為輸入量。設置BP神經(jīng)網(wǎng)絡隱含層神經(jīng)元個數(shù)為5,迭代次數(shù)1 000,目標誤差1×10-4,學習速率0.01;設置ELM隱含層神經(jīng)元個數(shù)為30;DE-ELM相關參數(shù)設置與之前相同。3種不同方法對同一數(shù)據(jù)進行擬合的效果如圖11所示,與真實數(shù)據(jù)的偏差如圖12所示。
圖11 3種方法對右副翼角位移的擬合
圖12 3種方法對右副翼角位移擬合的偏差
由圖可以很直觀地看出來,DE-ELM的偏差非常接近于0,ELM的偏差約在-0.1左右,而BP神經(jīng)網(wǎng)絡的偏差約在-0.25左右。為了更加全面的來評價這3種方法,表2利用均方誤差E和決定系數(shù)R2兩個指標來對3種算法進行評價。由于本次試驗中采取的數(shù)據(jù)有4個輸出,為了更加全面的體現(xiàn)對數(shù)據(jù)的擬合效果,所以表中求得的均方誤差和決定系數(shù)是所有4個輸出的平均值,而不是選取其中一個輸出作為評價指標。
表2 BP神經(jīng)網(wǎng)絡、ELM和DE-ELM的對比
上述結(jié)果表明,DE-ELM相對于ELM和BP神經(jīng)網(wǎng)絡來講,均方誤差分別降低了64%和79%,同時決定系數(shù)也更加接近于1,所以說采用DE-ELM方法,可以進一步提高該模型的精度。
以上是針對正常數(shù)據(jù)進行擬合,下面將進行對故障數(shù)據(jù)的檢測,觀測該算法是否能夠正確檢測出故障位置。下面選取了一組左副翼角位移存在故障的數(shù)據(jù),來測試DE-ELM算法的對故障數(shù)據(jù)的檢測性能。仿真結(jié)果如圖13所示。
圖13 3種方法對左副翼角位移擬合的偏差
圖13中,上圖為使用DE-ELM對故障數(shù)據(jù)進行擬合的情況,下圖為預測數(shù)據(jù)與真實數(shù)據(jù)的相對誤差。由圖中可以看出,在第40s附近,有一部分數(shù)據(jù)與預測數(shù)據(jù)之間存在很大的誤差。通過詢問相關人員,此時飛機正是由于操縱系統(tǒng)出現(xiàn)故障導致左副翼出現(xiàn)了不正常的偏轉(zhuǎn),所以說,使用DE-ELM方法可以很好的檢測出來故障位置,進而確定出現(xiàn)故障的時間,而后就可以進行分析到底是由于什么樣的原因?qū)е铝嗽谠摃r間段內(nèi)操縱系統(tǒng)出現(xiàn)了故障,最終實現(xiàn)故障的排除。
本文利用具有良好全局尋優(yōu)能力的DE算法,結(jié)合結(jié)構(gòu)簡單、計算速度快的ELM算法,綜合之后得到了一種泛化性能好、穩(wěn)定性強的DE-ELM算法。經(jīng)過實驗可以看出,該法與傳統(tǒng)的BP神經(jīng)網(wǎng)絡和單純的ELM算法相比,明顯優(yōu)勢是其精確度較高,除此之外,由于DE算法的加入,降低了由于ELM其本身由于輸入權值和隱含層閾值的隨機性而帶來的不確定性,增強了ELM算法的穩(wěn)定性,對于該型飛機的操縱系統(tǒng)模型建立有著良好的效果,所以說,通過該法基于飛參數(shù)據(jù)進行的建立故障評估方法來說有著十分良好的應用前景。