潘志安,龐國莉,王小英
(防災科技學院 信息工程學院,河北 三河 065201)
艦船信息傳輸的關鍵是艦船通信網絡。艦船通信網絡可確保艦船航行過程中,艦船內部與外部間信息的安全交互[1]。當艦船通信網絡出現故障時,則會導致艦船不能及時接收航行相關信息,影響航行安全[2,3]。為此,研究高效、精準的艦船通信網絡故障檢測方法非常重要。朱圳等[4]通過分析原始通信網絡數據,挖掘數據內的潛在特征,通過LightGBM 算法,對挖掘的潛在特征實施重要性評估,篩選較為重要的通信網絡數據特征,在集成學習模型內輸入篩選獲取的重要特征,輸出通信網絡故障檢測結果。該方法的通信網絡故障檢測精度較高。陳紅紅等[5]在螢火蟲算法內,引入萊維飛行,對該算法進行改進,通過極限學習機建立通信網絡故障檢測目標函數,利用改進螢火蟲算法優化目標函數,得到通信網絡故障檢測結果[5]。該方法可有效檢測通信網絡故障,且故障檢測準確率較高。但這2 種方法均需要大量故障標簽數據,而實際艦船通信網絡中,獲取大量故障標簽數據并非易事,從而影響故障檢測效果。機器學習是指令計算機具備人的學習能力,可在海量繁瑣的數據內,學習到有價值的知識[6],在原始數據樣本較少情況下,依舊具備較優的學習能力,提升故障檢測效果。常見的機器學習算法有Softmax 回歸與神經網絡等。本文,研究基于機器學習的艦船通信網絡故障檢測方法,提升故障檢測效果。
利用常見機器學習算法內的自編碼(auto encoder,AE) 神經網絡,對艦船通信網絡,實施故障檢測。AE 內輸入層為O1、隱層O2、輸出層是O3。O1、O3內神經元數量一致,均為m個。O2內神經元數量為n,且n≤m。O1至O2的變換過程是編碼,在O1內輸入原始艦船通信網絡數據樣本x,作為O2的輸入,O2的輸出結果為:
其中:S(·)為編碼時的Sigmoid 函數;wO2和bO2分別為O2的權重、偏置;u為艦船通信網絡故障特征。
O2至O3的變換過程是解碼,在O3內輸入u,O3的輸出結果為:
其中:S′(·)為解碼時的Sigmoid 函數;wO3和bO3分別為O3的權重、偏是;y為艦船通信網絡故障檢測結果。
預訓練AE,就是尋找最佳wO2,bO2,wO3,bO3,y與x間是誤差降至最低,即損失函數Q(w,b) 降至最小。Q(w,b)的計算公式為:
式中:H為原始艦船通信網絡數據樣本數量;xi和yi分別為第i個樣本的輸入與輸出向量;η為AE 的網絡層數;nl為第l層神經元數量;為第l層第j個神經元和第l+1層第a個神經元間的權值;γ為權值衰減系數。
在AE 的隱層內,添加稀疏性限制,令大多數隱層神經元處于非激活狀態,提升艦船通信網絡故障特征提取效果。損失函數Q(w,b)中添加稀疏懲罰項,公式如下:
式中:β為稀疏懲罰項的權值;z為平均活躍度;zj為O2內第j個神經元的平均活躍度;L(Z||zj)為z與zj間相對熵。其計算公式為:
zj的計算公式為:
式中:對于xi,第j個神經元的激活度為αj。
利用AE 提取艦船通信網絡故障特征時,需要考慮艦船通信網絡數據樣本間的相關性,才會避免影響原始艦船通信網絡數據結構特征的提取。因此,在式(4)的基礎上,添加輸入數據相關性限制,變更后的損失函數為:
式中:R(xi),R(yi)為xi和yi的相關性;ω為輸入數據相關性的權值。
R(xi)的本質是xi與的乘積,其中,T 為轉置符號。因此,損失函數為:
在AE 內添加稀疏性限制與輸入數據相關性限制后,建立相關性稀疏自編碼神經網絡(SRAE),將多個SRAE 堆疊形成SSRAE,就是上個SRAE 隱層的輸出是下一個SRAE 的輸入。以預訓練與有監督微調的方式,確定SSRAE 的最佳w與b。以逐層貪婪法預訓練SSRAE,通過海量無標簽訓練樣本,計算各SRAE 的Q′′(w,b)取得最小值情況下,對應的w與b。以持續迭代降低各SRAE 的Q′′(w,b)值的方式,將Q′′(w,b)降至指定值,獲取最終的w與b。
通過反向傳播算法有監督微調SSRAE,利用反向傳播算法再次迭代更新預訓練階段獲取的各SRAE 的w與b,以達到最大迭代次數位置,輸出各SRAE 的最佳w與b。w與b的更新公式如下:
以Softmax 分類器為SSRAE 的輸出層,將SSRAE隱層提取的艦船通信網絡故障特征h,作為Softmax 分類器的輸入,輸出艦船通信網絡故障檢測結果。艦船通信網絡故障類別數量為K,Softmax 分類器的輸出結果為:
其中:P(Gk|ui)為艦船通信網絡故障屬于各類別的后驗概率;ui為第i個艦船通信網絡故障特征;G1,G2,…,Gk為艦船通信網絡故障類別。
艦船通信網絡故障檢測的決策準則是最小錯誤率,艦船通信網絡故障特征檢測結果是類故障時的錯誤概率為:
艦船通信網絡故障檢測的最小錯誤率決策準則是argminPe(Gk|u)。結合式(11)可知,最小錯誤率即最大后驗概率argmaxP(Gk|u)。
艦船通信網絡故障檢測類型及其編碼如表1 所示。

