丁津津, 邵慶祝, 齊振興, 謝民, 高博, 于洋
(1.國網安徽省電力有限公司電力科學研究院, 合肥 230601; 2.國網安徽省電力有限公司, 合肥 230022; 3.安徽大學電氣工程與自動化學院, 合肥 230601)
隨著能源和電力系統的發展,可再生能源的并網和用電設備的接入,電網的網絡拓撲結構越來越復雜,用戶對電能質量要求的提高,都給故障診斷帶來困難。配電網的安全穩定運行是保障社會生產和居民生活的必要保障,因此及時實現故障定位,保證故障及時排除、供用電迅速恢復,具有重要意義。基于機理分析的傳統方法[1-2],在復雜的大電網結構下,處理非線性、非連續性、預測等問題難以達到預期效果,易受到故障類型,過渡電阻,噪聲等因素的影響。
近些年來的電網數據采集系統的建立,提供了電網故障期間的錄波數據,使得人工智能算法在電網故障診斷領域得到應用,它可以代替人工對電力系統龐大的復雜數據進行處理。在電網故障領域運用的主要包括專家系統[3]、貝葉斯網絡[4]、Petri網[5]、人工神經網絡(artificial neural network,ANN)[6]等。其中,ANN具有很好的適應和泛化能力,文獻[7]將離散小波變換與ANN相結合,實現電網故障區段識別。但文獻[8]指出傳統ANN存在維數災,輸入數據敏感,不能感知平面空間特征等缺點。近些年來,深度學習被廣泛應用在電網故障診斷領域中,CNN[9-10]是一種深度學習算法,具有強大的特征提取能力,不僅在平面感知力能力上優于傳統ANN,而且能夠處理較高維度的數據,在故障領域廣泛應用。文獻[11]根據變壓器有載分接開關的振動信號的相間分布建立CNN故障診斷模型。文獻[12]利用隨機矩陣理論構造多維數據矩陣作為CNN的輸入,實現配電網的故障診斷。文獻[13]依托CNN建立監控告警識別模型,實現電網監控告警智能識別。
在實際系統不同工況下,往往故障數據較少,導致離線訓練模型準確率不足,難以預測各類未知故障。以CNN為代表的深度學習算法在目標域樣本數量較少的情況下,深度學習的效果比較差,為了解決樣本不足的問題,近年來,研究者提出遷移學習的思想,并且應用于文本分類、圖像識別等領域。文獻[14]將豐富標注的商品信息作為源域數據進行遷移,提高目標域文本情感分類性能。文獻[15]提出了基于遷移學習,對滾動軸承的振動歷史數據進行遷移,從而提高模型的診斷準確率。
針對配電網故障診斷中存在的目標域樣本不足而導致預測精度低的問題,現提出模型遷移的方法,利用少量目標域中的數據進行遷移到源域中進行微調訓練。同時為了讓樣本集更好地進行遷移學習,提出PCA算法,它能夠在原始數據上保留大部分信息的基礎上減少特征維數,加快模型運行速度,已經在電力系統中多維數據分析方向得到了廣泛的應用。為電網的故障診斷提供了理論基礎,提升了模型的泛化能力。
在當今電網多變量信號的情況下,許多變量之間可能存在相關性。PCA的主要目標在降低各影響因素間的多重相關性,同時盡量減少原數據的信息損失[16-17]。用綜合變量來替代原始數據高維度變量,去除線性相關成分,增加數據可視化,提高運行速率。
對采集到整理的m×n樣本矩陣X,m表示樣本數量,n表示每個樣本的采樣點數,計算矩陣X的協方差矩陣Cov。

(1)

(2)

(3)
式中:xi為第i個樣本。
采用奇異值分解(singular value decomposition, SVD)的方法計算協方差矩陣的特征值和特征向量。
[U,S,V]=svd(Cov)
(4)
U=[u(1),u(2),…,u(k),…,u(n)]
(5)
式中:U為協方差矩陣的特征向量,維度為n×n;選取U的前k項與矩陣X進行變化得到降維后m×k的矩陣Z。
CNN是一種處理時間序列的深度學習算法,且在電力系統方向已經有廣泛的應用。它由卷積層、降采樣層、全連接層、輸出層組成,如圖1所示。
CNN的輸入層是由一組二維的數據矩陣圖,由卷積核與樣本矩陣進行卷積,經過激活函數得到一個特征面。卷積計算公式為

(6)

卷積運算后的降采樣層是對卷積層的輸出進行篩選過濾,去除非重要的特征參數,通過采樣核k進行二次特征的提取,均值采樣法的運算公式為

