董 慶, 李本威, 閆思齊, 錢仁軍
(1.海軍裝備部駐蘇州地區軍事代表室, 江蘇 蘇州 215000;2.海軍航空大學航空基礎學院, 山東 煙臺 264001)
飛機的加速性是衡量發動機性能的一項重要指標,決定了飛機的啟動、加速爬升等機動飛行能力的優劣[1]。工廠即將開展某型渦軸發動機“誘喘”試驗來獲取此型發動機實際工作時的喘振邊界。以該喘振邊界和其他限制條件為約束,后續進行此型發動機加速性能的優化。為配合后續的性能優化工作,需要建立精度和實時性均滿足要求的發動機加速過程性能參數預測模型[2]。同時,發動機性能參數預測模型能夠實現對發動機的實時監控,為避免發動機在“誘喘”試驗中進入喘振狀態提供了決策時間,從而避免造成較大的經濟損失。
目前,部件法和系統辨識法是建立航空發動機模型最常見的兩種方法[3]。部件法需要考慮發動機各部件的特性且在計算過程中有大量的迭代和近似處理,導致模型精度有待提高且應用范圍有限[4]。系統辨識法以發動機參數數據為驅動,利用機器學習方法辨識得到發動機模型,常用于航空發動機領域的的機器學習方法有人工神經網絡[5-6](artificial neural network,ANN)、支持向量機[7-8](support vector machine,SVM)和極限學習機(extreme learning machine, ELM)[9-10]等。耿宏[11]等結合發動機參數的穩態數據和動態數據,利用NARX神經網絡建立了發動機參數動態辨識模型,對模型進行仿真并應用于某A320機務維修訓練器的發動機仿真系統;Zheng等[12]利用最小批量梯度下降算法訓練的神經網絡構建了渦扇發動機自適應動態模型方法,并對模型進行仿真驗證;傳統的ANN存在容易陷入局部最優、過度學習、參數初始化由隨機函數產生等問題。曹惠玲等[13]利用滑動時窗策略自適應優化支持向量機實現航空發動機性能參數在線預測模型的構建,用排氣溫度偏差值數據對模型進行驗證;皮駿等[14]將量子粒子群優化(quantum particle swarm optimization, QPSO)算法優化參數后的SVR應用于航空發動機排氣溫度預測,仿真結果表明,QPSO-SVR對排氣溫度的預測準確性較高且優于其他兩種算法。但SVR存在數據較大時,訓練和測試耗費時間較長、初始化特征參數具有隨機性等問題,難以滿足發動機模型實時性的要求,SVR為多輸入單輸出結構,針對每一個輸出參數都需要設計一個子SVR模型,輸出參數越多則模型結果越復雜,且效果普遍不如ELM[15]。伍恒等[16]提出了基于QPSO的ELM(簡稱為QPSO-ELM)的某型渦軸發動機啟動過程模型數據驅動辨識方法,精度和實時性都取得不錯的效果。
ELM是一種結構簡單的新型單隱層前饋神經網絡,其泛化能力和學習速度均優于ANN和SVM,ELM的優越性在很多工程應用中已經得到驗證[17-19]。但ELM輸入權值和隱含層節點偏置等特征參數的初始值均是隨機產生的,使得ELM性能不穩定且當訓練數據過大時會出現維度災難,ELM還需要預設隱含層節點的數目,故需要對ELM的參數初始值進行尋優以減少對ELM性能的影響。源于人類創造性解決問題的頭腦風暴行為,Shi[20-21]提出了頭腦風暴優化(brain storm optimization, BSO)算法并進行了綜述。BSO算法一定程度上解決了其他常用優化算法收斂速度緩慢、易陷入局部最優和易早熟的問題[22]。文獻[23]用標準測試函數實驗驗證了BSO算法性能優于常用的PSO算法和人工蜂群算法。因BSO算法出現較晚,暫無學者利用BSO算法對ELM的網絡參數進行優化,更無學者將其應用于航空發動機的性能參數預測領域,本文選用BSO算法對ELM的網絡參數進行優化,提出一種BSO-ELM算法,進而用于發動機性能參數預測。
針對以上分析,本文首次將BSO-ELM算法應用于航空發動機性能參數預測領域。提出了以臺架試車數據為驅動,利用BSO-ELM算法進行渦軸發動機加速過程性能參數預測。通過BSO算法優化ELM網絡參數使其性能更優,結合臺架試車數據并利用優化后的ELM對渦軸發動機加速過程性能參數預測模型進行辨識。對辨識得到的預測模型進行驗證并對比不同算法得到的預測模型,以表明BSO-ELM算法的可行性、優越性和泛化推廣能力。
ELM是Huang等[15]提出的一種新型單隱層前饋神經網絡,包含輸入層、隱含層和輸出層,網絡結構如圖1所示。假設有N個任意樣本(xi,ti),X=[x1,x2,…,xN],T=[t1,t2,…,tN]為目標矩陣即每個樣本個體目標向量集合,其中xi=[xi1,xi2,…,xin]T∈Rn(i=1,2,…,N)為n×1維向量,ti=[ti1,ti2,…,tim]T∈Rm(i=1,2,…,N)為m×1維目標向量。

