趙明 謝萍 趙志軍 武孟
摘要:針對故障具有層次性、傳播性、相關性和不確定性導致的故障診斷和檢測難的問題,基于卷積神經網絡對網絡運行過程中的日志數據進行數據預處理、特征提取、參數約簡和分類訓練,作為網絡故障診斷研究的訓練與測試數據集,對其進行預處理和特征提取。通過卷積神經網絡進行訓練得到故障診斷模型,進而對網絡診斷原始數據進行診斷與故障定位。附實例進行驗證,實現了特定網絡環境下基于單一故障樣本的故障診斷。
關鍵詞:卷積神經網絡;故障診斷;特征提取;根源故障;樣本集
中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2020)09-64-4

0引言
通信網絡上運行的業務越來越多樣化,對業務質量的要求也越來越高,與此同時網絡出現故障的概率也隨之增加,網絡故障的檢測和處理效率直接影響網絡是否能正常運行及業務服務質量。故障診斷是網絡運維管理中非常重要且難度極大的研究課題之一,大數據及人工智能等新技術的發展也為故障診斷和預測提供了技術支撐。
傳統的網絡故障診斷大多依賴于網絡設備的主動告警上報,網絡復雜性的增加和所承載的業務的多樣化,導致越來越多的網絡故障現象與故障發生的根源差異很大,并且網絡故障影響范圍越來越大且對業務質量造成影響,需要依靠專業運維人員進行故障排查和關聯分析,時效性差,無法進行故障的事前預測,因此將人工智能應用到網絡故障的檢測預測具有重大意義。
本文在基于機器學習[1-3]的智能故障診斷等研究成果的基礎上,針對原始的人工神經網絡模型存在學習時間長和網絡規模大的缺點進行改進,構建基于深度神經網絡的智能故障診斷架構。
1深度學習在故障檢測中的應用
1.1故障診斷難點
故障診斷是根據呈現的故障現象進行分析和定位故障發生的根本原因,一般包括故障檢測、故障定位和故障確認測試3個步驟。故障檢測是根據所采集故障現象初步判斷網絡位置以及原因;故障定位根據初步判斷的故障位置和原因結合歷史告警數據,基于深度學習模型,分析該故障的根源故障、關聯關系以及影響范圍;故障確認測試也被稱為故障確認,是對故障定位和原因基于多種手段進行精準定位和影響范圍的精準確定。
故障具有以下特點:
①層次性:通信網絡的7層分層架構和復雜拓撲連接關系,導致網絡故障發生位置和影響范圍也具有層次性。
②傳播性:故障具有縱向和橫向傳播性。縱向傳播是指網絡的分層,即物理層的故障可能會觸發或引起數據鏈路層、網絡層和應用層發生故障;橫向傳播是指故障在鏈路層由一點故障引發相關聯的鏈路故障。
③相關性:故障可能呈現多種故障現象,故障現象也可能對應多個故障位置或故障根源。
④不確定性:網絡故障的發生是隨時、隨地和不確定的,具有隨機性、模糊性和某些信息的不確定性。
故障的上述特點導致網絡故障數據模糊和標注困難,而對于機器學習來說,數據決定一切。因此故障預測的最大的難點是需要大數量、高質量的網絡運行數據。
1.2基于深度學習的故障診斷原理
針對故障的特點及故障檢測的最大難點,深度學習為網絡故障診斷技術提供了新思路,基于深度學習的網絡故障診斷方法將深度神經網絡模型引入到故障診斷系統中,深度神經網絡模型對已知的數據信號和異常模式進行訓練,得出數據信號與異常模式之間蘊含的關系,并對網絡診斷原始數據進行處理與故障定位。當整體系統發生變化,神經網絡模型也通過繼續訓練自適應調整參數。
基于深度學習[4]的網絡故障診斷方法能夠從網絡狀態數據中自動輸出潛在的故障現象與特定故障之間的映射,不需要過多的人為干預,因此可以應用到復雜網絡的故障診斷。當網絡環境拓撲或網絡環境參數發生變化時,可以改變神經網絡模型中的對象參數進行訓練或在線學習,以便于完成故障診斷的更新和同步。當訓練和測試結束后,模型自動輸出故障診斷結果。
2基于深度卷積神經網絡的故障診斷
2.1卷積神經網絡模型
卷積神經網絡[5-7]通過模擬生物自然視覺認知機制進行數據分析,主要包括輸入層、卷積層、池化層和全連接層。數據預處理后輸入層得到詞向量,詞向量達到卷積層后,經過卷積運算完成局部特征的提取;卷積層的輸入由前一層的局部區域與權重決定,每一層的輸出作為下一層神經元的輸入,多層卷積運算將每一層的卷積運算結果進行非線性變換;池化層對卷積層的輸出進行二次抽樣,以減小輸出特征的總量并篩選出最具有代表性的特征;經過輸入層、卷積層和池化層的訓練和提取后,全連接層完成故障分析和診斷,輸出故障診斷結果。
①輸入層:將預處理的數據進行字符化操作轉換,經過Skip-gram型訓練,輸入層輸出詞向量。假設構造的故障樣本中包含個詞,是樣本中的第個詞所對應的詞向量,卷積神經網絡的輸入層是由個維向量組合而成的二維數據矩陣。如果預處理的數據樣本長度小于,需要對數據向量補零操作,使其長度達到規定的要求。