(7)
式(7)中:?為滑步卷積過程。
全連接層與輸出層相連,是一個傳統的多層感知器,其作用是利用特征進行分類。
CNN的有監督學習訓練過程包含前饋運算和反饋運算。
前饋運算:假設網絡已訓練完畢,即其中參數w1,…,wn已收斂到最優解,此時可用網絡進行故障類別預測。預測的過程就是一次前饋運算。
wn=fs2(fc2{fs1[fc1(w1)]})
(8)
式(8)中:w1為輸入;wn為輸出;fc為卷積層運算;fs為降采樣層。

圖1 CNN故障診斷模型Fig.1 CNN fault diagnosis model
反饋運算:將輸出層的結果與數據標簽相比對,計算兩者之間的誤差并反向傳播至各層,更新權重參數。
F′=F+fBP(αen)
(9)
式(9)中:F′為更新后的核參數;en為輸出和數據標簽的誤差;fBP為反饋運算過程;α為學習率。
由于電力系統中發生的故障類別較多,且三相短路故障是電力系統中危害比較大,為了表征故障類型特征,針對故障前后的三相電流和電壓的時間序列作特征分析,將三相電流i和三相電壓u的時序數據搭建矩陣,如式(10)所示。結合實際配電網場景,構建仿真模型,通過設置不同的故障條件,得到不同的故障樣本。同時為了得到足夠的故障特征,設置高維度的采樣序列,這就導致了樣本仿真時間長,模型訓練慢,加大預測成本。
X=[ia,ib,ic,ua,ub,uc]
(10)
因此采用PCA算法對原始電流電壓數據進行降維處理,緩解維度災難,得到有用的主要特征,對故障診斷性能起到重要作用。由于在降維的過程中會損失部分特征信息,為了盡可能地保留原始數據的特征,通常選擇保留99%以上的主要信息,在不影響模型分類的準確性同時提高了模型運行速率和數據的可視化。

(11)
特征維度降為k時,滿足式(10)要求即可滿足保留99%原始數據信息。
利用PCA算法處理后得到的綜合變量作為CNN的輸入層,輸出層為一個1×10維的矩陣,10個數值分別為10種故障類型的概率大小,數值越大則表示發生此類故障概率越大。為了消除不同特征的量綱影響,對原始數據集進行歸一化處理。
CNN的不同模型結構參數的設置,都會有不同的結果,如卷積層和降采樣層數、卷積核的數目以及大小、批次訓練的數量、學習率以及迭代次數都會影響訓練結果的準確性。本文研究采用逐層訓練步驟,控制變量法來進行CNN的模型訓練得到最優的訓練精度,流程圖如圖2所示。

圖2 預訓練模型流程圖Fig.2 Flow chart of pre training model
目前,在配電網輸電線路領域中存在樣本標注少的問題,對于訓練樣本不足的新分類任務,遷移學習將已經訓練好的源域模型放到新的任務中進行識別。使用已經訓練好的網絡權重參數,將這些權重遷移到目標域中,在新分類任務上進行目標域訓練。解決了目標域樣本不足以及獲取訓練樣本的成本問題。
為了避免負遷移的可能性,采用MMD對數據進行差異測量,通過一個均值指標來評價。
假設Ds、Dt分別代表源域和目標域,MMD的距離可表示為

(12)
式(12)中:ns、nt分別為兩個域的樣本個數;xsi、xtj分別為兩個域的樣本;‖·‖H為RKHS范數。
將兩組分布樣本均值作差,得到的MMD數值越小,則代表分布差異性越小,更適合遷移學習。

圖3 模型遷移CNN流程圖Fig.3 CNN flow chart of model migration
首先利用降維后的源域數據進行CNN的有監督訓練,通過反饋運算不斷更新權重,從而得到適合源域數據的預訓練模型,但是由于源域數據和目標域的差異性,預訓練模型不適合目標域,針對樣本量不足的目標域,將預訓練模型遷移到目標域中,如圖3所示。①獲取適合遷移的預訓練模型;②將預訓練模型中提取特征結構的卷積池化層權值參數遷移過來構建目標域模型;③利用降維后的目標域數據對遷移過來的模型進行微調訓練。
在MATLAB中Simulink模塊中搭建小電流接地故障仿真模型,如圖4所示。通過批量仿真生成暫態數據集。為了接近實際電網運行情況,利用故障模塊設置不同的故障線路,分別為發生單相接地故障(AG)、雙相短路故障(AB)、三相接地故障(ABG)等,一共10種。同時設置不同的系統頻率、系統電壓、系統負荷等。故障樣本參數如表1所示。系統仿真步長為0.1 ms,設置故障開始時間為0.3 s,故障切斷時間為0.7 s,仿真時間為1 s,仿真產生大量時序數據,一個采樣周期內每個樣本有 1 200個采樣點。
根據上述仿真條件,采集故障線路兩端的三相電流和三相電壓時序數據。假設采集節點1~節點4為源域數據集,節點5為目標域數據集。源域每個節點分別生成3 600個樣本數據,目標域仿真生成300個樣本數據。將每個源域節點分別與目標域節點做均值差異性檢測,最終可得出節點2和節點5的分布性差異性最小,更有利于遷移學習,因此選擇相似性最高的節點2源域數據輔助目標域進行分類。

