楊雯,尹康涌,鮑奕宇,尹項根,徐彪
(1.國網(wǎng)江蘇省電力有限公司檢修分公司,江蘇 南京 211106;2.強電磁工程與新技術國家重點實驗室(華中科技大學),湖北 武漢 430074;3.國網(wǎng)江蘇省電力有限公司電力科學研究院,江蘇 南京 211103)
現(xiàn)有電網(wǎng)故障分類方法主要有工頻量和暫態(tài)量2種。工頻量分類方法易受接地電阻、系統(tǒng)運行方式的影響;暫態(tài)量分類方法利用行波[1—2]和故障暫態(tài)量[3—4]等,能有效擺脫工頻因素限制。許多學者將新興的數(shù)據(jù)分析方法與暫態(tài)量選相方法相結合,提出了基于模糊理論[5— 6]、分形理論[7—8]、小波變換[9—10]、人工神經(jīng)網(wǎng)絡(artificial neural networks,ANN)[11—12]等的故障類型辨識方法。其中ANN等人工智能方法由于其在非線性映射、自學習和自適應、泛化和容錯等方面的優(yōu)勢而備受關注。文獻[13]利用提升小波和神經(jīng)網(wǎng)絡構造了小波神經(jīng)網(wǎng)絡故障識別模型;文獻[14]提出多小波包系數(shù)熵和ANN相結合的輸電線路故障分類方法。
隨著電力大數(shù)據(jù)的發(fā)展,反映設備狀態(tài)的數(shù)據(jù)越來越大,以ANN為代表的淺層學習方法主要存在以下缺陷:(1) 對復雜數(shù)據(jù)分布的映射能力有限且可能出現(xiàn)“維數(shù)災”;(2) 太依賴于信號處理技術和人工診斷經(jīng)驗,在故障特征不明顯或者出現(xiàn)復雜連鎖故障時容易漏判或誤判,無法滿足現(xiàn)代大電網(wǎng)的診斷需求。
深度學習的發(fā)展為解決上述問題提供了機遇。作為其典型代表,深度置信網(wǎng)絡(deep belief network,DBN)具有良好的數(shù)據(jù)特征提取和映射能力[15—17],可以通過多隱層網(wǎng)絡從原始數(shù)據(jù)中學習,特別適用于求解復雜的高維分類問題[18]。目前已有DBN應用于文本表示[19]、音頻分類[20]、發(fā)動機故障診斷[21]、電力系統(tǒng)暫穩(wěn)分析[22—25]等。
文中提出基于DBN的電網(wǎng)故障類型辨識方法,以故障錄波信息為數(shù)據(jù)基礎,直接以故障發(fā)生后的各相電流/電壓以及零序電流/電壓作為網(wǎng)絡輸入,從原始時域信號中自動學習和提取故障狀態(tài)特征,從而實現(xiàn)故障類型的辨識。針對DBN模型數(shù)據(jù)重構能力、逐層特征提取結果以及實際案例進行對比分析論證,可知該模型具有良好的故障特征提取能力,在數(shù)據(jù)降維過程中能保持數(shù)據(jù)原本的特征,與ANN模型相比其識別準確率更高,具有良好的應用前景。
DBN由多個限制波爾茲曼機(restricted boltzmann machine,RBM)堆疊而成,RBM的結構及學習過程是DBN的重要基礎[15]。
RBM是一種可通過輸入數(shù)據(jù)集學習概率分布的隨機生成神經(jīng)網(wǎng)絡。如圖1所示,RBM模型由可視層v={v1,v2,v3,…,vI}∈{0,1}和隱含層h={h1,h2,h3,…,hJ}∈{0,1}構成,其中I和J分別為可視層和隱含層神經(jīng)單元的數(shù)目。對應的可視層和隱含層單元的閾值分別為a={a1,a2,a3,…,aI}和b={b1,b2,b3,…,bJ}。相同層的神經(jīng)單元相互獨立,不同層的神經(jīng)單元全連接,可視層神經(jīng)單元vi與隱含層神經(jīng)單元hj間通過權重wji連接。
圖1 RBM模型的基本結構Fig.1 Basic structure of the RBM model
因此,v和h給定時,RBM的能量函數(shù)為:
(1)
由此可得到隱含層單元和可視層單元之間的聯(lián)合概率分布為:
(2)
可由此推導得可視層向量v的獨立分布為:
(3)
RBM的學習目標是讓RBM網(wǎng)絡表示的分布盡可能地擬合輸入數(shù)據(jù),通過調(diào)節(jié)網(wǎng)絡結構參數(shù),使概率p(v)達到最大。用θ={ai,bj,wji} 表示網(wǎng)絡的結構參數(shù),對式(3)進行極大似然估計即可求得網(wǎng)絡的結構參數(shù)。參數(shù)求取過程中需采用交替吉布斯采樣法從訓練樣本中進行采樣。詳細的交替吉布斯采樣處理流程及完整的RBM學習算法可以參見文獻[15]。
完整的DBN由底層的堆疊RBM和頂層的分類器組成,底層的堆疊RBM完成復雜數(shù)據(jù)的學習和特征提取,頂層的分類器實現(xiàn)整個模型結構參數(shù)的微調(diào)和數(shù)據(jù)的分類。圖2是一個六層的DBN基本結構,由最底層RBM的可視層接收輸入數(shù)據(jù),依次通過4個堆疊RBM和1個分類器實現(xiàn)數(shù)據(jù)的特征提取和分類。
圖2 DBN的基本結構Fig.2 Basic structure of the DBN
傳統(tǒng)人工神經(jīng)網(wǎng)絡的訓練方法已完全不適用于深度網(wǎng)絡結構的學習和訓練,Hinton教授針對深度網(wǎng)絡的訓練難題,提出將DBN的訓練劃分為2個階段:無監(jiān)督的逐層預訓練和有監(jiān)督的微調(diào)[15],如圖3所示。
圖3 DBN訓練流程Fig.3 Training process of DBN
DBN的無監(jiān)督逐層學習過程可理解為多個單獨的RBM學習過程,即首先將無標簽的數(shù)據(jù)輸入RBM1的可視層,通過RBM1的正向映射,得到隱含層單元h1,然后利用h1重構可視層單元的狀態(tài),并通過重構數(shù)據(jù)和原始數(shù)據(jù)的誤差更新RBM1的結構參數(shù)。RBM1的學習過程完成后,把RBM1的隱含層單元h1作為RBM2的可視層單元,繼續(xù)RBM2的學習過程。通過RBM的逐層堆疊,整個網(wǎng)絡可以有效地從原始故障數(shù)據(jù)中逐層提取特征,快速高效地實現(xiàn)對復雜數(shù)據(jù)的映射和表達。
完成無監(jiān)督的預訓練過程后,需要在DBN模型的最頂層添加標簽數(shù)據(jù),對整個網(wǎng)絡的參數(shù)進行有監(jiān)督的微調(diào)。該過程一般采用誤差反向傳播(back propagation,BP)算法,通過自上而下誤差傳輸和積累過程,實現(xiàn)對整個網(wǎng)絡全局誤差最小化的搜索,從而對整個網(wǎng)絡的參數(shù)進行調(diào)整。有監(jiān)督的微調(diào)過程使DBN網(wǎng)絡的特征提取更貼合標簽數(shù)據(jù)的類別屬性,可以有效提高DBN網(wǎng)絡分類的準確率。
考慮電網(wǎng)的10種典型故障:單相接地故障(AG、BG、CG),兩相短路故障(AB、BC、AC),兩相短路接地故障(ABG、BCG、ACG)以及三相故障(ABC),依次對其進行編碼,如表1所示。
表1 故障類型編碼Table 1 Coding for power grid fault types
以圖4所示IEEE 39節(jié)點系統(tǒng)為例,在PSCAD環(huán)境下搭建仿真模型并獲取故障樣本。圖4中元件備注如下:B為母線;L為線路;L1817為母線B18與母線B17之間的線路,依此類推。
圖4 IEEE 39節(jié)點系統(tǒng)Fig.4 IEEE 39-bus system
為盡可能地豐富故障樣本集,文中還考慮不同過渡電阻、不同負荷水平、不同故障初相角、不同故障位置等多種因素的影響。為此,在對線路L1817進行故障設置獲取測試樣本集時,除了10種故障類型,還考慮了以下設置:(1) 接地過渡電阻分別取0 Ω,20 Ω,100 Ω,300 Ω;(2) 相間過渡電阻分別取0 Ω,2 Ω,10 Ω;(3) 線路L1817全長100 km,故障分別設置在距母線B18端5 km,35 km,65 km,95 km處;(4) 母線B18上的負荷分別取30%,80%,100%,120%的額定負荷;(5) 故障初相角以A相電壓為參考,自0°~360°之間每隔30°取一值,共12組。
綜合不同故障類型、過渡電阻、負荷情況、故障位置、故障初相角等因素的組合,共獲得11 520個典型樣本。
實際電力系統(tǒng)中故障錄波器記錄的信息主要包括線路兩端ABC三相電流和三相電壓,以及零序電流和零序電壓的采樣值。傳統(tǒng)淺層學習方法須先從中提取時域、頻域、小波域等故障特征,再利用分類器進行故障分類。為了克服淺層學習方法對信號處理技術和人工診斷經(jīng)驗的依賴,文中方法不經(jīng)過其他特征提取,直接取故障后一周波內(nèi)各相電流/電壓以及零序電流/電壓采樣值作為DBN模型的特征量輸入。為避免電流量和電壓量不同量綱和數(shù)量級別的影響,對電流采樣值和電壓采樣值分別進行線性歸一化處理。
仿真測試模型的采樣頻率設為3 000 Hz,系統(tǒng)頻率是60 Hz,因此每周波的采樣點為50,每個樣本800個點,共形成11 520個800維的高維樣本空間。
由于輸入樣本的維數(shù)決定輸入層的節(jié)點數(shù),故障類別數(shù)決定輸出層的節(jié)點數(shù),因此DBN模型輸入節(jié)點數(shù)設為800,輸出節(jié)點數(shù)設為10。
RBM可視層和隱藏層的節(jié)點數(shù)目不僅影響著DBN模型的訓練時間和計算效率,也影響著模型的分類準確率。節(jié)點數(shù)過低時,無法提取有效特征;節(jié)點數(shù)過高時,模型的計算量又將大大增加[13]。為了使DBN模型在對故障樣本數(shù)據(jù)進行特征提取和表達的同時,有效降低數(shù)據(jù)維數(shù)和模型計算量,文中DBN模型采用六層結構,并將模型中4個隱含層的節(jié)點數(shù)分別設置為400,200,100,50。經(jīng)過逐層壓縮,最終形成50維特征向量進行分類。
以正態(tài)隨機分布初始化DBN模型的權重w并進行歸一化處理,閾值a,b初始化為0。
逐層預訓練階段,將學習率和學習動量分別設為0.1和0.5,預訓練過程中最大迭代次數(shù)設為150次。反向微調(diào)階段使用BP算法,最大迭代次數(shù)設為100次。
文中隨機選取每個故障類型樣本的70%作為訓練集,對DBN模型參數(shù)進行訓練,剩余的30%作為測試集對DBN模型的性能進行分析和測試。基于DBN的故障類型辨識流程如圖5所示,步驟如下:(1) 采集原始故障數(shù)據(jù)樣本,進行歸一化處理后按7∶3分為訓練集和測試集;(2) 建立多隱層的DBN模型,并初始化網(wǎng)絡模型參數(shù);(3) 利用訓練集中的無標簽樣本,對DBN模型底部的堆疊RBM進行逐層預訓練;(4) 在DBN模型頂層添加Softmax分類器,對故障類型狀態(tài)進行編碼,確定輸出層節(jié)點數(shù);(5) 利用有標簽的樣本,使用BP算法對預訓練后的DBN模型的整個網(wǎng)絡參數(shù)進行有監(jiān)督微調(diào),使網(wǎng)絡性能趨近全局最優(yōu);(6) 保存訓練好的DBN模型,并利用測試集中的數(shù)據(jù)樣本對其性能進行測試,輸出故障類型辨識結果。
圖5 基于深度置信網(wǎng)絡的故障類型辨識方法Fig.5 Fault type identification based on DBN
DBN模型頂層分類器僅承擔分類和識別的功能,其強大的特征提取能力主要取決于底層堆疊RBM的學習過程。如果將模型中DBN正向無監(jiān)督學習過程看作由堆疊RBM進行逐層編碼的過程,則反向逐層解碼的過程可以看作是對DBN模型的輸入數(shù)據(jù)進行重構的過程。因此通過比較原始輸入數(shù)據(jù)與重構數(shù)據(jù)的差異,就可以有效分析DBN模型對數(shù)據(jù)的映射和表達能力。
在DBN中,激活函數(shù)sig(x)=1/(1+e-x)通常用來描述隱含層和可視層單元的激活概率。假設網(wǎng)絡的輸入數(shù)據(jù)為x,則可將DBN網(wǎng)絡的編碼函數(shù)定義為:
f(x)=sig(b+wx)
(4)
相應的解碼函數(shù)為:
g(x)=sig(a+wTx)
(5)
分別將樣本數(shù)據(jù)輸入到無監(jiān)督學習后以及反向微調(diào)后的DBN網(wǎng)絡中,將獲得的重構數(shù)據(jù)與原始輸入數(shù)據(jù)進行對比,如圖6所示。
圖6 輸入曲線與重構曲線的對比Fig.6 Comparison between the input curve and the reconstruction curve
對比圖6(a)和(b)可知,未微調(diào)的DBN網(wǎng)絡重構結果與原始數(shù)據(jù)存在較大偏差,而微調(diào)后,重構曲線基本與原始曲線重合,說明DBN模型訓練的反向微調(diào)過程可以降低重構曲線與原始曲線的誤差,更有利于網(wǎng)絡的特征提取和表達。
從圖6(b)可以看出,經(jīng)過微調(diào)的DBN網(wǎng)絡可以較好地重構原始輸入曲線,原始輸入數(shù)據(jù)經(jīng)過堆疊RBM逐層的特征提取,雖然數(shù)據(jù)維度有所降低,但依然能夠作為原始曲線的特征表達,在一定程度上說明DBN網(wǎng)絡具有良好的特征提取能力和保持數(shù)據(jù)特征的能力。
均方根誤差(root mean square error,RMSE)表示重構數(shù)據(jù)與原始輸入數(shù)據(jù)差值的平方根,可用ERMSE表示,計算如下:
(6)
失真度(data distortion,DD)表示重構數(shù)據(jù)與原始輸入數(shù)據(jù)的差異大小,文中采用相對均方差值來定義失真度,可用EDD表示,計算如下:
(7)
表2為輸入數(shù)據(jù)和重構數(shù)據(jù)差異的定量評估結果,經(jīng)過BP算法微調(diào)后的DBN網(wǎng)絡均方根誤差和失真度均比未微調(diào)的重構網(wǎng)絡小,進一步說明了DBN模型訓練中微調(diào)過程的必要性。
表2 差異評估指標差異評估指標Table 2 Difference assessment indexs
由于原始故障數(shù)據(jù)和DBN模型逐層提取的故障特征維數(shù)都比較高,不利于直接進行觀察和對比,因此文中采用主成分分析法從高維故障特征中提取前3個主成分(分別為PC1,PC2,PC3),并在三維坐標軸中顯示出來。利用DBN模型從原始輸入數(shù)據(jù)中逐層提取故障特征的可視化結果,如圖7所示。
圖7 DBN模型的逐層特征提取結果Fig.7 Layer-by-layer feature extraction results of DBN
圖7中,輸入層中10種故障類型的數(shù)據(jù)信號裹挾在一起,無法進行區(qū)分和鑒別。經(jīng)過堆疊RBM對輸入數(shù)據(jù)逐層學習和提取之后,同一故障類型的特征逐漸靠攏和聚集,不同故障類型的特征向外發(fā)散,并漸漸分離開,通過DBN模型輸出層的分類器后,10種故障類型的狀態(tài)特征已被完全區(qū)分開??梢钥闯觯贒BN的故障類型辨識方法擺脫了對信號處理技術和人工診斷經(jīng)驗的依賴,無需繁雜的故障特征提取過程,卻能夠自適應地從原始故障數(shù)據(jù)中逐層地進行學習,并有效地提取故障特征,且隨著模型結構的加深,故障特征的區(qū)分性越來越突出。
為了評價文中方法對故障測試集的辨識效果,首先介紹故障類型辨識的評價標準。表3為經(jīng)典的二維故障分類矩陣H2。
表3 二維故障分類矩陣Table 3 Two-dimensional fault classification matrix
在故障分類矩陣的基礎上,用單一識別準確率(single accuracy rate,SAR)表征在某一故障類型下的所有樣本中,被正確識別的樣本數(shù)所占的比例,可用ASAR表示,計算如下:
(8)
總體準確率(overall accuracy rate,ACR)表征在所有樣本中故障分類正確的樣本數(shù)目所占的比例,可用AACR表示,計算如下:
(9)
將上述故障分類矩陣擴展到10種故障類型,并使用訓練后的DBN模型對故障仿真測試集進行測試,得到輸電線路的故障分類矩陣為:
對其結果進行評估,各指標計算結果如表4所示??梢钥闯觯还苁强傮w準確率AACR還是單一故障類型的識別率ASAR均達到95%以上。故障樣本集考慮了不同故障位置、故障初相角、過渡電阻以及系統(tǒng)帶不同負荷等多種因素,說明DBN模型能夠有效地從各種復雜工況中提取故障特征并進行分類識別,具有良好的適應性。
表4 仿真案例辨識結果Table 4 Identification results of simulation case %
以圖8所示的某區(qū)域電網(wǎng)實際故障為案例進一步說明DBN模型的可行性和有效性。
圖8 某區(qū)域電網(wǎng)的部分接線Fig.8 Schematic network of a regional power grid
分別構建網(wǎng)絡中輸電線路的DBN模型,由于實際電網(wǎng)的故障樣本較少,此次訓練樣本來自該系統(tǒng)的PSASP故障仿真數(shù)據(jù),測試樣本來自故障信息系統(tǒng)中5次短路故障的故障錄波實際數(shù)據(jù),DBN模型的辨識結果如表5所示。
表5 實際案例辨識結果Table 5 Identification results of real fault cases
可以看出,文中方法能夠準確識別實際電網(wǎng)中輸電線路的故障。雖然仿真所得故障樣本與實際系統(tǒng)之間存在一定的差異,但仿真樣本考慮了不同過渡電阻、負荷大小、故障時刻、故障位置等的影響,而經(jīng)過訓練的DBN模型依然能夠?qū)嶋H電網(wǎng)中的故障類型進行準確辨識,進一步證明了DBN模型強大的學習能力與泛化能力。
為了進行對比分析,文中構建了2組ANN模型對故障仿真樣本進行學習和測試。ANN1采用與DBN一致的800-400-200-100-50-10六層結構,而ANN2則采用800-400-10的單隱層結構,2個ANN的訓練方式均采用BP算法,與DBN的有監(jiān)督微調(diào)過程一樣,最大迭代次數(shù)設為100次。3種模型均在配置2.3 GHz雙核處理器,2 G內(nèi)存的計算機上利用Matlab編程實現(xiàn),為了避免算法偶然性和隨機性的影響,取10次結果中AACR指標的平均值作比較。模型的識別結果及性能對比如表6所示。
表6 不同方法的結果對比Table 6 Comparison of results from different method
從識別準確率來看,DBN模型比ANN1模型高。根據(jù)實驗設置,DBN模型與ANN1模型采用相同的網(wǎng)絡深度和網(wǎng)絡結構,有監(jiān)督的訓練過程也相同,而兩者的辨識結果和辨識性能卻展現(xiàn)出很大的差別,說明DBN模型的逐層預訓練過程有效優(yōu)化了模型的網(wǎng)絡參數(shù),能夠為有監(jiān)督的微調(diào)過程提供一個較好的初值。而ANN1模型的參數(shù)卻采用隨機初始化的方法,并在初始化之后直接采用BP算法進行訓練,模型很容易收斂到局部最小值,因而識別準確率較低。
此外,DBN模型與ANN2模型相比識別準確率也更高,這說明淺層的ANN2模型難以從復雜數(shù)據(jù)特征中有效提取高層次特征,而DBN模型的深層結構能夠從原始輸入數(shù)據(jù)中逐層提取故障特征,將原始的800維特征逐層抽象成50維特征,再利用softmax分類器進行分類,可以克服淺層神經(jīng)網(wǎng)絡對復雜數(shù)據(jù)學習和映射能力的不足,獲得比淺層結構更好的識別和分類效果。
從ANN1和ANN2的比較結果可以看出,單純增加模型層數(shù),利用傳統(tǒng)的模型訓練方法并不能有效提高故障類型辨識的準確性。這也進一步反映了DBN模型及其訓練方法在分類特征提取方面的優(yōu)越性。
從模型性能來看,DBN模型由于增加了逐層預訓練的學習過程,其平均訓練時間與具有同樣結構的ANN1模型相比較長,但兩者對樣本的平均分類時間差別不大。而ANN2模型與ANN1相比層數(shù)少,因此其模型訓練及分類時間相對而言最短。然而,由于DBN模型訓練過程是離線完成的,保存模型參數(shù)后應用于故障類型識別,因此不會對模型在線應用的時效性產(chǎn)生影響。
綜合識別準確率和模型性能來看,在保障識別準確率的情況下,DBN模型的性能最好,平均僅需0.021 s即可實現(xiàn)故障類型的判別,能夠滿足在線故障診斷的要求。
文中將深度學習應用于電網(wǎng)故障診斷中,提出了基于DBN的電網(wǎng)故障類型辨識方法,以故障錄波信息的各相電流/電壓及零序電流/電壓作為原始輸入,從故障類型編碼、樣本數(shù)據(jù)獲取、模型參數(shù)設置、網(wǎng)絡學習等各方面給出了電網(wǎng)故障類型辨識的完整流程,最后通過DBN網(wǎng)絡的數(shù)據(jù)重構能力、逐層特征提取可視化結果以及故障類型辨識結果分析模型的性能。IEEE 39節(jié)點仿真系統(tǒng)算例和電網(wǎng)實際故障案例表明基于DBN的電網(wǎng)故障類型辨識方法具有良好的故障特征提取能力,在數(shù)據(jù)降維過程中能保持數(shù)據(jù)原本的特征,且辨識結果不受過渡電阻、故障時刻、故障位置、負荷大小等因素的影響,與傳統(tǒng)ANN模型相比識別準確率更高。
下一步的主要工作是研究網(wǎng)絡層數(shù)、隱含層節(jié)點數(shù)量、學習率、學習動量等對網(wǎng)絡訓練速度、回歸效果、識別效果的影響,就如何確定DBN網(wǎng)絡結構及參數(shù)給出經(jīng)驗,并將文中提出的故障類型辨識方案集成到現(xiàn)有電網(wǎng)故障診斷系統(tǒng)中,為在線調(diào)度提供輔助決策支持。