摘要:
本文在介紹人工神經網絡基本原理和反向傳播(BP)算法理論的基礎上,研究了BP算法在鍋爐系統(tǒng)故障診斷方面的應用,給出了鍋爐樣本的一個實例訓練過程及測試結果,最后通過誤差分析,證實了這種方法在鍋爐的故障診斷方面能夠取得比較好的效果。
關鍵詞:人工神經網絡;BP算法;故障診斷;鍋爐系統(tǒng)
1 引言
大型火電機組的鍋爐系統(tǒng)參數多、系統(tǒng)復雜、設備大多處在高溫、高壓的工作環(huán)境,其故障的發(fā)生率高,且危害性極大。因此實時監(jiān)測火電機組運行時系統(tǒng)的熱力參數,并根據熱力參數的異常變化對其進行故障診斷與預測,是火電機組運行中十分重要的問題。故障診斷FD(Fault Diagnosis)技術針對這一問題,在掌握鍋爐運行流程后,對鍋爐故障的發(fā)生,發(fā)展機理進行研究,盡早發(fā)現(xiàn)故障及其原因并能預報故障發(fā)展趨勢。在診斷過程中,必須利用被診斷對象表現(xiàn)出來的各種有用信息,經過適當地處理和分析,做出正確的診斷結論。
2 基于神經網絡的鍋爐故障診斷基本原理
人工神經網絡(Artificial Neural Network,簡稱ANN)是人們對人類大腦神經網絡認識理解的基礎上人工構造的能夠實現(xiàn)某種功能的神經網絡。它實際上是由大量簡單元件相互連接而成的復雜網絡,具有高度的非線性,能夠進行復雜的邏輯操作和非線性關系實現(xiàn)的系統(tǒng)。圖1為組成神經網絡的神經元的一般模型。
圖1 人工神經元模型
人工神經元模型是神經網絡的基本計算單元,是多個輸入 和一個輸出 的非線形單元, 具有閾值 , 是神經元活動的轉移函數, 為每個輸入的權重值。則神經元的數學模型為:[img=159,77]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510001060968V.jpg[/img]
其中 是從上一層神經元傳來的信號,為了表示方便和統(tǒng)一,上式中神經元凈輸入也簡化寫為:
其中
在故障診斷領域, 轉移函數f(x)通常取Sigmoid函數:[img=184,43]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510050359470M.jpg[/img]或者雙曲正切函數[img=176,64]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510053291710J.jpg[/img]
Sigmoid 特性函數形狀像字母S,通常稱為S型函數,在故障診斷領域適用于可信度區(qū)域為[0,1]的情況,雙曲正切特性函數適用于可信度區(qū)域為[ - 1, 1]的情況。
在眾多的人工神經網絡模型中,最常用的是BP(Back Propagation)模型,即利用誤差反向傳播算法求解的多層前向神經網絡模型。BP網絡已經在模式識別、圖像識別、管理系統(tǒng)等方面都得到了廣泛的應用。本文將利用神經網絡中的BP模型對鍋爐系統(tǒng)進行故障診斷。
典型的神經網絡結構如圖2所示:
圖2 BP神經網絡基本結構
首先需要進行知識的獲取。由專家提供關于各種鍋爐系統(tǒng)故障現(xiàn)象(征兆集)及相應的故障原因(故障集)實例作為學習樣本。將數據分為兩部分,一部分用于訓練網絡,另一部分用于測試。將訓練網絡的數據按一定順序編碼,分別賦給網絡輸入、輸出節(jié)點,通過神經網絡學習算法對樣本進行學習,經過網絡內部自適應算法不斷修正權值,直到達到所要求的學習精度為止。此時在大量神經元之間聯(lián)結權值上就分布著專家知識和經驗。訓練完畢后,再將測試網絡的數據從初始狀態(tài)出發(fā),向前推理,將顯示出的故障結果與實際的測試數據結果相比較,如果誤差很小,說明網絡的權值建立得正確;如果誤差較大,說明網絡的權值建立有誤,需要重新進行網絡的訓練。神經網絡描述為:
輸出層:
[img=200,75]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510065758587Q.jpg[/img]
隱含層:
[img=200,68]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510071990228L.jpg[/img]
這里取轉移函數為:[img=178,41]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510073890799R.jpg[/img]其中 稱為陡度因子,用于調節(jié)Sigmoid函數的形狀。
3 BP網絡學習算法
3.1 BP網絡學習算法推導
BP算法的實質是求解誤差函數的最小值問題,它采用非線性規(guī)劃中的梯度下降法(Gradient Descent),按誤差函數的負梯度方向修正權值。其主要思路是求出訓練網絡的指標函數誤差E:
[img=174,43]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510082542646T.jpg[/img]
圖3 BP學習算法流程圖
然后利用E計算出權值修正量,分別為:[img=200,86]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/200712051009488506419.jpg[/img]
其中:[img=200,56]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510101348311Q.jpg[/img]
n為學習率,
最后得到網絡權值的修正關系為:
[img=200,54]http://m.u63ivq3.com/uploadpic/THESIS/2007/12/2007120510104536566Q.jpg[/img]
3.2 網絡輸入輸出向量及參數的選取
以故障類型X=(x1,x2,x3,x4)作為輸入,故障原因O=(o1,o2,…,o12)作為輸出,以不同的故障原因導致的故障模式為訓練樣本進行學習,從而建立故障模式與故障原因之間的映射關系。x1,x2,x3,x4分別代表鍋爐缺水,鍋爐滿水,汽水共騰,鍋爐水沖擊4種故障現(xiàn)象;o1, o2,…,o12 代表水位表失靈等12種故障原因。
3.3 網絡結構及訓練樣本的選取
鍋爐系統(tǒng)故障診斷的神經網絡模型分為3層,分別為輸入層、隱含層和輸出層。
按照樣本的模式對,確定輸入層節(jié)點個數為4,對應于4個故障現(xiàn)象,輸出層節(jié)點個數為12,對應于12個故障原因。輸出節(jié)點值的大小反映了故障出現(xiàn)的可能性。具體如表1所示。
表1 鍋爐系統(tǒng)故障類型及故障原因分析表
隱含層節(jié)點的個數可參照經驗公式 選取:其中 為輸出節(jié)點數, 為輸入節(jié)點數, 為1至10的常數,在此,試探選取10個隱含層節(jié)點。于是,網絡共26個節(jié)點。
3.4 網絡的訓練與檢驗
表2 BP網絡的樣本訓練表
我們以給定故障現(xiàn)象作為網絡的輸入,要求網絡通過調節(jié)所有的聯(lián)結權系數和各神經元的閾值,使得在輸出層神經元上得到理想的結果;然后再給出另一個現(xiàn)象,要求網絡繼續(xù)完成對這對模式的學習。當系統(tǒng)的平均誤差E滿足要求即可完成訓練。根據程序框圖及BP算法,運用Matlab語言編寫程序進行樣本訓練。
訓練樣本的測試結果如下
表3 測試結果表
[b]
4 誤差分析[/b]
[align=center]
圖4 訓練次數與誤差關系圖[/align]
[align=center]
圖5 隱含層節(jié)點個數與誤差關系圖[/align]
表4 隱含節(jié)點數與訓練誤差關系
可以看出,BP網絡的訓練誤差起初迅速下降,之后逐漸平穩(wěn);當隱含節(jié)點數低于3個時誤差極大,之后迅速下降到一個很小的值后,緩慢變化,在經歷一個“合適”的隱含節(jié)點數目后,又開始波動上升。這說明隱含層節(jié)點數過少則網絡難以概括訓練樣本集體現(xiàn)的規(guī)律,過多則出現(xiàn)調節(jié)過度,降低了泛化能力。因此構造一個好的網絡不但要利用好經驗,還必須經歷千百次的試驗。
5 結論
綜上可以看出,與傳統(tǒng)的診斷方法不同,人工神經網絡是一種效果非常好的智能信息處理方法,它是自學習和可以被訓練的,具有許多優(yōu)良的特性。把基于神經網絡BP算法的故障診斷技術引入鍋爐系統(tǒng),能夠在鍋爐系統(tǒng)的監(jiān)測及診斷中發(fā)揮較大的作用。如果對BP算法進行適當的改進,或者跟其他方法相結合,發(fā)揮各種方法的長處,可以獲得更理想的結果