表1 故障仿真模型參數遍歷表

G為發電機;T為變壓器;S1、S2、S3、S4為各支線路圖4 仿真實驗圖Fig.4 Simulation experiment diagram
在CNN訓練學習階段,將所有源域樣本加上標簽,由于每種故障類型的編碼是作為CNN的訓練期望輸出,對于不同故障類型獨立分類,將每個輸出歸一為0~1的數,所以將輸出值最大的標簽為1,其他置0。
CNN模型參數的設置會直接影響整個故障診斷的準確率和效率,因此本文設計了多種不同CNN拓撲結構,設置最大迭代次數為20,學習率為0.1。每種拓撲結構選取3 000組原始數據樣本訓練,300組測試樣本進行測試,每種結構都經過20次的反復仿真測試,訓練結果如表2所示。 可以看出,卷積層和池化層的層數不同會導致故障診斷的準確率差別較大,且每種結構耗時都比較長,效率低。序列5模型相比其他模型,增大了卷積核大小,測試準確率達到95.3%。

表2 不同CNN模型仿真結果
利用PCA算法對原始1 200維的采樣點降維處理,按保留99%原數據集的方差,在不影響模型性能的同時提升模型效率,根據實驗證明映射后的維度為60維度時,模型測試準確率高且運行速率大大提升。同時選擇未經任何處理的三相電流和電壓數據分別對CNN和支持向量機(support vector machine,SVM)作故障診斷比較,驗證本文提出的PCA-CNN方法的優勢。
分別選取1 000、2 000、3 000訓練樣本數對模型進行訓練,用300組測試樣本來測試模型故障判斷的準確性。測試結果如圖5所示,可以看出隨著訓練樣本的增多,故障診斷模型準確率越高。此外,在相同的訓練樣本數量下CNN模型的性能要高于SVM,與PCA-CNN相比略顯不足,經過PCA降維后CNN模型故障識別率高達98.6%。并且經過PCA降維后模型運行速率大大提高,平均訓練時間在60 s左右,更有利于故障的及時排查。

圖5 故障類型判斷準確率Fig.5 Accuracy of fault type judgment
在上述得出的結論中,PCA-CNN預訓練模型經過多次迭代實驗后,對源域測試樣本的故障識別率達到了99%;但是在對于目標域數據測試中,結果出現大量錯誤樣本。
從實驗結果中得出預訓練模型對源域具有正確的識別能力,為了能對目標域數據也具有高準確度,需要對模型進行遷移微調訓練,將已經訓練好的源域模型權重參數進行遷移,保留源域模型的網絡結構、卷積核權重、降采樣層權重。再隨機選取其中目標域300組樣本對遷移后的模型繼續訓練,通過反向傳播更新參數,得到適合目標域的模型。經過目標域模型測試后,發現幾次迭代后準確率很快達到100%。
分別利用無遷移學習的CNN,和經過遷移學習的CNN識別率進行迭代對比,其他條件保持一致,訓練結果如圖6所示,可以看出在模型遷移學習后,CNN模型訓練在第5次的迭代時就迅速達到至100%的準確率,實驗結果表明在不同的過渡電阻、系統頻率、系統負荷以及故障類型下均能準確完成故障識別。而沒有經過遷移學習的CNN模型在經歷多次迭代后仍然不能準確識別故障類型,且診斷準確率提升緩慢,容易陷入局部最優。

圖6 遷移訓練對比結果圖Fig.6 Transfertraining comparison results graph
提出了一種基于遷移學習的卷積神經網絡模型去解決電網中線路故障類型的診斷,為了讓數據更好地符合遷移學習,采用了PCA算法對電網線路傳輸過程中的電流電壓數據進行降維處理,加快了模型運行速度,節省了測試所需時間。并通過仿真模型進行了驗證,通過理論的分析和實驗驗證可以得到如下結論。
利用卷積神經網絡在電網的故障區域上可以實現精準定位,隨著迭代次數最高達到100%的準確率,預訓練模型可以實現對源域的精確識別。
在目標域只有少量數據時,將遷移學習的思想結合卷積神經網絡,對模型進行遷移訓練,可以實現小樣本下的故障識別。通過仿真模型證明了該方法在不同的系統頻率,故障類型,過渡電阻的影響下,模型準確率隨著訓練次數的增加迅速上升至100%,平均準確率達到95%,證明本文的方法能夠對故障類型精準識別。