詹進雄,杜舒明
(南京電子技術研究所,南京 210039)
隨著集成電路、計算機網絡等技術快速發展,以雷達等為代表的大型復雜電子裝備呈現出裝備數字化、網絡化、集成化、信息化等新特點,是裝備適應未來新技術發展以及新型電子戰的必然選擇。裝備高度集成化與網絡化對裝備配套的保障模式、維修方法等提出更高的要求,嵌入式測試、視情維修等成為目前裝備保障研究中重要的研究方向。精準、高效保障的基礎是精準定位故障,而故障定位的基礎是能夠獲取被測對象相應的測試點信息。測試信息的獲取依賴于裝備內部的網絡,網絡正常工作是裝備發揮效能、快速維修保障的基礎。當裝備網絡發生故障時,需快速定位并修復網絡拓撲中故障節點,避免出現裝備宕機[1-3]。
裝備網絡化體現在裝備內部一張復雜的網絡拓撲結構,在該拓撲結構中各個部件節點通過交換機/路由器等網絡設備按照一定的層次架構級聯連接一起。該復雜網絡承擔著系統的控制指令、系統響應數據、測試數據等傳輸任務,是裝備各類信息傳輸的重要基礎。裝備網絡化與集成化帶來的是鏈路故障排查難度的大幅提升。在多級網絡拓撲加持下,不同層次網絡節點出現故障表現出來的故障現象存在差異,上級的網絡節點信息依賴下級節點傳遞。因此當拓撲結構中若干交換節點特別是中心交換節點出現故障時,在系統層面表現出大量級聯網絡節點信息的缺失或異常,這類故障的排查耗時費力,缺少有效的快速分析手段,嚴重影響了裝備的可使用性[4]。因此針對這類復雜拓撲結構的網絡,構建一種行而有效的快速診斷方法是非常必要的。復雜網絡拓撲結構如圖1所示。

圖1 復雜網絡拓撲結構示意圖
在針對實際生產生活中產生的大量的模糊問題,傳統的基于精確數學模型的解決方法往往需要大量的試驗數據,同時因大量模糊情況的存在,導致最終的解決效果并不十分理想,而這些模糊問題往往通過經驗、推理、模糊判斷等途徑反而可以較好解決。模糊神經網絡(fuzzy neural network)結合了模糊理論與人工神經網絡優勢,在大量的模糊問題應用上,具有較好的解決能力[5]。
針對復雜網絡精準診斷存在的難題,提出了一種基于模糊神經網絡的故障診斷方法,利用模糊理論對監測數據進行模糊化處理,然后基于處理后數據進行神經網絡模型參數訓練,并結合實際故障數據,對訓練好的診斷模型進行測試驗證,并對此次基于模糊神經網絡的故障診斷方法進行總結與評價。
模糊集:給定一個論域U,從U到單位區間[0,1]的一個映射稱為U上的一個模糊集,或者U的一個模糊子集,模糊集可用A表示[1]。模糊集是用于描述模糊概念的工具,實現精確性與模糊性之間的橋梁連接。
隸屬函數:表征從完全隸屬到完全不隸屬過程中的漸變函數,使用隸屬度描述模糊信息量化結果[6],即映射成為模糊集A的隸屬度函數,可用A(u)表示:
A:u→[0,1]

(1)
隸屬函數根據模糊概函數曲線分布特點可劃分為“偏大類型”、“偏小類型”以及“居中類型”3種。圖2以梯形形狀分布給出這3種類型的分布曲線。

圖2 隸屬函數3種類型
模糊神經元定義為一個系統,該系統響應表征如下所示:
(2)
其中:<∪,∩>為模糊神經元算子,定義域為A;x1,x2,x3,…,xn為n個系統的輸入,xi∈A;w1,w2,w3,…,wn是對應上述n個系統輸入的權重,且wi∈R,且xi∩wi∈A;θ定義為調節常量,且θ∈R;f(·)是系統響應函數,且f(·)∈[0,1]。模糊神經元的結構如圖3所示[7]。

