郝玲玲 朱永利
(華北電力大學控制與計算機工程學院 河北 保定 071003)
變壓器是電力系統的核心設備,保障其安全運行至關重要,因此,提前對變壓器進行故障診斷尤為關鍵[1]。可以根據油中溶解氣體的濃度與變壓器故障之間的關系來預測故障,常用的方法就是油中溶解氣體分析法(Dissolved Gases Analysis,DGA)[2]。基于DGA的故障診斷方法通常有人工神經網絡(ANN)[3]、極限學習機(ELM)[4]和貝葉斯分類器[5]等算法,其中:人工神經網絡的訓練速度慢;極限學習機的運行速度快,但穩定性差;貝葉斯分類器則需要將大量樣本數據進行實驗才能得到較好的效果。因此,如何在現有方法的基礎上提高診斷準確率成為了重要問題。
隨著智能化的普及,越來越多的機器算法被用在變壓器診斷中。文獻[6]在變壓器診斷中采用深度自編碼器的方法,診斷精度高于傳統算法;文獻[7]將降噪自編碼器應用于油色譜異常數據的特征提取中,但是特征提取的效果并不理想;文獻[8]將堆棧降噪自編碼器用于變壓器診斷中,診斷性能較好;文獻[9]將堆棧降噪自編碼器與支持向量機相結合應用于壓力機軸承故障診斷中,故障識別度較高;文獻[10]將多分類最小二乘支持向量機用于變壓器診斷中,與傳統方法比診斷率較高。雖然上述文獻將幾種不同的自動編碼器應用于變壓器故障診斷中,但特征提取能力及診斷準確率還有一定的不足之處。
本文針對目前存在的變壓器故障樣本少及無標簽樣本無法充分利用的情況,提出了基于深度收縮自編碼器(DCAE)與支持向量機(SVM)相結合的混合診斷模型。該混合模型通過大量無標簽樣本數據訓練DCAE網絡,自動更新網絡參數,然后用有標簽樣本對DCAE-SVM網絡的參數進行微調和進一步優化,實現故障預測。實驗結果表明變壓器診斷準確率明顯提高了。
DGA是通過獲取變壓器中的油色譜監測數據來預測可能出現的故障類型,監測的主要是幾種氣體(氫氣H2、甲烷CH4、乙烷C2H6、乙烯C2H4和乙炔C2H2)的濃度變化值,而且最終的故障類型主要包含熱故障和電故障兩種,具體分為中低溫過熱、高溫過熱、局部放電、高能放電、低能放電和正常情況6種狀態。
深度自編碼器[11]是由多個自編碼器(AutoEncoder,AE)疊加而成,逐層依次訓練每個自編碼器,有效提高了單層網絡訓練效果不理想的情況。Vincent等[12]為了提高自編碼器的魯棒性,在自編碼器的基礎上提出了降噪自編碼器(Denoising AutoEncoder,DAE)。本文所采用的收縮自編碼器(Contractive AutoEncoder,CAE)[13-16]就是在AE的基礎上為了進一步提高自編碼器的魯棒性而提出的。
DAE網絡是在原始輸入數據上添加噪聲,然后再盡可能地重構出原始數據,從而達到提高網絡魯棒性的目的。CAE網絡是在傳統AE網絡重構誤差的基礎上添加了一個新的雅克比矩陣項,以此來保證自編碼器在較小數據擾動的情況下有更強的魯棒性。DAE網絡是在重構函數處的魯棒性較高,能抵抗小的數據擾動情況;而CAE網絡依靠提取更準確的樣本特征,在特征提取處的魯棒性高,能抵抗微小的輸入擾動,其結構圖如圖1所示。

圖1 收縮自編碼器結構
原始輸入數據用向量x={x1,x2,…,xn}表示,通過自編碼器將輸入數據映射到隱含層,表示為h={h1,h2,…,hm},然后通過解碼器在特征空間重構輸入數據并輸出為y={y1,y2,…,yn},最后通過最小化重構誤差優化網絡參數,最大程度地重構原始數據。本文采用的編碼器、解碼器和重構誤差函數如下。
(1) 編碼 編碼器將原始輸入數據通過函數映射實現從輸入層到隱含層的編碼過程,具體原理可表示為:
h=fθ(x)=Sf(Wx+b)
(1)
式中:θ={W,b}為模型參數;W為權重矩陣;b為輸入層的偏置向量;Sf為激活函數,本文用的是sigmoid函數,表示為:
s(t)=1/(1+exp(-t))
(2)
(2) 解碼 解碼器將隱含層編碼h映射到輸出層y,并使得輸出層y的值與輸入層x的值盡可能相近,具體解碼原理可表示為:
y=gθ′(h)=s(W′h+b′)
(3)
式中:θ′={W′,b′}為解碼器的模型參數;W′為解碼器的權重,且W′=WT;b′為隱含層的偏置向量。
(3) 重構誤差函數 編碼器盡可能地縮小重構誤差以此來達到優化網絡參數的目的,CAE的重構誤差函數是在原函數的基礎上加了雅克比矩陣構成的,原本的自編碼器重構誤差表達式為:
(4)
式中:L為重構誤差,本文選用的是均方根誤差(Root Mean Squared Error,RMSE),表達式為:
(5)
式中:m為樣本數,xi為輸入向量,yi為輸出向量。所以,CAE的重構誤差函數可表示為:
(6)

