邵淦, 吳昊, 姚朔曄
(國網(wǎng)寧波供電公司, 寧波 315000)
電力通信作為保障電力運行的重要樞紐,是電力建設(shè)和保障的重點。伴隨著電力通信規(guī)模的擴大,通信設(shè)備不斷增加,從而使得駕馭電力通信網(wǎng)的難度也逐步增加。因此,如何保障電力通信網(wǎng)的通信以及如何及時對通信網(wǎng)出現(xiàn)的故障進行診斷與定位,是當前電力智能化建設(shè)和思考的重點。傳統(tǒng)的電力通信網(wǎng)故障診斷通過建立規(guī)則庫的方式判斷,但這種規(guī)則庫主要依賴于人工經(jīng)驗。而隨著人工智能的興起,深度學習算法在處理非線性問題方面的優(yōu)勢開始逐步體現(xiàn)。如唐斯等[1]提出基于深度學習算法,利用注意力與多尺度卷積神經(jīng)網(wǎng)絡(luò)對電機軸承故障診斷,實現(xiàn)了電機軸承故障的快速診斷。石赫等[2]基于深度學習,對非線性電網(wǎng)故障進行了準確定位?;诖?,本研究提出一種基于CNN卷積神經(jīng)網(wǎng)絡(luò)的電力通信網(wǎng)故障診斷模型,以實現(xiàn)對電力通信網(wǎng)的故障診斷。
CNN神經(jīng)網(wǎng)絡(luò)由卷積層、池化層、全連接層三層結(jié)構(gòu)組成[3]。其中,卷積層是整個網(wǎng)絡(luò)的核心層,主要負責提取圖像特征,其數(shù)學描述如式(1):
y=f(∑wijx+b)
(1)
式中,x、y分別表示該網(wǎng)絡(luò)層的輸入和輸出圖像特征,wij表示二維卷積核,b表示偏置項,f(·)表示激活函數(shù),通常為tanh函數(shù)、sigmoid函數(shù)、ReLU函數(shù),但由于前2種函數(shù)收斂速度緩慢,且容易梯度消失,因此本研究中采用ReLU函數(shù),具體表達式為
f(x)=max(0,x)
(2)
池化層分為平均池化和最大池化2個大類[4],主要負責強化卷積層提取的圖像特征,以提高模型的泛化能力。在本研究中,采用最大池化采樣,數(shù)學表達式為
y=f(βdown(x)+b)
(3)
式中,x、y分別表示池化輸入特征和卷積層輸出特征,β、b分別表示乘性和加性偏置項,down(·)表示池化函數(shù)。
全連接層的作用是通過連接的神經(jīng)元組合圖像局部特征,實現(xiàn)分類并輸出分類結(jié)果。其數(shù)學描述如式(4)。
y=f(wx+b)
(4)
式中,y表示全連接輸出,f(·)表示激活函數(shù),x表示全連接層輸入,w表示權(quán)值,b表示偏置項。本文的全連接層采用softmax函數(shù)[5]。
CNN網(wǎng)絡(luò)訓練的具體流程如下:
(1) 設(shè)置網(wǎng)絡(luò)初始參數(shù),并輸入網(wǎng)絡(luò);
(2) 計算模型輸出值與目標輸出值的誤差;
(3) 當誤差小于期望值時,結(jié)束訓練,并輸出固定權(quán)值和閾值;反之,則反向傳播誤差,并更新權(quán)值,重復步驟(2)和步驟(3),直至誤差小于期望值,結(jié)束訓練。
基于CNN通信的故障診斷模型構(gòu)建方法,首先利用故障狀態(tài)矩陣對整個網(wǎng)絡(luò)故障狀態(tài)進行表征,并添加根源故障標簽[6]。其次,利用CNN網(wǎng)絡(luò)提取故障特征。然后,計算輸出結(jié)果與真實標簽向量的誤差。最后,利用softmax分類器輸出診斷結(jié)果。
考慮到原始告警信息數(shù)據(jù)中存在大量噪聲等干擾信息會對模型訓練造成影響,研究對這些數(shù)據(jù)進行選取與標準化、時間同步、加權(quán)編碼的處理,具體處理方式如圖1所示。
(1) 告警數(shù)據(jù)選取與標準化
結(jié)合當期獲取的電力通信網(wǎng)告警信息特征,本研究對告警數(shù)據(jù)處理與標準化處理具體實現(xiàn)方法如下。首先,將采集到的原始告警信息輸入數(shù)據(jù)庫,選取與故障診斷相關(guān)的數(shù)據(jù);然后,根據(jù)本研究定義屬性值和字段名對所有選取的數(shù)據(jù)進行標準化處理,即實現(xiàn)了對原始告警數(shù)據(jù)的初步處理。在告警數(shù)據(jù)標準化階段,研究根據(jù)字段值對最終診斷結(jié)果的影響程度,選取了5個對診斷結(jié)果影響較大的字段作為每一條告警信息的標識[7-8]。告警數(shù)據(jù)標準化選取的告警字段及其對應(yīng)屬性值如表1所示。
表1 標準告警字段及屬性值
(2) 時間同步
(3) 告警數(shù)據(jù)編碼
告警數(shù)據(jù)編碼主要是表明每種告警對故障診斷的重要性。研究根據(jù)告警信息不同級別和類型對告警信息進行加權(quán),以表征故障重要程度。但實際故障診斷中,由于存在如設(shè)備板卡脫位時根因告警等次要告警,而這類告警對故障診斷十分重要,因此本研究利用歷史數(shù)據(jù),設(shè)定每種告警對故障診斷的重要性,并通過式(5)對所有故障診斷影響權(quán)值進行計算。
(5)
式中,wA表示告警A對故障診斷影響權(quán)值,k表示故障種類,wi表示告警A對第i中故障的權(quán)值,nA表示wi不等于0的個數(shù)。
考慮到編碼規(guī)模,研究僅選取了其中8種權(quán)值較大的告警類型進行編碼,并根據(jù)告警權(quán)值大小進行優(yōu)先級排序和二值化編碼,得到如表2所示的編碼結(jié)果。
表2 告警編碼
采用圖論鄰接矩陣表征站點拓撲連接關(guān)系。設(shè)一個有n個站點的圖為G,其頂點集、鄰接矩陣、邊集分別為V(G)={v1,v2,…,vn}、A(G)=(aij)n×n、E(G)。
其中:
(6)
編碼故障時刻每個站點的告警事務(wù)為T(G)=diag{t11,t22,…,tnn},tii表示站點vi的告警事務(wù)編碼。定義故障狀態(tài)矩陣為F(G),可通過式(7)計算。
V(G)={S1,S2,S3,S4,S5}
(7)
假設(shè)站點集V(G)={S1,S2,S3,S4,S5}中S1丟失接收測光信號,則該時刻各站點對應(yīng)的告警事務(wù)編碼如表3所示。
表3 各站點告警事務(wù)編碼
由式(6)可知鄰接矩陣為
(8)
根據(jù)故障時刻告警實物編碼可知:
(9)
由式(7)可知故障狀態(tài)矩陣為
(10)
完成告警數(shù)據(jù)編碼后,添加其對應(yīng)的根源故障標簽即可實現(xiàn)關(guān)聯(lián)根源故障與告警。將所有故障時刻告警事務(wù)進行編碼,即可得到CNN網(wǎng)絡(luò)訓練樣本集。故障類型標簽編碼如表4所示。
表4 故障類型標簽編碼
基于CNN網(wǎng)絡(luò)主要通過卷積操作實現(xiàn)特征提取輸入網(wǎng)絡(luò)的故障狀態(tài)矩陣不同類別的故障特征圖[8]。當卷積核越多時,提取到不同層面的特征就越多,就越容易挖掘出故障和告警的特征關(guān)聯(lián),故本研究采用多核進行卷積操作。多核卷積操作如圖2所示。
圖2 告警數(shù)據(jù)處理流程圖
最大池化層主要功能是減少圖的特征維度,保留圖的重要特征[9]。其具體池化操作如圖3所示。
圖3 故障特征最大池化
通過最大池化操作,整個卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)提取到n1,n2,…,nk等k個不同故障類別的特征圖。但由于這k個特征圖僅由故障狀態(tài)矩陣中局部像素獲得,只能反映故障類別的局部特征,而故障特征的完全類別特征并沒有表示出來,因此需要通過全連接層加權(quán)處理組合這些局部故障類別特征,并利用softmax分類器進行分類,得到每個故障更全面的特征。根據(jù)故障類別(6類),本研究建立的softmax分類器包含6個神經(jīng)元,分別對應(yīng)T1、T2、T3、T4、T5、T6不同故障類別標簽,如圖4所示。
圖4 全連接加分類器
對于故障站點標簽,本研究中除softmax層輸出維度的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)不同外,含1×6的故障類型標簽向量,其余參數(shù)均與故障站點標簽分類的訓練網(wǎng)絡(luò)一致。
2.4.1 診斷模型
考慮到本研究的故障樣本數(shù)據(jù)量有限,且故障狀態(tài)矩陣為11×11,較為簡單,故本研究設(shè)計基于CNN的電力通信網(wǎng)故障診斷模型結(jié)構(gòu)較為簡單,如圖5所示,具體每一層的網(wǎng)絡(luò)參數(shù)如表5所示。表中,C1、C2表示卷積層;P1、P2層表示池化層;FC表示全連接層。
圖5 基于CNN的電力通信網(wǎng)故障診斷模型
表5 基于CNN的電力通信網(wǎng)故障診斷模型參數(shù)
輸入層輸入圖像輸出的是維度為1×1×11單通道灰度圖片。C1的卷積核在卷積前補充一圈0給輸入的圖片四周,以避免圖像邊緣的像素過多參與卷積導致的邊緣信息大幅丟失,確保輸出特征圖保持原始圖片的大小,長和寬均為(11+2-3)/1+1=11。由于C1層的卷積核為32個,因此其通道數(shù)為32個。C2層的輸出特征圖長寬均為(5+2-3)/1+1=5。P1層的輸出特征圖長寬均為(11-2)/2+1=5,由于其輸入為C1層輸出,因此其通道同樣為32個。P2層的輸出特征圖長寬為(10-2)/2+1=5。FC含1 024個神經(jīng)元,故其輸出為 1×1 024。softmax分類層輸出維度為1×6。
2.4.2 診斷模型實現(xiàn)
采用上述方法搭建基于CNN的電力通信網(wǎng)故障模型,并利用采集的告警數(shù)據(jù)對其訓練和測試。模型訓練和測試具體流程如圖6所示,主要分為以下步驟。
圖6 基于CNN的電力通信網(wǎng)故障診斷流程圖
步驟1:將采樣的告警數(shù)據(jù)進行預處理和編碼得到故障狀態(tài)矩陣集,并轉(zhuǎn)化為灰度圖片。
步驟2:根據(jù)輸入樣本標簽和分類要求建立2個CNN網(wǎng)絡(luò),每個網(wǎng)絡(luò)分別包括2個卷積層、2個池化層、1個全連接層、1個輸出層。
步驟3:采用截斷正態(tài)分布法和集成交叉熵函數(shù)法分別設(shè)置初始參數(shù)與定義損失,并采用Adam算法優(yōu)化器優(yōu)化訓練。
步驟4:將圖片通過池化層和全連接層輸出,并計算其與真實值的誤差a。
步驟5:判斷模型是否收斂,若模型未收斂,則進入步驟6,反之,則進入步驟7。
步驟6:將a反向傳播到CNN網(wǎng)絡(luò)各層,并采用BP算法調(diào)整各層權(quán)值,直到模型收斂。
步驟7:根據(jù)損失函數(shù)值大小判斷CNN網(wǎng)絡(luò)是否滿足要求,若滿足則輸出最終故障診斷,反之則返回步驟3。
電力通信網(wǎng)最重要的組成部分是SDH設(shè)備和核心路由器,因此本研究配置的實驗環(huán)境為由華為技術(shù)有限公司提供的11臺SDH網(wǎng)絡(luò)傳輸機器、4臺網(wǎng)管服務(wù)器、8臺NE40E核心路由器。另外,配置有4臺OTN和1臺信號發(fā)聲器以及1套視頻會議系統(tǒng)。根據(jù)以上設(shè)備設(shè)施,本研究搭建了如圖7所示的電力通信網(wǎng)仿真實驗拓撲圖。
圖7 電力通信網(wǎng)仿真測試拓撲圖
在SDH配置中,本研究首先進行了物理連接和創(chuàng)建配置網(wǎng)元,然后完成了時鐘的同步設(shè)置以及保護子網(wǎng)和業(yè)務(wù)的配置,最后通過上述操作實現(xiàn)了SDH的整體配置。另外,為確保視頻會議系統(tǒng)正常運行,本研究配置了5個1兆的視頻會議專用業(yè)務(wù)通道。
核心路由器配置主要是對IP和路由表進行配置。本研究采用串口方式連接路由器的console口,并以命令行的方式進行配置。
3.2.1 參數(shù)設(shè)置
由于神經(jīng)網(wǎng)絡(luò)通常存在訓練時間長、收斂速度慢的問題,導致模型的訓練速度和準確率不高,因此需要對模型參數(shù)進行調(diào)優(yōu)處理[10]。通常情況下,參數(shù)調(diào)優(yōu)有2種方式,分別是調(diào)整與訓練過程有關(guān)的參數(shù),如學習率、迭代次數(shù)、最小批次以及調(diào)整與網(wǎng)絡(luò)結(jié)構(gòu)有關(guān)的參數(shù),如網(wǎng)絡(luò)層數(shù)、卷積核個數(shù)等?;诒狙芯恐性O(shè)計的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和樣本集的特點,本研究主要對與訓練過程有關(guān)的參數(shù)進行了調(diào)優(yōu)。
將模型初始參數(shù)迭代次數(shù)設(shè)置為30次,學習率設(shè)置為0.01,最小批次大小設(shè)置為128,可得到模型的損失函數(shù)如圖8所示,模型的準確率如圖9所示。
圖8 學習率為0.01時模型損失函數(shù)
圖9 學習率為0.01時模型準確率
由圖8、圖9可知,模型的損失值在4.02~4.52之間,模型的準確率在0.8%~2.5%之間,且存在劇烈的震蕩,均沒有呈現(xiàn)出明顯的下降或提高。由此可得出,學習率為0.01時,模型沒有收斂。這或許是因為學習率過高,故在保持迭代次數(shù)和其他參數(shù)不變的條件下,調(diào)小學習率至0.001,得到模型的損失值如圖10所示,準確率如圖11所示。
圖10 學習率為0.001時模型損失值
圖11 學習率為0.001時模型準確率
由圖10可知,當?shù)螖?shù)為20之前,模型的損失值下降速度較快;當?shù)螖?shù)超過20后,模型的損失值下降速度不明顯,其原因或是過度擬合,因此在參數(shù)調(diào)優(yōu)中,需要減少迭代次數(shù)。由圖11可知,當?shù)螖?shù)為20時,模型的準確率高達98.21%。
綜上可知,本研究設(shè)計的CNN卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)合理可行,可利用控制變量法對參數(shù)進行微調(diào)。
3.2.2 參數(shù)調(diào)優(yōu)及結(jié)果分析
(1)學習率調(diào)優(yōu)結(jié)果分析
在最小批次為128,迭代次數(shù)為20時,不同學習率的模型結(jié)果如表6所示。由表可知,當學習率為[0.000 5,0.004]時,準確率均達到97%以上;當學習率為[0.004,0.005]時,準確率快速下降;當學習率為[0.000 5,0.001]時,準確率提升較小,再降低學習率只會導致訓練時間延長,并不會對模型準確率有較大影響,因此可以確定模型最佳學習率應(yīng)在0.001至0.004之間。
表6 不同學習率的模型準確率
(2)最小批次調(diào)優(yōu)結(jié)果分析
在學習率為0.001,迭代次數(shù)為20時,不同最小批次大小的模型診斷準確率如表7所示。由表可知,當最小批次大小在128之前,模型的準確率均高于93%;當最小批次大小超過128之后,模型的準確率急劇下降,因此可以確定模型最好的最小批次大小應(yīng)為128。
表7 不同最小批次大小模型診斷準確率
(3)迭代次數(shù)調(diào)優(yōu)結(jié)果分析
在學習率為0.001,最小批次大小為128時,不同迭代次數(shù)模型的診斷準確率如表8所示。由表可知,當?shù)螖?shù)為20時,模型的準確率快速提升;當?shù)螖?shù)大于20后,模型的準確率提升幅度較小,而繼續(xù)增加迭代次數(shù)容易導致過度擬合。因此,綜合考慮以上因素,本研究控制迭代次數(shù)為20次。
表8 不同迭代次數(shù)的模型診斷準確率
為驗證卷積神經(jīng)網(wǎng)絡(luò)算法的性能,本研究比較了該算法與貝葉斯分類算法的診斷準確率,如圖12所示。由圖可知,本研究提出的卷積神經(jīng)網(wǎng)絡(luò)算法的診斷準確率比貝葉斯分類算法的診斷準確率高6.23%,說明卷積神經(jīng)網(wǎng)絡(luò)算法的特征提取能力優(yōu)于貝葉斯分類算法,具有良好的特征提取能力。
圖12 不同算法的故障診斷模型準確率
通過參數(shù)調(diào)優(yōu),本研究設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)模型的故障診斷準確率達到99.23%,且比貝葉斯分類算法模型的故障診斷準確率高6.23%,說明本研究設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)模型可有效提取故障和告警之間的特征關(guān)系,同時對故障的分類和診斷準確率較高,基本與實際情況相符。
綜上所述,本研究提出的基于CNN卷積神經(jīng)網(wǎng)絡(luò)故障診斷模型結(jié)構(gòu)合理可行,可通過控制變量法對微調(diào)參數(shù),進而獲得電力通信網(wǎng)故障最佳診斷模型。相較于貝葉斯分類算法模型,該模型對電力通信網(wǎng)的故障診斷準確率提高了6.23%,達到99.23%,基本與實際情況相符。但由于本研究實驗場地限制,僅設(shè)置了11個網(wǎng)絡(luò)站點,無法與真實的電力通信網(wǎng)站點相提并論,因此在實際電力通信網(wǎng)絡(luò)故障診斷中,故障診斷的難度或?qū)⒋蠓仍黾?。所以,本研究還需在實驗環(huán)境中增加站點數(shù)量,以滿足實際電力通信網(wǎng)的需求,使數(shù)據(jù)集更符合真實情況。