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