圖3 模糊神經元組成圖
神經網絡是利用電子、光學等技術模擬生物神經網絡的某些結構、特征以及功能而具有智能化的網絡,用于對信息加工、分析等過程[8-12]。由于神經網絡所具有的對非線性映射的擬合以及學習能力,因此適合處理非線性、不確定性的問題,同樣適用于網絡系統的故障診斷。
根據神經網絡架構組成的不同分為前饋神經網絡、循環網絡以及對稱連接網絡等。前饋神經網絡是最常用的一種類型,包括輸入層(第一層)、輸出層(最后一層)以及隱藏層(處于輸入輸出之間)。前饋神經網絡是一種靜態的非線性映射,其非線性處理能力可通過簡單非線性處理單元的復合映射得到。
循環神經網絡是一類具有短期記憶能力的神經網絡,以序列數據為輸入,在序列的演進方向進行遞歸且所有節點按鏈式進行連接[13]。循環神經網絡擅長解決與時間序列相關的問題,在語音識別、機器翻譯等領域得到廣泛應用。
典型前饋神經網絡結構如圖4所示。

圖4 神經網絡結構圖
監測信息預處理主要實現將采集的網絡監測數據經過模糊隸屬度函數處理后輸出模糊集,便于進行后續的推理診斷。根據隸屬度劃分需要,將各個故障原因的隸屬度定義為故障原因對故障現象的貢獻大小。隸屬度越接近1,說明是該故障原因的可能性越高,相反隸屬度越接近0,說明是該故障導致的可能性越低[14-15]。根據實際應用情況文中使用的隸屬度劃分如表1所示。通過隸屬函數的變換,將監測的數據轉換為同為隸屬度尺度的標化數據,便于實現相應的數學運算和處理。

表1 隸屬度劃分
設系統有n個監測信號,可表示為:
Fp=[fp1,fp2,fp3,…,fpn](p=1,2,3,…,s)
(3)
其中:p表示第p個監測樣本,s代表樣本個數。對于各個fpi(i=1,2,3,…,n)而言,經過模糊化后輸出的模糊量為:
μi(fpi)=A(fpi;a)
(4)
最終Fp經過模糊化處理后輸出為:
Xp=[xp1,xp2,xp3,…,xpn]=
[μ1(fp1),μ2(fp2),μ3(fp3),…,μn(fpn)]
(5)
根據模型訓練和驗證需要,將Xp數據分為Xpt和Xpv兩組,Xpt用于神經網絡模型參數的訓練,Xpv用于對訓練好的模型進行測試驗證。
隸屬函數變化規律應能反映出客觀模糊現象的具體特點,當研究的客觀模糊現象的分布規律與給定的模糊分布函數類似時,即可選擇這個函數作為所求的隸屬函數,并通過實際的數據或先驗知識獲取具體的符合該現象的隸屬函數。如普通家庭轎車根據價格可分為“豪華”、“經濟”以及“普通”類型,但實際生活中這3種類型轎車價格存在重疊,針對這種價格模糊情況需要根據分布函數確定轎車類型的隸屬函數。
根據表1中隸屬度數值定義,隸屬度越接近1,說明是該種故障原因的可能性越高。當網絡拓撲中某個節點發生故障時,相應的節點監測的收發網絡流量信息將受到直接影響,直接表現為該節點上報的收發流量數據斷崖式下跌,并同時影響了與該網絡節點級聯的前后網絡節點狀態。因此從單個網絡節點監測數據分析及規律看,數據分布符合“偏小類型”規律。根據網絡節點級聯特點,此處的隸屬函數采用正態分布的隸屬函數,具體公式如下:
(6)
考慮到在網絡拓撲結構中,不同的網絡設備、交換機級聯位置以及接收、發送的數據流量并不一致,因此針對不同網絡節點,對應的參數閾值a是不同的,最終形成一組確定的變量數組A:
A=[a1,a2,…,an]
(7)
基于模糊神經網絡的診斷過程就是將經過模糊系統處理后變為模糊輸入信號作為神經網絡的輸入,得到相應的模糊權值,然后將神經網絡的輸出反模糊化,得到確定的有效數值,從而將神經網絡的并行處理優勢和模糊系統的推理優勢充分發揮[16-17]。
基于模糊神經網絡的故障診斷流程如圖5所示。根據流程框圖,該診斷流程分為以下幾個步驟:

