高強,孟格格
(華北電力大學電氣與電子工程學院,河北保定071003)
絕緣子是高壓架空輸電線路的關鍵部件之一,由于長期處于運行電壓的作用下,加上露天環境腐蝕,絕緣子可能會出現掉串、斷裂、污穢等故障,對電力系統影響很大,因此,對故障絕緣子的識別具有重要意義。目前國內外識別絕緣子主要是依據輪廓、顏色和紋理[1-3]等特征來進行,對故障絕緣子的檢測方法主要有紫外成像法,紅外成像法和電場法。紫外成像法可以有效檢測絕緣子放電的故障缺陷,紅外成像法可以檢測發熱故障,電場法僅適合檢測存在于絕緣子上較嚴重的短路性故障,但這樣特征提取方式和故障檢測方法并不能完全代表絕緣子的情況。卷積神經網絡(Convolutional Neural Network,CNN)作為深度學習(Deep Learning)的一種,避免了特征提取的過程,而隱藏地從訓練數據中進行學習,這樣提取的特征更能全面地代表圖像。加上其提出局部感知野、參數共享以及降采樣,使其對平移、比例縮放、傾斜等其他形式的變形具有高度不變性。因此,被廣泛的應用于如手寫體識別[4]、字符識別[5]、人臉識別[6]、交通信號識別[7]、手勢識別[8]等領域。
隨著CNN的廣泛應用,各種問題也被深入研究,很多優化的結構和算法被提出。文獻[9]通過重復使用較小卷積核,設計并實現一種新的卷積神經網絡結構,有效減少訓練參數的數量并提高識別的準確率;文獻[10]提出深度卷積神經網絡(Deep Convolutional Neural Network,DCNN)結構解決識別中計算量大,特征提取復雜等問題;另外,文獻[11]指出,引入ReLU激活函數代替傳統的Sigmoid函數和tanh函數,也能夠提高網絡的識別性能。文獻[12]利用主成分分析網絡(Principal Component Analysis Network,PCANet)對圖像進行預處理,去除圖像之間的相關性進而降低對調參的要求,提高識別效果。
目前,關于提升CNN性能和識別率的研究非常多,但很少有從卷積核之間相關性角度研究的。在CNN網絡結構中,卷積層的作用是通過不同的卷積核來進行卷積運算提取圖像的特征信息,但不同卷積核之間的相關性表明核函數可能提取到相同的特征,會影響提取信息的獨立性,而提取相同的信息對識別率的提高并沒有幫助。本課題從核函數去相關性的角度出發,改進BP算法,使在不增加核函數數量和網絡計算量的基礎上,獨立且全面地提取絕緣子樣本的特征,進而有效的提升絕緣子樣本的分類性能。
卷積神經網絡的基本結構如圖1所示,它是一個多層的神經網絡,每層由多個二維平面組成,每個平面是由多個獨立的神經元構成。

圖1 卷積神經網絡基本結構Fig.1 Basic structure of convolutional neural network
輸入圖像經過卷積層C1的卷積運算后,加偏置,加激活進入到降采樣層S1,降采樣層可以通過多種池化方法得到特征映射圖,這些圖再進行卷積運算得到C2層,再經降采樣得到S2層,S2層經過單層感知機得到Fc并進行全連接得到最終的輸出。



圖2 CNN第一層與第二層運算關系Fig.2 Operational relationship between first and second layers of CNN

在反向傳播中,權值誤差的更新公式如下:

式中γ是學習率;J(w,b)是損失誤差函數。誤差對權值的導數為:


對l=nl-1,nl-2,……,2的各個層,殘差的表達式為:

因此,權值誤差的修正量可表示為:


因此,得第二層特征圖之間的相關性為:

根據信號檢測與估值[13]理論,對確知信號進行檢測的問題與神經網絡的模式分類是一致的。按照一定的準則判定哪個信號的存在,給出了誤碼率公式為:

式中ρ是信號間的互相關系數??梢?,互相關系數越小,誤碼率越低。因此,降低第一層輸出信號的互相關系數應能提高識別率。根據式(2)可知,第一層輸出信號與核函數有關。
對一幅M×N的圖像,可以被看成是M×N維向量空間T中的一個向量a。核函數L×L(L<min(M,N))維是H空間的向量h,由于L<min(M,N),因此,H是T的子空間。CNN卷積運算提取特征信息,就是用子空間H表達T的過程,或者,可以認為是用子空間H近似空間T。其近似程度可以用距離來表示。
首先擴展H子空間的維數,使H與T同維,即L+L1=M,L+L2=N,在擴展出來的L1和L2維度上,都填充上0。因此,L空間與T空間的距離可以表達為:

從H空間中任意選擇k個核函數向量hi,k個無關向量組可表達的最大維度是k維。假定每一維度用1表示,則k維向量與a的距離為:

如果k個向量是線性相關的,則k個向量中至少有一個是不獨立的,如果k個向量中獨立向量個數為k-r(r≥1)個,只能組成一個 k-r維基底,所表達的最大維度是k-r維,與a的距離為:

因此,由k個線性相關向量組成的基底,在表達T空間的向量(圖像)時,其誤差要大于k個線性無關組向量的誤差。
CNN卷積運算的過程,其核函數向量的維度(如3×3核、5×5的核)保持不變,而移動核函數的過程相當于其維度范圍在改變,即用不同核函數向量組來表達圖像,也就是特征提取的過程。按照BP算法進行訓練,誤差在前向傳播時,如果不控制卷積核之間的相關性,核函數向量即可能是線性相關的,也可能是無關的。其結果表現出收斂誤差的不同。
尋找具有獨立向量的核函數組是減小收斂誤差的途徑。如何去掉核函數的相關性,需要借助其他數學工具。本文采用小波分解來構造核函數,以保持核函數之間的無關性。
從圖像處理角度來看,小波分解不僅可以覆蓋整個頻域且小波分解通過選取合適的濾波器可以極大的減小或去除所提取的不同特征之間的相關性。本文對核函數進行小波分解,通過去除核函數之間的相關性來保證提取特征之間的獨立性進而提高卷積神經網絡的識別率。
小波分解后的圖像是對原圖像“不同分辨率”的表達[14]。即一個圖像作小波分解后,可得到一系列不同分辨率的子圖像。具體步驟如下:
(1)初始化網絡結構以及各連接參數,在第一層卷積核初始化時使用小波分解方法,去除核之間的相關性;
(2)假定選擇4個核函數。用訓練樣本進行BP算法傳播,并在誤差反向傳播到第一層時,用小波分解法對卷積核誤差的修改量進行處理。
分成獨立塊:即將4個核函數的誤差修正量加在一起進行小波分解,生成4個完全獨立的子塊(低頻部分分解系數、垂直方向分解系數、水平方向分解系數、對角線方向分解系數),每個核函數分別選取其中一個子塊作為修正量;
分成組合塊:每個核函數的誤差修正量分別進行小波分解,核1的修正量不做處理,核2的修正量去除垂直方向分解系數,核3的修正量去除水平方向分解系數,核4的修正量去除對角線方向分解系數;
(3)把每一次訓練的誤差給核函數更新時,都按照(2)進行修正。
實驗選用MNIST、CIFAR-10和CK三個標準數據集,并與傳統CNN算法比較,驗證核函數去相關算法的有效性。
MNIST手寫體數據庫包含70 000張0~9的圖片,每類7 000張。其中60 000張訓練樣本,10 000張測試樣本。每個樣本均為28×28的灰度圖像并直接作為網絡的輸入。在測試中,采用的網絡結構為:4C-(2×2)S-12C-(2×2)S-100F,核函數誤差修正方式為組合塊。不同尺寸卷積核去相關算法與傳統BP算法對應的識別率如表1所示。其中,識別率絕對提升量=本文算法識別率-傳統算法識別率,識別率相對提升量=(本文算法識別率-傳統算法識別率)/(1-傳統算法識別率)。

