李款 于寒
現(xiàn)代海洋戰(zhàn)爭正朝著無人化、智能化的方向發(fā)展.水面艇順應(yīng)這一發(fā)展潮流,憑借其無人操縱的優(yōu)越特性,可以執(zhí)行許多危險的作戰(zhàn)任務(wù),比如在海洋戰(zhàn)爭中可以作為先鋒戰(zhàn)隊為后續(xù)部隊掃除海上障礙,從而避免了載人偵查作戰(zhàn)可能帶來的人員損失.水面艇的建造相比于其他海軍裝備成本較低,所以可以大規(guī)模地裝備于軍事艦艇之上,性價比極高.這意味著部隊可以憑借較低的成本補(bǔ)充自己在作戰(zhàn)體系當(dāng)中的不足,并且提高相應(yīng)的作戰(zhàn)能力.這些優(yōu)勢暗示著水面艇極有可能成為未來海洋戰(zhàn)爭中的一大主要競爭手段.
由于應(yīng)用場合的特殊性,水面艇對自身航行安全的保障能力就顯得尤為重要.水面艇在航行過程中,很有可能由于長期處于某種不佳的航行狀態(tài)下而導(dǎo)致控制系統(tǒng)出現(xiàn)故障,進(jìn)而危及到水面艇的航行安全.為了保證水面艇航行的安全性和可靠性,必須對水面艇自身的航行狀態(tài)進(jìn)行檢測與診斷,對異常狀態(tài)做到早期預(yù)警,使得水面艇控制系統(tǒng)采取相應(yīng)的措施,及早脫離危險隱患.
隨著現(xiàn)代計算機(jī)運(yùn)算和存儲能力的增強(qiáng),大量的水面艇實(shí)際航行的狀態(tài)數(shù)據(jù)得以被采集并收集起來.本文運(yùn)用數(shù)據(jù)驅(qū)動的技術(shù)對這些航行數(shù)據(jù)進(jìn)行處理分析,通過選取合適的數(shù)據(jù)驅(qū)動算法,最終實(shí)現(xiàn)了對水面艇各種航行狀態(tài)的檢測與診斷.
基于數(shù)據(jù)驅(qū)動的方法主要是通過收集大量的系統(tǒng)過程數(shù)據(jù).然后選取適當(dāng)?shù)臄?shù)據(jù)處理與分析方法挖掘出數(shù)據(jù)內(nèi)部隱含的信息[1].通常,該方法在輸入過程數(shù)據(jù)之前,要經(jīng)由一些降維算法將計算機(jī)采集到的過程數(shù)據(jù)從高維特征空間映射到一個低維特征空間中去,進(jìn)而得到一個更具有代表性的特征數(shù)據(jù)集.同時,還極大程度地減少了計算機(jī)在處理分析數(shù)據(jù)時所需的運(yùn)行時間,提高了模型的訓(xùn)練效率.而在降維過程中,最基本的要求就是要最大限度地剔除掉冗余的數(shù)據(jù)信息,并保留住原始數(shù)據(jù)中的特征信息[2?3].就目前的研究情況來看,基于數(shù)據(jù)驅(qū)動的方法已經(jīng)受到了學(xué)術(shù)界的廣泛關(guān)注,并被許多研究者應(yīng)用于系統(tǒng)狀態(tài)的檢測與診斷當(dāng)中.
與傳統(tǒng)的基于數(shù)學(xué)模型和基于知識的方法相比,基于數(shù)據(jù)驅(qū)動的方法既規(guī)避了系統(tǒng)建模時所需的繁瑣的數(shù)學(xué)和物理機(jī)理分析,又規(guī)避了對各種不同系統(tǒng)狀態(tài)特征的分析,而只需要不同模態(tài)下的狀態(tài)數(shù)據(jù)即可,這樣大大減少了人為工作量[4].而現(xiàn)代的水面艇控制系統(tǒng)往往都是具有很高自動化程度的計算機(jī)控制系統(tǒng),它可以通過傳感器把水面艇在海面航行時的大量數(shù)據(jù)實(shí)時采集并存儲起來.這些不同模態(tài)下的數(shù)據(jù)正好可以被基于數(shù)據(jù)驅(qū)動的方法用來進(jìn)行水面艇航行狀態(tài)的檢測與診斷.
主元分析法是工程上一種常用的降維方法,其基本思想是從系統(tǒng)數(shù)據(jù)中提取出對系統(tǒng)變化響應(yīng)最強(qiáng)烈的那一部分,并能夠保證在精度滿足要求的情況下提高計算機(jī)的運(yùn)行速度.一般來說,我們認(rèn)為與較大特征值對應(yīng)的數(shù)據(jù)能夠更好地反映出系統(tǒng)狀態(tài)的變化,而與較小特征值對應(yīng)的數(shù)據(jù)則屬于系統(tǒng)的噪聲[5?7].該方法的降維效果主要取決于所選取的主元個數(shù),對于主元個數(shù)的選取,目前主要使用的方法有:方差貢獻(xiàn)率、Scree檢驗以及平行分析法等.
目前,PCA方法已被成功應(yīng)用于數(shù)據(jù)壓縮、圖像處理、特征提取、模式識別、過程監(jiān)控以及故障檢測等各大領(lǐng)域[8?9].為了更好地解釋PCA在故障檢測中的應(yīng)用,我們可以考慮一個如下形式的m維測量向量:
并假設(shè)有N個測量向量[zobs(1),···,zobs(N)]已經(jīng)被采集并存儲了下來.
作為一種數(shù)據(jù)驅(qū)動的方法,基于PCA的故障檢測過程如下所示:
1)數(shù)據(jù)的標(biāo)準(zhǔn)化
首先,計算出每一維測量向量所對應(yīng)的均值和方差,
并構(gòu)造
由此可得標(biāo)準(zhǔn)化后的矩陣Z為
2)閾值的確定
然后,需要確定主元的個數(shù),假設(shè)這里取主元的個數(shù)為l,并將P分解成Ppc和Pres.
最后,我們可以由如下兩式確定出兩個閾值,
3)在線故障檢測
首先,標(biāo)準(zhǔn)化在線取得的測量數(shù)據(jù),
然后,進(jìn)行SPE和兩個檢測統(tǒng)計量的計算,
最后,作出故障檢測的決策,
BP神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)(ANN)的一種基本網(wǎng)絡(luò)形式.它由輸入層、隱藏層和輸出層組成,屬于前饋網(wǎng)絡(luò)的一種.通常,在BP神經(jīng)網(wǎng)絡(luò)內(nèi)部,層內(nèi)是無連接的,而層間是全連接的.在網(wǎng)絡(luò)中,由輸入層傳入的信息通過單向傳播的方式走遍整個網(wǎng)絡(luò),并由輸出層傳遞出最終的處理結(jié)果[10].
該網(wǎng)絡(luò)的自我學(xué)習(xí)過程主要采用了誤差反向傳播的算法,即BP算法.算法的基本內(nèi)容如下所示:
設(shè)有一個M層的BP網(wǎng)絡(luò),第l層總共有nl個節(jié)點(diǎn),第l層節(jié)點(diǎn)k的輸出為可由以下兩式確定:
其中,表示輸入第l層神經(jīng)元k的線性加權(quán)和.
BP網(wǎng)絡(luò)的權(quán)值調(diào)整采用了最小化輸出誤差函數(shù)值的原則,輸出誤差函數(shù)的形式如下:
利用梯度下降的方法,可以修正整個神經(jīng)網(wǎng)絡(luò)的權(quán)值.其中,與第l層第i個神經(jīng)元相連的權(quán)值修正量為:
對于輸出層(第M層),上式中的為:
這樣,可以沿著E(W)的負(fù)梯度方向不斷修正W的值,直至使E(W)達(dá)到最小值.每次的權(quán)值修正規(guī)則可以表示為:
其中,η(k)是網(wǎng)絡(luò)的學(xué)習(xí)速率,決定著網(wǎng)絡(luò)的運(yùn)算步長.該規(guī)則是一種啟發(fā)式搜索方法,類似于在高低起伏的山地尋找最低點(diǎn),而每次都選擇最陡的下降方向前進(jìn)[11].
針對BP神經(jīng)網(wǎng)絡(luò)可能存在著收斂速度慢和容易陷入局部極小值的問題,我們引入了動量因子α.動量因子的引入使得權(quán)值的更新具有一定的慣性,從而加強(qiáng)了算法的收斂能力以及在極小值點(diǎn)附近的抗震顫能力[12].實(shí)際應(yīng)用中,動量因子一般取0.1~0.8.
支持向量機(jī)(SVM)是1995年由Vapnik首次提出的分類新方法,該方法旨在尋求一個能將兩類樣本彼此分離的分劃超平面.為了能夠最大程度上準(zhǔn)確分開兩類樣本并保證分劃機(jī)制具有一定的泛化能力,支持向量機(jī)采用了最大間隔法,即分劃超平面在幾何上到兩類樣本點(diǎn)的最短距離最大[13?14].對于線性可分問題,支持向量機(jī)采用了硬性的分類方式,即要求分劃超平面能夠完全正確地將兩類分開.此時的原始優(yōu)化問題為:
其中,w為權(quán)重向量,b為分劃超平面偏移.
為了方便對原始問題進(jìn)行求解,將該問題轉(zhuǎn)化為Wolfe對偶問題來求解,轉(zhuǎn)化后的對偶問題為:
其中,α =(α1,···,αl)T為 Lagrange 乘子向量.
然而,對于線性不可分問題,這種分類方式將找不到符合要求的超平面.為此,研究者們又引入了松弛變量和核函數(shù)的概念.松弛變量的引入是為了“軟化”分劃超平面,即將原來的約束條件放寬,也容納一些本不屬于該類的樣本.為了能夠人為控制分劃超平面的軟化程度,又在松弛變量這項之前引入了懲罰因子,該參數(shù)決定著使用者對超平面軟化的重視程度.通常,當(dāng)懲罰因子取值足夠大時,引入松弛變量的方法就退化成為了硬性的分類方式[13,15].
核函數(shù)則是通過變換將原數(shù)據(jù)空間中的樣本轉(zhuǎn)化到了一個維度更高的數(shù)據(jù)空間中去,并在該高維空間中對樣本進(jìn)行線性分劃.這是因為根據(jù)Cover模式可分定理,復(fù)雜的模式分類問題通過非線性映射嵌入高維空間后比在低維空間中更可能被線性分開.同時,核函數(shù)的引入也解決了高維空間運(yùn)算的最常見的困擾,即維數(shù)災(zāi)難.常用的核函數(shù)有線性核函數(shù)、多項式核函數(shù)、高斯徑向核函數(shù)以及sigmoid核函數(shù)等[16].引入核函數(shù)后優(yōu)化問題的對偶問題可以寫成:
其中,K(?)為核函數(shù),C為懲罰參數(shù).
相比之下,引入松弛變量的方法更適用于線性可分樣本被噪聲污染后的分類,而核函數(shù)的方法通用性更強(qiáng),對于本質(zhì)線性不可分樣本也可以得到很好的分類效果.
在海面執(zhí)行各種作業(yè)任務(wù)時,水面艇的控制系統(tǒng)很有可能由于外界或自身的因素而出現(xiàn)故障,從而影響到任務(wù)的執(zhí)行效果,甚至出現(xiàn)安全事故并可能使水面艇的使用壽命大大縮短,造成不必要的經(jīng)濟(jì)支出.如果對水面艇的一些航行狀態(tài)進(jìn)行實(shí)時監(jiān)控,如橫傾角、舵角、艇速等,就可以通過這些數(shù)據(jù)的異常變化,使控制系統(tǒng)本身及時作出相應(yīng)的調(diào)整,規(guī)避危險事故的發(fā)生.
本文主要就橫傾角、舵角、艇速3種航行狀態(tài)指標(biāo)進(jìn)行了異常檢測與診斷.3種航行狀態(tài)指標(biāo)在正常與異常狀態(tài)下的數(shù)據(jù)模式分別如圖1~圖3所示.其中,前500組數(shù)據(jù)為該項指標(biāo)的正常狀態(tài),后500組數(shù)據(jù)為該項指標(biāo)的異常狀態(tài).
圖1 橫傾角數(shù)據(jù)模式
圖2 舵角數(shù)據(jù)模式
圖3 艇速數(shù)據(jù)模式
圖4 測試集SPE檢測效果
本文分別用上述3種方法對水面艇航行狀態(tài)進(jìn)行了檢測,將可能誘發(fā)危險的航行狀態(tài)與正常的航行狀態(tài)分離開來.其中,訓(xùn)練集數(shù)據(jù)與測試集數(shù)據(jù)分別有6000組和3000組.最后的檢測效果如表1所示.
基于PCA的方法對于測試集的SPE和T2PCA的檢測結(jié)果如圖4和圖5所示.
表1 水面艇航行狀態(tài)檢測效果
經(jīng)過了5000代的訓(xùn)練,基于BP神經(jīng)網(wǎng)絡(luò)的方法在訓(xùn)練集數(shù)據(jù)上的均方誤差變化如圖6所示.
圖6 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練5000代的均方誤差
在檢測到水面艇處于易誘發(fā)危險的不佳航行狀態(tài)的情況下,需要對這種狀態(tài)作進(jìn)一步的診斷,即辨識出此時水面艇所處的不佳航行狀態(tài)是由何種因素導(dǎo)致的.本文只討論了橫傾角過大、舵角過大和艇速過高3種因素的影響,并利用了基于BP神經(jīng)網(wǎng)絡(luò)和基于SVM的方法對3種因素進(jìn)行了診斷,診斷效果如表2所示.
表2 水面艇航行狀態(tài)診斷效果
經(jīng)過了1000代的訓(xùn)練,基于BP神經(jīng)網(wǎng)絡(luò)的方法在訓(xùn)練集數(shù)據(jù)上的均方誤差變化如圖7所示.
圖7 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練1000代的均方誤差
水面艇航行狀態(tài)的檢測與診斷對于水面艇自身的航行安全至關(guān)重要,進(jìn)而在很大程度上影響著偵查和作戰(zhàn)任務(wù)的執(zhí)行效果.嘗試了基于PCA、基于BP神經(jīng)網(wǎng)絡(luò)以及基于SVM 3種方法,對比了幾種方法對水面艇航行狀態(tài)的檢測與診斷效果,發(fā)現(xiàn)了基于BP神經(jīng)網(wǎng)絡(luò)和基于SVM的方法更適合用于水面艇航行狀態(tài)的檢測與診斷.建議可以把大量不同狀態(tài)的航行數(shù)據(jù)用于模型的訓(xùn)練,從而使模型更具有通用性.控制系統(tǒng)可以根據(jù)診斷的結(jié)果作出適時的調(diào)節(jié),保證水面艇可靠地在海面執(zhí)行任務(wù)并減少由于不當(dāng)使用帶來的后續(xù)維修費(fèi)用.在未來的海戰(zhàn)中,這種高可靠性的水面艇作戰(zhàn)體系的建立將會很大程度上決定著最后的戰(zhàn)局.