③池化層:主要對卷積層輸出的局部特征圖進行最大池化操作,選取卷積層抽取的若干個特征值中最大的,即對網絡故障診斷結果影響最大的因素值作為池化層的特征值,最大特征值的提取也會減少或增加輸入參數的數量,使得模型的適應性更強。
④全連接層:將卷積層中得到的特征圖,經過池化層的最大池化操作后,提取出對故障診斷影響最大的若干個局部最優特征,再通過全連接層映射到類別維度的大小,并通過Softmax歸一化得到每個類別的概率,從而能夠綜合考慮提取出的所有局部特征,完成網絡故障診斷。
2.2卷積神經網絡的故障診斷流程
對收集的原始數據進行預處理和清洗等操作,輸入卷積神經網絡模型進行故障診斷測試,步驟如圖1所示。
①數據預處理:搜索數據中的空字符、重復字符、格式錯誤數據及非法標注字符等不符合要求的“臟數據”,為數據分析和特征提取做準備。
②特征提取:對清洗去重后的數據樣本進行分詞,掃描數據樣本中出現的所有單詞字符,根據字符特征形成詞典。
③向量轉換和特征提取:使用矢量方法將詞典中的每一個單詞轉換為向量形式,即將普通字典單詞轉換為向量字符。模型實際訓練時,神經網絡層的訓練與卷積神經網絡訓練同時進行,屬于非人工參與的特征自提取。
④故障預測:進行時間維度和空間維度數據訓練,將訓練結果輸入分類模型進行進一步訓練,最后輸出故障檢測結果。

3實例驗證
以運維管理系統采集的承載網絡故障數據為基礎試驗數據,進行基于卷積神經網絡的故障診斷,并對所設計的診斷模型即深度學習神經網絡進行驗證性實驗。從仿真試驗環境及試驗步驟和結果兩方面進行驗證。根源故障如表1所示。

(1)仿真驗證環境
①平臺軟件參數:ubuntu16.04,python3.6,keras,tensorflow,numpy,pandas。
②實驗仿真參數:觀測時間窗口=20 min,預測時間窗口為1 min。
(2)試驗步驟和結果
①數據預處理:一個樣本是一組故障告警的合集。因獨熱編碼相加后不失去原本語義的特點,將一個樣本中的所有故障告警的獨熱編碼相加。所生成的新的向量,包含原本各個獨立的故障告警信息。通過上述方法,將樣本處理成神經網絡可接受的輸入向量。將輸入向量輸入到神經網絡中,與每個神經元的權重向量做內積,取其中內積最大者為獲勝神經元。
選取3個已知故障類型的樣本Z1,Z2,Z3。3個樣本都只含有一種故障,分別是F1,F3,F5。除這3種故障外,3個樣本均不含有F6故障。將3份樣本輸入已經訓練完畢的算法程序中,輸出結果如表2所示。

從表2中可以看出,樣本Z1,Z2中與對應故障(F1,F3)相對的值遠低于其他3項,而Z3對應故障雖為最小值,但與其他故障相差并不明顯。對樣本Z3的輸入數據進行分析發現,Z3的樣本中含有F1故障作為噪音導致的。同樣可以看到,3個樣本對于故障F6的值都是最大的,從這方面可以看出F6確實不包含在Z1,Z2,Z3中。而輸出值這么大的可能原因是F6的故障特征與F1,F3,F5的區別較大。
換取不同樣本,分別對根源故障F1(Z4,Z5,Z6,Z7),故障F3(Z8,Z9,Z10,Z11),故障F5(Z12,Z13,Z14,Z15)與F6進行對比實驗,結果如表3所示。

對于同一個根源告警的4次實驗,輸入的噪音逐步增多。可以從表中看到,隨著噪音的增大,對應根源告警的故障評價指數也隨之變大。對于噪音最大的Z7,Z11,Z15的情況,可以看到其取值已經大過0.2,但是程序仍能鑒別出單獨故障,證明本算法對于單故障的診斷有較好的效果。
將輸入樣本Z1~Z15輸入到SOM神經網絡實驗算法中,其統計結果如表4所示。

從統計結果可以看出,算法可以很好地完成單根源故障診斷的任務。
4結束語
故障定位和診斷一直是網絡運維管理系統所致力于解決的問題之一,但是由于被管對象復雜、收集的故障樣本少、故障現象和原因定位困難及缺乏數據分析等原因,導致故障定位和診斷困難,文章通過將已有的故障數據進行預處理,并基于卷積神經網絡模型進行訓練測試,實現了基于已有數據的初步故障定位和粗略預測,研究成果可以應用于運維管理的故障定位分析,將會提升運維管理的故障處理能力,使得故障處理更加及時和準確。
參考文獻
[1]肖增良,樂曉波,周輝.基于與或依賴圖的多Agent系統任務分解算法[J].計算機工程與設計,2009,30(2):426-428.
[2]劉曉明,黃傳河,江貝.一種基于移動Agent技術的網絡管理模型[J].計算機應用研究,2000(12):52-53,69.
[3] LENNSELIUS B,RYDSTROM L.Software Fault Content and Reliability Estimations for Telecommunication Systems[J]. IEEE Journal on Selected Areas in Communications,1990,8(2):262-272.
[4]朱淼良,邱瑜.移動代理系統綜述[J].計算機研究與發展, 2001(1):16-25.
[5]劉波,李偉,羅軍舟,等.網絡管理中多agent的半在線調度算法[J].計算機研究與發展,2006(4):571-578.
[6]王媛媛,譚獻海.移動代理系統———IBM的Aglets[J].微計算機信息,2006(9):275-277,136.
[7]金黎黎,孔令富.協同設計環境中任務分解與調度的研究[J].計算機工程與設計,2009,30(22):5291-5293.