(7)
因此,雅克比矩陣中F范數的平方和也可以表示為:
(8)
式中:hi為隱含層的輸出值,Wij為輸入層到隱含層的連接權重。
本文通過疊加多層CAE構成深度收縮自編碼器(Deep Contractive AutoEncoder,DCAE),也就是將上一層CAE隱含層的輸出作為下一層的輸入,其網絡結構圖如圖2所示。

圖2 DCAE網絡結構圖
支持向量機(SVM)[17]是現在較為常用的分類方法,在二分類、小樣本模式識別等方面均已取得了一定的成果。
為了實現對樣本的分類,SVM可以選擇不同的核函數,將樣本數據從低維映射到高維空間,從而找到一個超平面將其分為不同的類型,假設訓練樣本集為:{(ui,vi),i=1,2,…,n},其中ui為類屬性,vi為類標記,n為樣本個數,則超平面可定義為:
(9)
式中:ai為拉格朗日因子,K(u,ui)為核函數,b為偏置量。本文核函數選用的是高斯徑向核函數:
(10)
傳統的SVM針對的是二分類問題,因此,本文將變壓器診斷分解為多個二分類問題相結合的方法。針對變壓器故障診斷來說,需要使用5個二分類器,第一次分類區分的是故障和正常兩種情況,第二次區分的是熱故障和放電故障,之后三次分類就詳細區分具體的故障,模型圖如圖3所示。

圖3 SVM多分類故障診斷模型
本文首先用無標簽樣本數據訓練DCAE網絡,初始化并調整網絡參數,然后采用有標簽數據對DCAE-SVM模型參數進行調優,最終得到優化后的DCAE-SVM故障診斷模型,具體步驟如下:
(1) 對數據集進行標準化處理,并劃分成訓練集與測試集兩部分。
(2) 設置DCAE網絡參數,并初始化模型。
(3) 使用無標簽樣本訓練DCAE網絡,并自動調整每一層的參數W和b,將調整好網絡參數的DCAE模型作為預訓練模型。
(4) 用一部分有標簽樣本調整DCAE-SVM混合模型參數,得到優化后的網絡模型。
(5) 用剩下的有標簽樣本進行故障診斷測試,并計算診斷準確率。
本文選用的故障樣本是從同一型號的變壓器上采集的,共包含1 500組無標簽樣本和360組有標簽樣本,將其中1 500組無標簽樣本作為訓練集,360組有標簽樣本中的180組作為調優集,另外180組作為測試集。
根據DGA數據的特點,首先對五種典型氣體的含量值進行標準化處理,然后將其作為DCAE網絡的輸入值。標準化公式如下:
(11)
式中:xnew是標準化處理后的氣體值;x為氣體原始值;xmean表示數據集中該類氣體的平均值;xmax表示該類氣體中最高值;xmin表示該類氣體中最低值。
變壓器故障診斷結果共有6種類型,編碼情況如如表1所示。

表1 變壓器狀態編碼
本文采用MATLAB R2016a平臺測試算法性能,硬件環境為Lenovo,i5- 7300處理器,64位操作系統,8 GB運行內存。
DCAE網絡預訓練階段需要首先確定隱含層層數和隱含層節點數,然后設置迭代次數為1 000,學習率為0.01,網絡的權值矩陣W和偏置系數b都是隨機生成的較小數值。
(1)隱含層節點數 設收縮自編碼器隱含層層數為1層,輸入1 500組無標簽樣本數據分別測試了隱含層節點數為0~100時的均方根誤差(RMSE),實驗結果如圖4所示。

