馬路林, 姚 剛
(上海電力學(xué)院 a.自動(dòng)化工程學(xué)院, b.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
基于BP神經(jīng)網(wǎng)絡(luò)及其改進(jìn)算法的汽輪發(fā)電機(jī)組故障診斷
馬路林a, 姚 剛b
(上海電力學(xué)院 a.自動(dòng)化工程學(xué)院, b.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
為了提高汽輪發(fā)電機(jī)組的故障診斷準(zhǔn)確率,提出了基于BP神經(jīng)網(wǎng)絡(luò)改進(jìn)算法的故障診斷系統(tǒng).根據(jù)輸入特征向量對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),在matlab上分別采用兩種算法對(duì)故障診斷模型進(jìn)行測(cè)試.結(jié)果表明,改進(jìn)算法能夠更有效地預(yù)測(cè)汽輪發(fā)電機(jī)組的故障.
BP神經(jīng)網(wǎng)絡(luò); 故障診斷; 汽輪發(fā)電機(jī)組
汽輪發(fā)電機(jī)組作為發(fā)電的關(guān)鍵設(shè)備,其運(yùn)行狀態(tài)穩(wěn)定與否是整個(gè)電力系統(tǒng)能夠安全、可靠運(yùn)行的關(guān)鍵所在.建立完善的機(jī)組監(jiān)控及故障診斷系統(tǒng),有助于準(zhǔn)確高效地對(duì)汽輪發(fā)電機(jī)組故障進(jìn)行診斷和預(yù)測(cè),保證機(jī)組安全可靠的運(yùn)行.采用故障診斷技術(shù)能夠及時(shí)發(fā)現(xiàn)汽輪發(fā)電機(jī)組的故障并判斷出故障類型,做到有目的地進(jìn)行檢修,節(jié)約維修費(fèi)用,提高維修效率,大大提升生產(chǎn)和經(jīng)濟(jì)效益[1-2].因此,對(duì)電機(jī)故障做出快速、準(zhǔn)確和高效的診斷具有重要意義.
隨著科學(xué)技術(shù)的迅速發(fā)展,汽輪發(fā)電機(jī)組設(shè)備的結(jié)構(gòu)和功能日趨復(fù)雜,自動(dòng)化和智能化水平不斷提升,傳統(tǒng)的故障診斷技術(shù)已不能滿足需求,研究智能故障診斷技術(shù)迫在眉睫.許多學(xué)者將遺傳算法、案例推理方法、模糊數(shù)學(xué)方法、神經(jīng)網(wǎng)絡(luò)等方法應(yīng)用于汽輪發(fā)電機(jī)故障診斷領(lǐng)域[2].神經(jīng)網(wǎng)絡(luò)由于其自身的特點(diǎn)而被廣泛應(yīng)用,但其存在訓(xùn)練時(shí)間長(zhǎng)、誤差收斂較慢等缺陷,影響了故障診斷的精度[3].針對(duì)這些不足,本文在深入分析BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,對(duì)其進(jìn)行了改進(jìn),在汽輪發(fā)電機(jī)組的故障診斷中,取得了顯著效果.
隨著技術(shù)的不斷革新,故障診斷方法得到了極大的發(fā)展.按照處理方式可分為基于信號(hào)處理的分析方法、基于數(shù)學(xué)建模的方法和基于人工智能的故障診斷方法3類[4],如圖1所示.
圖1 故障診斷方法分類
在故障診斷過程中,不同的診斷方法用于處理不同的對(duì)象,各有其優(yōu)勢(shì)與弊端,本文將主要介紹基于神經(jīng)網(wǎng)絡(luò)及其改進(jìn)算法的故障診斷方法.
BP神經(jīng)網(wǎng)絡(luò)是一種多層前向網(wǎng)絡(luò),常用的是3層網(wǎng)絡(luò)結(jié)構(gòu).第1層為輸入層,第2層為隱含層,第3層為輸出層,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示[5-6].
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意
對(duì)于3層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò),x0=-1,y0=-1,輸入向量X=(x1,x2,x3,…,xr,…,xp)T,對(duì)于某一個(gè)訓(xùn)練樣本Xr=(x1,x2,x3,…xi,…xn)T,網(wǎng)絡(luò)隱含層的輸出向量為Yr=(y1,y2,y3,…,yj,…,ym)T,輸出層的輸出向量為Or=(o1,o2,o3,…ok,…ol)T,網(wǎng)絡(luò)期望輸出向量為dr=(d1,d2,d3,…,dk,…,dl)T.V=(V1,V2,V3,…,Vj,…,Vm)T為第1層到第2層之間的權(quán)值矩陣,W=(W1,W2,W3,…,Wk,…,Wl)T為第2層到第3層之間的權(quán)值向量.為了使BP神經(jīng)網(wǎng)絡(luò)逼近任意的多元函數(shù),在訓(xùn)練和測(cè)試過程中選取Sigmoid函數(shù)作為傳遞函數(shù)對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練.
2.1.1 正向傳播過程
當(dāng)有信號(hào)輸入BP神經(jīng)網(wǎng)絡(luò)的輸入層時(shí),該信號(hào)經(jīng)第2層傳向第3層,并可在輸出端產(chǎn)生輸出信號(hào),若此輸出信號(hào)滿足既定的要求,則計(jì)算結(jié)束;否則進(jìn)行反向傳播[5].
正向傳播計(jì)算過程如下:
Ok=f(nk)k=1,2,3,…,l
(1)
對(duì)于第3層則有:
(2)
對(duì)于第2層則有:
yj=f(nj)j=1,2,3,…,m
(3)
(4)
式(1)和式(3)中,激活函數(shù)為:
(5)
f(x)均為單極性Sigmoid函數(shù),且f(x)具有連續(xù)可導(dǎo)的特點(diǎn),則有:
f′(x)=f(x)[1-f(x)]
(6)
當(dāng)神經(jīng)網(wǎng)絡(luò)的真實(shí)輸出值與期望輸出值不相等時(shí),則表明存在輸出誤差,定義為E,表達(dá)式如下:
(7)
將式(7)中的E展開至BP神經(jīng)網(wǎng)絡(luò)的隱含層,則有:
(8)
將式(7)中的誤差展開至BP神經(jīng)網(wǎng)絡(luò)的輸出層,則有:
(9)
由式(9)可以看出,神經(jīng)網(wǎng)絡(luò)的誤差是關(guān)于其各層權(quán)wjk和vij的函數(shù),因此調(diào)整權(quán)值可以改變誤差E的大小.
當(dāng)E≤λ(λ計(jì)算期望精度)或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)時(shí),計(jì)算結(jié)束;否則,進(jìn)行反向傳播計(jì)算.
2.1.2 反向傳播過程
上文已經(jīng)指出,調(diào)整權(quán)值可以改變誤差E的大小,調(diào)整原則可使神經(jīng)網(wǎng)絡(luò)的真實(shí)輸出值更加接近期望輸出值,因此應(yīng)沿著使權(quán)值的調(diào)整量與誤差的梯度下降成正比的方向進(jìn)行調(diào)整,即:
j=0,1,2,…,m;k=1,2,3,…,l
(10)
i=0,1,2,…,n;j=1,2,3,…,m
(11)
式(10)和式(11)給出了權(quán)值調(diào)整的思路,其中β是一個(gè)給定的常數(shù),表示網(wǎng)絡(luò)的學(xué)習(xí)率,通常取0<β<1.
假定在全部的推導(dǎo)過程中,對(duì)該網(wǎng)絡(luò)的輸出層均有j=0,1,2,…,m,k=1,2,3,…,l,對(duì)該網(wǎng)絡(luò)的隱含層均有i=0,1,2,…,n,j=1,2,3,…,m.對(duì)于第3層,式(10)可寫成:
(12)
令:
(13)
則式(12)可以寫為:
Δwjk=βδ°kyj=β(dk-ok)ok(1-ok)yj
(14)
對(duì)于第1層,式(11)可寫為:
(15)
(16)
令:
(17)
而:
(18)
(19)
于是有:
vij(n+1)=vij(n)+Δvij
(20)
依據(jù)以上表達(dá)式可求得神經(jīng)網(wǎng)絡(luò)輸入層與隱含層、隱含層與輸出層之間的連接權(quán)值和閾值的變化增量,以此來迭代更新用于下一輪網(wǎng)絡(luò)學(xué)習(xí)和訓(xùn)練的各相鄰神經(jīng)元之間的連接權(quán)值及閾值,其更新表達(dá)式為:
wjk(n+1)=wjk(n)+Δwjk
(21)
(22)
此信號(hào)在反向傳播的過程中能夠求出BP神經(jīng)網(wǎng)絡(luò)各層新的權(quán)值和閾值,然后再正向傳播.整個(gè)算法流程如圖3所示.
圖3 BP算法程序流程
圖3中的參數(shù)初始化主要包括學(xué)習(xí)精度、隱節(jié)點(diǎn)數(shù)、初始權(quán)值及閾值、初始學(xué)習(xí)速率、最大訓(xùn)練次數(shù)N等因素的選擇和確定.
為了克服BP神經(jīng)網(wǎng)絡(luò)算法在故障診斷中的缺點(diǎn),許多學(xué)者提出了改進(jìn)算法和方法[7-8],主要包括可變學(xué)習(xí)率的BP算法、增加動(dòng)量項(xiàng)的BP學(xué)習(xí)算法等基于負(fù)梯度思想的BP改進(jìn)算法,以及牛頓法、共軛梯度法等基于數(shù)值優(yōu)化方法的BP改進(jìn)算法,下面介紹一下牛頓法的基本算法.
牛頓法是利用一個(gè)接近已知目標(biāo)函數(shù)的二次函數(shù)作為求解對(duì)象,求出其極小點(diǎn)作為目標(biāo)函數(shù)極小點(diǎn)的近似解.
設(shè)在求解的過程中已迭代到xk,在點(diǎn)xk處按Taylor公式將目標(biāo)函數(shù)展開,即:
(23)
式中:Q(x)——x的二次函數(shù);g(xk),H(xk)——f(x)在xk點(diǎn)處的梯度和Hesse矩陣.
H(xk)(x-xk)=-g(xk)
(24)
若H(xk)是正定矩陣,則它的逆矩陣H-1(xk)存在,由式(24)可得到x的解為x=xk+1,即為二次函數(shù)Q(x)的極小點(diǎn),即:
xk+1=xk-H(xk)-1g(xk)
(25)
用xk+1作為函數(shù)f(x)極小點(diǎn)x*新的近似.式(25)即是牛頓迭代公式.
本文選取了汽輪發(fā)電機(jī)組的3種故障類型[9],分別為轉(zhuǎn)子熱彎曲、轉(zhuǎn)子裂紋與汽流激振.
由汽輪發(fā)電機(jī)組振動(dòng)信號(hào)的頻域特征頻譜中6 個(gè)不同頻段(<0.4f,0.4f-0.5f,1f,2f,3f,>3f,f為旋轉(zhuǎn)頻率)上的幅值分量構(gòu)成故障樣本特征向量元素的特征量,訓(xùn)練樣本數(shù)據(jù)見表1.
表1 訓(xùn)練樣本數(shù)據(jù)
注:Type1—轉(zhuǎn)子熱彎曲;Type2—轉(zhuǎn)子裂紋;Type3—汽流激振.
表2為相應(yīng)的目標(biāo)輸出向量.表3為測(cè)試樣本.
應(yīng)用Matlab提供的神經(jīng)網(wǎng)絡(luò)工具箱構(gòu)建網(wǎng)絡(luò),并用所提供的訓(xùn)練樣本進(jìn)行網(wǎng)絡(luò)訓(xùn)練,通過訓(xùn)練好的網(wǎng)絡(luò)輸入汽輪發(fā)電機(jī)組測(cè)試數(shù)據(jù)樣本,對(duì)其進(jìn)行故障診斷[10-11],可得到兩種方法的故障診斷結(jié)果如表4所示.
由表4可以看出,BP神經(jīng)網(wǎng)絡(luò)最大循環(huán)150次即達(dá)到誤差要求,很好地預(yù)測(cè)了結(jié)果.對(duì)于同樣的誤差要求,牛頓法最大循環(huán)30次即可預(yù)測(cè)出故障結(jié)果,說明牛頓法比BP神經(jīng)網(wǎng)絡(luò)有著更高的效率.
表2 目標(biāo)向量
由仿真結(jié)果可以看出:將測(cè)試樣本中的第1和第3組數(shù)據(jù)輸入網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)輸出type=(1 0 0),所以網(wǎng)絡(luò)診斷的結(jié)果為轉(zhuǎn)子熱彎曲;將測(cè)試樣本中的第2和第4組數(shù)據(jù)輸入網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)輸出type=(0 1 0),所以網(wǎng)絡(luò)診斷的結(jié)果為轉(zhuǎn)子裂紋;將測(cè)試樣本中的第5,第6,第7組數(shù)據(jù)輸入網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)輸出type=(0 0 1),所以網(wǎng)絡(luò)診斷的結(jié)果為汽流激振.
表3 測(cè)試樣本
表4 兩種算法的故障診斷結(jié)果
針對(duì)汽輪發(fā)電機(jī)組的故障特點(diǎn),在傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法的基礎(chǔ)上進(jìn)行了改進(jìn).仿真結(jié)果表明:傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法和牛頓法都能對(duì)汽輪發(fā)電機(jī)組進(jìn)行故障診斷,但牛頓法迭代次數(shù)少,學(xué)習(xí)速率快,能夠更有效地預(yù)測(cè)汽輪發(fā)電機(jī)組的故障;對(duì)于同一種故障類型,牛頓法具有更好的故障識(shí)別性能,為保證汽輪發(fā)電機(jī)安全運(yùn)行及維修提供了保障.
[1] 李錄平.汽輪機(jī)組故障診斷技術(shù)[M].北京:中國(guó)電力出版社,2002:37-40.
[2] 孫偉.大型汽輪發(fā)電機(jī)振動(dòng)故障診斷與分析[J].中國(guó)新技術(shù)新產(chǎn)品,2014(3):121.
[3] 王慧濱.基于規(guī)則和案例推理的汽輪發(fā)電機(jī)組故障診斷專家系統(tǒng)[D].蘭州:蘭州理工大學(xué),2014.
[4] 張彼德.汽輪發(fā)電機(jī)組振動(dòng)故障診斷研究[J].西華大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,24(1):21-24.
[5] 和雄偉.汽輪發(fā)電機(jī)組振動(dòng)故障分析與預(yù)防研究[D].保定:華北電力大學(xué),2014.
[6] 李化,岳剛.基于自適應(yīng)小波網(wǎng)絡(luò)的汽輪發(fā)電機(jī)組振動(dòng)故障診斷方法的研究[J].電工技術(shù)學(xué)報(bào),2000,15(3):57-60.
[7] 權(quán)亞蕾.基于混合神經(jīng)網(wǎng)絡(luò)的汽輪發(fā)電機(jī)組振動(dòng)故障診斷研究[D].上海:上海電力學(xué)院,2015.
[8] 劉旭.基于改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)的風(fēng)電功率預(yù)測(cè)研究[D].保定:華北電力大學(xué),2013.
[9] 張冉,趙成龍.改進(jìn)BP網(wǎng)絡(luò)在汽輪發(fā)電機(jī)組故障診斷中的應(yīng)用[J].計(jì)算機(jī)仿真,2011,28(7):325-328.
[10] 周會(huì)霞.汽輪發(fā)電機(jī)組汽流激振故障預(yù)警方法研究[D].保定:華北電力大學(xué),2015.
[11] 馬元奎.汽輪發(fā)電機(jī)組振動(dòng)信號(hào)處理及智能診斷方法研究[D].南京:東南大學(xué),2002.
(編輯 白林雪)
FaultDiagnosisofTurboGeneratorUnitBasedonBPNetworkandItsImprovedAlgorithm
MALulina,YAOGangb
(a.SchoolofAutomationEngineering,b.SchoolofComputerScienceandTechnology,ShanghaiUniversityofElectricPower,Shanghai200090,China)
In order to improve the accuracy in the fault diagnosis of turbine generator,its improved algorithm of diagnosis system based on BP network is presented.According to input character vectors,BP nerve network is studied.In matlab platform,the actual monitoring data are used to test the fault of turbine generator unit based on BP and its improved BP algorithm.The experimental results show that the improved algorithm is more effective in predicting the fault of turbo generator.
BP nerve network; fault diagnosis; turbo generator unit
10.3969/j.issn.1006-4729.2017.04.011
2017-03-09
馬路林(1990-),男,在讀碩士,河南開封人.主要研究方向?yàn)橹悄芪㈦娋W(wǎng)控制及多目標(biāo)優(yōu)化.E-mail:ma_lin0328@163.com.
TP183;TM311
A
1006-4729(2017)04-0362-05