(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥 230026)
近年來,風(fēng)能作為清潔能源受到了世界各國的青睞,飛速發(fā)展的風(fēng)電在能源產(chǎn)業(yè)結(jié)構(gòu)中起到了愈加重要的作用[1]。由于風(fēng)電機組運行環(huán)境惡劣、工況復(fù)雜多變,機組故障發(fā)生率較高,每臺風(fēng)電機組的維修成本約占其總成本的20%~25%[2]。變槳系統(tǒng)是風(fēng)電機組故障率較高且造成停機時間較長的關(guān)鍵子系統(tǒng)之一。因此,研究風(fēng)電機組變槳系統(tǒng)的故障診斷技術(shù),對于快速而準(zhǔn)確地定位故障源,減少停機時間及降低機組維護成本,具有重要的現(xiàn)實意義。
目前,專家學(xué)者對風(fēng)電機組變槳系統(tǒng)故障診斷研究主要是基于數(shù)據(jù)驅(qū)動方法,特別是大型風(fēng)電場均安裝了數(shù)據(jù)采集與監(jiān)控(Supervisory Control and Data Acquisition,SCADA)系統(tǒng),基于風(fēng)電機組SCADA系統(tǒng)運行數(shù)據(jù)進行風(fēng)電機組故障診斷已成為研究熱點[3]。肖成[4]通過分析處理SCADA系統(tǒng)數(shù)據(jù),采用小波BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)建立變槳系統(tǒng)故障診斷預(yù)測模型;童超[5]通過Relief算法進行特征選擇并結(jié)合BP神經(jīng)網(wǎng)絡(luò)對變槳距不對稱進行故障診斷;郭慧東[6]采用最小二乘支持向量機構(gòu)建非線性多輸入多輸出模型對變槳系統(tǒng)進行故障診斷;葉春霖[7]等基于數(shù)據(jù)挖掘算法對風(fēng)電機組葉片結(jié)冰故障進行了有效診斷。上述方法依賴領(lǐng)域?qū)<以\斷經(jīng)驗及大量的信號處理技術(shù)提取出故障特征。由于大量人工參與,提取的特征具有一定的不確定性。此外,采用傳統(tǒng)機器學(xué)習(xí)方法進行故障診斷,難以表征監(jiān)測數(shù)據(jù)與機組健康狀況之間復(fù)雜的映射關(guān)系,并可能存在維數(shù)災(zāi)難問題。
深度置信網(wǎng)絡(luò)(Deep Belief Networks,DBN)[8]是由多倫多大學(xué)教授Hinton等人于2006年首次提出的一種新興機器學(xué)習(xí)算法,在很多領(lǐng)域如圖像識別、語音識別等取得了顯著的成果。DBN相較于傳統(tǒng)機器學(xué)習(xí)算法如決策樹[9]、支持向量機(Supported Vector Machine,SVM)[6]及人工神經(jīng)網(wǎng)絡(luò) (Artifical Neural Network,ANN)[4]等,有著強大的特征自提取能力和復(fù)雜非線性關(guān)系的表達能力。Tamilselvan等人在2013年首次將DBN應(yīng)用于飛機發(fā)動機故障診斷并取得了顯著效果[10]。Tran等人融合了TKEO算法和DBN,采用人工提取特征和DBN分類,用于壓縮機閥門故障診斷,取得了更高的準(zhǔn)確率[11]。本文利用DBN的這些優(yōu)點,研究了DBN故障特征自提取能力,對風(fēng)電機組變槳系統(tǒng)故障數(shù)據(jù)進行特征提取,建立故障診斷模型,最終完成對風(fēng)電機組變槳系統(tǒng)的故障診斷。
深度學(xué)習(xí)是一種新興機器學(xué)習(xí)算法,模擬人類大腦處理信號的多層次結(jié)構(gòu),通過大量數(shù)據(jù)訓(xùn)練學(xué)習(xí)到潛在的數(shù)據(jù)規(guī)律。DBN則是深度學(xué)習(xí)中研究最早,也是經(jīng)典算法之一,通過深層次結(jié)構(gòu)自動提取抽象特征,能夠表達復(fù)雜的非線性關(guān)系。DBN是由多個受限玻爾茲曼機(Restricted Botlzmann Machine,RBM)堆疊而成的多隱藏層深度神經(jīng)網(wǎng)絡(luò),通過無監(jiān)督逐層貪婪學(xué)習(xí)算法對多個受限玻爾茲曼機預(yù)訓(xùn)練,再采用有監(jiān)督反向傳播算法微調(diào)完成網(wǎng)絡(luò)權(quán)重的訓(xùn)練,最后通過頂層的分類器完成對數(shù)據(jù)的分類。
RBM具有兩層網(wǎng)絡(luò)結(jié)構(gòu),包含可見層(visible layer)和隱藏層(hidden layer),層內(nèi)無連接,層間全連接[8,12]??梢妼訝顟B(tài)向量v=(v1,v2,…,vnv)T,可見層偏置向量a=(a1,a2,…,anv)T,隱藏層狀態(tài)向量h=(h1,h2,…,hnh)T,隱藏層偏置向量b=(b1,b2,…,bnh)T,層次間連接權(quán)重W=(wi,j)∈Rnh×nv,θ=(W,a,b)表示RBM的參數(shù)集。
RBM是基于能量的模型,對給定的一組狀態(tài)(v,h),定義能量函數(shù)為
Eθ(v,h)=-aTv-bTh-hTWv
(1)
由式(1)可以給出(v,h)的聯(lián)合概率分布,其中,Zθ為歸一化因子
Pθ(v,h)=exp[-Eθ(v,h)]/Zθ
(2)
(3)
在RBM網(wǎng)絡(luò)中給定可見層(或隱藏層)單元狀態(tài)時,隱藏層(或可見層)上某單元被激活的概率為
(4)
(5)
其中,sigmoid函數(shù)是激活函數(shù)。給定訓(xùn)練樣本,訓(xùn)練RBM目標(biāo)是迭代更新θ,以擬合訓(xùn)練樣本,使得由RBM表示的概率分布盡可能與訓(xùn)練數(shù)據(jù)一致。
假定訓(xùn)練樣本集為
S={v1,v2,…,vns}
(6)
(7)
連乘式處理較為麻煩,將對數(shù)似然函數(shù)作為優(yōu)化的目標(biāo)
(8)
采用梯度上升法迭代更新RBM參數(shù),計算公式如下:
(9)
(10)
(11)
RBM參數(shù)迭代更新格式如下:
(12)
其中η>0為學(xué)習(xí)率。
DBN由多個堆疊RBM和一個分類器組合而成,對多個RBM進行堆疊,底層隱藏層作為高一層的可見層,通過無監(jiān)督貪婪學(xué)習(xí)算法逐層優(yōu)化網(wǎng)絡(luò)間連接權(quán)重和偏置,可以從復(fù)雜監(jiān)測數(shù)據(jù)中逐層提取更深層次的特征[12]。高層RBM的隱藏層作為特征提取層,輸入到分類器,對數(shù)據(jù)進行分類。DBN基本結(jié)構(gòu)如圖1所示。可以看出,該DBN模型由兩個RBM和分類器組成,第一層和第二層形成RBM1,第二層和第三層形成RBM2,共堆疊了兩個RBM,這里做了簡化,實際中會堆疊更多的RBM。將RBM2隱藏層提取到的特征輸入頂層分類器中,對數(shù)據(jù)進行分類。
DBN模型的訓(xùn)練包括無監(jiān)督逐層貪婪預(yù)訓(xùn)練和有監(jiān)督微調(diào)兩部分。先通過逐層預(yù)訓(xùn)練將網(wǎng)絡(luò)模型的參數(shù)初始化為較優(yōu)的值,再通過標(biāo)簽數(shù)據(jù)進行有監(jiān)督微調(diào)。逐層預(yù)訓(xùn)練算法偽代碼如下。
算法1 深度置信網(wǎng)絡(luò)的逐層預(yù)訓(xùn)練方法
輸入:訓(xùn)練樣本集:S={v1,v2,…,vns};學(xué)習(xí)率:η;
圖1 DBN基本結(jié)構(gòu)
網(wǎng)絡(luò)層數(shù):L;第l層權(quán)重:W(l);第l層權(quán)重:a(l); 第l層權(quán)重:b(l);
1: forl=1…Ldo
2: 初始化:W(l)←0,a(l)←0,b(l)←0;
4: fori=1…l-1 do
5: 根據(jù)分布P(h(i)|v(i-1))采樣h(i);
6: end
7: 將h(l-1)作為訓(xùn)練樣本,充分訓(xùn)練第l個RBM
參數(shù)W(l),a(l),b(l);
8: end
輸出:連接權(quán)重W(1),…,W(L),可見層偏置a(1),…,a(L),
隱藏層偏置b(1),…,b(L)
在DBN模型頂層設(shè)置softmax分類器,接收最高層RBM隱藏層輸出作為輸入特征向量,根據(jù)標(biāo)簽數(shù)據(jù)對分類器進行有監(jiān)督訓(xùn)練。預(yù)訓(xùn)練階段可以確保單個RBM層自身層內(nèi)達到最優(yōu),并不是整個DBN模型最優(yōu)。有監(jiān)督訓(xùn)練過程將錯誤信息反向傳播到每一層RBM,進行參數(shù)微調(diào),與預(yù)訓(xùn)練階段每次單獨訓(xùn)練一層RBM參數(shù)相比,有監(jiān)督階段會對所有層參數(shù)進行更新。
基于DBN的風(fēng)機變槳系統(tǒng)故障診斷框架如圖2所示,主要包括以下幾個步驟:
① 采集數(shù)據(jù)。采集風(fēng)電機組變槳系統(tǒng)不同故障模式下SCADA系統(tǒng)監(jiān)測的運行數(shù)據(jù),并與正常運行數(shù)據(jù)構(gòu)建風(fēng)電機組變槳系統(tǒng)故障數(shù)據(jù)集。
② 數(shù)據(jù)預(yù)處理。神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練必須對原始數(shù)據(jù)進行歸一化處理,加速網(wǎng)絡(luò)訓(xùn)練速度,同時避免不同數(shù)量級特征帶來的數(shù)值問題。
③ 劃分為訓(xùn)練集和測試集。將上述變槳系統(tǒng)故障數(shù)據(jù)集以7∶3比例隨機劃分為訓(xùn)練集和測試集,分別用于訓(xùn)練DBN模型和測試故障分類效果。
④ 訓(xùn)練DBN。DBN訓(xùn)練過程包括兩部分,無監(jiān)督的逐層貪婪訓(xùn)練和有監(jiān)督的微調(diào)。利用訓(xùn)練數(shù)據(jù)集,先對由多個RBM堆疊而成的深層網(wǎng)絡(luò)進行無監(jiān)督訓(xùn)練,逐層提取特征。再通過在深度置信網(wǎng)絡(luò)頂層增添標(biāo)簽數(shù)據(jù),對網(wǎng)絡(luò)進行有監(jiān)督訓(xùn)練,即使用BP算法對網(wǎng)絡(luò)所有層參數(shù)進行更新。
⑤ 故障診斷。輸入測試數(shù)據(jù)集,利用訓(xùn)練好的DBN進行故障分類。
圖2 基于DBN的風(fēng)電機組變槳系統(tǒng)故障診斷框架
本次實驗所用數(shù)據(jù)均來自內(nèi)蒙古某風(fēng)場SCADA系統(tǒng)采集到的風(fēng)電機組真實運行數(shù)據(jù),包含了風(fēng)機運行的環(huán)境參數(shù)、工況參數(shù)、狀態(tài)參數(shù)和控制參數(shù)等。選取同一規(guī)格風(fēng)電機組下多組數(shù)據(jù),其中包括3組變槳系統(tǒng)故障狀態(tài)數(shù)據(jù),分別為齒形帶斷裂故障、變槳運行模式故障和變槳槳距不對稱故障。結(jié)合風(fēng)電機組正常運行狀態(tài),將變槳系統(tǒng)狀態(tài)簡記為4類:故障1、故障2、故障3和正常。 對每類狀態(tài)數(shù)據(jù)進行隨機劃分,切分為訓(xùn)練集和測試集,數(shù)據(jù)規(guī)模如表1所示。
表1 風(fēng)電機組變槳系統(tǒng)4種運行狀態(tài)
DBN是由多個RBM堆疊而成的多隱層深度神經(jīng)網(wǎng)絡(luò),原始輸入數(shù)據(jù)作為可見層,經(jīng)底層RBM學(xué)習(xí)后輸出隱藏層,并作為上一層RBM的可見層輸入,依次逐層傳遞。為探討DBN故障特征自提取能力,在多個堆疊RBM后未構(gòu)建頂層softmax分類器,直接將高層RBM隱藏層導(dǎo)入解碼網(wǎng)絡(luò),重構(gòu)原始輸入數(shù)據(jù)。假設(shè)原始輸入數(shù)據(jù)為x,RBM隱藏層輸出(編碼函數(shù))定義為
(13)
相應(yīng)的解碼函數(shù)定義為
(14)
(15)
(16)
定量評估方法借鑒文獻[13]中對失真度的定義,采用相對均方差值定義失真度S,并結(jié)合均方根誤差(Root Mean Square Error,RMSE)從兩個指標(biāo)進行評估。
(17)
(18)
DBN模型采用經(jīng)典的4層網(wǎng)絡(luò)[12,14],輸入層節(jié)點數(shù)為130,由原始數(shù)據(jù)特征數(shù)決定,隱藏層分別100,100,輸出層為40。RBM的參數(shù)設(shè)置:學(xué)習(xí)率為0.01,最大迭代次數(shù)為50。圖3為節(jié)點數(shù)130-100-100-40的DBN模型訓(xùn)練后,原始輸入數(shù)據(jù)曲線與重構(gòu)曲線的定性結(jié)果。表2給出了不同輸出層節(jié)點數(shù)下,兩者的定量評估指標(biāo)。
輸出層節(jié)點數(shù)RMSE失真度(×10-3)200.243540.30393400.242960.30249600.242630.30169800.242390.301091000.242200.30060
由表2可知,節(jié)點數(shù)從20變化到100,重構(gòu)效果越來越好,當(dāng)輸出層節(jié)點數(shù)為100時,DBN重構(gòu)數(shù)據(jù)與原始輸入數(shù)據(jù)的RMSE和失真度最小。結(jié)合圖3,可以表明DBN高層特征可以低失真度地恢復(fù)原始輸入數(shù)據(jù),即提取到的深層次特征在一定程度上可以表征原始輸入,進而可以說明DBN具有很強保持原有數(shù)據(jù)細(xì)節(jié)的能力,也在一定程度上解釋了深度學(xué)習(xí)無需人工特征提取過程卻擁有自主學(xué)習(xí)相關(guān)特征的能力。
在前面故障特征自提取研究的基礎(chǔ)上,將多堆疊RBM輸出節(jié)點設(shè)置為40,DBN模型其他參數(shù)設(shè)置不變,輸入到頂層softmax分類器中,進行風(fēng)電機組變槳系統(tǒng)故障診斷。同時,為了探究DBN模型在風(fēng)電機組變槳系統(tǒng)故障診斷時較傳統(tǒng)淺層機器學(xué)習(xí)算法的優(yōu)劣,本文采用了隨機森林(Random Forest)、線性支持向量機(Linear-SVM)和RBF核支持向量機(RBF-SVM)進行對比實驗,對故障數(shù)據(jù)集采用了統(tǒng)一的數(shù)據(jù)預(yù)處理方法,并使用主成分分析技術(shù)提取主要故障特征,均采用70%的故障數(shù)據(jù)集訓(xùn)練模型,30%作為測試集,為消除算法隨機性,每個實驗重復(fù)進行10次,測試集準(zhǔn)確率結(jié)果如圖4所示。
圖4 不同分類器多次實驗結(jié)果
各個分類器風(fēng)電機組變槳系統(tǒng)故障診斷測試集的平均準(zhǔn)確率如表3所示。
表3 各個分類器診斷結(jié)果對比
由表3及圖4可以看出,DBN在測試集上取得了95.59%的準(zhǔn)確率,RBF-SVM分類器次之,準(zhǔn)確率為91.33%,RF和Linear-SVM準(zhǔn)確率較差些,約84.6%左右。同時,與其他分類器不同,DBN模型多堆疊RBM具有故障特征自提取能力,能夠提取深層次故障特征。而測試集上的表現(xiàn),也說明了DBN模型在風(fēng)電機組變槳系統(tǒng)故障診斷中明顯優(yōu)于其他模型,具有很好的泛化能力。
本文研究了基于DBN的風(fēng)電機組變槳系統(tǒng)故障診斷方法,并通過變槳系統(tǒng)故障數(shù)據(jù)驗證了該方法的有效性。DBN通過多堆疊受限RBM能夠逐層自動提取故障特征,高層RBM輸出可以低失真度地重構(gòu)原始輸入數(shù)據(jù)。實驗結(jié)果表明,與傳統(tǒng)淺層機器學(xué)習(xí)算法相比,該方法避免了人工提取特征的不確定性,同時能夠有效地診斷風(fēng)電機組變槳系統(tǒng)故障,具有較高的準(zhǔn)確率。