圖4 隱含層節點數與RMSE的關系圖
可以看出,當隱含層節點數小于50時,隨著隱含層節點數的增加,RMSE的值有明顯下降的趨勢;當節點數在50~60之間時,RMSE的值下降趨勢變得緩慢;而當節點數在60~100之間時,RMSE的值幾乎不變。因此,最終選用的隱含層節點數為60,若隱含層層數增加,則隱含層節點依次選取前一層一半的節點數會使得實驗結果較優。
(2)隱含層層數 設收縮自編碼器的隱含層層數為1~7,隱含層節點數按層數依次為:60,30,15,8,4,2,1,并以1 500組無標簽DGA數據作為輸入進行實驗,得到網絡輸出的均方根誤差,如圖5所示。

圖5 隱含層層數與RMSE的關系
可以看出,當隱含層節點數在1~3之間時,RMSE的值下降得很明顯;而當隱含層節點是在3~7之間時,RMSE的值逐漸趨于穩定。因此,本文選取的隱含層層數為3層,每層節點數分別為60、30、15。
本文首先對比了在隱含層層數與隱含層數量都相同情況下的深度收縮自編碼器與堆棧降噪自編碼器的RMSE的值,如圖6所示,其中:選用1 500組無標簽數據進行實驗,堆棧降噪自編碼器的隱含層層數為3層,隱含層節點數分別為60、30、15,學習率為0.01,噪聲比例為0.2。

圖6 兩種自編碼器的RMSE值對比
可以看出,隱含層節點數量在0~100之間時,幾乎都是本文選用的DCAE網絡的RMSE的值更低,表明使用DCAE網絡輸出的特征值比使用堆棧降噪自編碼器輸出的特征值與輸入的特征值更加接近。
其次,用180組有標簽數據集微調DCAE-SVM模型,其中模型的輸入數據為180組標準化處理后的5種氣體含量值,中間經過三個隱含層,將提取到的特征數據傳送到SVM中,輸出6種故障類型的編碼值,并與原本給定的故障類型進行比對微調,得到最優的網絡模型。最終,用另外180組有標簽樣本數據集進行測試,并計算出分類準確率。
為更明顯地對比出實驗效果,本實驗分別選用有標簽樣本中的120組數據、150組數據和180組數據作為訓練集。另外180組數據作為測試集,而且將提前訓練好DCAE的DCAE-SVM模型與傳統的BP神經網絡、SVM模型進行對比,實驗結果如表2所示。其中BP神經網絡的迭代次數與學習率的值均與DCAE網絡一致,SVM均選用RBF核函數,懲罰系數C設為80,參數Gamma設為0.008。

表2 不同訓練集時基于SVM和DCAE-SVM的結果對比
從表2中可以看出,隨著訓練集數量的增加,診斷準確率均有所上升,但是本文采用的DCAE-SVM模型的準確率更高,而且準確率變化幅度更小,說明DCAE-SVM算法前期能夠有效利用大量無標簽樣本數據,提取出更有效的樣本特征,從而提高了預測準確率。
另外,在分類算法實現過程中,F1指標是非常常用的模型效果判別方法,需要根據各種變壓器狀態的準確率和召回率來計算出F1-Score、Micro-F1和Macro-F1三個指標值,精確率的計算式為:

(12)
召回率的計算式為:

(13)
F1-Score又稱平衡F分數法,計算式為:
(14)
Micro-F1又稱微平均法,是將變壓器6種狀態的精確率之和以及召回率之和代入式(14)中計算出的;Macro-F1又稱宏平均法,是將每一種變壓器狀態的精確率與召回率都分別代入到式(14)中,然后將6個F1-Score的值取平均值得到的。
本實驗選用180組訓練集與180組測試集對DCAE-SVM方法的一次診斷結果做進一步的判定,詳細預測結果如表3所示。

表3 詳細預測結果
由表3的實驗結果可以計算出DCAE-SVM方法的精確率、召回率,以及F1-Score值,如表4所示。

表4 精確率與召回率結果
因此,由式(14)與表3、表4可得到Micro-F1的值為0.916 7,Macro-F1的值為0.905 0,而采用BPNN以及SVM方法計算出的Micro-F1值與Macro-F1值均不超過0.85。這表明本文采用的DCAE-SVM的變壓器故障診斷分類方法是有效的。
針對目前常用的變壓器故障診斷方法存在診斷準確率不高、無法充分利用無標簽樣本等問題,本文采用了基于DCAE-SVM的變壓器故障診斷方法,實驗結果證明,深層的DCAE-SVM模型不僅可以更好地利用無標簽樣本數據進行訓練,而且特征提取能力高于常用的堆棧降噪自編碼器,故障診斷率高于常用的BP神經網絡和SVM,是一種有效的變壓器故障診斷方法。