表1 不同尺寸卷積核的網絡識別率(MNIST庫)Tab.1 Identification rate of different sizes of Kernels(MNIST database)
從表1可以看出,對應不同尺寸的卷積核,本文算法的識別率總是優于傳統算法。在3×3和5×5核函數尺寸下,識別率的相對提升量分別為10.61%和13.14%,說明核函數去相關算法通過去除核函數之間的相關性,提取到了樣本更加獨立的特征,也說明該方法在MNIST庫上取得了一定的效果。
CIFAR-10數據庫包含10類共60 000張32×32的彩色圖像,每類6 000張,其中50 000張訓練集,10 000張測試集。在網絡結構為:4C-(2×2)S-16C-(2×2)S-240F,卷積核尺寸為5×5,核函數誤差修正采用組合塊的前提下,傳統算法與本文算法的網絡識別率隨著訓練次數的變化曲線如圖3所示。

圖3 傳統BP算法與去相關算法識別率隨訓練次數變化曲線Fig.3 Curve of recognition rate of traditional BP algorithm and decorrelation algorithm with the change of training times
從圖3可以看出,在CIFAR-10數據庫上,本文算法收斂速度快于傳統算法,且最高識別率60.85%大于傳統算法下的最高識別率59.41%,尤其在訓練次數比較少時這種優勢更加明顯,比如在訓練次數為5時,傳統算法識別率為51.8%,而本文算法可以達到55.69%。
CK庫是發布于2010年的cohn-kanada Dataset,共6類1810張圖片,實驗中選取90%(1629張)作為訓練,10%(181張)作為測試。在測試中,采用的網絡結構為:4C-(2×2)S-8C-(2×2)S-100F,核函數誤差修正方式為獨立塊。對應不同尺寸卷積核本文算法與傳統算法對應的識別率見表2(其中,迭代次數為50)。

表2 不同尺寸卷積核的網絡識別率(CK庫)Tab.2 Identification rate of different sizes of Kernels(CK database)
從表2可以看出,本文算法的絕對識別率較傳統BP算法分別提升22.65%、6.07%,相對識別率分別提升了83.67%、100%,尤其在5×5的卷積核尺寸下,網絡能對樣本實現100%的識別。其原因可能是該庫中,樣本數較少,不同類樣本間特征區別明顯,而本文算法恰好提取了樣本的不同特征,完成對樣本100%的識別。
在上述數據集上的實驗結果說明,相較于傳統算法,該算法能取得更好的效果,除此,能在不同核函數尺寸的條件下取得較高識別率,且此算法達到與傳統算法相同識別率的前提下,所需的訓練迭代次數更少,訓練時間更短。文獻[15]將深度信念網絡應用在絕緣子故障識別中并取得一定成果,接下來,我們將此算法應用在絕緣子故障識別中。
由于目前沒有公開的絕緣子數據庫,本文采集正常絕緣子和故障絕緣子來建立數據庫。該庫中有1 200張絕緣子圖像,包括800張正常絕緣子,400張故障絕緣子(包括掉串、放電痕跡、斷裂、污穢等)。為保證CNN網絡的泛化性,庫中絕緣子的大小、形狀,受光照強度等各不相同,且對樣本做了旋轉、縮放等處理。庫中部分正常絕緣子樣本和故障絕緣子樣本如圖4、圖5所示。

圖4 正常絕緣子圖像Fig.4 Images of normal insulators

