摘要:
本文在介紹人工神經(jīng)網(wǎng)絡(luò)基本原理和反向傳播(BP)算法理論的基礎(chǔ)上,研究了BP算法在鍋爐系統(tǒng)故障診斷方面的應(yīng)用,給出了鍋爐樣本的一個(gè)實(shí)例訓(xùn)練過(guò)程及測(cè)試結(jié)果,最后通過(guò)誤差分析,證實(shí)了這種方法在鍋爐的故障診斷方面能夠取得比較好的效果。
關(guān)鍵詞:人工神經(jīng)網(wǎng)絡(luò);BP算法;故障診斷;鍋爐系統(tǒng)
1 引言
大型火電機(jī)組的鍋爐系統(tǒng)參數(shù)多、系統(tǒng)復(fù)雜、設(shè)備大多處在高溫、高壓的工作環(huán)境,其故障的發(fā)生率高,且危害性極大。因此實(shí)時(shí)監(jiān)測(cè)火電機(jī)組運(yùn)行時(shí)系統(tǒng)的熱力參數(shù),并根據(jù)熱力參數(shù)的異常變化對(duì)其進(jìn)行故障診斷與預(yù)測(cè),是火電機(jī)組運(yùn)行中十分重要的問(wèn)題。故障診斷FD(Fault Diagnosis)技術(shù)針對(duì)這一問(wèn)題,在掌握鍋爐運(yùn)行流程后,對(duì)鍋爐故障的發(fā)生,發(fā)展機(jī)理進(jìn)行研究,盡早發(fā)現(xiàn)故障及其原因并能預(yù)報(bào)故障發(fā)展趨勢(shì)。在診斷過(guò)程中,必須利用被診斷對(duì)象表現(xiàn)出來(lái)的各種有用信息,經(jīng)過(guò)適當(dāng)?shù)靥幚砗头治?,做出正確的診斷結(jié)論。
2 基于神經(jīng)網(wǎng)絡(luò)的鍋爐故障診斷基本原理
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,簡(jiǎn)稱ANN)是人們對(duì)人類大腦神經(jīng)網(wǎng)絡(luò)認(rèn)識(shí)理解的基礎(chǔ)上人工構(gòu)造的能夠?qū)崿F(xiàn)某種功能的神經(jīng)網(wǎng)絡(luò)。它實(shí)際上是由大量簡(jiǎn)單元件相互連接而成的復(fù)雜網(wǎng)絡(luò),具有高度的非線性,能夠進(jìn)行復(fù)雜的邏輯操作和非線性關(guān)系實(shí)現(xiàn)的系統(tǒng)。圖1為組成神經(jīng)網(wǎng)絡(luò)的神經(jīng)元的一般模型。
圖1 人工神經(jīng)元模型
人工神經(jīng)元模型是神經(jīng)網(wǎng)絡(luò)的基本計(jì)算單元,是多個(gè)輸入 和一個(gè)輸出 的非線形單元, 具有閾值 , 是神經(jīng)元活動(dòng)的轉(zhuǎn)移函數(shù), 為每個(gè)輸入的權(quán)重值。則神經(jīng)元的數(shù)學(xué)模型為:[img=159,77]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510001060968V.jpg[/img]
其中 是從上一層神經(jīng)元傳來(lái)的信號(hào),為了表示方便和統(tǒng)一,上式中神經(jīng)元凈輸入也簡(jiǎn)化寫(xiě)為:

其中