圖5 故障診斷流程框圖
1)數據模糊化:將輸入參數通過其隸屬函數處理輸出模糊矢量,形成訓練樣本以及試驗樣本;
2)神經網絡訓練:根據輸入數據以及網絡結構計算隱含層輸出以及輸出層誤差,誤差小于預設值停止訓練,并記錄訓練好的網絡參數;
3)診斷模型驗證:將試驗樣本輸入到已經訓練好的診斷模型進行計算,得到量化輸出;
4)反模糊化:按照設定的模糊隸屬度函數進行反模糊化,得到最終的診斷結果。
模糊神經網絡具有較好的結構知識表達、容錯以及自然語言處理能力,因此針對復雜網絡這類非線性、關系不清晰的模糊診斷具有較好的適應能力[18-20]。BP學習算法是目前神經網絡中應用最廣的算法之一,其組成包括輸入層、輸出層以及一個或多個隱含層。神經網絡模型訓練過程就是不斷修正網絡權值和閾值,使實際輸出與期望輸出間誤差逐漸減小并達到期望誤差的過程[21-22]。
在網絡故障診斷實際應用中,考慮到網絡系統中的監測信息存在耦合關聯、監測對象狀態無法直接量化評判的情況,需要將監測數據進行模糊化處理,經過模糊隸屬度函數處理得到隸屬度向量,再將得到的向量輸入到隱含層中,得到模糊輸出向量,通過反模糊處理得到最終故障部件。
本次采用的神經網絡為5層,組成框圖如圖6所示。

圖6 模糊神經網絡診斷模型組成框圖
第1層為輸入層,輸入層與待輸入信號fpi(i=1,2,3,…,n)相連接,并且
F=[fp1,fp2,fp3,…,fpn]T
(8)
第2層為模糊化層,其作用是將輸入信號根據隸屬函數進行模糊化。對于任意一個輸入信號fpi(i=1,2,3,…,n),定義xi個模糊子集,具體隸屬度函數見3.1小節,模糊化層的輸出向量見式(6)。
第3層為隱含層,用于實現模糊化層到模糊輸出層的映射,其節點數m可根據輸入數據數量最終確定,對于隱含層的第i個節點,設該節點與第二層各節點的賦予的權重為:
WHi=[wH1i,wH2i,wH3i,…,wHmi]T
(9)
第4層為模糊輸出層,其輸出的模糊數值代表故障存在可能性的程度,每個節點代表一種故障。該模糊輸出層的輸出為:
yi=f(WHiTX+θHi)
(10)
式中,f(·)為Sigmoid函數,θHi為隱層節點調節閾值。Sigmoid函數如式(11)所示:
f(β)=1/(1+e-β)
(11)
第5層為清晰化層,每一個節點對應一個輸出信號zi(i=1,2,3,…,k),通過隸屬度反模糊處理,使zi成為所定義模糊子集上。該輸出層的輸出向量為:
Z=[z1,z2,z3,…,zk]T
(12)
使用MATLAB的GUI開發了針對網絡系統的故障診斷軟件。該系統包括了用戶登錄、網絡監測參數接收解析、診斷輸出結果、神經網絡模型參數訓練等功能界面,通過各個功能界面完成復雜網絡的故障診斷功能。軟件實現具體流程如下:
1)開始輸入用戶賬號與密碼,如果信息正確,則直接跳轉第2)步;如果信息驗證錯誤,則跳轉步驟9)結束;
2)判斷登陸是管理員用戶還是普通用戶:如果是管理員用戶,跳轉至步驟3);否則跳轉至步驟5);
3)展示神經網絡模型設置界面,具體包括選擇輸入的訓練數據、網絡結構、傳遞函數等項目設置,設置完成并開始訓練;
4)將訓練好的網絡參數結果進行保存,并跳轉至步驟9)結束;
5)加載訓練好的保存在本地的參數作為神經網絡參數;
6)根據網絡節點約定的BIT報文格式進行接收解析;
7)根據設置的隸屬函數對解析的BIT監測數據進行模糊化處理并輸入到神經網絡模型進行運算;
8)將神經網絡模型輸出結果反模糊化并進行界面顯示;
9)軟件運行結束。
軟件實現流程如圖7所示。

