潘志安,龐國莉,王小英
(防災科技學院 信息工程學院,河北 三河 065201)
艦船信息傳輸?shù)年P(guān)鍵是艦船通信網(wǎng)絡(luò)。艦船通信網(wǎng)絡(luò)可確保艦船航行過程中,艦船內(nèi)部與外部間信息的安全交互[1]。當艦船通信網(wǎng)絡(luò)出現(xiàn)故障時,則會導致艦船不能及時接收航行相關(guān)信息,影響航行安全[2,3]。為此,研究高效、精準的艦船通信網(wǎng)絡(luò)故障檢測方法非常重要。朱圳等[4]通過分析原始通信網(wǎng)絡(luò)數(shù)據(jù),挖掘數(shù)據(jù)內(nèi)的潛在特征,通過LightGBM 算法,對挖掘的潛在特征實施重要性評估,篩選較為重要的通信網(wǎng)絡(luò)數(shù)據(jù)特征,在集成學習模型內(nèi)輸入篩選獲取的重要特征,輸出通信網(wǎng)絡(luò)故障檢測結(jié)果。該方法的通信網(wǎng)絡(luò)故障檢測精度較高。陳紅紅等[5]在螢火蟲算法內(nèi),引入萊維飛行,對該算法進行改進,通過極限學習機建立通信網(wǎng)絡(luò)故障檢測目標函數(shù),利用改進螢火蟲算法優(yōu)化目標函數(shù),得到通信網(wǎng)絡(luò)故障檢測結(jié)果[5]。該方法可有效檢測通信網(wǎng)絡(luò)故障,且故障檢測準確率較高。但這2 種方法均需要大量故障標簽數(shù)據(jù),而實際艦船通信網(wǎng)絡(luò)中,獲取大量故障標簽數(shù)據(jù)并非易事,從而影響故障檢測效果。機器學習是指令計算機具備人的學習能力,可在海量繁瑣的數(shù)據(jù)內(nèi),學習到有價值的知識[6],在原始數(shù)據(jù)樣本較少情況下,依舊具備較優(yōu)的學習能力,提升故障檢測效果。常見的機器學習算法有Softmax 回歸與神經(jīng)網(wǎng)絡(luò)等。本文,研究基于機器學習的艦船通信網(wǎng)絡(luò)故障檢測方法,提升故障檢測效果。
利用常見機器學習算法內(nèi)的自編碼(auto encoder,AE) 神經(jīng)網(wǎng)絡(luò),對艦船通信網(wǎng)絡(luò),實施故障檢測。AE 內(nèi)輸入層為O1、隱層O2、輸出層是O3。O1、O3內(nèi)神經(jīng)元數(shù)量一致,均為m個。O2內(nèi)神經(jīng)元數(shù)量為n,且n≤m。O1至O2的變換過程是編碼,在O1內(nèi)輸入原始艦船通信網(wǎng)絡(luò)數(shù)據(jù)樣本x,作為O2的輸入,O2的輸出結(jié)果為:
其中:S(·)為編碼時的Sigmoid 函數(shù);wO2和bO2分別為O2的權(quán)重、偏置;u為艦船通信網(wǎng)絡(luò)故障特征。
O2至O3的變換過程是解碼,在O3內(nèi)輸入u,O3的輸出結(jié)果為:
其中:S′(·)為解碼時的Sigmoid 函數(shù);wO3和bO3分別為O3的權(quán)重、偏是;y為艦船通信網(wǎng)絡(luò)故障檢測結(jié)果。
預訓練AE,就是尋找最佳wO2,bO2,wO3,bO3,y與x間是誤差降至最低,即損失函數(shù)Q(w,b) 降至最小。Q(w,b)的計算公式為:
式中:H為原始艦船通信網(wǎng)絡(luò)數(shù)據(jù)樣本數(shù)量;xi和yi分別為第i個樣本的輸入與輸出向量;η為AE 的網(wǎng)絡(luò)層數(shù);nl為第l層神經(jīng)元數(shù)量;為第l層第j個神經(jīng)元和第l+1層第a個神經(jīng)元間的權(quán)值;γ為權(quán)值衰減系數(shù)。
在AE 的隱層內(nèi),添加稀疏性限制,令大多數(shù)隱層神經(jīng)元處于非激活狀態(tài),提升艦船通信網(wǎng)絡(luò)故障特征提取效果。損失函數(shù)Q(w,b)中添加稀疏懲罰項,公式如下:
式中:β為稀疏懲罰項的權(quán)值;z為平均活躍度;zj為O2內(nèi)第j個神經(jīng)元的平均活躍度;L(Z||zj)為z與zj間相對熵。其計算公式為:
zj的計算公式為:
式中:對于xi,第j個神經(jīng)元的激活度為αj。
利用AE 提取艦船通信網(wǎng)絡(luò)故障特征時,需要考慮艦船通信網(wǎng)絡(luò)數(shù)據(jù)樣本間的相關(guān)性,才會避免影響原始艦船通信網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu)特征的提取。因此,在式(4)的基礎(chǔ)上,添加輸入數(shù)據(jù)相關(guān)性限制,變更后的損失函數(shù)為:
式中:R(xi),R(yi)為xi和yi的相關(guān)性;ω為輸入數(shù)據(jù)相關(guān)性的權(quán)值。
R(xi)的本質(zhì)是xi與的乘積,其中,T 為轉(zhuǎn)置符號。因此,損失函數(shù)為:
在AE 內(nèi)添加稀疏性限制與輸入數(shù)據(jù)相關(guān)性限制后,建立相關(guān)性稀疏自編碼神經(jīng)網(wǎng)絡(luò)(SRAE),將多個SRAE 堆疊形成SSRAE,就是上個SRAE 隱層的輸出是下一個SRAE 的輸入。以預訓練與有監(jiān)督微調(diào)的方式,確定SSRAE 的最佳w與b。以逐層貪婪法預訓練SSRAE,通過海量無標簽訓練樣本,計算各SRAE 的Q′′(w,b)取得最小值情況下,對應的w與b。以持續(xù)迭代降低各SRAE 的Q′′(w,b)值的方式,將Q′′(w,b)降至指定值,獲取最終的w與b。
通過反向傳播算法有監(jiān)督微調(diào)SSRAE,利用反向傳播算法再次迭代更新預訓練階段獲取的各SRAE 的w與b,以達到最大迭代次數(shù)位置,輸出各SRAE 的最佳w與b。w與b的更新公式如下:
以Softmax 分類器為SSRAE 的輸出層,將SSRAE隱層提取的艦船通信網(wǎng)絡(luò)故障特征h,作為Softmax 分類器的輸入,輸出艦船通信網(wǎng)絡(luò)故障檢測結(jié)果。艦船通信網(wǎng)絡(luò)故障類別數(shù)量為K,Softmax 分類器的輸出結(jié)果為:
其中:P(Gk|ui)為艦船通信網(wǎng)絡(luò)故障屬于各類別的后驗概率;ui為第i個艦船通信網(wǎng)絡(luò)故障特征;G1,G2,…,Gk為艦船通信網(wǎng)絡(luò)故障類別。
艦船通信網(wǎng)絡(luò)故障檢測的決策準則是最小錯誤率,艦船通信網(wǎng)絡(luò)故障特征檢測結(jié)果是類故障時的錯誤概率為:
艦船通信網(wǎng)絡(luò)故障檢測的最小錯誤率決策準則是argminPe(Gk|u)。結(jié)合式(11)可知,最小錯誤率即最大后驗概率argmaxP(Gk|u)。
艦船通信網(wǎng)絡(luò)故障檢測類型及其編碼如表1 所示。
表1 故障檢測類型及其編碼Tab.1 Fault detection type and code
以某艦船的通信網(wǎng)絡(luò)數(shù)據(jù)為實驗對象,該數(shù)據(jù)集內(nèi)記錄了2 個月的艦船通信網(wǎng)絡(luò)連接數(shù)據(jù),共包含近1 百萬條數(shù)據(jù)。該數(shù)據(jù)集內(nèi)有7 種類型的艦船通信網(wǎng)絡(luò)數(shù)據(jù),具體信息如表2 所示。
表2 艦船通信網(wǎng)絡(luò)數(shù)據(jù)集具體信息Tab.2 Specific information of ship communication network data set
利用本文方法對該數(shù)據(jù)集內(nèi)的艦船通信網(wǎng)絡(luò)數(shù)據(jù)進行故障特征提取,通過主成分分析提取故障特征的前3 個主成分,以可視化形式呈現(xiàn)本文方法引入稀疏性限制與輸入數(shù)據(jù)相關(guān)性限制前后,故障特征提取效果。艦船通信網(wǎng)絡(luò)故障特征提取的可視化結(jié)果如圖1所示,以信號丟失故障特征、端口故障特征、通信線路故障特征、通信網(wǎng)IP 沖突故障特征為例。分析圖1(a)可知,本文方法添加稀疏性限制與輸入數(shù)據(jù)相關(guān)性限制前,可有效提取艦船通信網(wǎng)絡(luò)故障特征,但提取的4 種故障特征邊界存在混淆情況。分析圖1(b) 可知,添加稀疏性限制與輸入數(shù)據(jù)相關(guān)性限制后,本文方法提取的各類型艦船通信網(wǎng)絡(luò)故障特征聚集效果較優(yōu),各類型故障特征的邊界較為清晰,在艦船通信網(wǎng)絡(luò)故障檢測方面更具優(yōu)勢。實驗證明:本文方法可有效提取艦船通信網(wǎng)絡(luò)故障特征,且提取的故障特征間并無混淆情況,邊界非常清晰。
圖1 改進前后的艦船通信網(wǎng)絡(luò)故障特征提取結(jié)果Fig.1 Fault feature extraction results of ship communication network before and after improvement
在該數(shù)據(jù)集內(nèi)隨機選擇35 個樣本,各數(shù)據(jù)類型的樣本數(shù)量均為5 個,利用本文方法對這35 個樣本進行艦船通信網(wǎng)絡(luò)故障診斷,故障診斷結(jié)果如圖2 所示??芍?,本文方法可有效檢測艦船通信網(wǎng)絡(luò)故障,對比表2 可知,0~5 號樣本的故障檢測結(jié)果為路由器故障,其中僅有一個樣本的故障檢測結(jié)果錯誤;11~15 號樣本的故障檢測結(jié)果為通信網(wǎng)IP 沖突故障,其中,也僅有一個樣本的故障檢測結(jié)果錯誤。6~10 號樣本故障檢測結(jié)果為網(wǎng)卡故障;16~20 號樣本故障檢測結(jié)果為通信線路故障;21~25 號樣本故障檢測結(jié)果為端口故障;26~30 號樣本故障檢測結(jié)果為信號丟失故障;31~35 號樣本故障檢測結(jié)果為無故障。實驗證明,本文方法可精準檢測艦船通信網(wǎng)絡(luò)故障,為提升艦船通信質(zhì)量提供保障。
圖2 艦船通信網(wǎng)絡(luò)故障診斷結(jié)果Fig.2 Fault diagnosis results of ship communication network
艦船通信質(zhì)量與艦船航行安全息息相關(guān),為此,研究基于機器學習的艦船通信網(wǎng)絡(luò)故障檢測方法,及時發(fā)現(xiàn)并解決通信網(wǎng)絡(luò)故障,提升艦船通信質(zhì)量,確保艦船航行過程中能夠隨時接收內(nèi)部與外部的交互信息,制定安全的航行路徑,提升艦船航行的安全性。