在故障診斷領(lǐng)域, 轉(zhuǎn)移函數(shù)f(x)通常取Sigmoid函數(shù):[img=184,43]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510050359470M.jpg[/img]或者雙曲正切函數(shù)[img=176,64]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510053291710J.jpg[/img]
Sigmoid 特性函數(shù)形狀像字母S,通常稱為S型函數(shù),在故障診斷領(lǐng)域適用于可信度區(qū)域?yàn)閇0,1]的情況,雙曲正切特性函數(shù)適用于可信度區(qū)域?yàn)閇 - 1, 1]的情況。
在眾多的人工神經(jīng)網(wǎng)絡(luò)模型中,最常用的是BP(Back Propagation)模型,即利用誤差反向傳播算法求解的多層前向神經(jīng)網(wǎng)絡(luò)模型。BP網(wǎng)絡(luò)已經(jīng)在模式識(shí)別、圖像識(shí)別、管理系統(tǒng)等方面都得到了廣泛的應(yīng)用。本文將利用神經(jīng)網(wǎng)絡(luò)中的BP模型對(duì)鍋爐系統(tǒng)進(jìn)行故障診斷。
典型的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示:
圖2 BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
首先需要進(jìn)行知識(shí)的獲取。由專家提供關(guān)于各種鍋爐系統(tǒng)故障現(xiàn)象(征兆集)及相應(yīng)的故障原因(故障集)實(shí)例作為學(xué)習(xí)樣本。將數(shù)據(jù)分為兩部分,一部分用于訓(xùn)練網(wǎng)絡(luò),另一部分用于測(cè)試。將訓(xùn)練網(wǎng)絡(luò)的數(shù)據(jù)按一定順序編碼,分別賦給網(wǎng)絡(luò)輸入、輸出節(jié)點(diǎn),通過(guò)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法對(duì)樣本進(jìn)行學(xué)習(xí),經(jīng)過(guò)網(wǎng)絡(luò)內(nèi)部自適應(yīng)算法不斷修正權(quán)值,直到達(dá)到所要求的學(xué)習(xí)精度為止。此時(shí)在大量神經(jīng)元之間聯(lián)結(jié)權(quán)值上就分布著專家知識(shí)和經(jīng)驗(yàn)。訓(xùn)練完畢后,再將測(cè)試網(wǎng)絡(luò)的數(shù)據(jù)從初始狀態(tài)出發(fā),向前推理,將顯示出的故障結(jié)果與實(shí)際的測(cè)試數(shù)據(jù)結(jié)果相比較,如果誤差很小,說(shuō)明網(wǎng)絡(luò)的權(quán)值建立得正確;如果誤差較大,說(shuō)明網(wǎng)絡(luò)的權(quán)值建立有誤,需要重新進(jìn)行網(wǎng)絡(luò)的訓(xùn)練。神經(jīng)網(wǎng)絡(luò)描述為:
輸出層:
[img=200,75]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510065758587Q.jpg[/img]
隱含層:
[img=200,68]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510071990228L.jpg[/img]
這里取轉(zhuǎn)移函數(shù)為:[img=178,41]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510073890799R.jpg[/img]其中 稱為陡度因子,用于調(diào)節(jié)Sigmoid函數(shù)的形狀。
3 BP網(wǎng)絡(luò)學(xué)習(xí)算法
3.1 BP網(wǎng)絡(luò)學(xué)習(xí)算法推導(dǎo)
BP算法的實(shí)質(zhì)是求解誤差函數(shù)的最小值問(wèn)題,它采用非線性規(guī)劃中的梯度下降法(Gradient Descent),按誤差函數(shù)的負(fù)梯度方向修正權(quán)值。其主要思路是求出訓(xùn)練網(wǎng)絡(luò)的指標(biāo)函數(shù)誤差E:
[img=174,43]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510082542646T.jpg[/img]
圖3 BP學(xué)習(xí)算法流程圖
然后利用E計(jì)算出權(quán)值修正量,分別為:[img=200,86]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/200712051009488506419.jpg[/img]
其中:[img=200,56]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510101348311Q.jpg[/img]
n為學(xué)習(xí)率,
最后得到網(wǎng)絡(luò)權(quán)值的修正關(guān)系為:
[img=200,54]http://www.wangxinlc.cn/uploadpic/THESIS/2007/12/2007120510104536566Q.jpg[/img]
3.2 網(wǎng)絡(luò)輸入輸出向量及參數(shù)的選取
以故障類型X=(x1,x2,x3,x4)作為輸入,故障原因O=(o1,o2,…,o12)作為輸出,以不同的故障原因?qū)е碌墓收夏J綖橛?xùn)練樣本進(jìn)行學(xué)習(xí),從而建立故障模式與故障原因之間的映射關(guān)系。x1,x2,x3,x4分別代表鍋爐缺水,鍋爐滿水,汽水共騰,鍋爐水沖擊4種故障現(xiàn)象;o1, o2,…,o12 代表水位表失靈等12種故障原因。
3.3 網(wǎng)絡(luò)結(jié)構(gòu)及訓(xùn)練樣本的選取
鍋爐系統(tǒng)故障診斷的神經(jīng)網(wǎng)絡(luò)模型分為3層,分別為輸入層、隱含層和輸出層。
按照樣本的模式對(duì),確定輸入層節(jié)點(diǎn)個(gè)數(shù)為4,對(duì)應(yīng)于4個(gè)故障現(xiàn)象,輸出層節(jié)點(diǎn)個(gè)數(shù)為12,對(duì)應(yīng)于12個(gè)故障原因。輸出節(jié)點(diǎn)值的大小反映了故障出現(xiàn)的可能性。具體如表1所示。
表1 鍋爐系統(tǒng)故障類型及故障原因分析表
隱含層節(jié)點(diǎn)的個(gè)數(shù)可參照經(jīng)驗(yàn)公式 選取:其中 為輸出節(jié)點(diǎn)數(shù), 為輸入節(jié)點(diǎn)數(shù), 為1至10的常數(shù),在此,試探選取10個(gè)隱含層節(jié)點(diǎn)。于是,網(wǎng)絡(luò)共26個(gè)節(jié)點(diǎn)。
3.4 網(wǎng)絡(luò)的訓(xùn)練與檢驗(yàn)
表2 BP網(wǎng)絡(luò)的樣本訓(xùn)練表
我們以給定故障現(xiàn)象作為網(wǎng)絡(luò)的輸入,要求網(wǎng)絡(luò)通過(guò)調(diào)節(jié)所有的聯(lián)結(jié)權(quán)系數(shù)和各神經(jīng)元的閾值,使得在輸出層神經(jīng)元上得到理想的結(jié)果;然后再給出另一個(gè)現(xiàn)象,要求網(wǎng)絡(luò)繼續(xù)完成對(duì)這對(duì)模式的學(xué)習(xí)。當(dāng)系統(tǒng)的平均誤差E滿足要求即可完成訓(xùn)練。根據(jù)程序框圖及BP算法,運(yùn)用Matlab語(yǔ)言編寫(xiě)程序進(jìn)行樣本訓(xùn)練。
訓(xùn)練樣本的測(cè)試結(jié)果如下
表3 測(cè)試結(jié)果表
[b]
4 誤差分析[/b]
[align=center]
圖4 訓(xùn)練次數(shù)與誤差關(guān)系圖[/align]
[align=center]
圖5 隱含層節(jié)點(diǎn)個(gè)數(shù)與誤差關(guān)系圖[/align]
表4 隱含節(jié)點(diǎn)數(shù)與訓(xùn)練誤差關(guān)系
可以看出,BP網(wǎng)絡(luò)的訓(xùn)練誤差起初迅速下降,之后逐漸平穩(wěn);當(dāng)隱含節(jié)點(diǎn)數(shù)低于3個(gè)時(shí)誤差極大,之后迅速下降到一個(gè)很小的值后,緩慢變化,在經(jīng)歷一個(gè)“合適”的隱含節(jié)點(diǎn)數(shù)目后,又開(kāi)始波動(dòng)上升。這說(shuō)明隱含層節(jié)點(diǎn)數(shù)過(guò)少則網(wǎng)絡(luò)難以概括訓(xùn)練樣本集體現(xiàn)的規(guī)律,過(guò)多則出現(xiàn)調(diào)節(jié)過(guò)度,降低了泛化能力。因此構(gòu)造一個(gè)好的網(wǎng)絡(luò)不但要利用好經(jīng)驗(yàn),還必須經(jīng)歷千百次的試驗(yàn)。
5 結(jié)論
綜上可以看出,與傳統(tǒng)的診斷方法不同,人工神經(jīng)網(wǎng)絡(luò)是一種效果非常好的智能信息處理方法,它是自學(xué)習(xí)和可以被訓(xùn)練的,具有許多優(yōu)良的特性。把基于神經(jīng)網(wǎng)絡(luò)BP算法的故障診斷技術(shù)引入鍋爐系統(tǒng),能夠在鍋爐系統(tǒng)的監(jiān)測(cè)及診斷中發(fā)揮較大的作用。如果對(duì)BP算法進(jìn)行適當(dāng)?shù)母倪M(jìn),或者跟其他方法相結(jié)合,發(fā)揮各種方法的長(zhǎng)處,可以獲得更理想的結(jié)果