趙明 謝萍 趙志軍 武孟
摘要:針對(duì)故障具有層次性、傳播性、相關(guān)性和不確定性導(dǎo)致的故障診斷和檢測(cè)難的問題,基于卷積神經(jīng)網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)運(yùn)行過程中的日志數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理、特征提取、參數(shù)約簡和分類訓(xùn)練,作為網(wǎng)絡(luò)故障診斷研究的訓(xùn)練與測(cè)試數(shù)據(jù)集,對(duì)其進(jìn)行預(yù)處理和特征提取。通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練得到故障診斷模型,進(jìn)而對(duì)網(wǎng)絡(luò)診斷原始數(shù)據(jù)進(jìn)行診斷與故障定位。附實(shí)例進(jìn)行驗(yàn)證,實(shí)現(xiàn)了特定網(wǎng)絡(luò)環(huán)境下基于單一故障樣本的故障診斷。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);故障診斷;特征提?。桓垂收?;樣本集
中圖分類號(hào):TP393文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2020)09-64-4
0引言
通信網(wǎng)絡(luò)上運(yùn)行的業(yè)務(wù)越來越多樣化,對(duì)業(yè)務(wù)質(zhì)量的要求也越來越高,與此同時(shí)網(wǎng)絡(luò)出現(xiàn)故障的概率也隨之增加,網(wǎng)絡(luò)故障的檢測(cè)和處理效率直接影響網(wǎng)絡(luò)是否能正常運(yùn)行及業(yè)務(wù)服務(wù)質(zhì)量。故障診斷是網(wǎng)絡(luò)運(yùn)維管理中非常重要且難度極大的研究課題之一,大數(shù)據(jù)及人工智能等新技術(shù)的發(fā)展也為故障診斷和預(yù)測(cè)提供了技術(shù)支撐。
傳統(tǒng)的網(wǎng)絡(luò)故障診斷大多依賴于網(wǎng)絡(luò)設(shè)備的主動(dòng)告警上報(bào),網(wǎng)絡(luò)復(fù)雜性的增加和所承載的業(yè)務(wù)的多樣化,導(dǎo)致越來越多的網(wǎng)絡(luò)故障現(xiàn)象與故障發(fā)生的根源差異很大,并且網(wǎng)絡(luò)故障影響范圍越來越大且對(duì)業(yè)務(wù)質(zhì)量造成影響,需要依靠專業(yè)運(yùn)維人員進(jìn)行故障排查和關(guān)聯(lián)分析,時(shí)效性差,無法進(jìn)行故障的事前預(yù)測(cè),因此將人工智能應(yīng)用到網(wǎng)絡(luò)故障的檢測(cè)預(yù)測(cè)具有重大意義。
本文在基于機(jī)器學(xué)習(xí)[1-3]的智能故障診斷等研究成果的基礎(chǔ)上,針對(duì)原始的人工神經(jīng)網(wǎng)絡(luò)模型存在學(xué)習(xí)時(shí)間長和網(wǎng)絡(luò)規(guī)模大的缺點(diǎn)進(jìn)行改進(jìn),構(gòu)建基于深度神經(jīng)網(wǎng)絡(luò)的智能故障診斷架構(gòu)。
1深度學(xué)習(xí)在故障檢測(cè)中的應(yīng)用
1.1故障診斷難點(diǎn)
故障診斷是根據(jù)呈現(xiàn)的故障現(xiàn)象進(jìn)行分析和定位故障發(fā)生的根本原因,一般包括故障檢測(cè)、故障定位和故障確認(rèn)測(cè)試3個(gè)步驟。故障檢測(cè)是根據(jù)所采集故障現(xiàn)象初步判斷網(wǎng)絡(luò)位置以及原因;故障定位根據(jù)初步判斷的故障位置和原因結(jié)合歷史告警數(shù)據(jù),基于深度學(xué)習(xí)模型,分析該故障的根源故障、關(guān)聯(lián)關(guān)系以及影響范圍;故障確認(rèn)測(cè)試也被稱為故障確認(rèn),是對(duì)故障定位和原因基于多種手段進(jìn)行精準(zhǔn)定位和影響范圍的精準(zhǔn)確定。
故障具有以下特點(diǎn):
①層次性:通信網(wǎng)絡(luò)的7層分層架構(gòu)和復(fù)雜拓?fù)溥B接關(guān)系,導(dǎo)致網(wǎng)絡(luò)故障發(fā)生位置和影響范圍也具有層次性。
②傳播性:故障具有縱向和橫向傳播性。縱向傳播是指網(wǎng)絡(luò)的分層,即物理層的故障可能會(huì)觸發(fā)或引起數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層發(fā)生故障;橫向傳播是指故障在鏈路層由一點(diǎn)故障引發(fā)相關(guān)聯(lián)的鏈路故障。
③相關(guān)性:故障可能呈現(xiàn)多種故障現(xiàn)象,故障現(xiàn)象也可能對(duì)應(yīng)多個(gè)故障位置或故障根源。
④不確定性:網(wǎng)絡(luò)故障的發(fā)生是隨時(shí)、隨地和不確定的,具有隨機(jī)性、模糊性和某些信息的不確定性。
故障的上述特點(diǎn)導(dǎo)致網(wǎng)絡(luò)故障數(shù)據(jù)模糊和標(biāo)注困難,而對(duì)于機(jī)器學(xué)習(xí)來說,數(shù)據(jù)決定一切。因此故障預(yù)測(cè)的最大的難點(diǎn)是需要大數(shù)量、高質(zhì)量的網(wǎng)絡(luò)運(yùn)行數(shù)據(jù)。
1.2基于深度學(xué)習(xí)的故障診斷原理
針對(duì)故障的特點(diǎn)及故障檢測(cè)的最大難點(diǎn),深度學(xué)習(xí)為網(wǎng)絡(luò)故障診斷技術(shù)提供了新思路,基于深度學(xué)習(xí)的網(wǎng)絡(luò)故障診斷方法將深度神經(jīng)網(wǎng)絡(luò)模型引入到故障診斷系統(tǒng)中,深度神經(jīng)網(wǎng)絡(luò)模型對(duì)已知的數(shù)據(jù)信號(hào)和異常模式進(jìn)行訓(xùn)練,得出數(shù)據(jù)信號(hào)與異常模式之間蘊(yùn)含的關(guān)系,并對(duì)網(wǎng)絡(luò)診斷原始數(shù)據(jù)進(jìn)行處理與故障定位。當(dāng)整體系統(tǒng)發(fā)生變化,神經(jīng)網(wǎng)絡(luò)模型也通過繼續(xù)訓(xùn)練自適應(yīng)調(diào)整參數(shù)。
基于深度學(xué)習(xí)[4]的網(wǎng)絡(luò)故障診斷方法能夠從網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)中自動(dòng)輸出潛在的故障現(xiàn)象與特定故障之間的映射,不需要過多的人為干預(yù),因此可以應(yīng)用到復(fù)雜網(wǎng)絡(luò)的故障診斷。當(dāng)網(wǎng)絡(luò)環(huán)境拓?fù)浠蚓W(wǎng)絡(luò)環(huán)境參數(shù)發(fā)生變化時(shí),可以改變神經(jīng)網(wǎng)絡(luò)模型中的對(duì)象參數(shù)進(jìn)行訓(xùn)練或在線學(xué)習(xí),以便于完成故障診斷的更新和同步。當(dāng)訓(xùn)練和測(cè)試結(jié)束后,模型自動(dòng)輸出故障診斷結(jié)果。
2基于深度卷積神經(jīng)網(wǎng)絡(luò)的故障診斷
2.1卷積神經(jīng)網(wǎng)絡(luò)模型
卷積神經(jīng)網(wǎng)絡(luò)[5-7]通過模擬生物自然視覺認(rèn)知機(jī)制進(jìn)行數(shù)據(jù)分析,主要包括輸入層、卷積層、池化層和全連接層。數(shù)據(jù)預(yù)處理后輸入層得到詞向量,詞向量達(dá)到卷積層后,經(jīng)過卷積運(yùn)算完成局部特征的提??;卷積層的輸入由前一層的局部區(qū)域與權(quán)重決定,每一層的輸出作為下一層神經(jīng)元的輸入,多層卷積運(yùn)算將每一層的卷積運(yùn)算結(jié)果進(jìn)行非線性變換;池化層對(duì)卷積層的輸出進(jìn)行二次抽樣,以減小輸出特征的總量并篩選出最具有代表性的特征;經(jīng)過輸入層、卷積層和池化層的訓(xùn)練和提取后,全連接層完成故障分析和診斷,輸出故障診斷結(jié)果。
①輸入層:將預(yù)處理的數(shù)據(jù)進(jìn)行字符化操作轉(zhuǎn)換,經(jīng)過Skip-gram型訓(xùn)練,輸入層輸出詞向量。假設(shè)構(gòu)造的故障樣本中包含個(gè)詞,是樣本中的第個(gè)詞所對(duì)應(yīng)的詞向量,卷積神經(jīng)網(wǎng)絡(luò)的輸入層是由個(gè)維向量組合而成的二維數(shù)據(jù)矩陣。如果預(yù)處理的數(shù)據(jù)樣本長度小于,需要對(duì)數(shù)據(jù)向量補(bǔ)零操作,使其長度達(dá)到規(guī)定的要求。
③池化層:主要對(duì)卷積層輸出的局部特征圖進(jìn)行最大池化操作,選取卷積層抽取的若干個(gè)特征值中最大的,即對(duì)網(wǎng)絡(luò)故障診斷結(jié)果影響最大的因素值作為池化層的特征值,最大特征值的提取也會(huì)減少或增加輸入?yún)?shù)的數(shù)量,使得模型的適應(yīng)性更強(qiáng)。
④全連接層:將卷積層中得到的特征圖,經(jīng)過池化層的最大池化操作后,提取出對(duì)故障診斷影響最大的若干個(gè)局部最優(yōu)特征,再通過全連接層映射到類別維度的大小,并通過Softmax歸一化得到每個(gè)類別的概率,從而能夠綜合考慮提取出的所有局部特征,完成網(wǎng)絡(luò)故障診斷。
2.2卷積神經(jīng)網(wǎng)絡(luò)的故障診斷流程
對(duì)收集的原始數(shù)據(jù)進(jìn)行預(yù)處理和清洗等操作,輸入卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行故障診斷測(cè)試,步驟如圖1所示。
①數(shù)據(jù)預(yù)處理:搜索數(shù)據(jù)中的空字符、重復(fù)字符、格式錯(cuò)誤數(shù)據(jù)及非法標(biāo)注字符等不符合要求的“臟數(shù)據(jù)”,為數(shù)據(jù)分析和特征提取做準(zhǔn)備。
②特征提?。簩?duì)清洗去重后的數(shù)據(jù)樣本進(jìn)行分詞,掃描數(shù)據(jù)樣本中出現(xiàn)的所有單詞字符,根據(jù)字符特征形成詞典。
③向量轉(zhuǎn)換和特征提?。菏褂檬噶糠椒▽⒃~典中的每一個(gè)單詞轉(zhuǎn)換為向量形式,即將普通字典單詞轉(zhuǎn)換為向量字符。模型實(shí)際訓(xùn)練時(shí),神經(jīng)網(wǎng)絡(luò)層的訓(xùn)練與卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練同時(shí)進(jìn)行,屬于非人工參與的特征自提取。
④故障預(yù)測(cè):進(jìn)行時(shí)間維度和空間維度數(shù)據(jù)訓(xùn)練,將訓(xùn)練結(jié)果輸入分類模型進(jìn)行進(jìn)一步訓(xùn)練,最后輸出故障檢測(cè)結(jié)果。
3實(shí)例驗(yàn)證
以運(yùn)維管理系統(tǒng)采集的承載網(wǎng)絡(luò)故障數(shù)據(jù)為基礎(chǔ)試驗(yàn)數(shù)據(jù),進(jìn)行基于卷積神經(jīng)網(wǎng)絡(luò)的故障診斷,并對(duì)所設(shè)計(jì)的診斷模型即深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)進(jìn)行驗(yàn)證性實(shí)驗(yàn)。從仿真試驗(yàn)環(huán)境及試驗(yàn)步驟和結(jié)果兩方面進(jìn)行驗(yàn)證。根源故障如表1所示。
(1)仿真驗(yàn)證環(huán)境
①平臺(tái)軟件參數(shù):ubuntu16.04,python3.6,keras,tensorflow,numpy,pandas。
②實(shí)驗(yàn)仿真參數(shù):觀測(cè)時(shí)間窗口=20 min,預(yù)測(cè)時(shí)間窗口為1 min。
(2)試驗(yàn)步驟和結(jié)果
①數(shù)據(jù)預(yù)處理:一個(gè)樣本是一組故障告警的合集。因獨(dú)熱編碼相加后不失去原本語義的特點(diǎn),將一個(gè)樣本中的所有故障告警的獨(dú)熱編碼相加。所生成的新的向量,包含原本各個(gè)獨(dú)立的故障告警信息。通過上述方法,將樣本處理成神經(jīng)網(wǎng)絡(luò)可接受的輸入向量。將輸入向量輸入到神經(jīng)網(wǎng)絡(luò)中,與每個(gè)神經(jīng)元的權(quán)重向量做內(nèi)積,取其中內(nèi)積最大者為獲勝神經(jīng)元。
選取3個(gè)已知故障類型的樣本Z1,Z2,Z3。3個(gè)樣本都只含有一種故障,分別是F1,F(xiàn)3,F(xiàn)5。除這3種故障外,3個(gè)樣本均不含有F6故障。將3份樣本輸入已經(jīng)訓(xùn)練完畢的算法程序中,輸出結(jié)果如表2所示。
從表2中可以看出,樣本Z1,Z2中與對(duì)應(yīng)故障(F1,F(xiàn)3)相對(duì)的值遠(yuǎn)低于其他3項(xiàng),而Z3對(duì)應(yīng)故障雖為最小值,但與其他故障相差并不明顯。對(duì)樣本Z3的輸入數(shù)據(jù)進(jìn)行分析發(fā)現(xiàn),Z3的樣本中含有F1故障作為噪音導(dǎo)致的。同樣可以看到,3個(gè)樣本對(duì)于故障F6的值都是最大的,從這方面可以看出F6確實(shí)不包含在Z1,Z2,Z3中。而輸出值這么大的可能原因是F6的故障特征與F1,F(xiàn)3,F(xiàn)5的區(qū)別較大。
換取不同樣本,分別對(duì)根源故障F1(Z4,Z5,Z6,Z7),故障F3(Z8,Z9,Z10,Z11),故障F5(Z12,Z13,Z14,Z15)與F6進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如表3所示。
對(duì)于同一個(gè)根源告警的4次實(shí)驗(yàn),輸入的噪音逐步增多??梢詮谋碇锌吹剑S著噪音的增大,對(duì)應(yīng)根源告警的故障評(píng)價(jià)指數(shù)也隨之變大。對(duì)于噪音最大的Z7,Z11,Z15的情況,可以看到其取值已經(jīng)大過0.2,但是程序仍能鑒別出單獨(dú)故障,證明本算法對(duì)于單故障的診斷有較好的效果。
將輸入樣本Z1~Z15輸入到SOM神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)算法中,其統(tǒng)計(jì)結(jié)果如表4所示。
從統(tǒng)計(jì)結(jié)果可以看出,算法可以很好地完成單根源故障診斷的任務(wù)。
4結(jié)束語
故障定位和診斷一直是網(wǎng)絡(luò)運(yùn)維管理系統(tǒng)所致力于解決的問題之一,但是由于被管對(duì)象復(fù)雜、收集的故障樣本少、故障現(xiàn)象和原因定位困難及缺乏數(shù)據(jù)分析等原因,導(dǎo)致故障定位和診斷困難,文章通過將已有的故障數(shù)據(jù)進(jìn)行預(yù)處理,并基于卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練測(cè)試,實(shí)現(xiàn)了基于已有數(shù)據(jù)的初步故障定位和粗略預(yù)測(cè),研究成果可以應(yīng)用于運(yùn)維管理的故障定位分析,將會(huì)提升運(yùn)維管理的故障處理能力,使得故障處理更加及時(shí)和準(zhǔn)確。
參考文獻(xiàn)
[1]肖增良,樂曉波,周輝.基于與或依賴圖的多Agent系統(tǒng)任務(wù)分解算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(2):426-428.
[2]劉曉明,黃傳河,江貝.一種基于移動(dòng)Agent技術(shù)的網(wǎng)絡(luò)管理模型[J].計(jì)算機(jī)應(yīng)用研究,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]朱淼良,邱瑜.移動(dòng)代理系統(tǒng)綜述[J].計(jì)算機(jī)研究與發(fā)展, 2001(1):16-25.
[5]劉波,李偉,羅軍舟,等.網(wǎng)絡(luò)管理中多agent的半在線調(diào)度算法[J].計(jì)算機(jī)研究與發(fā)展,2006(4):571-578.
[6]王媛媛,譚獻(xiàn)海.移動(dòng)代理系統(tǒng)———IBM的Aglets[J].微計(jì)算機(jī)信息,2006(9):275-277,136.
[7]金黎黎,孔令富.協(xié)同設(shè)計(jì)環(huán)境中任務(wù)分解與調(diào)度的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(22):5291-5293.