圖1 ELM網絡結構
對一個有L個隱含層節點的ELM網絡,隱含層節點輸出為h(xi)

(1)
式中:gj(·)為激活函數;wi=[wi1,wi2,…,win]為輸入權重;bi是第i個隱含層單元的偏置。ELM的輸出Y(X)為

(2)
式中:βi是每個隱含層節點與每個輸出層節點之間的權重。
在ELM中,隱藏層節點參數wi和bi根據任意連續的概率分布隨機生成,與訓練數據無關。ELM學習的目標是使得輸出的誤差最小即輸出結果Y(X)與目標矩陣T的誤差最小,即
通過最小化近似平方差的方法對連接隱藏層和輸出層權重β進行求解,使得該目標函數取得最小的解Y(X)=T。求最優解β*過程如下:
T=Y(X)=Hβ,β∈RL×M
(3)
(4)
在ELM中,一旦輸入權重wi和隱含層節點的偏置bi被確定,隱層的輸出矩陣H就被唯一確定,便可得到最優解β*:
β*=H+T
(5)
式中:H+為矩陣H的Moore-Penrose廣義逆矩陣。
BSO算法通過聚類、變異、更新個體和選擇來搜索得到全局最優解。在解的范圍內根據種群大小產生n個個體,記為S={S1,S2,…,Sn}。作為待優化問題的初始解,個體的維度是D維,記為Si=[si1,si2,…,siD]。
BSO算法需要預先設定的參數:Prand為[0,1]之間隨機數;P1為選擇1個聚類中心的概率;P1c為選擇1個聚類中聚類中心的概率;P2c為選擇2個聚類中聚類中心的概率;P1、P1c、P2c均在[0,1]之間。BSO算法流程如下。
步驟 1聚類。將n個個體通過聚類算法劃分為m類,計算各類中個體的適應度函數值并進行排序,最優的個體為該類的聚類中心,設定最大迭代次數或算法為終止條件。
步驟 2變異。隨機選中一個聚類中心且產生一個[0,1]之間的隨機數,若該隨機數大于預先設定的隨機數,則用隨機產生的個體代替此聚類中心。
步驟 3個體更新。若第i個個體為待更新個體,記為Ss,通過比較Prand與P1,根據不同的比較結果選擇不同的方式處理Ss。
(1)若Prand (2)若Prand≥P1,則隨機選擇2個聚類:若Prand Ss=αS1+(I-αS2) (6) 式中:α為[0,1]之間的實數。 利用式(7)對待更新個體Ss進行更新: (7) 式中:N(μ,σ)為與個體維度相同、D維均值為μ、方差為σ2的高斯隨機函數;Imax為最大迭代次數;Ic為當前迭代次數;k為logsig函數斜率。 步驟 4將新個體snew和第i個個體的適應度值進行比較,若snew適應度值優于個體i的適應度值,則將新個體snew代替第i個體,否則不更新第i個個體。返回步驟3直至全部個體更新完畢后進入步驟5。 步驟 5算法達到最大迭代次數或終止條件時結束,否則返回步驟2進行下一步迭代。 利用BSO算法優化ELM輸入權值wi、隱含層節點偏置bi、隱含層節點個數L等參數,使得ELM性能更優,將wi、bi和L設置為BSO算法個體。模型的性能評價準則是衡量模型優劣的指標,通常選用均方誤差(mean squared error, MSE)作為模型的性能評價準則來評估模型輸出值與目標輸出值的吻合程度,即BSO算法中每個個體的目標函數值的采用ELM的MSE值,MSE可表示為 (8) 式中:yD(i)表示輸出值;t(i)表示目標輸出值;N表示樣本數量。 將經過BSO算法優化得到的ELM各參數最優值傳回ELM,即得到搭建的BSO-ELM算法,可用于后續的渦軸發動機性能參數預測。 在直升機完整飛行過程中,在啟動過程完成后由“地面慢車”狀態轉至“空中慢車”狀態,即換算轉速從60%至75%的加速過程是每架次飛行必經的加速過程。此過程油門手柄從后推向前極限,此加速過程的軌跡和工作限制條件示意圖如圖2所示。 圖2 渦軸發動機壓氣機過渡態軌跡與工作限制 發動機的運行是各部件共同工作的復雜過程,性能參數顯示了系統演化過程的特征。渦軸發動機加速過程性能參數預測模型是以影響發動機性能因素為自變量,以發動機截面參數和性能參數為因變量,建立自變量和因變量之間的非線性函數關系。根據臺架試車過程測量的參數,自變量選取為進氣溫度T0、空氣流量qma、燃油流量Wf等因素,因變量為燃氣發生器轉速ng、增壓比πc(臺架試車過程直接測量值)和燃氣發生器出口溫度T4。發動機在試車過程中,環境壓力幾乎不變,可以不予考慮。發動機的狀態與當前時刻和之前發動機的各參數密切相關,因此需要設置輸入輸出延時階次以提高模型的精度。 構建的渦軸發動機加速過程性能參數預測模型為 (9) 式中:Input和Output分別為模型輸入、輸出的參數集合;fa為待辨識的渦軸發動機加速過程性能參數預測模型;k1、k2、k3為輸入參數延時階次;m1、m2、m3為輸出參數延時階次。將k1、k2、k3和m1、m2、m3均設置為2[24]。 結合渦軸發動機臺架試車加速過程數據,利用BSO-ELM算法辨識已建立的渦軸發動機加速過程性能參數預測模型,具體流程如圖3所示。 圖3 BSO-ELM預測流程圖 基于BSO-ELM的渦軸發動機加速過程性能參數預測流程具體步驟如下。 步驟 1提取渦軸發動機臺架試車加速過程數據,并對提取的數據進行預處理。 步驟 2根據渦軸發動機工作原理,建立其加速過程性能參數預測模型,如式(9)所示。 步驟 3將wi、bi和L設為BSO算法個體并初始化BSO算法種群,設置最大迭代次數或終止條件。 步驟 4通常使用k-means聚類算法對種群進行聚類,ELM的輸入輸出參數與所建模型的輸入輸出參數保持一致。 步驟 5由式(8)計算個體適應度值即每個個體ELM的MSE值。 步驟 6按照BSO算法的步驟對種群進行變異,并對個體進行更新。 步驟 7判斷是否滿足最大迭代步數或者精度是否要求條件,若滿足可進行下一步,否則返回步驟5。 步驟 8輸出最優個體值用于ELM后續的訓練及性能參數預測。 針對某型渦軸發動機相關問題,工廠對此型渦軸發動機進行多次臺架試車。在不同進氣溫度條件下,對此型發動機進行多次臺架試車,試車數據采集系統采樣周期為300 ms,整個試驗過程按照《某型渦軸發動機試車試驗方案大綱》進行。本文從21次臺架試車數據中選取“地慢”狀態加速至“空慢”狀態之間的加速數據作為樣本數據,因某些次試驗在“地慢”狀態加速至“空慢”狀態中,由多段加速過程組成,最終選定41組加速過程樣本數據,共2 007個數據點。具體參數選取依據渦軸發動機加速過程性能參數預測模型的輸入輸出參數確定,其中一組加速過程樣本部分數據如表1所示。 表1 一組加速過程樣本部分數據 參考文獻[25],對選取的試車數據進行偽數據去除與平滑處理。為避免各參數數量級和單位差異對結果的影響,將歸一化處理后的數據用于渦軸發動機加速過程性能參數預測模型的辨識,且在完成模型辨識后進行反歸一化處理。 結合已經獲取的樣本數據,在Matlab R2018a平臺上依據已搭建的BSO-ELM模型編寫BSO-ELM算法程序,實現渦軸發動機加速過程性能參數的預測。為驗證此算法所得辨識模型的推廣能力,選取額外的3次發動機同段加速試車數據分別作為3組驗證樣本來驗證模型精度,采用平均絕對誤差和平均相對誤差兩種精度指標作為對所得模型精度評估的標準,平均絕對誤差A和平均相對誤差B計算公式分別如下: (10) (11) 關于BSO-ELM算法參數,根據經驗[23,26-28],設置BSO算法種群個數n=100,最大迭代次數Imax=100,聚類數m=10,logsig函數斜率k=20,3個概率參數設定為P1=0.2,P1c=0.4,P2c=0.5。EIM輸入的層神經元個數為15(包括輸入輸出延時單元),隱含層神經元個數由BSO算法尋優得到,輸出層神經元個數為3。 利用3次樣本外位于“地慢”狀態至“空慢”狀態之間的加速過程試車數據為驗證樣本,以第1組驗證樣本進行驗證時,輸出參數ng,T4,πc的仿真預測值與臺架試車實測值的對比及相對誤差如圖4~圖6所示。3組驗證樣本ng,T4,πc兩項精度指標對比值如表2所示。 表2 3組驗證樣本各參數精度指標值 從圖4~圖6中知,預測模型輸出參數ng、T4和πc的預測結果與試車實測數據可以很好地吻合。以第1組驗證樣本進行驗證時,ng,T4,πc的最大相對誤差分別為0.35%、0.63%和0.74%,均在合理范圍之內,說明用BSO-ELM算法來實現渦軸發動機加速過程性能參數預測的方法具有可行性。 圖4 ng的預測結果 圖5 T4的預測結果 圖6 πc的預測結果 表2顯示3組驗證樣本中ng、T4和πc平均絕對誤差A的最大值分別為0.165%、2.833 ℃和0.006 2,3組驗證樣本中ng、T4和πc平均相對誤差B的最大值分別為0.32%、0.64%和0.24%,3組驗證樣本各預測參數兩項精度指標均較小,表明預測模型具有較好的泛化推廣能力。 綜合考慮計算機性能、網絡收斂性、計算時間、算法性能更優等因素[29-32],在Matlab R2018a平臺上,反向傳播(backpropagation, BP)神經網絡采用廣泛應用的Levenberg-Marquardt優化算法,隱含層神經元個數選用效果較好的10個,BP神經網絡結構為3-10-3。PSO算法最大迭代步數設置為50,種群粒子數量設置為30,BSO算法的參數設置和第4.2節保持一致。結合獲取的訓練樣本,利用此3種算法訓練得到發動機加速過程性能參數預測模型,用第2組驗證樣本對得到的模型進行驗證,ng仿真預測結果如圖7所示,3種算法ng精度指標值如表3所示。在相同計算機性能的情況下,3種算法完成訓練驗證消耗的計算時間對比如圖8所示。 由圖7可知,相比于另外兩種算法,BSO-ELM算法中ng預測值更好地與實測數據吻合,相對誤差分布均勻且更小。由表3可知,BSO-ELM算法ng中兩項精度指標均明顯優于另外兩種算法。BSO-ELM算法與BSO-BP算法相比,優勢在于BP網絡是基于梯度下降法會在訓練過程中多次迭代導致極易陷入局部最小值。而ELM連接輸出權值由Moore-Penrose廣義逆矩陣直接獲得,避免了梯度下降學習方法導致的局部最優。同時,在本文中根據發動機工作原理在ELM輸入層添加了輸入輸出延時單元,因此BSO-ELM算法預測結果明顯優BSO-BP算法。BSO-ELM算法預測結果優于PSO-ELM算法則顯示出BSO算法的優越性,文獻[23]闡述了BSO相對于PSO更優的原因且利用標準函數進行了驗證,此處不再累述。 圖7 不同算法ng預測值對比及相對誤差分布 表3 不同算法ng精度指標值 本文所有算法仿真采用的計算機均為Windows7 64位操作系統,CPU采用Intel(R)Core(TM)i5-4700,其主頻為3.00 GHz,8 G內存。由圖8可得相同條件下BSO-ELM的耗時為BSO-BP的22%左右,其原因是BP網絡是基于梯度下降法,所以在訓練過程中多次迭代耗時較長,而ELM連接輸出權值由Moore-Penrose廣義逆矩陣直接獲得。BSO-ELM算法的耗時是PSO-ELM算法的60%左右,顯示出BSO算法相比于PSO算法在搜索ELM參數最優值時耗時較少,計算效率更高,BSO算法全局搜索和收斂能力更強。 圖8 不同算法計算消耗時間 綜上,利用BSO-ELM算法得到的渦軸發動機加速過程性能參數預測模型,不僅大幅提高了收斂的速度,還保證了模型具有良好的泛化能力。 本文提出了基于BSO-ELM的渦軸發動機加速過程性能參數預測方法,結合某型渦軸發動機臺架試車數據,利用BSO-ELM算法實現了渦軸發動機加速過程性能參數預測。結論如下。 (1)3組驗證樣本的驗證結果顯示:預測模型ng、T4和πc預測值與臺架試車數據較好地吻合且兩項精度指標均在較小范圍,表明了基于BSO-ELM的渦軸發動機加速過程性能參數預測方法的可行性。 (2)在相同性能的計算機上仿真分析,與BSO-BP算法和PSO-ELM算法相比,BSO-ELM算法的精度和計算消耗時間均更優,驗證了提出的基于BSO-ELM的渦軸發動機加速過程性能參數預測方法的優越性。 (3)利用3組驗證樣本驗證了所得模型的泛化推廣能力,可將模型用于訓練樣本在其他環境條件下,發動機由“地慢”狀態轉至“空慢”狀態時加速性能的遞推估計,若進一步獲得發動機工作范圍內所有工況下性能參數數據作為樣本數據,則可遞推估算出發動機所有工況下性能參數。1.3 BSO優化ELM網絡參數
2 渦軸發動機加速過程模型辨識方法
2.1 渦軸發動機加速過程性能參數預測模型


2.2 BSO-ELM預測渦軸發動機加速過程性能參數預測流程

3 預測模型結果及分析
3.1 樣本數據的選取與預處理

3.2 仿真結果分析




3.3 不同算法對比研究



4 結 論