圖7 軟件實現流程圖
下面圍繞各個功能界面介紹該系統功能。
如圖8所示,系統登陸界面包括用戶名和密碼,對使用軟件的用戶進行約束。同時針對使用過程中診斷系統診斷結果與實際存在偏差,需要重新訓練神經網絡參數情況,設計了管理員登錄功能,便于更新神經網絡模型參數。

圖8 復雜網絡診斷系統登陸界面
如圖9所示,故障診斷界面用于故障網絡節點的判斷,基于訓練好的神經網絡模型將模糊化后的狀態數據進行判斷,輸出診斷結果,根據輸出結果反模糊化出可能的故障節點。

圖9 故障診斷界面
神經網絡訓練需要依賴大量的樣本數據,由于前期使用過程中缺少這樣大量的故障案例樣本,因此需要在后續使用過程中重新訓練模型參數,系統提供了進行神經網絡二次訓練的設置界面,便于提高模糊神經網絡的準性。神經網絡訓練界面如圖10所示。

圖10 神經網絡模型訓練設置界面
試驗驗證環節將截取某大型雷達電子裝備中部分網絡組成結構及監測數據進行神經網絡模型訓練與驗證。該型電子裝備設備數量、層次結構多、設備間連接關系復雜,不同設備間通過各類網絡完成數據的交換,設備間數據傳遞依賴于網絡鏈路上路由節點、交換節點等。因此實現對網絡設備快速故障定位對提升裝備可用性具有重要意義。
考慮到實際雷達裝備網絡組成及拓撲結構過于復雜,為簡化組成便于說明拓撲結構,本節將圍繞裝備某局部的網絡拓撲結構和監測的數據進行模糊神經網絡參數訓練,并將隨機抽取的2組故障數據對訓練好的神經網絡模型進行驗證。
圖11是某雷達電子裝備的局部網絡拓撲組成圖,該網絡拓撲包括12個節點,其中各個節點間連接關系為雙向的,其中節點3、7為網絡交換機,節點2、4、10等為網絡路由節點,節點1、5、6、8、9、11、12為網絡終端設備。各類節點監測的BIT信息如表2所示。

表2 網絡節點監測BIT

圖11 網絡拓撲組成框圖
考慮網絡雙向傳輸鏈路分析與單向分析方法是一致的,此次試驗主要研究單向傳輸方向下故障定位問題,雙向傳輸鏈路的分析方法類似。選擇其中6條傳輸鏈路為研究對象,這6條傳輸鏈路分別是:1→2→3→7→9、5→4→3→7→9、6→4→3→7→9、8→10→7→9、11→10→7→9和12→10→7→9。各個網絡節點對應的故障模式以及對應的監測項目如表3所示。為簡化模型,表中僅列出了與傳輸鏈路相關的故障模式以及監測項目,Y1~Y12分別表征各個部件的故障模式(無法發送/轉發網絡數據),T1~T12分別表示部件的監測項目(發送流量/轉發流量)。

表3 網絡節點故障模式與監測點 kB/s
根據網絡拓撲組成以及表3中采用的故障模式及監測項目,篩選出各部件在對應故障發生后,各個部件所采集到的監測項目數據,得到不同故障模式下與測試點的對應關系作為模糊神經網絡的訓練樣本,如表4所示。表格中Ti代表監測點,Yi代表故障模式,中間表格數值代表對應網絡流量監測結果。

表4 網絡拓撲故障模式與測試點對應關系 kB/s
考慮到不同網絡節點監測數據類型、數據閾值及變化特征不同,根據實際應用需要,以節點監測點T3為例說明隸屬函數變量的確定過程,其它節點的隸屬函數變量確定過程類似。文中監測流量數據主要考慮在系統正常工作情況下的情形,在系統正常工作時各網絡節點監測的流量信息是相對穩定的,如果出現流量異常變少的情況,則網絡拓撲中可能存在異常情況。表5數據為不同情況下節點3對應的隸屬值情況。