圖5 故障絕緣子圖像Fig.5 Images of faulty insulators
3.2.1 絕緣子故障識別過程
實驗中從800張正常絕緣子中隨機選取600張作為訓練樣本,剩下200張作為測試樣本,同樣,從400張故障絕緣子中隨機選取300張作為訓練樣本,剩下100張作為測試樣本。將樣本大小均歸一化為64×64,作為CNN的輸入。
確定好訓練集和測試集后,對網絡進行初始化,網絡結構初始化為:4C-(2×2)S-8C-(2×2)S-100F,兩個卷積層核函數尺寸均為5×5,batchsize的大小設為30。
在第一個卷積層初始化時,對四個核函數分別進行小波分解處理,每個核分別選取小波分解后的不同子塊。
用訓練樣本進行BP算法傳播,并在誤差反向傳播到第一層時,用小波分解法對卷積核誤差的修改量進行處理,在這里,核函數的誤差修正方式采用組合塊,網絡訓練完成后,對測試集進行測試,并計算網絡識別的正確率。
3.2.2 實驗結果
在3.2.1的結構和參數前提下,當訓練的迭代次數從10次變化到50次時,本文算法和傳統算法對訓練樣本和測試樣本的識別率如表3所示。
由表3可以看出,隨著訓練的迭代次數增加,兩種算法對訓練樣本和測試樣本的識別率均呈上升趨勢,對傳統算法來說,當迭代次數增加到40次時識別率基本保持不變,對本文算法來說,當迭代次數增加到20次時,識別率即可保持基本不變。且就識別率而言,該算法能對訓練樣本實現100%識別,由于傳統算法對測試樣本的最高識別率99.77%,該算法對測試樣本識別率也以98.33%高于在傳統算法下的96.67%。在本實驗中,傳統算法達到收斂(迭代次數為40)所需要的時間為4.13 m,本文算法達到收斂(迭代次數為20)所需要的時間為2.12 m。綜上,該算法在對絕緣子故障的識別中,從識別率和收斂速度而言,均優于傳統算法。

表3 迭代次數對識別性能的影響Tab.3 Effect of iteration number on recognition performance
3.2.3 實驗結果理論分析
用互相關系數來表示特征圖之間的相關性,互相關系數值的范圍在-1~1之間,為負代表兩個圖像呈負相關,為零代表不相關,為正代表正相關。傳統算法和本文算法下,對應特征圖之間互相關系數值如表4所示,在此,選取5個樣本特征圖之間的互相關值來做對比。

表4 不同樣本特征圖之間互相關系數Tab.4 Cross correlation coefficient of different samples
由表4可以看出,對應不同樣本,此算法下特征圖之間的相關性均小于在傳統算法下,結合1.2和1.3的分析,說明核函數去相關算法能更有效提取相互獨立的特征圖,獲取更多的信息,這對于提高網絡的識別性能也更有力。
3.2.4 與其他算法的比較
為驗證該算法在絕緣子故障識別中的有效性,實驗將該算法與文獻[16]的3-CNN,文獻[17]的CConvNet以及文獻[18]提出的算法進行對比。本實驗中,3-CNN算法采用的網絡結構為:4C-(2×2)S-6C-(2×2)S-6C-(2×2)S-100F,CConvNet算法采用的網絡結構為:2C-4C-(2×2)S-6C-8C-(2×2)S-100F,將該算法與文獻[18]提出的算法結合,在網絡訓練時,也對核函數進行去相關性處理。不同算法的識別性能如表5所示。

表5 不同算法識別性能比較表Tab.5 Comparison table of the classification performance among different algorithms
從表5可以看出,該算法在識別率上明顯優于其他算法,且將該算法與其他算法相結合,識別效果也得到進一步改善,如將文獻[18]算法與該算法相結合后,文獻[18]的識別率由96.33%提升至98%。從訓練至收斂的時間來看,文獻[18]所需時間最短,但其識別率僅有96.33%,說明網絡結構簡單、提取的特征不夠全面,雖然節省了訓練的時間卻造成了更多的錯誤識別。綜上,該算法在絕緣子故障識別中表現出不錯的效果,具有一定的應用價值。
文章基于改變卷積核對圖像特征的表達,提出了通過小波分解去除核函數相關性的算法。用較少且不相關的卷積核來獨立、全面地提取圖像的特征,實現更好的識別效果。MNIST、CIFAR-10和CK數據集上的實驗表明,此算法不僅可以提高識別率而且能加快收斂速度。最后將此算法應用在絕緣子故障識別中,說明此算法具有一定的有效性和可行性。