何利健,張 銳,陳文卿
(1.中國科學院 微小衛(wèi)星創(chuàng)新研究院,上海 201203;2.中國科學院大學,北京 100049)
太陽能電池陣是衛(wèi)星的能源供應系統(tǒng),其性能的好壞直接決定在軌衛(wèi)星能否正常穩(wěn)定運行。電池陣溫度作為表征電池陣工作狀態(tài)的一個重要指標,溫度異常勢必會對電池陣能源系統(tǒng)產(chǎn)生不利影響。因此,為確保衛(wèi)星健康運行,根據(jù)電池陣歷史溫度遙測數(shù)據(jù)的變化規(guī)律,預測電池陣溫度變化趨勢,并根據(jù)預測結果評估電池陣性能狀態(tài)。
目前,傳統(tǒng)的時序數(shù)據(jù)預測技術已相對成熟,有自回歸移動平均(Auto Regressive Moving Average,ARMA)[1]、自回歸綜合移動平均(Auto Regressive Integrated Moving Average,ARIMA)[2-3]、卡爾曼濾波[4-5]、支持向量機(Support Vector Machine,SVM)[6]、最小二 乘支持 向量機(Least Squares Support Vector Machine,LS-SVM)[7-8]和經(jīng)驗模態(tài)分解(Empirical Mode Decomposition,EMD)[9]等方法。這些方法研究時間長,理論成熟完善,在很多領域的時序數(shù)據(jù)預測場景中已得到實際應用。但這些方法只能處理短期自相關任務,難以對時間序列的長期依賴進行建模。
近年來深度學習快速發(fā)展,基于深度學習相關理論的時序預測方法已經(jīng)得到相關學者的高度關注,并對此做了大量研究。文獻[10]使用長短期記憶網(wǎng)絡(Long Short-Term Memory,LSTM)作為衛(wèi)星遙測數(shù)據(jù)預測模型進行單步預測,并提出一個自適應閾值算法來獲取最佳閾值,最終達到遙測數(shù)據(jù)異常檢測的目的。文獻[11]提出一種結合雙通道卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)和LSTM 的模型,并使用此模型對短期光伏功率進行預測,取得了良好效果。文獻[12]對通信衛(wèi)星多維遙測數(shù)據(jù)分別建立LSTM 模型,并以最大化相關系數(shù)與F1分數(shù)的方式,為多維遙測數(shù)據(jù)的故障判定合適的閾值。
時序數(shù)據(jù)預測分為單步預測和多步預測,上述方法大部分是基于單步預測的解決方案,但單步預測在一些場景下無法滿足實際應用需求。當衛(wèi)星入境時,短期時間內地面測控站只能獲取實時遙測數(shù)據(jù),需在入境檢測實時遙測數(shù)據(jù)是否異常。但實時遙測數(shù)據(jù)僅為工程遙測數(shù)據(jù)中某一小部分時間區(qū)間的數(shù)據(jù),單步預測無法滿足該任務需求,因此需對遙測數(shù)據(jù)做中長期的多步預測。目前對多步預測主要采用兩種策略[13]:一種策略是采用遞歸單步預測方式進行多步預測[14-15],該方法的主要缺點是遞歸過程會造成誤差迅速累積,導致預測精度低;另一種策略是直接預測出后續(xù)多個數(shù)據(jù)點[16-17],以向量形式輸出,該方法可能會導致預測距離遠的點難收斂,產(chǎn)生發(fā)散??紤]到太陽能電池陣溫度遙測數(shù)據(jù)具有較好周期性,且數(shù)據(jù)沒有高頻動態(tài)波動,本文選用直接預測多個數(shù)據(jù)點的多步預測方案。
目前深度學習在時序預測領域應用研究中,LSTM 網(wǎng)絡是使用最廣泛的方法之一,但LSTM 在長期依賴建模中,存在模型訓練困難、模型訓練時間長、梯度不穩(wěn)定等缺點。時間卷積網(wǎng)絡(Temporal Convolutional Network,TCN)[18]是一種一維卷積神經(jīng)網(wǎng)絡,研究表明基于卷積網(wǎng)絡的方法已在音頻合成[19]、單詞語言建模[20-21]、機器翻譯[22]等領域取得優(yōu)良效果。相比于LSTM,TCN 具有更穩(wěn)定的梯度、靈活的感受野和訓練時間短等優(yōu)點,因此本文選用TCN 作為特征提取網(wǎng)絡。另外考慮到TCN 網(wǎng)絡在多步預測任務中,存在數(shù)據(jù)變化程度高處模型特征表征能力不足的問題,本文采用SENet[23]中的通道注意力機制對TCN 進行改進,以增強TCN 網(wǎng)絡的特征提取能力。
本文研究對象為衛(wèi)星太陽能電池陣溫度遙測信號。因衛(wèi)星上的溫度傳感器埋點位置不同,不同衛(wèi)星上的溫度遙測信號存在一定差異。如圖1(a)所示為2 顆衛(wèi)星上的4 組溫度延時遙測數(shù)據(jù)。從圖中可知,4 組溫度數(shù)據(jù)都具有周期性且總體趨勢一致,但不同溫度數(shù)據(jù)的幅值大小及變化規(guī)律各有不同。因為神經(jīng)網(wǎng)絡具有一定的泛化能力,能高效地對同類問題進行處理,可通過神經(jīng)網(wǎng)絡模型對溫度遙測數(shù)據(jù)進行特征提取,而不用對每組溫度遙測數(shù)據(jù)進行單獨建模。
本文選用的溫度遙測數(shù)據(jù)包含部分噪聲以及異常值,如圖1(b)所示。因此,本文采用結合箱型法、多項式擬合及高斯窗函數(shù)濾波3 種方法對遙測數(shù)據(jù)進行預處理,得到溫度遙測數(shù)據(jù)的主要變化趨勢,預處理結果如圖1(c)所示。根據(jù)文獻[24]表述的電池陣物理模型及仿真結果可知,本文對電池陣遙測數(shù)據(jù)進行預處理而導致輕微信息丟失,對本文任務無明顯影響。
圖1 數(shù)據(jù)清洗結果Fig.1 Data cleaning results
TCN 是一種一維卷積神經(jīng)網(wǎng)絡,可應用于時序數(shù)據(jù)預測領域。TCN 網(wǎng)絡結構主要包含4 個部分,分別為因果卷積、膨脹卷積、殘差模塊、一維全卷積。
1.2.1 因果卷積
因果卷積是一種嚴格的時間約束模型,TCN 使用因果卷積來使輸入和輸出保持因果關系,保證不會出現(xiàn)未來信息泄漏的現(xiàn)象。設模型輸入為x={x0,x1,x2,…,xt,…,xT-2,xT-1,xT},輸出為y={y0,y1,y2,…,yt,…yT-2,yT-1,yT},因果卷積使t時刻的輸出yt僅與xt及其之前時刻數(shù)據(jù)有關,與xt之后數(shù)據(jù)無關,因果卷積如圖2 所示。
圖2 因果膨脹卷積Fig.2 Dilated causal convolution
1.2.2 膨脹卷積
對于一維時序數(shù)據(jù)輸入x,濾波器為f:{0,1,…,k-1} →R,空洞卷積在t時刻的卷積結果為
式中:d為膨脹因子;K為濾波器大小。
膨脹因子的引入相當于濾波器對數(shù)據(jù)進行了等間隔采樣,膨脹卷積如圖2 所示。
每層卷積層的感受野計算公式為
由式(2)可知,感受野的大小可通過改變膨脹因子d和濾波器大小K的值來調整,可靈活擴大感受野來延長時序數(shù)據(jù)建模長度,通常第i層的膨脹因子大小為
1.2.3 殘差模塊
1 個殘差模塊包含2 層因果膨脹卷積層和非線性變換層,并使用正則化技術來降低過擬合風險。為防止網(wǎng)絡過深導致出現(xiàn)梯度消失現(xiàn)象,TCN 在殘差塊中引入殘差連接[25],跨層連接的恒等映射使網(wǎng)絡能以跨層的方式傳遞信息,使網(wǎng)絡能夠進行深層擴展。
1.2.4 一維全卷積
TCN 使用一維全卷積[26]結構來約束隱藏層,使其產(chǎn)生與輸入層等長的序列,使模型能夠保留輸入序列的所有信息,有利于構建長期記憶,提高預測性能。
SENet是計算機視覺中的一種網(wǎng)絡模型,其中包含1 個通道注意力模塊,即Sequeeze-and-Excitation模塊(SE 模塊)。SE 模塊可學習特征通道之間的相關性,對每個特征通道賦予一個權重,使模型更加關注那些具有關鍵特征的通道,抑制那些具有非關鍵特征的通道,這樣有利于提高模型特征提取能力。SE 模塊計算量小,很適合嵌入到各類網(wǎng)絡中。SE 模塊作為一種注意力機制,主要包含3 個步驟:Sequeeze 過 程、Excitation 過程和Reweight 過程。
Sequeeze 過程指對通道進行全局池化,將整個空間特征編碼為1 個全局特征。Excitation 過程指通過全連接神經(jīng)網(wǎng)絡的非線性變換功能,學習特征通道間的相關性,以獲取各通道的重要性權重系數(shù)。Reweight 過程是將權重系數(shù)加權到對應特征通道上,完成對不同通道重要性的重標定。
由1.1 節(jié)可知,太陽能電池陣溫度遙測數(shù)據(jù)的主要趨勢具有較嚴格的周期性,每個周期在溫度較高處變化平緩,且周期間的溫度變化略有差異,同時每個周期存在2 個溫度變化迅速的邊沿,形態(tài)變化較大。
TCN 網(wǎng)絡在溫度信號從平緩變化轉換到快速上升或者快速下降的過程中,存在模型表征能力不足現(xiàn)象,導致模型預測過程中出現(xiàn)信號波動起伏,最終影響預測的準確性。鑒于該問題,本文引入SENet 中的通道注意力機制,對TCN 進行改進,使模型在信號形態(tài)變化較大處,能有選擇性地關注具有關鍵信息的通道,加強模型的特征表達能力。
TCN 網(wǎng)絡是由多個殘差塊疊加構成,本文對每層殘差塊后引入SE 模塊作為該殘差塊的注意力機制。由于溫度遙測數(shù)據(jù)上下幅值差值較大,且在信號邊沿變化迅速,本文在原有SE 模塊中僅使用全局平均池化的基礎上加入全局最大池化,通過全局最大池化提取出全局最大信號特征,有利于模型獲取信號的最值,加強SE 模塊對全局特征的表達能力,SE-TCN 殘差塊如圖3 所示。
圖3 SE-TCN 殘差塊Fig.3 SE-TCN residual block
SE 模塊通道注意力機制工作流程如下:
隨著SE-TCN 殘差塊的疊加,最后1 個殘差塊的輸出包含了最符合輸入信號特征信息的特征通道,使模型的特征表達能力得到加強。SE-TCN 預測模型結構如圖4 所示。
圖4 SE-TCN 網(wǎng)絡模型Fig.4 SE-TCN network model
對太陽能電池陣溫度的遙測數(shù)據(jù)進行異常檢測,分為2 個過程,分別為離線訓練過程和在線異常檢測過程,過程的流程圖如圖5所示。
圖5 SE-TCN 模型異常檢測Fig.5 Anomaly detection of SE-TCN model
離線訓練過程:1)對歷史遙測數(shù)據(jù)進行異常值剔除和濾波,獲取溫度信號的主要變化趨勢;2)對預處理后的太陽能電池陣溫度遙測數(shù)據(jù)降采樣處理;3)使用滑窗法生成模型所需的輸入輸出數(shù)據(jù),構建數(shù)據(jù)集;4)使用訓練數(shù)據(jù)集對SE-TCN 網(wǎng)絡做離線訓練。
在線異常檢測過程:1)加載離線訓練階段訓練好的SE-TCN 網(wǎng)絡模型;2)使用昨天測控弧段遙測數(shù)據(jù)作為模型輸入,使用模型外推至當前入境時的數(shù)據(jù)作為理想數(shù)據(jù);3)對信號做插值處理恢復到原始采樣頻率;4)依據(jù)太陽能電池陣溫度數(shù)據(jù)濾波前后方差,及預測值與原始值之間的方差確定異常點檢測閾值,并以預測值變化趨勢確定趨勢異常檢測閾值;5)使用閾值法對實時遙測數(shù)據(jù)進行異常點檢測及趨勢異常檢測。
復雜的太空環(huán)境及傳感器硬件性能帶來的影響,使遙測數(shù)據(jù)會帶有一定的噪聲。同時考慮到預處理過程中,會使遙測數(shù)據(jù)損失小部分對主要趨勢無明顯影響的信息,因此閾值需對此部分信息做冗余處理。對太陽能電池陣溫度遙測數(shù)據(jù)采用滑動窗口方法獲取,窗口大小為信號周期長度,計算出窗口內數(shù)據(jù)濾波前后方差大小,結果如圖6(a)所示。從圖中可看出,濾波前后方差較小,最大值在1.3 左右,均值為0.5。
在時序數(shù)據(jù)多步預測任務中,模型預測值和真實值間會存在一定誤差,同時由于本文任務中多步預測值過多,出現(xiàn)模型發(fā)散,導致預測值和真實值間產(chǎn)生相位差。鑒于該問題對溫度遙測數(shù)據(jù)異常檢測的影響,本文采用加窗的計算誤差方式取代傳統(tǒng)一一對應計算誤差方式,統(tǒng)計誤差方差大小如圖6(b)所示。從圖中以看出,預測值和真實值之間的方差主要集中在0.5~0.7 之間。
圖6 數(shù)據(jù)方差統(tǒng)計圖Fig.6 Statistical chart of data variance
令σ1為濾波前后方差,σ2為預測值與真實值之間方差,參數(shù)κ1控制σ1倍數(shù),參數(shù)κ2控制σ2倍數(shù),則異常點檢測門限上限TU(t)和下限TL(t)分別為
判斷原始遙測序列s(t)的單個數(shù)據(jù)點異常與否的條件是:預測值與實際值的偏差是否在異常檢測門限的上下限內,若不在上下限限定的門限值內即為異常值,即
溫度信號變化趨勢是溫度遙測數(shù)據(jù)的一個重要特征,趨勢異常是電池陣溫度信號產(chǎn)生異常的表現(xiàn)形式之一。本文采用2.4 節(jié)3 個評價指標作為太陽能電池陣溫度遙測數(shù)據(jù)趨勢異常檢測的標準。當?shù)孛鏈y控站獲取到實時遙測數(shù)據(jù)時,在對應時間段內分別計算出預測值和實時遙測值的3 個指標數(shù)值,并按照如下公式作為趨勢異常檢測判定標準:
為評價SE-TCN 模型的性能,本文引入回歸任務中常用評價指標,分別為平均絕對誤差MAE、均方根誤差RMSE 和相關系數(shù)R。本文多步預測的預測點過多,導致模型出現(xiàn)發(fā)散現(xiàn)象,因此對評價指標做相應修改以消除因模型發(fā)散出現(xiàn)的相位差影響:
式中:EMA為平均絕對誤差MAE;ERMS為均方根誤差RMSE;y?t、yt分別為t時刻的預測值和真實值;k為窗口大小;N為測試集樣本大小。其中,EMA和ERMS越小代表模型性能越好,R越大代表模型性能越好。
本實驗是基于Windows 操作系統(tǒng),深度學習框架選用Keras 計算框架,CPU為Intel I5-4200 H,2.80 GHz,Tensor flow為1.13.1 版本,Keras為2.3.1版本。本實驗采用CPU 進行模型訓練和測試。
本文選用的太陽能電池陣溫度遙測信號的采樣頻率為0.125 Hz,經(jīng)過預處理后得到數(shù)據(jù)的主要趨勢頻率為采樣頻率的1 000 倍。根據(jù)采樣定理,可以對其進行20 倍的降采樣,降采樣后可以有效降低輸入數(shù)據(jù)的長度,進而降低網(wǎng)絡深度,加快訓練速度。
根據(jù)溫度遙測數(shù)據(jù)特點及本文研究背景,對SE-TCN 網(wǎng)絡模型部分參數(shù)設置見表1。序列輸入長度500,設置膨脹因子2,本文通過多次實驗發(fā)現(xiàn)濾波器大小為5 時效果最好。根據(jù)1.1 節(jié)感受野計算公式可知,需要7 層SE-TCN 殘差塊網(wǎng)絡深度對溫度信號時序長度進行建模。
表1 模型參數(shù)Tab.1 Model parameters
SE-TCN 網(wǎng)絡模型和傳統(tǒng)TCN 網(wǎng)絡模型的預測結果對比情況見表2。表中可見,SE-TCN 網(wǎng)絡相對于TCN 網(wǎng)絡在3 個評價指標上有不同程度的提升,其中EMA降低了7.7%,ERMS降低了5.2%,R提高了0.4%。SE 模塊是1 個輕量級模塊,SE-TCN網(wǎng)絡相對于TCN 網(wǎng)絡,其參數(shù)只增加了828 個,增加量占比約0.025%,增加的計算量極其微小,因此SE 模塊的計算開銷相對于總計算開銷可忽略不計。但SE-TCN 網(wǎng)絡在增加極小計算量的情況下取得了較大的性能提升,因為SE 模塊能通過非線性變換,從特征通道中篩選出具有關鍵信息的通道,加大其對預測結果影響所占權重,實現(xiàn)提高模型的特征提取能力。該結果證明了SE 模塊在TCN 上作用的有效性,可提高模型預測精度。
表2 模型對比Tab 2 Comparison of models
一次預測結果如圖7 所示。從圖中曲線可以看出,SE-TCN 網(wǎng)絡模型的預測效果更接近實際值,且每個周期的數(shù)據(jù)變化處更加平滑,數(shù)據(jù)波動比TCN網(wǎng)絡預測模型結果更小,具有更小的數(shù)據(jù)偏差,該結果再次體現(xiàn)出SE 模塊發(fā)揮了良好作用。但隨著預測步長的增加,TCN 網(wǎng)絡和SE-TCN 網(wǎng)絡都出現(xiàn)了發(fā)散現(xiàn)象,預測值和實際值相比較出現(xiàn)了相位偏差,但相位差較小且數(shù)據(jù)趨勢依舊和原始數(shù)據(jù)保持一致,該預測結果對于衛(wèi)星入境時溫度遙測數(shù)據(jù)的趨勢異常檢測仍具有很大的指導意義,可通過判斷信號變化趨勢來判斷是否發(fā)生趨勢異常。
圖7 預測結果圖Fig.7 Forecast result chart
本文按照2.3 節(jié)方法設定閾值,根據(jù)方差統(tǒng)計結果取σ1=0.8,σ2=0.8,令κ1=κ2=3,由式(8)和式(9)確定異常點檢測上下閾值大小,如圖8 所示。當衛(wèi)星入境時,可快速定位對應時間點,將對應時間段內的實時遙測數(shù)據(jù)與閾值比較,按照式(10)對遙測數(shù)據(jù)進行異常點檢測。對實時遙測數(shù)據(jù)及對應時間段內的預測值計算EMA、ERMS和R3 個指標,并按照式(11)對太陽能電池陣溫度遙測數(shù)據(jù)進行趨勢異常檢測,當計算結果符合式(11)時,視為趨勢正常,反之則為趨勢異常。
圖8 上下閾值圖Fig.8 Upper and lower threshold graph
太陽能電池陣溫度異常檢測是衛(wèi)星健康管理中的一個重要環(huán)節(jié),針對衛(wèi)星入境時太陽能電池陣溫度遙測信號無法快速進行異常檢測的問題,本文提出了一種SE-TCN 網(wǎng)絡模型。實驗結果表明,在本任務中,加入通道注意力機制后的SE-TCN 網(wǎng)絡相比于傳統(tǒng)TCN 網(wǎng)絡,在平均絕對誤差、均方根誤差和相關系數(shù)3 個評價指標上均有不同程度的提升。太陽能電池陣溫度受多方面因素影響,后續(xù)研究將考慮引入其他遙測參量來輔助模型對溫度遙測數(shù)據(jù)的預測推斷,提高模型的預測精度,同時該方法可推廣到其他具有周期性的衛(wèi)星遙測數(shù)據(jù)的異常檢測任務中。