表1 故障檢測類型及其編碼Tab.1 Fault detection type and code
以某艦船的通信網絡數據為實驗對象,該數據集內記錄了2 個月的艦船通信網絡連接數據,共包含近1 百萬條數據。該數據集內有7 種類型的艦船通信網絡數據,具體信息如表2 所示。

表2 艦船通信網絡數據集具體信息Tab.2 Specific information of ship communication network data set
利用本文方法對該數據集內的艦船通信網絡數據進行故障特征提取,通過主成分分析提取故障特征的前3 個主成分,以可視化形式呈現本文方法引入稀疏性限制與輸入數據相關性限制前后,故障特征提取效果。艦船通信網絡故障特征提取的可視化結果如圖1所示,以信號丟失故障特征、端口故障特征、通信線路故障特征、通信網IP 沖突故障特征為例。分析圖1(a)可知,本文方法添加稀疏性限制與輸入數據相關性限制前,可有效提取艦船通信網絡故障特征,但提取的4 種故障特征邊界存在混淆情況。分析圖1(b) 可知,添加稀疏性限制與輸入數據相關性限制后,本文方法提取的各類型艦船通信網絡故障特征聚集效果較優,各類型故障特征的邊界較為清晰,在艦船通信網絡故障檢測方面更具優勢。實驗證明:本文方法可有效提取艦船通信網絡故障特征,且提取的故障特征間并無混淆情況,邊界非常清晰。

圖1 改進前后的艦船通信網絡故障特征提取結果Fig.1 Fault feature extraction results of ship communication network before and after improvement
在該數據集內隨機選擇35 個樣本,各數據類型的樣本數量均為5 個,利用本文方法對這35 個樣本進行艦船通信網絡故障診斷,故障診斷結果如圖2 所示。可知,本文方法可有效檢測艦船通信網絡故障,對比表2 可知,0~5 號樣本的故障檢測結果為路由器故障,其中僅有一個樣本的故障檢測結果錯誤;11~15 號樣本的故障檢測結果為通信網IP 沖突故障,其中,也僅有一個樣本的故障檢測結果錯誤。6~10 號樣本故障檢測結果為網卡故障;16~20 號樣本故障檢測結果為通信線路故障;21~25 號樣本故障檢測結果為端口故障;26~30 號樣本故障檢測結果為信號丟失故障;31~35 號樣本故障檢測結果為無故障。實驗證明,本文方法可精準檢測艦船通信網絡故障,為提升艦船通信質量提供保障。

圖2 艦船通信網絡故障診斷結果Fig.2 Fault diagnosis results of ship communication network
艦船通信質量與艦船航行安全息息相關,為此,研究基于機器學習的艦船通信網絡故障檢測方法,及時發現并解決通信網絡故障,提升艦船通信質量,確保艦船航行過程中能夠隨時接收內部與外部的交互信息,制定安全的航行路徑,提升艦船航行的安全性。