摘 要:首先介紹BP神經網絡與非線性最小二乘法在故障診斷中的應用,然后融合兩者的技術特點,提出一種用于分析時序冗余信號,基于參數估計的故障診斷技術。隨后,較詳細地介紹了用于故障診斷神經網絡樣本的生成和網絡的訓練,通過以不依賴系統模型的神經網路的輸出作為初始估計,利用依賴系統模型的最小二乘法完成對故障參數的最終估計。最后,通過在不同輸入激勵下的輸出響應進行校驗的方式,以仿真的方式驗證了該故障診斷的應用具有可行性。
關鍵詞:故障診斷; 神經網絡; 最小二乘法; 參數估計; Matlab
中圖分類號:TP18 文獻標識碼:A
文章編號:1004-373X(2010)11-0004-03
Application of Fault Diagnosis Based on Neural Network and Least Square
YAO Peng, LIU Yan, ZHANG Sheng-xiu, WANG Dao-ping
(Department of Base, The Second Artillery Engineering College of PLA, Xi’an 710025, China)
Abstract: The application of BP neural network and nonlinear least squares in the fault diagnosis are introduced. The technical characteristics of both mentioned above are fused. The fault diagnosis technology based on parameter estimation for analyzing the time-sequential redundant signal are proposed. The generation of fault diagnosis neural network specimens and training of the neural network are introduced in detail. The final estimation of fault parameters is achieved with the least squares depending on system model by taking the output of neural network as the initial estimation which does not depend on the system model. The simulation verifies the feasibility of this fault diagnosis by the checkout with the output responses at different input excitation.
Keywords: fault diagnosis; neural network; least square; parameter estimation; Matlab
收稿日期:2009-12-21
基金項目:第二炮兵工程學院創新性探索研究基金(XY2009JJB04)
系統工作正常通常是指具備應有的功能,沒有任何缺陷或雖有缺陷,但仍在容限范圍內。故障則是缺陷發展到使設備性能和功能都有所喪失的程度[1]。這種功能的偏離可以通過調節參數得以恢復[2]。本文所研究的故障診斷就是對系統的參數進行模式識別和定位,而對于故障評價及決策不屬于本文研究的范圍。因此,可以通過分析不同輸入激勵信號下的輸出響應,通過仿真方式來估計系統模型中的各參數值,以完成對故障的分離及估計[3]。
1 BP神經網絡與非線性最小二乘法
1.1 BP神經網絡在故障診斷中的應用
神經網絡具有非線性信息處理能力,其強大的學習能力和并行處理能力為故障診斷提供了全新的理論方法和實現手段[4]。然而,用于故障診斷的系統模型大多都屬于非線性參數模型,而廣泛采用的BP神經網路對解決此類問題也存在一定的困難。最主要的問題是:神經網絡往往停滯于誤差梯度曲面的平坦區,收斂緩慢,甚至不能收斂,從而造成故障識別精度的降低。盡管提出了諸如自適應學習速率,添加動量項、共軛梯度以及牛頓、LM等訓練方法,使得誤差問題有所改善,但都沒有從根本上解決此類問題。除此之外,樣本的選擇影響著學習速率,網絡隱含神經元的數目過多或過少都可能導致過擬合或欠擬合等一系列問題,都會影響BP神經網絡在故障診斷中的應用[5-6]。
1.2 非線性最小二乘法在故障診斷中的應用
最小二乘法也被廣泛應用于非線性參數模型的故障診斷中。為了阻止估計過程中出現方程病態或退化的現象,每迭代一步都使用預先共軛梯度法近似求解法方程,這必然導致了計算量的增大。由于該方法需要設置初始值范圍,如果范圍設定得過大,有可能導致計算量增大,迭代時間增長,還可能導致收斂緩慢,甚至不能收斂的結果;如果范圍設定得過小,可能造成參數范圍劃分到實際值之外,導致參數估計不能正確執行[7]。
1.3 BP神經網絡與非線性最小二乘法的融合
如圖1所示,為了解決上述問題,可以利用BP神經網絡,以減少最小二乘法參數估計的計算量,同時也可解決最小二乘法初始值的設定問題,加速其參數估計的收斂性,降低落入局部最小的可能性;反之,可以利用最小二乘法減小神經網絡輸出值的誤差,同時也可回避神經網絡有關樣本選擇、隱含神經元設定等問題,最終可以實現對故障模型參數的精確識別和定位。
圖1 BP神經網絡與非線性最小二乘法的融合
2 故障診斷流程
2.1 某伺服系統的參數模型
如圖2所示,根據某伺服系統的拓撲結構建立起參數模型。其中,測速電機及濾波系統的模型為0.005s/(Ts+1)3,控制器輸入輸出系數為C,驅動器放大系數為Ua/Sa,非線性飽和值為Ua,伺服電機模型為Km/(Tms+1),減速比為K,反饋電位器系數為Koc,輸出偏角為δ。
圖2 某伺服系統的參數模型
2.2 蒙特卡羅仿真生成的訓練樣本
樣本數據的構成是神經網絡設計和訓練的基礎,因此必須保證樣本數據的科學性、合理性[8]。本文以非線性參數Ua和線性參數Koc的多故障問題為例,基于蒙特卡羅仿真生成訓練樣本。
如圖3所示,采用Matlab語言,在Simulink平臺下,根據線性參數Koc和非線性參數Ua的最小值、標稱值、最大值,通過“生成參數樣本集合的模塊”,生成Koc參數樣本集合和Ua參數樣本集合,利用兩重循環嵌套的正交設計法[9],通過“輸出響應性能分析的模塊”,完成基于蒙特卡羅方法的某伺服系統仿真[10]。
如圖4所示,為了便于圖示,此處單一樣本個數僅設定為5,兩者正交組合的樣本集合個數則為25。由于采用時序冗余法分析,需要利用傳感器采集時間序列信號。因此通過在模型中固定一個單位階躍信號作為輸入激勵,輸出響應則采用10-2 s的周期進行采樣,每次采集50個輸出量δ作為一個輸出樣本集合。
圖3 基于蒙特卡羅方法的仿真主程序流程
圖4 Ua與Koc參數樣本組合及δ采集樣本
2.3 神經網絡故障參數估計
為了便于神經網絡的訓練,通過種子數值設定為1~10,從而采集了10組共計4 000個樣本集合。其中,每個樣本集合包括50個輸出量δ和與之對應的Koc參數和Ua參數,前者作為神經網絡的輸入,后者作為神經網絡的輸出。
如圖5所示,借助于Matlab下的神經網絡工具箱6(Neural Network Toolbox 6)來實現多層前饋反向傳播神經網絡(BP)的故障診斷。
圖5 BP神經網絡訓練誤差、驗證誤差、測試誤差曲線
當隱層節點數為5時,訓練采用Levenberg-Marquardt算法,對應的訓練函數采用trainlm,誤差采用均方誤差,經過1 105次迭代,其中包含了最后的6次迭代作為數據確認,實質上在第1 099次迭代時,BP神經網絡就已經到達本次訓練的性能最佳點。此時,均方誤差也達到本次訓練的性能最佳值,且為0.000 029 183。
如圖6所示,針對訓練生成的用于參數估計的BP神經網絡輸出與相應期望的輸出進行線性回歸分析,Ua的線性回歸相關系數為1,Koc的線性回歸相關系數為0.999 71。
圖6 BP神經網絡Ua,Koc線性回歸
如圖7所示,雖然訓練BP神經網絡的計算量相對較大,然而訓練好的神經網絡由于離線分析的原因,其參數估計的過程是相對較快的。為了測試故障診斷效果,不妨設定系統模型中故障參數值為Ua=1,Koc=1,在此故障條件下,輸出δ作為驗證生成的神經網絡。由圖可知,其參數估計值與故障參數值之間仍舊存在著誤差。如果采集更多的樣本用于訓練神經網絡的話,可能會修正估計值,但誤差可能不會消除[8]。
圖7 BP神經網絡的參數估計
2.4 最小二乘法故障參數估計
如圖8所示,借助于Matlab下的參數估計(Parameter EstimationTM)工具箱,利用神經網絡確定的故障參數估計值作為最小二乘法的初始值,并設置相應的估計值范圍。最小二乘法不同于神經網絡,在利用時序冗余分析法進行故障診斷時,必須基于系統模型進行在線仿真,計算量相對較大,但由于合理地設置了初始值,使得仿真迭代減少到3次,同時又因為在線仿真的原因,其估計值精度要高于神經網絡[7]。
圖8 最小二乘法的參數估計軌跡
2.5 故障參數估計結果的校驗
如圖9所示,在該故障參數條件下,圖9(a)為固定階躍輸入激勵信號下的輸出響應;圖9(b)為正弦波輸入激勵信號下的輸出響應。一個成功的故障參數估計不僅僅匹配于校驗的輸出響應,也應該匹配于任意激勵下的響應,經校驗本次故障參數估計值與實際設置的故障值相符,故障診斷完畢。
圖9 階躍輸出響應與正弦波輸出響應
3 結 語
經大量仿真試驗,采用的故障診斷技術適用于線性與非線性故障參數的估計,然而該技術對于模型的依賴程度相對較高。由于該系統中參數模型本身具有的局限性,導致某些估計結果并不惟一,以至于無法正確區分某些模型變結構的故障,因此對于模型的改進和完善工作是下一步研究的重點。
參考文獻
[1]張育林,李東旭.動態系統故障診斷理論與應用[M].長沙:國防科技大學出版社,1997.
[2]楊婧.基于參數估計的伺服系統故障診斷方法研究[D].大連:大連理工大學,2006.
[3]奧本海姆.信號與系統[M].2版.北京:電子工業出版社,2009.
[4]吳今培,肖建華.智能故障診斷與神經網絡[M].北京:科學出版社,1997.
[5]HAGANM T, DEMUTH H B, BEALE M H. Neural network design[M]. Boston, MA: PWS Publishing, 1996.
[6]周開利,康耀紅.神經網絡模型及其Matlab仿真程序設計[M].北京:清華大學出版社,2005.
[7]The MathWorks Inc.. Simulink parameter estimation user′s guide[M] . \\: MathWorks, 2008.
[8]The MathWorks Inc.. Neural network toolboxTM 6 user′s guide [M] . \\: MathWorks, 2008.
[9]王少波,柴艷麗,梁醒培.神經網絡學習樣本點的選取方法比較[J].鄭州大學學報:工學版,2003(1):63-65.
[10]徐鐘濟.蒙特卡羅方法[M].上海:上??茖W技術出版社,1985.