表5 T3網絡節點監測流量信息 kB/s
根據2.2節確定的“偏小類型”的正態分布的隸屬函數以及表5的分布情況,求解可得T3節點的隸屬公式參數結果:α=8,σ=40.2。因此T3的隸屬度公式結果如下:
(13)
T3節點接收的實際監測數據可根據隸屬公式轉換為對應的隸屬度值。對應T3節點的隸屬函數曲線如圖12所示。

圖12 T3節點隸屬度函數曲線
同理,其它節點的隸屬函數以及隸屬度求解過程可參考T3節點求解步驟得到。求解獲得所有網絡節點的隸屬度函數后,將獲取的樣本數據依據隸屬度函數進行模糊化處理,得到故障模式Yi與各個故障現象相關的模糊化矢量,具體見表6所示。

表6 網絡故障現象與故障原因的對應關系
根據第2.4節確定的方法,該神經網絡組成信息如下:網絡層數為5層,考慮到輸入的監測信號有12個,經過模糊預處理后模糊化層共有12個節點,輸出層共有12個節點。其中隱含層根據精度要求、仿真收斂速度等選取73個。神經網絡訓練選用快速BP算法,設置的最大循環次數為12 000次,學習速率設置為0.1,設置動量常數值為0.95,設定訓練的目標誤差為0.01。模型訓練設置及訓練結果如圖13所示。

圖13 神經網絡參數訓練結果
網絡參數訓練的誤差結果如圖14所示。由訓練誤差曲線可以看出,神經網絡在訓練10 033次達到相對穩定狀態,此時訓練曲線達到預設誤差(10-2)虛線下方,滿足了設置的0.01的期望誤差指標。將訓練好的網絡參數數組保存為本地文件便于執行診斷過程前加載。

圖14 神經網絡訓練誤差收斂曲線
將3.3節訓練好的神經網絡參數結果作為神經網絡模型參數進行故障數據測試驗證。試驗根據實際網絡拓撲故障分布情況分為2組故障數據進行測試。表7展示了待測試驗證的2組故障監測數據。其中,第1組為拓撲結構中單個分支節點故障的監測數據,第2組為拓撲結構中的單個中繼節點故障的監測數據。將這三組未經訓練的故障數據輸入到故障診斷系統中,經過診斷系統診斷的輸出結果如圖15所示。表8為診斷軟件針對這2組測試數據輸出得到的各個節點發生故障可能性。根據實測數據與診斷軟件輸出結果,這兩組測試數據分別對應著Y11故障、Y4故障,兩組測試結果與實際故障結論相同,與預期結論保持一致。經測試,診斷軟件單次執行診斷過程耗時3.5 s。

表7 抽取的兩組故障數據 kB/s

表8 驗證測試輸出結果

圖15 節點故障診斷輸出結果
文中雖然僅是針對單向網絡傳輸鏈路狀態進行分析與驗證,雙向的鏈路判斷及訓練過程與單向判斷過程是保持一致的。
當然,實際裝備上涉及的網絡系統組成以及拓撲結構遠比上述局部網絡結構復雜得多。同時實際裝備在運行過程中各種網絡問題(如交換機節點異常、交換機路由設置錯誤、網絡鏈路斷開等等)耦合在一起,故障排除的快慢有時取決于技術人員排故經驗。本文通過對局部網絡拓撲分析,建立一種基于模糊神經網絡的排故方法,便于后期在裝備應用上通過對網絡系統運行過程相關監測數據、故障信息等逐步積累,逐步優化、訓練診斷知識,解決部分已知故障的快速定位。
本文針對大型裝備復雜網絡故障定位存在的難題,提出了基于模糊神經網絡的故障診斷方法。首先依據模糊理論對網絡的監測數據進行模糊化處理;接著通過實際裝備網絡運行過程中采集的故障數據以及通過拓撲分析獲取網絡組成關系,構建基于模糊神經網絡的診斷模型,通過對不同的故障樣本數據進行模型參數訓練,給出最佳模型訓練參數;最后結合實際故障數據,對訓練好的診斷模型進行測試驗證,并對此次基于模糊神經網絡的故障診斷方法進行總結與評價。
基于模糊神經網絡的故障診斷方法針對網絡類存在的非線性、現象與故障原因關系不清晰的故障具有較好的故障定位能力,有助于提高故障診斷精度,因此針對大型裝備復雜網絡系統具有較好的應用前景。