楊凱飛,韓笑冬,*,呂原草,徐楠,宮江雷,2,李翔
1.中國(guó)空間技術(shù)研究院 通信與導(dǎo)航衛(wèi)星總體部,北京 100094 2.西安電子科技大學(xué),西安 710126
近年來(lái),隨著在軌衛(wèi)星數(shù)量的持續(xù)增加,在軌故障時(shí)有發(fā)生,衛(wèi)星系統(tǒng)具有高價(jià)值、難維修的特點(diǎn),一旦故障得不到及時(shí)發(fā)現(xiàn)和處理,往往造成嚴(yán)重?fù)p失和惡劣影響。在此背景下,如何通過(guò)衛(wèi)星狀態(tài)的實(shí)時(shí)監(jiān)測(cè)和故障檢測(cè),及時(shí)發(fā)現(xiàn)故障、減少故障蔓延,已經(jīng)成為衛(wèi)星健康管理技術(shù)研究的重要內(nèi)容。
針對(duì)衛(wèi)星故障檢測(cè)技術(shù),國(guó)內(nèi)外學(xué)者開(kāi)展了相關(guān)研究和工程應(yīng)用,采用專家系統(tǒng)、最近鄰等方法的故障診斷系統(tǒng)已經(jīng)應(yīng)用在隼鳥(niǎo)號(hào)、Geotail衛(wèi)星、航天飛機(jī)、國(guó)際空間站等航天器中[1],實(shí)現(xiàn)故障狀況檢測(cè)。文獻(xiàn)[2-4]分別設(shè)計(jì)實(shí)現(xiàn)高分多模、高分三號(hào)衛(wèi)星和導(dǎo)航衛(wèi)星載荷自主健康管理系統(tǒng),在故障發(fā)生時(shí)實(shí)施診斷、隔離和恢復(fù),有效提高衛(wèi)星可靠性。目前,衛(wèi)星故障診斷技術(shù)一般可分為基于模型、知識(shí)庫(kù)和數(shù)據(jù)驅(qū)動(dòng)三種類型[5]。針對(duì)數(shù)據(jù)驅(qū)動(dòng)方法,文獻(xiàn)[6]研究了基于數(shù)據(jù)驅(qū)動(dòng)的衛(wèi)星故障診斷關(guān)鍵技術(shù)。文獻(xiàn)[7]對(duì)數(shù)據(jù)驅(qū)動(dòng)的航天器遙測(cè)數(shù)據(jù)異常檢測(cè)內(nèi)涵、方法體系及應(yīng)用現(xiàn)狀等進(jìn)行了系統(tǒng)研究和闡述。文獻(xiàn)[8]利用隨機(jī)森林算法實(shí)現(xiàn)了衛(wèi)星姿態(tài)敏感器和執(zhí)行器故障診斷方法,并具備更高的診斷精度和實(shí)時(shí)性。文獻(xiàn)[9]通過(guò)軸承故障信號(hào)特征頻率的精確提取,進(jìn)行滾動(dòng)軸承早期故障診斷。文獻(xiàn)[10]針對(duì)飛輪的傳感器故障與系統(tǒng)檢測(cè)問(wèn)題,采用基于數(shù)據(jù)驅(qū)動(dòng)方法進(jìn)行了早期故障檢測(cè)。
一方面,雖然國(guó)內(nèi)外學(xué)者在衛(wèi)星故障檢測(cè)方面取得了相關(guān)成果,但由于衛(wèi)星數(shù)據(jù)量大、維度高、參數(shù)關(guān)系復(fù)雜、專業(yè)性強(qiáng)等,為高檢測(cè)率、低誤檢率故障診斷目標(biāo)帶來(lái)挑戰(zhàn)[7]??偨Y(jié)起來(lái)面臨以下問(wèn)題:1)針對(duì)故障模式庫(kù)中“已知”故障的診斷研究較多,也有一定成果,但對(duì)于故障模式庫(kù)中不存在的非預(yù)期故障[11]檢測(cè)存在困難;2)衛(wèi)星數(shù)據(jù)缺乏有故障標(biāo)簽的數(shù)據(jù)集,同時(shí)由于衛(wèi)星的高可靠性,數(shù)據(jù)正負(fù)樣本分布極不均衡;3)衛(wèi)星數(shù)據(jù)來(lái)自溫度、壓力等多種類型傳感器,對(duì)多元信息融合處理可以補(bǔ)償單一參數(shù)的局限性,當(dāng)前基于少量數(shù)據(jù)或?qū)<医?jīng)驗(yàn)的故障信息融合方式較難準(zhǔn)確反映衛(wèi)星故障狀況下多元參數(shù)的變化關(guān)系。
另一方面,深度學(xué)習(xí)算法的快速發(fā)展為衛(wèi)星數(shù)據(jù)分析尤其是復(fù)雜非線性關(guān)系挖掘提供了更好的技術(shù)途徑。文獻(xiàn)[12]回顧總結(jié)了基于棧式自編碼器、深度置信網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的四類深度學(xué)習(xí)故障診斷方法。文獻(xiàn)[13]研究了深度學(xué)習(xí)在視頻、傳感器、工業(yè)設(shè)備等領(lǐng)域異常檢測(cè)的方法和應(yīng)用。文獻(xiàn)[14]針對(duì)衛(wèi)星姿態(tài)控制系統(tǒng)執(zhí)行器機(jī)構(gòu)故障問(wèn)題,提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的故障診斷方法。文獻(xiàn)[15]提出了基于長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM,long short term memory)和動(dòng)態(tài)閾值的航天器遙測(cè)數(shù)據(jù)異常檢測(cè)方法,并利用“好奇號(hào)”火星車和SMAP(soil moisture active passive)衛(wèi)星的遙測(cè)數(shù)據(jù)進(jìn)行了實(shí)驗(yàn)驗(yàn)證,但模型主要考慮了單參數(shù)的時(shí)序特性,未挖掘多維參數(shù)間的關(guān)聯(lián)性。
衛(wèi)星數(shù)據(jù)是一種典型的時(shí)間序列數(shù)據(jù),利用時(shí)間序列模型對(duì)其進(jìn)行建模分析,可以挖掘衛(wèi)星數(shù)據(jù)規(guī)律,實(shí)現(xiàn)無(wú)需故障標(biāo)簽的衛(wèi)星故障檢測(cè)。所以,針對(duì)以上問(wèn)題,本文主要研究工作如下:
1)提出基于長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的衛(wèi)星數(shù)據(jù)預(yù)測(cè)與故障檢測(cè)方法,利用衛(wèi)星正常數(shù)據(jù)建模時(shí)間序列依賴,在衛(wèi)星故障工況下通過(guò)衛(wèi)星數(shù)據(jù)與時(shí)序模型預(yù)測(cè)的誤差實(shí)現(xiàn)故障檢測(cè)。
2)提出基于時(shí)間卷積自編碼器網(wǎng)絡(luò)的衛(wèi)星數(shù)據(jù)重建與故障檢測(cè)方法,利用衛(wèi)星正常數(shù)據(jù)訓(xùn)練模型,在衛(wèi)星故障工況下通過(guò)衛(wèi)星數(shù)據(jù)與時(shí)序模型重構(gòu)的偏差實(shí)現(xiàn)故障檢測(cè)。
3)引入滑動(dòng)窗口機(jī)制,實(shí)現(xiàn)了模型對(duì)多幀、多維衛(wèi)星數(shù)據(jù)的融合學(xué)習(xí),通過(guò)不同參數(shù)間關(guān)系的綜合學(xué)習(xí),可以補(bǔ)償單一參數(shù)的局限性,實(shí)現(xiàn)多維參數(shù)融合的衛(wèi)星故障檢測(cè)。
實(shí)驗(yàn)結(jié)果表明,本文所提方法實(shí)現(xiàn)了對(duì)衛(wèi)星故障的有效檢測(cè),并相較對(duì)比方法具有更優(yōu)檢測(cè)性能。
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)是一類具有短期記憶能力的神經(jīng)網(wǎng)絡(luò)。神經(jīng)元不但可以接受其他神經(jīng)元的信息,也可以接受自身的信息,形成具有環(huán)路的網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)使用帶自反饋的神經(jīng)元,具備短期記憶能力,能處理任意長(zhǎng)度處理時(shí)序數(shù)據(jù)并利用其歷史信息。但是,由于循環(huán)神經(jīng)網(wǎng)絡(luò)輸入序列比較長(zhǎng)時(shí)存在梯度爆炸和消失問(wèn)題,產(chǎn)生了多種變體,長(zhǎng)短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò)就是一個(gè)典型代表,可以有效地解決簡(jiǎn)單循環(huán)神經(jīng)網(wǎng)絡(luò)的梯度爆炸或消失問(wèn)題。
LSTM網(wǎng)絡(luò)引入門機(jī)制來(lái)控制信息傳遞的路徑,分別為輸入門it、遺忘門ft和輸出門ot,通過(guò)門的開(kāi)關(guān)實(shí)現(xiàn)時(shí)間上記憶的功能。其中,遺忘門ft控制上一個(gè)時(shí)刻的內(nèi)部狀態(tài)ct需要遺忘多少信息,輸入門it控制當(dāng)前時(shí)刻的候選狀態(tài)ct有多少信息需要保存,輸出門ot控制當(dāng)前時(shí)刻的內(nèi)部狀態(tài)ct有多少信息需要輸出給外部狀態(tài)ht。LSTM的基本公式如下:
式中:x表示輸入向量;h表示輸出向量;矩陣W表示待訓(xùn)練參數(shù);σ(.)表示sigmoid非線性函數(shù)。
時(shí)間卷積神經(jīng)網(wǎng)絡(luò)(temporal convolutional network,TCN)[16]是2018年提出的一種基于卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu),能夠用于建模時(shí)間序列數(shù)據(jù)。在文本、視頻等時(shí)間序列數(shù)據(jù)中的性能達(dá)到甚至超過(guò)了RNN,并且具有訓(xùn)練消耗內(nèi)存更少、并行處理等優(yōu)勢(shì)。時(shí)間卷積神經(jīng)網(wǎng)絡(luò)在卷積網(wǎng)絡(luò)的基礎(chǔ)上,引入了因果卷積[17-18]、殘差網(wǎng)絡(luò)[19],因果卷積將網(wǎng)絡(luò)各層間設(shè)定為因果關(guān)系,僅利用歷史數(shù)據(jù)進(jìn)行運(yùn)算,更符合數(shù)據(jù)時(shí)序特性。膨脹因子的引入在增大感受野的同時(shí)又減少了網(wǎng)絡(luò)的深度。殘差網(wǎng)絡(luò)內(nèi)部的殘差塊使用跳躍連接,緩解了梯度消失問(wèn)題。
(1)因果卷積
作為時(shí)間卷積網(wǎng)絡(luò)的重要特征,時(shí)間卷積神經(jīng)網(wǎng)絡(luò)可視為在一維卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)中引入因果卷積。
圖1 時(shí)間卷積神經(jīng)網(wǎng)絡(luò)示意Fig.1 Temporal convolutional network
(2)膨脹卷積
為擴(kuò)大時(shí)間卷積網(wǎng)絡(luò)的感受野,利用更多歷史數(shù)據(jù),同時(shí)控制網(wǎng)絡(luò)深度,所以引入膨脹卷積。如圖1所示,卷積核大小為3,第一層至第三層卷積的膨脹系數(shù)分別為1、2、4。隨著層數(shù)加深指數(shù)增大,在計(jì)算量可控的前提下擴(kuò)展了網(wǎng)絡(luò)的感受野,利用更多的歷史數(shù)據(jù)進(jìn)行時(shí)間序列數(shù)據(jù)序建模。
假定輸入序列x={x(0),…,x(T)},x∈Rn,卷積核f:{0,…,k-1}→R,則對(duì)于任一數(shù)據(jù)樣本x(t),該處卷積可表示為下式。
式中:k為卷積核大小;d為擴(kuò)張因子;x(t)-d.i代表過(guò)去的方向。膨脹系數(shù)越大,則卷積網(wǎng)絡(luò)的感受野越大,當(dāng)d=1時(shí),膨脹卷積退化為普通卷積。
(3)殘差連接
在時(shí)間卷積網(wǎng)絡(luò)深度變大時(shí),為提升網(wǎng)絡(luò)的穩(wěn)定性,引入了殘差模塊,以x(t)作為輸入,網(wǎng)絡(luò)的輸出可表示為下式,其中Activation代表激活函數(shù)。
ο=Activation(x(t)+Fd(x(t)))
(1)數(shù)據(jù)選擇及劃分
首先,將衛(wèi)星參數(shù)分為數(shù)值量和狀態(tài)量?jī)深?。其?數(shù)值量參數(shù)可用在一定范圍內(nèi)變化的變量表征,例如鋰離子電池單體電壓輸出范圍、動(dòng)量輪轉(zhuǎn)速等均為數(shù)值量。狀態(tài)量參數(shù)一般用可窮舉的若干變量表征,例如某單機(jī)工作狀態(tài),“1”表示健康,“0”表示為異常。為提升模型學(xué)習(xí)效率,在時(shí)序建模中選擇“數(shù)值量”類型參數(shù)作為模型輸入數(shù)據(jù)來(lái)源。
接下來(lái),將衛(wèi)星數(shù)據(jù)劃分為三部分:1)訓(xùn)練集Xtrain,為衛(wèi)星正常工況下產(chǎn)生的連續(xù)遙測(cè)數(shù)據(jù),用于時(shí)序模型的訓(xùn)練;2)驗(yàn)證集Xval,衛(wèi)星正常工況下的遙測(cè)數(shù)據(jù),用于模型訓(xùn)練過(guò)程中的效果檢驗(yàn)和故障檢測(cè)閾值計(jì)算;3)測(cè)試集Xtest,為衛(wèi)星產(chǎn)生的連續(xù)遙測(cè)數(shù)據(jù),包括衛(wèi)星正常及故障時(shí)刻的數(shù)據(jù),參數(shù)類別與訓(xùn)練集一致。
(2)數(shù)據(jù)標(biāo)準(zhǔn)化
在將衛(wèi)星數(shù)據(jù)輸入模型前,需要進(jìn)行標(biāo)準(zhǔn)化處理以符合標(biāo)準(zhǔn)正態(tài)分布,從而使得模型能夠全面學(xué)習(xí)和反映各參數(shù)的特征。假定待標(biāo)準(zhǔn)化數(shù)據(jù)集均值為μ,標(biāo)準(zhǔn)差為σ,則對(duì)于其中單個(gè)樣本x(i),其標(biāo)準(zhǔn)化過(guò)程如下式所示。
(3)滑動(dòng)窗口機(jī)制
為同時(shí)建模衛(wèi)星數(shù)據(jù)不同參數(shù)間、不同時(shí)刻間的相關(guān)性,采用滑動(dòng)窗口的方式截取數(shù)據(jù)樣本,將多維多幀衛(wèi)星遙測(cè)數(shù)據(jù)輸入模型進(jìn)行訓(xùn)練。如圖2所示,滑動(dòng)窗口長(zhǎng)度即為截取的樣本長(zhǎng)度,移動(dòng)的時(shí)間步長(zhǎng)為滑窗移動(dòng)一次的距離,該距離小于等于滑窗長(zhǎng)度。
利用滑動(dòng)窗口機(jī)制,輸入的單個(gè)數(shù)據(jù)樣本形式為k×m,其中k為時(shí)間步長(zhǎng),m為特征參數(shù)個(gè)數(shù),即在t時(shí)刻輸入xt-k+1到xt的k幀m維數(shù)據(jù),其中,k、m可根據(jù)數(shù)據(jù)特點(diǎn)與應(yīng)用場(chǎng)景調(diào)節(jié)。
圖2 滑動(dòng)窗口示意Fig.2 Schematic diagram of sliding window
(1)問(wèn)題定義
如圖3所示,基于數(shù)據(jù)預(yù)測(cè)的衛(wèi)星故障檢測(cè)方法可描述為:1)在模型訓(xùn)練階段,輸入M(M≥1)時(shí)間戳的衛(wèi)星數(shù)據(jù),預(yù)測(cè)未來(lái)L(L≥1)時(shí)間戳的數(shù)據(jù),若L為1,則預(yù)測(cè)單點(diǎn)數(shù)據(jù),若L大于1,則預(yù)測(cè)時(shí)間序列;2)在故障檢測(cè)階段,利用歷史M時(shí)間戳數(shù)據(jù)預(yù)測(cè)L時(shí)間戳的數(shù)據(jù),并與衛(wèi)星實(shí)際產(chǎn)生的L時(shí)間戳數(shù)據(jù)求殘差,根據(jù)殘差值檢測(cè)異常是否發(fā)生。
圖3 基于數(shù)據(jù)預(yù)測(cè)的衛(wèi)星故障檢測(cè)Fig.3 Satellite fault detection based on data prediction
假定在時(shí)刻t,衛(wèi)星產(chǎn)生的N維數(shù)據(jù)樣本表示為X(t)={x1,x2,…,xN}∈RN,則該過(guò)程可表示為下式,其中Minput、Moutput分別表示模型的輸入和輸出。
Minput={X(t1),X(t2),…,X(tM)}∈RN×M
Moutput=Predict(Minput)∈RN×L
Error=Dist(Moutput,{X(t1),X(t2),…,X(tL)})
(2)檢測(cè)方法設(shè)計(jì)
將LSTM神經(jīng)網(wǎng)絡(luò)作為數(shù)據(jù)預(yù)測(cè)的核心,實(shí)現(xiàn)基于長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)故障檢測(cè)方法。其中, 基于LSTM的衛(wèi)星數(shù)據(jù)預(yù)測(cè)模型訓(xùn)練流程如下所示,分為4個(gè)步驟:
1)首先將時(shí)間序列數(shù)據(jù)轉(zhuǎn)為有監(jiān)督數(shù)據(jù)集,用于神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,轉(zhuǎn)換后的數(shù)據(jù)集如圖2所示;
2)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)及驗(yàn)證調(diào)優(yōu),添加Dropout層防止過(guò)擬合;
3)目標(biāo)函數(shù)選擇,以均方根誤差(root mean square error,RMSE)為度量標(biāo)準(zhǔn);
4)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。
算法1:基于LSTM的衛(wèi)星故障檢測(cè)方法
輸入:正常工況衛(wèi)星數(shù)集Xtrain,Xval
待檢測(cè)衛(wèi)星數(shù)據(jù)樣本數(shù)據(jù)s
過(guò)程1:衛(wèi)星數(shù)據(jù)預(yù)測(cè)模型訓(xùn)練
1: 模型待訓(xùn)練參數(shù)為θ并隨機(jī)初始化
2: while 訓(xùn)練迭代次數(shù)小于設(shè)定值 do
3: while 訓(xùn)練批數(shù)小于設(shè)定值 do
6: 使用梯度下降低更新參數(shù)θ
end while
7: end while
8: 訓(xùn)練得到衛(wèi)星數(shù)據(jù)預(yù)測(cè)模型Pθ
過(guò)程2:衛(wèi)星數(shù)據(jù)預(yù)測(cè)與故障檢測(cè)
9: 集合x(chóng)_errors初始化為空
10: for 樣本xin 訓(xùn)練集Xvaldo
11: error=Dist(Pθ(x),x)
12: 添加error到x_errors
13: end for
14: thres=GetThresFromTrain(x_errors)
15:o=Pθ(s)
16: s_error=Dist(o,s)
17: res=judgeDetectRes(s_error,thres)
輸出:衛(wèi)星數(shù)據(jù)樣本s的檢測(cè)結(jié)果res
驗(yàn)證集誤差集合x(chóng)_errors
其中,GetThresFromTrain()方法對(duì)訓(xùn)練集上的所有殘差值從大到小排序,根據(jù)設(shè)定的異常比例選擇相應(yīng)殘差值作為故障檢測(cè)的閾值,本文中設(shè)定的異常比例為0.01。Dist()函數(shù)求矩陣歐式距離,即返回模型預(yù)測(cè)值與真實(shí)數(shù)據(jù)的殘差值。judgeDetectRes()函數(shù)輸入殘差及閾值,殘差大于閾值則視為檢測(cè)到故障,返回1,否則視為未檢測(cè)到故障,返回0。
(1)問(wèn)題定義
如圖4所示,基于衛(wèi)星數(shù)據(jù)重構(gòu)的故障檢測(cè)方法可描述為:在模型訓(xùn)練階段,輸入M(M≥1)時(shí)間戳的衛(wèi)星數(shù)據(jù),重構(gòu)L(L≥1)時(shí)間戳的衛(wèi)星數(shù)據(jù),一般M==L且為相同時(shí)間段。在故障檢測(cè)階段,利用M時(shí)間戳數(shù)據(jù)重構(gòu)L時(shí)間戳數(shù)據(jù),并與衛(wèi)星實(shí)際數(shù)據(jù)求殘差或重構(gòu)概率并據(jù)此檢測(cè)故障。
圖4 基于數(shù)據(jù)重構(gòu)的衛(wèi)星故障檢測(cè)Fig.4 Satellite fault detection based on data reconstruction
假定在時(shí)刻t,衛(wèi)星產(chǎn)生的N維數(shù)據(jù)樣本表示為X(t)={x1,x2,…,xN}∈RN,則該過(guò)程可表示為下式。
Minput={X(t1),X(t2),…,X(tM)}∈RN×M
Moutput=Reconstruct(Minput)∈RN×L
Error=Dist(Moutput,{X(t1),X(t2),…,X(tL)})
(2)檢測(cè)方法設(shè)計(jì)
自編碼器(auto-encoder,AE)是一種通過(guò)無(wú)監(jiān)督方式學(xué)習(xí)數(shù)據(jù)有效編碼的方法。假設(shè)正常模式下衛(wèi)星數(shù)據(jù)不同參數(shù)間、不同時(shí)刻間具有某種關(guān)聯(lián)性,利用自編碼器建模這種關(guān)聯(lián)性,進(jìn)而鑒別不具有相似性的故障數(shù)據(jù),實(shí)現(xiàn)故障檢測(cè)。其基本思想為,對(duì)一組M個(gè)N維樣本數(shù)據(jù)X(i)∈RN,1≤i≤M,自編碼器對(duì)其進(jìn)行數(shù)據(jù)降維,將每個(gè)樣本映射到一個(gè)k維的樣本空間,得到每個(gè)樣本的編碼Z(i)∈Rk,1≤i≤M,通過(guò)學(xué)習(xí)與訓(xùn)練使得這組編碼能夠通過(guò)網(wǎng)絡(luò)重構(gòu)出原來(lái)的數(shù)據(jù)樣本。
將時(shí)間卷積自編碼器(temporal convolutional network auto-encoder,TCN-AE)作為數(shù)據(jù)重構(gòu)網(wǎng)絡(luò),實(shí)現(xiàn)基于時(shí)間卷積自編碼器網(wǎng)絡(luò)的故障檢測(cè)方法。圖5為本文提出的基于TCN-AE的衛(wèi)星故障檢測(cè)網(wǎng)絡(luò)示意圖。時(shí)間卷積自編碼器網(wǎng)絡(luò)以重構(gòu)數(shù)據(jù)與原始衛(wèi)星數(shù)據(jù)殘差最小化為優(yōu)化目標(biāo),對(duì)卷積層、上采樣層等進(jìn)行優(yōu)化求解。
圖5 基于TCN-AE的衛(wèi)星故障網(wǎng)絡(luò)示意Fig.5 Satellite fault detection network based on TCN-AE
基于時(shí)間卷積自編碼器網(wǎng)絡(luò)的衛(wèi)星故障檢測(cè)總體流程包括數(shù)據(jù)集劃分、數(shù)據(jù)預(yù)處理、網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)、TCN-AE模型訓(xùn)練、新樣本數(shù)據(jù)檢測(cè)等。具體如下:
步驟1 獲取衛(wèi)星數(shù)據(jù),并劃分為訓(xùn)練集Xtrain、驗(yàn)證集Xval和測(cè)試集Xtest;
步驟2 衛(wèi)星數(shù)據(jù)剔野、z-score標(biāo)準(zhǔn)化;
步驟3 設(shè)定TCN-AE模型超參數(shù)、訓(xùn)練模型,根據(jù)驗(yàn)證集檢測(cè)結(jié)果調(diào)優(yōu)模型;
步驟4 將驗(yàn)證集樣本輸入訓(xùn)練好的模型,計(jì)算殘差并據(jù)此計(jì)算得到閾值;
步驟5 將測(cè)試集待檢測(cè)樣本輸入模型,獲取重構(gòu)結(jié)果,計(jì)算殘差并比較閾值輸出檢測(cè)結(jié)果。
算法2:基于時(shí)間卷積自編碼器的衛(wèi)星故障檢測(cè)
輸入:正常工況衛(wèi)星數(shù)集Xtrain,Xval
待檢測(cè)衛(wèi)星數(shù)據(jù)樣本數(shù)據(jù)s
過(guò)程1:TCN自編碼器衛(wèi)星數(shù)據(jù)重構(gòu)模型訓(xùn)練
1: 初始化參數(shù)θ,φ
2: while 訓(xùn)練迭代次數(shù)小于設(shè)定值 do
3: while 訓(xùn)練批數(shù)小于設(shè)定值 do
5:Eθ={Conv1D,…,Pooling;k_size,d_rate}
6:Dφ={UpSampling1D,…,Conv1D;
k_size,d_rate}
9: 使用梯度下降低更新參數(shù)θ,φ
end while
10: end while
11: 訓(xùn)練得到衛(wèi)星數(shù)據(jù)編碼器Eθ、解碼器Dφ
過(guò)程2:衛(wèi)星數(shù)據(jù)預(yù)測(cè)與故障檢測(cè)
12: 集合x(chóng)_errors初始化為空
13: for 樣本xin 訓(xùn)練集Xvaldo
14: error=Dist(Dφ(Eθ(x))-x)
15: 添加error到x_errors
16: end for
17: thres=GetThresFromTrain(x_errors)
18:o=Dφ(Eθ(s))
19: s_error=Dist(o,s)
20: res=judgeDetectRes(s_error,thres)
輸出:衛(wèi)星數(shù)據(jù)樣本s的檢測(cè)結(jié)果res
驗(yàn)證集誤差集合x(chóng)_errors
為驗(yàn)證本文所提基于時(shí)序建模的兩種衛(wèi)星故障檢測(cè)方法,基于某衛(wèi)星電源分系統(tǒng)真實(shí)數(shù)據(jù),分別訓(xùn)練了兩個(gè)故障檢測(cè)神經(jīng)網(wǎng)絡(luò)模型,利用仿真故障對(duì)模型性能進(jìn)行了測(cè)試,并進(jìn)行了性能比較。
(1)實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)計(jì)算機(jī)配置為:Intel Xeon E5處理器,32GB內(nèi)存,Ubuntu18.04.2 LTS操作系統(tǒng)及Python3.5編程環(huán)境。
(2)數(shù)據(jù)集
數(shù)據(jù)集為某衛(wèi)星電源分系統(tǒng)在為期一年時(shí)間內(nèi)產(chǎn)生的遙測(cè)數(shù)據(jù),選取了其中太陽(yáng)翼電流、電壓等8維參數(shù)。其中,訓(xùn)練集包含約40萬(wàn)條樣本,測(cè)試集約10萬(wàn)條樣本且包含仿真故障樣本。
(3)評(píng)價(jià)指標(biāo)
模型性能評(píng)價(jià)指標(biāo)選取準(zhǔn)確率(accuracy)、精確率(precision)、召回率(recall)與F1值(F1score),計(jì)算公式如下所示。
式中:TP(true positive)表示正確分類為故障的樣本數(shù)目;FP(false positive)表示錯(cuò)誤分類為故障的樣本數(shù)目;TN(true negative)表示被正確分類為正常的樣本數(shù)目;FN(false negative)表示被錯(cuò)誤分類為正常的樣本數(shù)目。
如表1所示,為本文所提故障檢測(cè)模型在某衛(wèi)星電源分系統(tǒng)數(shù)據(jù)集上的檢測(cè)性能,其中TCN-AE-detector、LSTM-detector代表本文提出的基于時(shí)間卷積自編碼器網(wǎng)絡(luò)的衛(wèi)星故障檢測(cè)模型和基于長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的衛(wèi)星故障檢測(cè)兩種模型。表1中,TCN-AE-detector模型滑動(dòng)窗口最優(yōu)長(zhǎng)度為7,LSTM-detector模型滑動(dòng)窗口最優(yōu)長(zhǎng)度為8,LSTM-detector的預(yù)測(cè)步長(zhǎng)為1。此外,實(shí)驗(yàn)中滑動(dòng)窗口的移動(dòng)步長(zhǎng)均為1。
表1 衛(wèi)星故障檢測(cè)模型性能測(cè)試結(jié)果
如圖6所示,為TCN-AE-detector在測(cè)試集上的重構(gòu)誤差及檢測(cè)結(jié)果,當(dāng)檢測(cè)到故障時(shí),檢測(cè)結(jié)果值為-1。仿真結(jié)果表明,在故障時(shí)刻,模型準(zhǔn)確識(shí)別到故障發(fā)生,檢測(cè)結(jié)果穩(wěn)定輸出-1值。
圖6 模型重構(gòu)誤差及故障檢測(cè)結(jié)果Fig.6 Model reconstruction error and fault detection results
圖7 衛(wèi)星數(shù)據(jù)預(yù)測(cè)結(jié)果示例(無(wú)故障時(shí)刻)Fig.7 Example of satellite data prediction results (no fault)
對(duì)于基于長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的故障檢測(cè)模型LSTM-detector而言,其故障檢測(cè)性能取決于模型對(duì)衛(wèi)星數(shù)據(jù)的預(yù)測(cè)能力,應(yīng)在衛(wèi)星無(wú)故障時(shí)盡量減少預(yù)測(cè)值與實(shí)際值的偏差,而在衛(wèi)星發(fā)生故障時(shí)盡量增大預(yù)測(cè)值與實(shí)際值的偏差。如圖7所示,選取了測(cè)試集中衛(wèi)星無(wú)故障時(shí)刻的2000個(gè)連續(xù)數(shù)據(jù)樣本, 輸出LSTM-detector模型對(duì)參數(shù)04、08的預(yù)測(cè)效果,由上至下第一層為衛(wèi)星原始數(shù)據(jù)值,第二層為模型輸出的預(yù)測(cè)值,第三層為預(yù)測(cè)誤差??梢钥闯?在選定的無(wú)故障時(shí)刻,LSTM-detector模型對(duì)參數(shù)04、08的預(yù)測(cè)誤差區(qū)間分別為[0,0.5]和[0,5]。
作為對(duì)照,圖8選取了測(cè)試集中衛(wèi)星故障時(shí)刻的2000個(gè)連續(xù)數(shù)據(jù)樣本,輸出LSTM-detector模型對(duì)參數(shù)04、08的預(yù)測(cè)效果,可以看出,在選定的故障時(shí)刻,LSTM-detector模型對(duì)參數(shù)04、08的預(yù)測(cè)誤差區(qū)間分別為[0,10]和[0,60],顯著高于無(wú)故障時(shí)刻的預(yù)測(cè)誤差,能有效區(qū)分無(wú)故障與故障時(shí)刻。
圖8 衛(wèi)星數(shù)據(jù)預(yù)測(cè)結(jié)果示例(故障時(shí)刻)Fig.8 Example of satellite data prediction results (fault time)
圖9進(jìn)一步對(duì)比了LSTM-detector模型在“衛(wèi)星無(wú)故障”“衛(wèi)星發(fā)生故障”兩種工況下的預(yù)測(cè)誤差及故障檢測(cè)閾值設(shè)定。其中,兩種工況下所用數(shù)據(jù)及參數(shù)分別與圖7、圖8一致。其中,閾值按異常比例0.01從訓(xùn)練集預(yù)測(cè)誤差中計(jì)算得出,為0.425。從圖9中可以看出,故障時(shí)刻預(yù)測(cè)誤差均遠(yuǎn)高于閾值,無(wú)故障時(shí)刻存在極少數(shù)樣本超過(guò)閾值,存在極低誤報(bào)率,這與設(shè)定閾值時(shí)選取的異常比例相關(guān)。
兩個(gè)模型的檢測(cè)性能均與選取的滑動(dòng)窗口步長(zhǎng)、卷積參數(shù)有較大關(guān)系。如圖10、圖11所示,分別為TCN-AE-detector、LSTM-detector模型在測(cè)試集上的F1值與滑動(dòng)窗口步長(zhǎng)的關(guān)系??梢钥闯?隨著滑動(dòng)窗口步長(zhǎng)的增加,故障檢測(cè)F1值逐漸提升,分別在7、8達(dá)到最高值后下降。意味著隨著步長(zhǎng)的增大,時(shí)間卷積層和LSTM層能更好建模時(shí)序關(guān)系,而超過(guò)一定值則因?yàn)闀r(shí)序關(guān)聯(lián)減弱導(dǎo)致性能下降。如圖12所示,為TCN-AE-detector在測(cè)試集上的F1值與卷積核大小的變化關(guān)系。
圖9 測(cè)試數(shù)據(jù)預(yù)測(cè)誤差示例Fig.9 Example of prediction error on test data
圖10 F1值與滑動(dòng)窗口長(zhǎng)度的變化關(guān)系(TCN-AE-detector)Fig.10 Relationship between F1-score and sliding window
圖11 F1值與滑動(dòng)窗口長(zhǎng)度的變化關(guān)系(LSTM-detector)Fig.11 Relationship between F1-score and sliding window
圖12 F1值與卷積核大小的變化關(guān)系Fig.12 Relationship between F1-score and kernel size
表2給出了本文模型與基于BP神經(jīng)網(wǎng)絡(luò)的故障檢測(cè)模型在故障檢測(cè)準(zhǔn)確率、精確率、召回率和F1值指標(biāo)方面的對(duì)比。實(shí)驗(yàn)結(jié)果表明,TCN-AE-detector、LSTM-detector模型均具有較高的故障檢測(cè)準(zhǔn)確率、精確率和F1值。
表2 故障檢測(cè)性能對(duì)比
最后,對(duì)TCN-AE-detector、LSTM-detector模型的計(jì)算復(fù)雜度進(jìn)行了對(duì)比實(shí)驗(yàn),表3給出了在上文所述CPU硬件上的訓(xùn)練耗時(shí)及運(yùn)行單個(gè)樣本檢測(cè)的運(yùn)行耗時(shí)。其中,訓(xùn)練Epoch選為30,batch為32??梢钥闯?由于訓(xùn)練集達(dá)到40萬(wàn)條,訓(xùn)練耗時(shí)較長(zhǎng),而單個(gè)樣本的檢測(cè)耗時(shí)可滿足應(yīng)用需求,后續(xù)優(yōu)化模型實(shí)現(xiàn)計(jì)算加速。在適用場(chǎng)景方面,兩個(gè)模型對(duì)數(shù)據(jù)具有較廣泛的適應(yīng)性,在實(shí)際應(yīng)用中,對(duì)控制分系統(tǒng)、載荷分系統(tǒng)數(shù)據(jù)同樣具有較高的檢測(cè)性能。
表3 計(jì)算耗時(shí)比較
針對(duì)衛(wèi)星故障檢測(cè)面臨依賴規(guī)則庫(kù)、特征融合不足等問(wèn)題,本文從衛(wèi)星數(shù)據(jù)的時(shí)序特性出發(fā),提出基于時(shí)序建模的衛(wèi)星故障檢測(cè)方法與模型,且利用真實(shí)衛(wèi)星數(shù)據(jù)及仿真故障檢驗(yàn)了性能,結(jié)論如下:
1)算法實(shí)現(xiàn)了優(yōu)異的故障檢測(cè)性能,在實(shí)驗(yàn)數(shù)據(jù)集上性能達(dá)到精確率99.42%,F1得分0.9971,準(zhǔn)確率99.89%;
2)與BP神經(jīng)網(wǎng)絡(luò)等算法相比,性能提升明顯,實(shí)現(xiàn)了衛(wèi)星時(shí)序數(shù)據(jù)規(guī)律的充分挖掘;
3)支持衛(wèi)星時(shí)間序列數(shù)據(jù)預(yù)測(cè)與重構(gòu)兩種方式,提升了對(duì)不同類型衛(wèi)星數(shù)據(jù)的適應(yīng)能力,具有較強(qiáng)的魯棒性和適用范圍;
4)不依賴專家知識(shí)庫(kù)進(jìn)行故障檢測(cè),實(shí)現(xiàn)了基于數(shù)據(jù)驅(qū)動(dòng)的衛(wèi)星故障檢測(cè);
5)能夠同時(shí)對(duì)多元特征間的依賴和時(shí)間順序上的依賴進(jìn)行建模,實(shí)現(xiàn)了多維度、多時(shí)刻信息的有效融合;
6)在下一步優(yōu)化方面,目前兩個(gè)模型單獨(dú)訓(xùn)練,后續(xù)通過(guò)多任務(wù)學(xué)習(xí)等方式實(shí)現(xiàn)兩種模型聯(lián)合訓(xùn)練,提升對(duì)數(shù)據(jù)模式的挖掘和泛化能力。