張懷峰,江 婧,張香燕,皮德常
(1. 南京航空航天大學(xué)計算機科學(xué)與技術(shù)學(xué)院,南京 211106;2. 北京空間飛行器總體設(shè)計部,北京 100094)
衛(wèi)星電源系統(tǒng)的主要功能包括產(chǎn)生、儲存、變換、調(diào)節(jié)和分配電能,是衛(wèi)星系統(tǒng)的重要組成部分。由于外太空環(huán)境復(fù)雜,衛(wèi)星電源系統(tǒng)在軌運行期間不可避免地會出現(xiàn)一些異常,影響衛(wèi)星的正常運行,及時有效地檢測衛(wèi)星電源系統(tǒng)的異常,對保障衛(wèi)星正常運行具有重要意義。
近年來,相關(guān)學(xué)者提出了一些基于傳統(tǒng)機器學(xué)習(xí)方法的衛(wèi)星電源系統(tǒng)異常檢測算法。Pan等[1]利用關(guān)聯(lián)規(guī)則挖掘的方法發(fā)現(xiàn)電源系統(tǒng)各個零部件之間的關(guān)聯(lián)規(guī)則,然后使用核PCA(Principal components analysis)進行異常檢測,該方法充分利用了衛(wèi)星分系統(tǒng)各個零部件產(chǎn)生的數(shù)據(jù);康旭等[2]針對遙測數(shù)據(jù)維度過高,首先計算某一屬性和該屬性方向平行線的余弦值,通過度量余弦值,篩選出異常相關(guān)屬性,然后使用篩選出的屬性進行異常檢測;李楠等[3]針對自旋穩(wěn)定衛(wèi)星提出了一種數(shù)據(jù)驅(qū)動的異常檢測方法,該方法使用衛(wèi)星姿態(tài)與傳感器之間的冗余關(guān)系作為判斷異常的依據(jù),并用主成分分析量化這種冗余關(guān)系,通過比較主成分子空間的特征值和殘差子空間的特征值來判定異常,通過仿真試驗驗證了方法的有效性;金洋等[4]針對傳統(tǒng)的定性模型診斷方法推理規(guī)模過大,不能達到航天器異常檢測的實時性要求的困難,提出了解析冗余計算方法和擴展候選產(chǎn)生算法,通過控制規(guī)模降低計算量,提高異常檢測效率。
由于衛(wèi)星電源系統(tǒng)具有眾多零部件,每個零部件都包含一個或多個參數(shù),并且衛(wèi)星運行過程中會周期性地經(jīng)過地球的向陽面和背陰面,電源系統(tǒng)會做出相應(yīng)的充放電動作。因此其產(chǎn)生的數(shù)據(jù)具有維度高、周期性明顯的特點。針對該系統(tǒng)某一個或多個特定參數(shù)進行異常檢測,往往不能反映出系統(tǒng)的真實狀態(tài),而使用所有參數(shù)進行異常檢測,傳統(tǒng)的機器學(xué)習(xí)算法又面臨著“維度詛咒”的困難,用于異常檢測時往往檢測速度慢且效果不佳。
近年來深度學(xué)習(xí)在計算機視覺、語音識別和自然語言處理等領(lǐng)域都取得了優(yōu)秀的成果。在異常檢測領(lǐng)域,采用基于深度學(xué)習(xí)的堆疊自編碼器(Stacked auto encoders,SAE)實現(xiàn)異常檢測愈來愈受同行學(xué)者的關(guān)注。Sun等[5]提出了一種基于深度神經(jīng)網(wǎng)絡(luò)的發(fā)動機異常檢測方法,其首先使用稀疏自編碼器進行特征提取,然后使用提取到的特征訓(xùn)練神經(jīng)網(wǎng)絡(luò)進行異常檢測,該方法取得了較好的檢測效果;Wang等[6]為了檢測變壓器異常,提出了一種自編碼器-連續(xù)稀疏自編碼器(Continuous sparse auto encoder,CSAE)用來學(xué)習(xí)特征,CSAE在激活函數(shù)部分加入高斯隨機單元來學(xué)習(xí)非線性數(shù)據(jù)的特征,然后使用學(xué)習(xí)到的特征進行異常檢測。當(dāng)前已有的基于自編碼器的異常檢測方法通常在使用自編碼器進行降噪濾波和特征提取,對提取到的特征使用其他分類算法進行分類,這種方式通過少量數(shù)據(jù)訓(xùn)練就可以得到較好的異常檢測效果,充分發(fā)揮了堆疊自編碼器強大的特征提取能力。
衛(wèi)星電源系統(tǒng)產(chǎn)生的數(shù)據(jù)具有維度高的特點,直接將SAE用于衛(wèi)星電源異常檢測面臨著如下困難:
1)若直接使用電源系統(tǒng)產(chǎn)生的高維數(shù)據(jù)訓(xùn)練SAE,即將每個時刻產(chǎn)生的數(shù)據(jù)作為訓(xùn)練樣本輸入SAE,這樣雖然充分利用了電源系統(tǒng)各個參數(shù)的數(shù)據(jù),但是將每個樣本當(dāng)做了孤立的樣本,丟失了時間維度上的信息,割裂了數(shù)據(jù)的相關(guān)性。
2)若針對某一個具體參數(shù),采用固定長度的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)輸入到SAE,則沒有充分利用電源系統(tǒng)的其他參數(shù),并不能反映出電源系統(tǒng)的真實狀態(tài),且無法準(zhǔn)確地檢測出異常發(fā)生的時刻。
針對上述困難,本文通過改進SAE的損失函數(shù)和訓(xùn)練算法,提出了一種新的代表性特征自編碼器(Representative feature auto-encoder,RFAE),用來對衛(wèi)星電源系統(tǒng)進行無監(jiān)督的異常檢測。本文主要貢獻如下:
1)SAE的損失函數(shù)一般只衡量重構(gòu)樣本和原始樣本之間的誤差,本文提出了一種既能衡量SAE重構(gòu)樣本和原始樣本之間的誤差,又能衡量SAE重構(gòu)樣本之間誤差的損失函數(shù),稱之為差異函數(shù)(Difference function, DF)。
2)提出了一種面向周期性時序數(shù)據(jù)的訓(xùn)練算法(Periodic data training algorithm, PDTA)。該算法根據(jù)相位對時序數(shù)據(jù)進行分組,相位相同的樣本劃分為同一組,保留了時序數(shù)據(jù)的周期信息,并通過核密度估計解決每個分組內(nèi)數(shù)據(jù)量少的問題。
3)結(jié)合本文提出的損失函數(shù)DF和訓(xùn)練算法PDTA,然后又提出了代表性特征自編碼器(Representative feature auto encoder, RFAE)并用于衛(wèi)星電源系統(tǒng)異常檢測。相比SAE,RFAE能夠提取到相位相同樣本的代表性特征,根據(jù)代表性特征重構(gòu)樣本,通過衡量重構(gòu)樣本和原始樣本之間的誤差檢測異常。相比于目前的異常檢測算法,RFAE不限制輸入數(shù)據(jù)的維度,充分利用了電源系統(tǒng)各個參數(shù)的數(shù)據(jù),并且PDTA訓(xùn)練算法保留了時序數(shù)據(jù)的周期性信息。通過模擬數(shù)據(jù)和真實數(shù)據(jù)分別進行了對比試驗,RFAE均優(yōu)于目前最新的相關(guān)算法。
圖1 RFAE異常檢測流程Fig.1 RFAE anomaly detection process
RFAE異常檢測的整體流程如圖1所示。其中損失函數(shù)使用了前文提出的差異函數(shù)DF,差異函數(shù)綜合了原始樣本和重構(gòu)樣本之間的誤差以及重構(gòu)樣本之間的誤差,使RFAE學(xué)習(xí)能到代表正常樣本的特征,稱之為代表性特征。
圖1中的虛線部分為訓(xùn)練過程。RFAE的訓(xùn)練算法使用了前文提出的周期性數(shù)據(jù)訓(xùn)練算法PDTA。PDTA首先將周期性時序數(shù)據(jù)按相位進行分組,相位相同的樣本劃分為同一組,如圖1中原始數(shù)據(jù)長度為n,周期為p,按相位進行劃分后得到p組數(shù)據(jù),每組約有n/p條數(shù)據(jù)。為了用更多的數(shù)據(jù)訓(xùn)練RFAE,PDTA使用核密度估計算法估計每組內(nèi)的樣本分布,根據(jù)估計的樣本分布生成新的樣本,從而達到增加每組樣本數(shù)量的目的。在訓(xùn)練階段,PDTA每次從同一組內(nèi)選擇數(shù)量為b的樣本,然后使用反向傳播和Adam算法[7]使DF最小化,從而可以學(xué)習(xí)相位相同樣本的代表性特征。
圖1中的實線部分展示了異常檢測過程。RFAE根據(jù)代表性特征重構(gòu)樣本,計算重構(gòu)樣本和原始樣本之間的誤差,若誤差大于閾值則判定樣本為異常,從而達到異常檢測的目的。
RFAE是基于堆疊自編碼器的異常檢測模型,且PDTA算法需要核密度估計來生成新的數(shù)據(jù),下面簡要介紹堆疊自編碼器和核密度估計。
自編碼器是一種神經(jīng)網(wǎng)絡(luò),經(jīng)過訓(xùn)練后能嘗試將輸入復(fù)制到輸出。自編碼器內(nèi)部有一個隱藏層,可以產(chǎn)生編碼h來表示輸入。該網(wǎng)絡(luò)由兩部分組成:一個由函數(shù)h=f(x)表示的編碼器和一個生成重構(gòu)樣本的解碼器r=g(h)[8]。堆疊自編碼器由若干自編碼器堆疊而成,包含有多個隱藏層。
堆疊自編碼器在學(xué)習(xí)過程通過調(diào)整網(wǎng)絡(luò)參數(shù)W和b,最小化損失函數(shù)L(x,r)。損失函數(shù)L懲罰r與x的差異,如均方誤差:
(1)
通常為了使自編碼器學(xué)習(xí)到的特征更加魯棒,可對損失函數(shù)加入權(quán)值衰減約束和稀疏性約束。
密度估計是一種根據(jù)觀察到的樣本,對整個數(shù)據(jù)集分布做出估計,進而得到整個數(shù)據(jù)集的概率密度函數(shù)的方法[9]。Rosenblatt[10]和Parzen[11]提出了一種非參數(shù)估計方法,稱為核密度估計。由于核密度估計不利用有關(guān)數(shù)據(jù)分布的先驗知識,對數(shù)據(jù)分布不附加任何假定,是一種從樣本本身出發(fā)研究數(shù)據(jù)分布特征的方法,在統(tǒng)計學(xué)領(lǐng)域均得到了廣泛使用。
核密度估計將直方圖估計的思想做了推廣。如果根據(jù)樣本X1,X2,…,Xn,做出帶寬為h的直方圖,則對于點x處的密度估計可以寫成
(2)
其中,k是區(qū)間(x-h,x+h)內(nèi)的樣本數(shù)目,這個估計可以寫成
(3)
核密度估計將權(quán)重函數(shù)ω(t)替換為其他函數(shù)K(·),K(·)稱為核函數(shù),且
(4)
假設(shè)K(·)是一個原點為中心的對稱概率密度分布,那么有
(5)
h=0.9min(S,Q/1.34)n-0.2
(6)
本節(jié)介紹RFAE的異常檢測過程,分3小節(jié)分別介紹差異函數(shù)DF、訓(xùn)練算法PDTA和RFAE的異常檢測算法。
為了方便表述,首先引入物理學(xué)中相位的概念。相位是對于一個波,某一時刻這個波在循環(huán)中的位置。在周期性時序數(shù)據(jù)中,不同周期的數(shù)據(jù)相對于這個周期起點的位置,稱為相位。易知,在周期性時序數(shù)據(jù)中,如果兩條數(shù)據(jù)的相位相同,那么這兩條數(shù)據(jù)的值也相同。
衛(wèi)星電源系統(tǒng)產(chǎn)生的是周期性高維時序數(shù)據(jù)X=x0x1,…,xn-1,記時間序列X的周期為p,xi是在時間為i時產(chǎn)生的數(shù)據(jù),含有d個參數(shù),總時長為n,不妨設(shè)X共有k個周期,即n=kp。將衛(wèi)星電源系統(tǒng)正常狀態(tài)產(chǎn)生的數(shù)據(jù)稱為正常樣本數(shù)據(jù),簡稱正常樣本。異常狀態(tài)產(chǎn)生的數(shù)據(jù)稱為異常樣本數(shù)據(jù),簡稱異常樣本,檢測衛(wèi)星電源系統(tǒng)異常也即是檢測出X中的異常樣本。
由于X具有周期性,若xi和xi+cp,c=0,1,…,k-1都是正常樣本,則xi和xi+cp相等。即相位相同的正常樣本,樣本的值也相等。由于實際上樣本會受到噪聲的影響,因此有
(7)
將xi和xi+cp劃分為同一組,則X可劃分為p組,如式(8)。
(8)
其中,Si組內(nèi)的數(shù)據(jù)具有相同的相位,稱Si為一個分組。如果分組Si內(nèi)的樣本都是正常樣本,則Si內(nèi)的樣本應(yīng)該是近似相等的;若Si內(nèi)有異常樣本,則由于異常樣本相比于正常樣本數(shù)量較少,因此Si內(nèi)的大多數(shù)樣本也都是正常樣本,而只有少量異常樣本。研究要求自編碼器學(xué)習(xí)到Si中可以表示大多數(shù)正常樣本的特征h,而忽略其中的數(shù)量較少的異常樣本,稱h為代表性特征。將重構(gòu)樣本與原始樣本之間的誤差稱為重構(gòu)誤差,根據(jù)同一個分組Si內(nèi)的樣本生成的重構(gòu)樣本之間的誤差稱為組內(nèi)誤差。根據(jù)h重構(gòu)的正常樣本r具有如下特點:(1) 重構(gòu)樣本與原始樣本差異較小,即重構(gòu)誤差較??;(2) 同一分組重構(gòu)樣本之間的差異較小,即組內(nèi)誤差較小。重構(gòu)誤差可以用式(1)來衡量。對于組內(nèi)誤差,首先計算重構(gòu)樣本兩兩之間的距離
D={d00,d01,…,di(k-1),d(i+1)0,…,d(k-2)(k-1)}
(9)
其中,dij是重構(gòu)樣本ri和rj之間的距離。為了衡量重構(gòu)樣本之間的差異,有
R=μ(D)+σ(D)
(10)
其中,
(11)
(12)
式(11)計算D的均值,式(12)計算D的標(biāo)準(zhǔn)差。從而可知,R越小則重構(gòu)樣本之間的差異越小,即組內(nèi)誤差越小,反之則反。
經(jīng)過上述分析,得到用來提取代表性特征的損失函數(shù)
L(x,r)=μE+νR
(13)
其中,E用以衡量重構(gòu)誤差,R用以衡量組內(nèi)誤差,稱上式為差異函數(shù)DF,其中系數(shù)μ,ν取值范圍為[0,1],當(dāng)μ/ν→0時,重構(gòu)誤差可忽略不計,堆疊自編碼器僅最小化組內(nèi)誤差;當(dāng)μ/ν→∞時,組內(nèi)誤差可忽略不計,堆疊自編碼器僅最小化重構(gòu)誤差。
如3.1節(jié)所述,在使用DF作為損失函數(shù)時,為了使堆疊自編碼器可以學(xué)習(xí)相同相位樣本的代表性特征,需要對訓(xùn)練數(shù)據(jù)按相位進行分組,相位相同的樣本劃分為同一組。為了提高每個分組內(nèi)數(shù)據(jù)的數(shù)量,對每個分組內(nèi)的數(shù)據(jù)進行核密度估計。然后從估計的概率分布中采樣出一部分樣本,并把它們加入到相應(yīng)的分組,作為對原始數(shù)據(jù)的補充。然后從每個分組內(nèi)選出若干樣本進行訓(xùn)練,使用梯度下降和Adam算法最小化損失函數(shù),即DF函數(shù)。稱該算法為周期性數(shù)據(jù)訓(xùn)練算法PDTA。
圖2 算法流程圖Fig.2 Flow chart of the algorithms
PDTA算法流程如圖2(a)所示。PDTA首先對原始的高維時序數(shù)據(jù)X按相位進行分組,然后對每個分組內(nèi)的數(shù)據(jù)進行核密度估計,得到相應(yīng)的概率分布P,從P中采樣出一定數(shù)量的樣本,加入到對應(yīng)的分組中。在訓(xùn)練階段,算法隨機選取一個分組,然后從這個分組中選出b條訓(xùn)練數(shù)據(jù),使用反向傳播和Adam算法訓(xùn)練RFAE。
以DF為損失函數(shù),并且使用PDTA算法進行訓(xùn)練的堆疊自編碼器可以提取到高維周期性數(shù)據(jù)的代表性特征,研究把這種堆疊自編碼器稱之為代表性特征自編碼器RFAE。
RFAE提取到的是代表性特征,該特征表示的是每個分組內(nèi)的正常樣本。根據(jù)該特征重構(gòu)樣本時,若原始樣本是正常樣本,則重構(gòu)樣本和原始樣本差異較小,即重構(gòu)誤差較小;若原始樣本是異常樣本,由于代表性特征并不能準(zhǔn)確的表示異常樣本,因此重構(gòu)樣本和原始樣本差異較大,即重構(gòu)誤差較大?;谶@一點,通過重構(gòu)誤差來檢測異常。檢測算法流程如圖2(b)所示。對于每個樣本xi,通過訓(xùn)練好的RFAE模型M生成其重構(gòu)樣本,然后根據(jù)式(1)計算重構(gòu)誤差,若重構(gòu)誤差大于某一個閾值ε,則該樣本被判定為異常樣本,否則為正常樣本。
首先通過模擬數(shù)據(jù)檢驗RFAE模型的有效性。模擬數(shù)據(jù)集含有100個參數(shù),共有100000條數(shù)據(jù)。為了生成和衛(wèi)星電源系統(tǒng)遙測數(shù)據(jù)相似的高維周期性數(shù)據(jù),從正弦函數(shù)y=0.5(sin(a(x+b))+1)中產(chǎn)生每一個參數(shù)的100000條數(shù)據(jù)。其中a=π/50,b=0,1,2,…,99,每個參數(shù)都對應(yīng)著一個b的值。由此可知,模擬數(shù)據(jù)的周期為100。對于生成的模擬數(shù)據(jù),添加均值為0,方差為0.01的高斯噪聲。從模擬數(shù)據(jù)中隨機選取1000條數(shù)據(jù),其中每條數(shù)據(jù)隨機選取4個參數(shù),將這4個參數(shù)對應(yīng)的值增加或減少10%,將這1000條數(shù)據(jù)作為異常數(shù)據(jù)。最后,將所有數(shù)據(jù)進行歸一化處理。
為了檢驗DF損失函數(shù)和PDTA算法的有效性,首先在模擬數(shù)據(jù)上進行對比試驗。試驗參數(shù)設(shè)置如表1所示。三個模型的結(jié)構(gòu)相同,包含7個隱藏層,每個隱藏層神經(jīng)元的數(shù)目為[50,20,10,5,10,20,50]。SAE1和SAE2采用了相同的損失函數(shù),都是均方誤差函數(shù);但是訓(xùn)練算法不同,其中SAE1采用了神經(jīng)網(wǎng)絡(luò)常用的訓(xùn)練算法,即從訓(xùn)練數(shù)據(jù)中隨機選取批量數(shù)據(jù)進行訓(xùn)練;SAE2采用了本文提出的PDTA算法。SAE2和RFAE均采用PDTA作為訓(xùn)練算法,但SAE2采用均方誤差作為損失函數(shù),RFAE采用DF作為損失函數(shù)。其中訓(xùn)練輪數(shù)設(shè)為15,學(xué)習(xí)率l=0.005,批量大小b=15,u=1,ν=0.00001。在異常檢測階段,將樣本按重構(gòu)誤差從大到小排序,前1000個樣本被預(yù)測為異常樣本。三個模型準(zhǔn)確率隨訓(xùn)練輪數(shù)的變化如圖3所示。
表1 模擬數(shù)據(jù)實驗?zāi)P驮O(shè)置Table 1 Model setting of synthetic data experiment
圖3中SAE1的準(zhǔn)確率變化始終在0~0.2范圍內(nèi)波動,并不能準(zhǔn)確地檢測出異常數(shù)據(jù);SAE2相較于SAE1,準(zhǔn)確率有所提升,但并不穩(wěn)定;RFAE檢測效果最佳,最終準(zhǔn)確率達到了1并且穩(wěn)定在這一水平。由SAE1和SAE2的準(zhǔn)確率曲線對比可知,PDTA算法對于異常檢測效果有一定的提升;由SAE2和RFAE的準(zhǔn)確率變化曲線可知,DF損失函數(shù)相較于MSE損失函數(shù),對異常檢測效果也有提升。即RFAE對于異常樣本的重構(gòu)誤差大于SAE對于異常樣本的重構(gòu)誤差。根據(jù)重構(gòu)誤差,將正常樣本和異常樣本分開,進而達到異常檢測的效果。詳細分析將在下一節(jié)真實數(shù)據(jù)實驗中介紹。
圖3 準(zhǔn)確率變化曲線Fig.3 Accuracy curve
本試驗采用的數(shù)據(jù)是2014年1月1日至2014年12月31日某在軌衛(wèi)星電源系統(tǒng)76個參數(shù)的數(shù)據(jù)。電源系統(tǒng)每隔一定時間段下傳一次各個參數(shù)的數(shù)據(jù),12個月大約有2.33×107條數(shù)據(jù)。本試驗使用RFAE分析這些數(shù)據(jù),并檢測衛(wèi)星電源系統(tǒng)發(fā)生的異常。
衛(wèi)星遙測數(shù)據(jù)不可避免地會受到天地傳輸網(wǎng)絡(luò)的影響,從而產(chǎn)生野值。如果保留野值,算法會認為是異常導(dǎo)致誤報,因此需要剔除野值。實際中衛(wèi)星異常通常會持續(xù)一段時間,而野值通常只出現(xiàn)在某一時刻,然后采用中值濾波過濾野值。
為了便于算法檢驗異常,需要將各參數(shù)的數(shù)據(jù)采樣頻率統(tǒng)一化,通過使用降采樣,將各個參數(shù)采樣頻率降為1 min,數(shù)據(jù)壓縮為525600條,其中異常數(shù)據(jù)約有1700條,使用這些數(shù)據(jù)來檢測電源出現(xiàn)的異常。通過統(tǒng)計了異常數(shù)據(jù)的條數(shù)(如代號為2143的參數(shù)分別在2014年7月26日00:42-01:50、2014年8月17日22:07-22:53出現(xiàn)了異常,該異常共持續(xù)114 min,對應(yīng)著114條遙測數(shù)據(jù)),得到的異常詳細信息如表2所示。
表2 異常信息Table 2 Anomaly information
為了檢驗RFAE模型使用DF損失函數(shù)具有提取代表性特征的能力,將RFAE和SAE進行了對比試驗。表3給出了SAE和RFAE模型的結(jié)構(gòu)和損失函數(shù)。二者的網(wǎng)絡(luò)結(jié)構(gòu)相同,包含7個隱藏層,每個隱藏層神經(jīng)元的數(shù)量為[40,20,10,5,10,20,40];SAE采用普通的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法,每個訓(xùn)練批次的數(shù)據(jù)從全體訓(xùn)練數(shù)據(jù)中隨機選取,RFAE采用PDTA作為訓(xùn)練算法,每個訓(xùn)練批次的數(shù)據(jù)來自于同一個分組;SAE采樣均方誤差MSE作為損失函數(shù),RFAE采用差異函數(shù)DF作為損失函數(shù)。
表3真實數(shù)據(jù)實驗?zāi)P驮O(shè)置Table 3 Model setting of real data experiment
模型訓(xùn)練學(xué)習(xí)率設(shè)為0.005,訓(xùn)練輪數(shù)設(shè)為10,每個訓(xùn)練批次樣本個數(shù)為15。在訓(xùn)練時,由于缺乏先驗知識,無法準(zhǔn)確地確定閾值。為了計算準(zhǔn)確率,將訓(xùn)練中重構(gòu)誤差最大的前1700個樣本預(yù)測為異常樣本,然后計算訓(xùn)練過程中異常樣本檢測的準(zhǔn)確率。訓(xùn)練過程中的準(zhǔn)確率變化曲線如圖4所示。訓(xùn)練完成后,最終RFAE檢測異常準(zhǔn)確率為97.9%,高于SAE的29.6%。這是由于SAE最終學(xué)習(xí)到的是所有樣本的特征,無論是正常樣本還是異常樣本,SAE都可以比較準(zhǔn)確地生成重構(gòu)樣本,導(dǎo)致異常樣本和正常樣本的重構(gòu)誤差相差不大,無法根據(jù)重構(gòu)誤差區(qū)分出正常樣本和異常樣本。相反,RFAE模型學(xué)習(xí)到的是代表性特征,僅能夠比較準(zhǔn)確地重構(gòu)出正常樣本,但是無法準(zhǔn)確地重構(gòu)出異常樣本,即正常樣本重構(gòu)誤差較小,異常樣本重構(gòu)誤差較大,可以根據(jù)重構(gòu)誤差有效地區(qū)分出正常樣本和異常樣本。因此而導(dǎo)致RFAE模型準(zhǔn)確率遠遠高于SAE。
圖4 準(zhǔn)確率變化曲線Fig.4 Accuracy curve
重構(gòu)誤差是檢測異常樣本的重要指標(biāo)。圖5和圖6分別展示了SAE和RFAE正常樣本和異常樣本的重構(gòu)誤差分布直方圖。由圖5可知,SAE對正常樣本和異常樣本的重構(gòu)誤差分布情況基本一致,分布在[0,1]區(qū)間,并且隨著重構(gòu)誤差的增大,樣本頻數(shù)減少,并不能通過重構(gòu)誤差明顯地區(qū)分正常樣本和異常樣本。由圖6可知,RFAE對正常樣本和異常樣本的重構(gòu)誤差分布情況明顯不同,正常樣本的重構(gòu)誤差分布在[0,2]區(qū)間內(nèi),而異常樣本的重構(gòu)誤差大多集中在[3,8]區(qū)間內(nèi)。根據(jù)重構(gòu)誤差的大小可以明顯的區(qū)分出異常樣本和正常樣本,這再次證明了RFAE具有學(xué)習(xí)代表性特征的能力,從而提高了RFAE檢測異常的能力。
為檢驗RFAE的有效性,根據(jù)訓(xùn)練后的模型,設(shè)置不同的ε值,根據(jù)ROC曲線(Receiver operating characteristic curve)確定最佳閾值約為ε=2.0053,此時假正率為0.38%,真正率為97.61%。確定閾值ε后,將RFAE和其他常用的無監(jiān)督異常檢測算法進行對比:
1) iForest,基于樣本孤立性的異常檢測方法[13]。
2) OCSVM,基于支持向量機的異常檢測方法[14]。
3) PCA,基于主成分分析的異常檢測方法[15]。
4) BoostSelect,基于集成技術(shù)的異常檢測方法[16]。
圖5 SAE的正常樣本和異常樣本重構(gòu)誤差分布直方圖Fig.5 Histogram of reconstructed error in SAE
圖6 RFAE正常樣本和異常樣本重構(gòu)誤差分布直方圖Fig.6 Histogram of reconstructed error in RFAE
由表5可知,其他算法由于數(shù)據(jù)維度較高,導(dǎo)致準(zhǔn)確率低于RFAE。由于異常樣本的數(shù)量遠遠低于正常樣本,導(dǎo)致類別不平衡,從而預(yù)測為假正的樣本數(shù)量較多。其他算法雖然召回率較高,但是精確率比較低。F值綜合了召回率和精確率來衡量模型的優(yōu)劣,由表5可知,RFAE算法的檢測效果明顯優(yōu)于其他算法。此外,表5的最后一行展示了每個算法在預(yù)測階段的運行時間,RFAE模型的運行時間最短,略低于PCA的運行時間,這是由于RFAE模型在訓(xùn)練完成后直接調(diào)用訓(xùn)練好的模型進行檢測。綜上所述,RFAE模型在預(yù)測效果和運行時間上均優(yōu)于當(dāng)前主流的異常檢測算法。
(14)
表5 異常檢測結(jié)果對照表Table 5 Table of anomaly detection results
本文針對衛(wèi)星電源遙測數(shù)據(jù)維度高、周期性明顯的特點,提出了一種新穎的代表性特征自編碼器RFAE模型,并用于異常檢測。RFAE通過改進SAE的損失函數(shù)和訓(xùn)練算法,使得模型可以提取每個周期正常樣本的代表性特征。通過代表性特征重構(gòu)樣本,根據(jù)重構(gòu)誤差來判斷樣本是否異常。相較于其他異常檢測算法,一方面,RFAE不限制輸入數(shù)據(jù)的維度,充分利用了電源系統(tǒng)遙測數(shù)據(jù)各個參數(shù)的信息,使得模型能夠反映出電源系統(tǒng)的真實狀態(tài);另一方面,RFAE通過PDTA算法進行訓(xùn)練,保留了時序數(shù)據(jù)的周期性信息,從而能夠反映電源系統(tǒng)隨時間的變化情況。通過模擬數(shù)據(jù)和真實遙測數(shù)據(jù)分別進行了對比實驗,RFAE均取得了優(yōu)于當(dāng)前主流異常檢測算法的效果。此外,也為解決高維周期性時序數(shù)據(jù)的異常檢測提供了一種新的解決思路。
未來將進一步研究下列問題:(1)RFAE異常檢測閾值ε需要根據(jù)經(jīng)驗設(shè)置,在以后的工作中,將研究如何根據(jù)重構(gòu)誤差的分布情況由算法自動確定閾值,研究參數(shù)的自適應(yīng)性;(2)電源系統(tǒng)會隨著時間發(fā)生緩慢的性能退化,根據(jù)歷史數(shù)據(jù)訓(xùn)練得到的模型是靜態(tài)的,具有時效性,這和當(dāng)前電源系統(tǒng)的狀態(tài)有一定的偏差,這個偏差會隨時間越來越大,從而導(dǎo)致模型檢測效果變差。因此,在以后的工作中,團隊將進一步研究如何降低衛(wèi)星電源系統(tǒng)退化對異常檢測效果造成的不良影響。