
















摘 要:近年來,對多變量時間序列的異常檢測在各領域中逐漸突顯出其重要性。然而,由于多變量時間序列的時空依賴性以及采集所存在的噪聲干擾,使得模型學習到的分布與真實分布存在一定的偏差,進而影響檢測性能。為了解決以上問題,提出一種結合對抗互信息的多變量時間序列抗噪異常檢測模型(RADAM)。通過設計對比學習機制來達到多變量時間序列全局信息和局部信息的互信息最大化,以此來學習多變量時間序列的時間與空間依賴性;利用自適應權重和過濾器模塊減少噪聲樣本對于訓練過程的干擾,使模型在訓練過程中具備較高的抗噪能力。在五個真實數據集上與六個先進的同類異常檢測方法進行了對比實驗,實驗結果證明RADAM性能明顯優于其他基線模型,說明RADAM能顯著提升在包含噪聲的多變量時間序列數據集上異常檢測的準確度。
關鍵詞:多變量時間序列; 抗噪異常檢測; 生成對抗學習; 對比學習; 互信息最大化
中圖分類號:TP391 文獻標志碼:A
文章編號:1001-3695(2024)08-019-2384-08
doi:10.19734/j.issn.1001-3695.2023.11.0579
Robust anomaly detection for multivariate time series based onadversarial mutual information
Zhang Benchu, Qiao Yan, Hu Rongyao
(Anhui Province Key Laboratory of Industry Safety and Emergency Technology, Hefei University of Technology, Hefei 230601, China)
Abstract:In recent years, anomaly detection for multivariate time series has gradually highlighted its importance in various fields. However, due to the spatiotemporal correlation of the multivariate time series distribution and the inevitable noise in the multivariate time series collected, there exists a non-negligible deviation between the distribution learned by the model and the real distribution, which will affect the detection performance. To tackle the above problems, this paper proposed a new robust anomaly detection model (RADAM) for multivariate time series. The new model used contrastive learning to maximize the mutual information of global and local information of multivariate time series to learn the spatiotemporal correlation among time series. It also used the adaptive weights and a sample filter module to reduce the interference of abnormal samples on the training process, which enabled the model to have high noise resistance ability during training. Finally, through comparing the new model with the-state-of-the-art anomaly detection models on five real-world multivariate time series datasets, the experimental results show that RADAM performs better than other baseline models, which demonstrate that RADAM can significantly improve the performance of anomaly detection on polluted multivariate time series datasets.
Key words:multivariable time series; robust anomaly detection; generative adversarial learning; contrastive learning; mutual information maximization
0 引言
多變量時間序列是由多個隨時間變化的時間序列所組成的,每個時間序列描述了被監測對象的不同屬性值。如航天器的遙感通道在連續時間內對溫度、輻射、動力等屬性的測量值[1],云服務器內部節點的CPU利用率、內存利用率等性能值[2]。相對單變量時間序列數據,多變量時間序列能更全面地呈現對象特征。對多變量時間序列的異常檢測是指檢測出時間序列中不符合現實變化規律的數據片段,這些異常的數據段通常表明被監測對象正處于一種異常的工作狀態,有時也代表某類異常事件的發生。若監測中的異常數據沒有被及時發現并處理,則可能會導致巨大的經濟損失甚至人員傷亡。因此,及時、準確地檢測出多變量時間序列中的異常數據具有重要的現實意義。
傳統的異常檢測方法一般通過建立靜態閾值來判斷數據是否出現異常[3]。然而,該類方法僅能應用于單變量時間序列(如圖1(a)所示)的異常檢測。多變量時間序列(如圖1(b)所示)不僅具有時間依賴性(即每個序列在相鄰時間的相關性),還具有空間依賴性(即同一時間所有序列之間的相關性)。因而無法用傳統的閾值法來界定多變量時間序列異常。
隨著機器學習技術的發展,基于機器學習的異常檢測方法迅速涌現。這些方法主要分為基于聚類的異常檢測方法、基于單分類的異常檢測方法和基于重構的異常檢測方法。其中基于聚類的方法(如K均值聚類算法[4]和密度聚類算法[5])將遠離任何聚類中心的觀測值視為異常。基于單分類的方法(如單分類支持向量機(one-class SVM,OCSVM)[6]和孤立森林算法(isolation forest,IF)[7])只對正常數據進行分布建模,將不符合此分布的觀測值視為異常。以上兩類方法在檢測高維度時間序列時存在較高的時間復雜度,且無法保證檢測準確度。近年來,基于重構的異常檢測方法逐漸成為研究熱點。此類方法大多采用自編碼器(autoencoder,AE)模型,利用數據的重構誤差進行檢測。并且通過引入長短期記憶網絡(long short term memory,LSTM)[8]、門控循環單元(gate recurrent unit,GRU)[9]來捕捉時間維度的動態變化,但卻忽略了不同時間序列之間空間依賴性。為了解決這一問題,一些研究者引入了圖神經網絡(graphic nuaral network,GNN)[10,11]來更好地建模空間依賴關系。然而,此類模型通常應用于圖像和視頻等依賴關系存在于相鄰區域的樣本數據,對于具有較長片段及復雜空間依賴關系的多變量時間序列樣本無法到達較好的檢測效果。
隨著生成對抗網絡(generative adversarial network,GAN)[12]的提出,基于GAN的異常檢測方法在復雜數據的異常檢測問題中表現出更優的性能。AnoGAN[13]首先將GAN應用于醫學圖像的異常檢測中。Zenati等人[14]提出基于Bidirectional GAN(BiGAN)架構的異常檢測方法,提高了AnoGAN的檢測準確度。然而以上方法僅適用于圖像領域的異常檢測問題,且基于GAN的異常檢測模型需要無噪聲的純凈數據集才能學習到準確的樣本特征,而現實世界中的多變量時間序列在采集過程中不可避免地存在噪聲[1],這更加大了GAN模型的學習難度。
綜上所述,對于多變量時間序列異常檢測,本文的核心思想是在消除數據中噪聲影響的同時,對多變量時間序列的時間依賴性和空間依賴性進行建模,以更好地捕獲多變量時間序列的正常模式。對于多變量時間序列中復雜的時空依賴性,通過利用門控循環單元作為模型的基本網絡來捕獲時序數據的長期依賴,并引入對比學習機制來學習數據的局部特征和全局特征,從而構建更加豐富的重構信息;此外,為消除數據中噪聲的影響,應用對抗訓練中不斷放大重構誤差的原理,設計了自適應權重和噪聲過濾模塊,有助于防止潛在噪聲導致的模型過擬合。本文的主要貢獻如下:a)提出了結合對抗互信息的多變量時間序列異常檢測模型(RADAM),通過引入對比學習機制來促進鑒別器特征編碼之間的互信息最大化,從而有效地學習多變量時間序列樣本的時間與空間依賴性,提高模型在多變量時間序列數據上的特征學習和重構能力;b)設計了基于重構誤差的樣本自適應權重與噪聲過濾模塊,自適應權重可在訓練過程中動態調整樣本重構損失,過濾模塊可根據時間序列樣本的重構誤差區分樣本質量,過濾疑似噪聲,從而使模型能夠在受污染訓練集中更準確地學習正常樣本分布特征;c)在五個真實多變量時間序列數據集上對RADAM方法進行實驗評估,并與同類算法進行對比,驗證了本文模型的優越性。
1 相關工作
目前基于機器學習的異常檢測方法主要可以分為基于聚類的異常檢測方法518a1a327c916ee632180c0fe11f97d3、基于單類分類的異常檢測方法和基于重構的異常檢測方法三類。
基于聚類的異常檢測方法將樣本到聚類中心點的距離作為異常評分。例如K均值聚類算法[4]和密度聚類算法[5],將遠離聚類中心的樣本點視為異常樣本。Saeedi等人[15]提出基于密度的聚類算法(DBSCAN)來檢測無線傳感器網絡中的異常數據。基于聚類的異常檢測方法的模型復雜度低,易于實現,然而對于復雜分布的數據會產生較高的檢測誤差。基于單分類的異常檢測方法首先學習樣本中大多數數據分布,再將不符合此分布的樣本視為異常。Tax等人[16]提出的SVDD模型通過建立超球體來囊括盡可能多的數據,將超球體外的樣本點視為異常樣本。Shen等人[17]提出的THOC通過建立多個超球體將正常數據包圍起來,通過評估觀察值與超球體所代表的正常模式的偏離程度來進行異常點的檢測。Khreich等人[18]提出了一種基于OCSVM的異常檢測方法(ADS),該方法將樣本的時間信息與OCSVM相結合,以此來降低異常檢測的誤差。基于單分類的異常檢測方法對于低維度數據有較好的檢測性能,但對于高維度的多變量時間序列同樣會出現檢測時間過長及準確度欠佳的情況。基于重構的異常檢測方法首先學習正常的樣本分布,再通過重構樣本來檢測異常。例如基于自編碼器的異常檢測方法[19,20]在訓練過程中通過編碼器和解碼器對訓練樣本進行重構,在異常檢測時通過判斷樣本的重構誤差來鑒別異常。周小暉等人[20]采用自編碼器模型,通過在編碼器的時域卷積模塊和自注意力模塊間加入信息共享機制來實現信息融合,實現對多維時序更好地重構。InterFusion[21]采用分層的VAE學習多變量時間序列的樣本重構,每一層的潛在變量均參與學習多變量時間序列的空間相關性和時間相關性,以此提高異常檢測效果。Adformer[22]通過兩個階段的訓練使Transformer能夠放大重建誤差,并充分捕捉時間序列中的短期趨勢,以此增強了模型的異常檢測能力。楊超城等人[23]提出了一種融合雙重注意力機制的單變量時間序列異常檢測方法,通過設計兩個注意力機制來挖掘子序列的局部特征和捕獲時間序列的長期依賴關系。伍冠潮等人[24]則是提出了一種全局自適應融合與交互學習的網絡結構來保留時間序列的依賴關系。近年來隨著生成對抗網絡(GAN)的出現,基于GAN的異常檢測算法[25,26]顯示出比自編碼器更優異的檢測性能,尤其適用于具有復雜分布的高維樣本的異常檢測問題。尹春勇等人[27]提出使用多個生成器來保證生成樣本的多樣性,通過堆疊式LSTM捕獲時間序列的時間相關性。然而大多數基于GAN的異常檢測方法對訓練樣本有較高的要求,在受噪聲污染訓練集中很難學習到準確的數據分布。FGANomaly[28]則是提出了用于噪聲數據集的異常檢測方法,通過設計過濾模塊處理數據集中的噪聲樣本。然而該模型未考慮時間序列樣本的時空特征,導致異常檢測效果也難以達到最優。
針對現有異常檢測方法在應用于真實多變量時間序列異常檢測問題時出現的問題,本文設計了一種新的多變量時間序列異常檢測模型,能通過自適應權重和樣本過濾有效地剔除噪聲樣本對于訓練的干擾,并設計對比學習機制來充分捕獲時間與空間重構信息,從而提升模型對于多變量時間序列樣本的重構能力,提高多變量時間序列中異常檢測的準確度。
2 結合對抗互信息的多變量時間序列抗噪異常檢測
2.1 數據處理
多變量時間序列數據是在固定時間間隔采樣的,由多維時間變量形成的時間序列Xr={x1,x2,…,xR}。每個觀測點xr都是在時間戳r下獲得的多維數據,xr∈Rm,r∈{1,2,…,R}。由于不同維度數據的量綱不同,特征向量的取值范圍也不同。為了提升模型的收斂速度以及檢測性能,在模型訓練前,對多變量時間序列進行歸一化處理:
xi=xr-Min(Xr)Max(Xr)-Min(Xr)(1)
其中:xi是歸一化后的向量;Max(Xr)和Min(Xr)分別表示該特征數據在多變量時間序列Xr中的最大值和最小值。原始數據Xr經過歸一化處理后得到時間序列X。考慮到時間序列存在時間相關性,構建長度為n的時間窗口W(t)={xt1,xt2,…,xtn},其中t代表當前時間窗口的序列號,為了簡單起見,在下文中將省略t進行描述。給定一個多變量時間序列X,將其轉換為時間窗口數據W={W(1),W(2),…,W(T)},然后用時間窗口數據W作為模型的輸入。這樣,模型的異常檢測將不只是關注觀測值本身,而是根據觀測值的時間依賴信息來判斷該觀測值是否異常。
2.2 RADAM異常檢測模型
RADAM模型的整體框架如圖2所示。該模型由生成器模塊、過濾器模塊和對比鑒別器模塊三個模塊組成。在該框架中,多變量時間序列經過數據處理得到時間窗口數據。生成器模塊G為輸入數據生成重構數據。過濾器模塊首先計算兩個時間窗口數據W和W^的重構誤差,再依據重構誤差為每個觀測值計算偽標簽和生成器模塊中的自適應權重,最后將疑似為噪聲的樣本舍棄。在對比鑒別器中,構造了基于局部特征和全局特征的對比學習機制,鑒別器模塊D對過濾后的樣本進行對比學習:首先將鑒別器網絡中不同層的編碼特征進行配對,再對配對后的編碼特征進行正負樣本劃分,最后利用正負樣本的對比損失對生成器和鑒別器網絡進行優化。通過對比學習,可學習到時間序列樣本的時間與空間依賴性,從而更準確地重構時間序列樣本。以下將分別對模型中的生成器、過濾器與對比鑒別器模塊做詳細介紹。
2.2.1 生成器
生成器模塊采用變分自編碼器(VAE)網絡結構,VAE中的編碼器網絡和解碼網絡均由門控循環單元(GRU)組成。編碼器的作用是將輸入數據xi編碼到潛在空間,并學習從輸入xi到潛在空間變量σi的后驗分布q(σi|xi)。該分布的學習可轉換為對潛在變量σi的均值μi與方差εi的學習。為了約束潛在空間的分布,將潛在空間變量的先驗分布p(σ)用正態分布N(0,1)建模,并在模型訓練過程中最小化潛在變量先驗分布和后驗分布之間的KL散度。解碼器的功能是從后驗分布q(σi|xi)中采樣,并最大化對數似然logp(xi|σi)來生成重構數據xi。從重構的角度,定義生成器的重構損失為
Lirec=Eq(σi|xi)[logp(xi|σi)]-DKL(q(σi|xi)‖p(σ))=
‖xi-i‖-1/2(μ2i+ε2i-2log(εi)-1)(2)
其中:重構損失Lirec是由輸入xi與生成i的重構差異和KL散度正則項組成。KL正則項的作用是使編碼器生成的潛在變量σi更加連續和有序,確保在該空間中均勻采樣的點能夠生成具有多樣性的樣本。
當訓練集中包含噪聲或異常數據時,模型在學習正常樣本特征的同時也會學習到噪聲或異常的樣本特征,從而產生過擬合現象。“噪聲”與“異常”均指數據集中所出現的非正常數據, 當異常數據出現在訓練數據集中時會對模型的訓練效果產生影響,因此本文將訓練集中的異常數據稱之為“噪聲”。RADAM在重構損失中增加自適應權重來引導生成器網絡盡可能學習正常的樣本分布。由于噪聲樣本往往具有較大的重構誤差[13],且隨著訓練次數的增加,噪聲樣本的重構誤差與正常樣本的差異在不斷擴大。所以,可利用樣本的重構誤差來估計樣本質量。假設輸入樣本W={x1,x2,…,xn}與重構樣本W^={1,2,…,n}的重構誤差為d={d1,d2,…,dn},其中di=‖xi-i‖,1≤i≤n,根據所有樣本重構誤差,定義觀測值xi的偏離分值為zi,其計算公式為
zi=di-δ(3)
其中:和δ分別為重構誤差d的均值和方差。重構誤差越大,觀測值xi為噪聲的可能性越大。因此根據偏離分數,為每個觀測值xi的重構損失Lirec乘上自適應權重Δi,其計算公式為
Δi=1Z×eziezi+e-zi×N-1×ezi+e-ziN×ezi(4)
其中:Z為歸一化因子;N為訓練的總迭代次數;為0~1的小數。分配的權重越大,樣本質量越高。訓練剛剛開始時,N=1且Δi=1/n,意味著每個觀測值都有相同的權重值,貢獻了相同的重構損失。隨著訓練次數的增加,觀測值的權重差異會越來越大。當zi>0,即重構誤差di大于平均值時,樣本會被分配較小的權重;相反,當zi<0,即重構誤差di小于平均值時,樣本會被分配較大的權重。通過為樣本的重構損失Lirec分配自適應權重,生成器可更傾向于學習正常數據分布。
2.2.2 過濾器
模型在鑒別器之前添加過濾器,將訓練數據中疑似為噪聲的樣本篩除。通過在每一輪的訓練過程中對訓練樣本動態添加偽標簽n(n∈{0,1}) :當n 為0時,表示樣本為高質量樣本,可用于鑒別器訓練;當n為1時,表示該樣本為低質量樣本,不參與鑒別器訓練。與生成器的自適應權重類似,樣本偽標簽的計算同樣與重構誤差和訓練迭代次數兩個因素相關。重構誤差越大,則樣本為噪聲的概率越大;訓練次數越高重構誤差的可信度越高。
給定輸入數據W={x1,x2,…,xn},首先將樣本xi的異常信度定義為
B^(xi)=eziezi+e-zi(5)
其中:zi如式(3)所定義。式(5)根據重構誤差的不同,將異常信度置于0~1。當樣本重構誤差等于均值時,其異常信度為0.5;當樣本重構誤差大于均值時,該樣本異常信度大于0.5;反之,樣本的異常信度小于0.5。
然而,B^(xi)擁有效果的前提是模型有效地學習到多變量時間序列數據的特征。但在訓練剛剛開始時,生成器與鑒別器還未能充分地學習到時間序列特征分布,僅依靠重構損失并不能準確地反映異常概率。因此,設計了能隨著訓練迭代次數的增加,不斷優化過濾器過濾效果的平衡因子(1-1/N),觀測值xi的異常概率最終被定義為
P^(xi)=eziezi+e-zi×(1-1N)(6)
其中:N為訓練的迭代次數。根據上式,異常概率會隨著訓練的迭代次數動態調整。得到異常概率P^={P^(x1),P^(x2),…,P^(xn)}。并采用四分位法為每個樣本生成偽標簽:假設ρ為P^從小到大排列第(n+1)×0.75位置的數值。隨著訓練的進行,觀測值xi的異常概率P^(xi)若小于ρ則被分為正常樣本(i=0),大于ρ則被分為疑似噪聲樣本(i=1),以此生成偽標簽={1,2,…,n}。
2.2.3 對比鑒別器
多變量時間序列不僅有著時間依賴性,還具有空間依賴性。傳統的生成對抗網絡很難同時學習時間與空間依賴性,因而對于多變量時間序列特征的學習往往不夠充分,從而導致重構誤差作為異常評分的效果并不顯著。因此,模型RADAM添加對比鑒別器模塊,通過對比學習對生成器網絡和鑒別器網絡進行訓練。對比學習目前多應用于視覺特征提取領域,通過最大化樣本與特征之間的互信息來提取更精細的樣本特征。對于兩個離散隨機變量X和Y,其互信息定義如下:
I(X;Y)=∑x∈X∑y∈Yp(x,y)log(p(x,y)p(x)p(y))(7)
其中:p(x,y)是X和Y的聯合概率密度函數,而p(x)和p(y)分別是X和Y的邊緣概率密度函數。對于包含參數ψ的編碼網絡Eψ,通過最大化輸入數據X和編碼器數據Eψ(X)之間的互信息MI(X;Eψ(X)),可使編碼網絡Eψ提取更深層次的樣本特征[29]。考慮到MI(X;Eψ(X))計算的復雜性,文獻[30]提出了MI(X;Eψ(X))的下界:
MI(Cψ(X);Eψ(X))≤MI(X;Eψ(X))(8)
其中:Cψ(X)和Eψ(X)是同一編碼器在網絡參數ψ下的不同層輸出特征,通過最大化MI(Cψ(X);Eψ(X))可以間接最大化MI(X;Eψ(X))。RADAM通過將鑒別網絡中間層特征與輸出層的輸出作為樣本的局部特征與全局特征,最大化樣本間的局部特征與全局特征的互信息來間接最大化時間序列樣本與鑒別網絡輸出之間的互信息,從而更全面地學習多變量時間序列樣本的時間與空間依賴性。對比鑒別器內部結構如圖3所示。
對于包含n個樣本的窗口W,對比鑒別器為每個窗口W生成中間局部特征Cφ(W)和中間全局特征Eφ(W):
Cφ(W)=Cφ,t(Cφ,t-1(…Cφ,1(W))(9)
EXENghV0Gsh+Jl4xn1FXAJW5ckCOfxG/XKtA8L15vAyI=φ(W)=fφ(Cφ(W))(10)
其中:Cφ=Cφ,1,…,Cφ,t是鑒別器網絡的一系列中間層,用以生成中間局部特征Cφ(W)∈Rn×m,而fφ則是鑒別器的最后一層全連接層,用于將中間局部特征Cφ(W)編碼壓縮為中間全局特征Eφ(W)∈Rn×1。生成的中間全局特征和中間局部特征通過線性評價網絡α:Rn×1→Rn×1和β:Rn×m→Rn×M分別映射到空間Rn×1和Rn×M,其中M>m,兩個線性評價網絡分別為
α(Eφ(W))=ReLU(linear(Eφ(W)))(11)
β(Cφ(W))=ReLU(linear(Cφ(W)))(12)
其中:linear(.)為全連接網絡;ReLU(.)為激活函數,得到全局特征α(Eφ(W))和局部特征β(Cφ(W))。局部特征映射到Rn×M空間后,窗口W中的一個樣本xi局部特征可表示為β(Cφ(xi))={β(C(1)φ(xi)),β(C(2)φ(xi)),…,β(C(M)φ(xi))},其中β(C(k)φ(xi))稱為樣本xi的第k個局部特征,1≤k≤M。在獲取線性評價后的全局特征α(Eφ(xi))和局部特征β(Cφ(xi))后,模型對局部特征和全局特征進行配對,并劃分正負樣本。如圖3所示,一個正樣本對是由α(Eφ(xi))和β(C(k)φ(xi)) 配對而成,構成正樣本對(α(Eφ(xi)),β(C(k)φ(xi))),其中k∈Euclid Math OneMAp={1,2,…,M}是樣本局部特征的索引。對應負樣本對的構成可從兩方面考慮:a)負樣本可由同一時間窗口的另一時間序列xj的局部特征來構成,表示為(α(Eφ(xi)),β(C(k)φ(xj))),xj∈W,j≠i,該樣本能使模型學習到樣本間的時間依賴關系;b)負樣本可由相同樣本的另一局部特征來構成,記作(α(Eφ(xi)),β(C(z)φ(xi))),z∈Euclid Math OneMAp,z≠k,該樣本能使模型學習到樣本間的空間依賴關系。根據以上規則,在一個時間窗口的n個多維時間序列數據中,對正樣本進行n×m次配對,每產生一個正樣本,會產生n×m-1個負樣本。
在得到所有的正負樣本后,模型通過InfoNCE對比損失[31]來最大化局部特征和全局特征的互信息MI(Cφ(xi);Eφ(xi)):
Linfo(W)=-Ex∈WEk∈Euclid Math OneMAp[θ]
θ=logexp(α(Eφ(xi))β(C(k)φ(xi))T)∑(xj,k)∈W×Euclid Math OneMApexp(α(Eφ(xi))β(C(k)φ(xj))T)(13)
其中:W={x1,…,xn}為包含n個多變量時間序列的窗口樣本;Euclid Math OneMAp={1,…,M}代表每個樣本M維局部特征的索引。在訓練中,模型通過不斷區分正樣本和負樣本,能夠逐步理解多變量時間序列數據中的關聯性和特征表達,讓模型學習到樣本的時間依賴性和空間依賴性,從而提高模型在多變量時間序列數據上的特征學習和重構能力。
2.3 模型訓練
為了讓模型的訓練更加穩定,實驗中使用Wassertein loss[32]作模型的對抗損失:
Lgan_D(D,G^)=-Ex~pr[D(x)]+Ez~pz[D(G^(z))](14)
Lgan_G(D^,G)=-Ez~pz[D^(G(z))](15)
其中:x表示輸入數據;z表示潛空間向量;G^代表訓練鑒別器D時,參數固定的生成器;D^代表訓練生成器G時,參數固定的鑒別器。
在生成器G的訓練過程中,除了考慮對抗損失外,還增加了生成數據的對比損失Linfo(W^)和重構損失Lrec,將重構損失Lrec與自適應權重Δ相結合能極大降低噪聲樣本的影響。因此,生成器的損失函數為
Ltotal_G=Lgan_G(D^,G)+∑ni=1Lirec·[Δi]+λgLinfo(W^)(16)
其中:λg為超參數。
在對比鑒別器D的訓練過程中,訓練目標為最小化對抗損失與真實樣本W的對比損失。為了消除樣本中噪聲數據對訓練的影響,根據過濾器對樣本添加的偽標簽來過濾疑似噪聲樣本。因此,對比鑒別器的損失函數可表示為
Ltotal_D=-1K∑ni=1(1-i)[Lgan_D(D,
G^)+λdLinfo(W)](17)
其中:K表示過濾器過濾后樣本的數量;i為過濾器生成的偽標簽;λd為超參數。
RADAM異常檢測模型訓練過程如算法1所示。
算法1 RADAM模型訓練算法
輸入:多變量時間序列W={W(1),W(2),…,W(T)};模型迭代次數N;超參數λg,λd,。
輸出:訓練后的生成器G和對比鑒別器D。
for epoch=1,2,…,N do
for t=1,2,…,T do
重構樣本數據W^←G(W)
for all xi∈W(t) do
計算重構誤差d←{d1,d2,…,dn}
根據式(4)計算得到自適應權重Δ
根據式(6)為每個觀測值xi計算異常概率P^(xi)
ρ←P^的上四分位數
if P^(xi)<ρ then
i←0
else
i←1
end if
end for
←{1,2,…,n}
將重構樣本送入對比鑒別器得到對比損失Linfo(W^),并使用式(16)計算生成器損失,更新生成器G參數wG
將過濾后的真實樣本送入對比鑒別器得到對比損失Linfo(W),并使用式(17)計算鑒別器損失,更新對比鑒別器D參數wD
end for
end for
return 訓練后的生成器G和對比鑒別器D
2.4 異常檢測
訓練后的RADAM模型可檢測樣本是否為異常。首先,測試樣本X′={x′1,x′2,…,x′J},被轉換為一系列滑動窗口W′={W′(1),W′(2),…,W′(T)}。其次,RADAM的生成器G針對樣本窗口W′生成重構數據。最后,對于每個窗口數據計算輸入數據和重構數據的重構誤差,并以此計算測試樣本的異常分值:
A(x′i)=softmax(d′i-d′δ′)(18)
其中,d′i為測試樣本x′i與相應重構樣本′i的重構誤差;d′和δ′分別為當前窗口數據重構誤差的均值和方差,異常評分越高表明該測試樣本點越異常。
3 實驗
3.1 數據集
本實驗使用了五個真實的多變量時間序列數據集。表1列出了五個數據集的統計信息。
a)MSL和SMAP[1]。MSL是由探測器本身的傳感器數據和執行器數據組合而成。SWAP則是探測器收集的土壤樣本和遙感信息組成的數據集。MSL和SMAP的每個數據分別由55和25維數據組成。兩個數據集均由一個訓練集和一個測試集組成,其中測試集中的異常均已被標記。
b)SMD[9]。SMD由文獻[9]收集的一家大型互聯網公司連續5周的服務器性能數據。SMD包含28臺服務器數據,每臺服務器數據均包含38維性能指標,如內存使用率、CPU負載等。
c)PSM[2]。PSM是從eBay的多個應用程序服務器節點內部收集的性能數據。數據集中的時間序列分別描述了服務器的26個不同性能指標。訓練集包含13周的服務器數據,測試集包含8周的服務器數據。
d)SWaT[33]。SWaT是從水處理實驗設備上收集的多變量時間序列數據。SWaT數據集中包含51個特征,如壓強變化,水位信息等。本實驗將數據集前7天正常場景下的數據作為訓練集,后4天受攻擊場景下的數據作為測試集。
3.2 基準模型
本實驗將具有代表性的六種異常檢測模型作為實驗基準模型:
a)isolation forest(IF)[7]。其為最具有代表性的機器學習異常檢測方法之一,通過將分布稀疏且遠離高密度群體的點作為異常點。
b)BeatGAN[25]。其為一種基于GAN模型的異常檢測方法,采用自編碼器結構和鑒別器作對抗正則化來緩解過擬合,通過比較輸入時間序列和反向生成的時間序列來定位時間序列異常。
c)OmniAnomaly[9]。其為一種基于VAE模型的異常檢測方法,利用隨機變量連接、平面歸一化流等技術同時考慮多變量時間序列的時間依賴性。
d)InterFusion[21]。其為一種基于VAE的模型,通過分層VAE在兩個潛在空間中學習多變量時間序列低維的時空嵌入。
e)GDN[10]。其為一種基于圖神經網絡的異常檢測方法,通過使用圖注意力機制學習多變量時間序列數據之間的關系圖,以此來捕獲變量間的依賴性。
f)Adformer[22]。其是一種基于AE與對抗學習的異常檢測方法。通過將第一階段的重構誤差作為第二階段編碼器的先驗知識,再經過兩階段對抗性訓練使變換器放大重構誤差,同時能捕捉時間序列中的短期變化趨勢。
3.3 實驗設置
參照已有的多變量時間序列特征學習模型[9,21],本文實驗中樣本的滑動窗口大小和步長分別設置為100和1。生成器的編碼器和解碼器均由三層GRU網絡組成,對比鑒別器的Cφ中間層數t設置為3,GRU層的維度選取范圍為{64,128,256}。在模型訓練階段,設置樣本批量batch大小為256,訓練迭代次數N為100,采用初始學習率為0.000 1的ADAM優化器對模型進行優化。生成器潛在空間維度設置為128,高維局部特征的M設置為256。式(4)(16)和(17)的超參數 、λg和λd分別設置為0.8、0.1和0.1。在實驗中,所有數據集均使用原始的劃分得到訓練集和測試集。
在計算異常分值時,考慮到時間序列中的異常存在時間連續性,參照文獻[34],對檢測出的異常進行點調整策略,將時間序列中每個不連續的異常時間段作為一個異常。依據文獻[9]將每個異常分值逐一設置為閾值來評估分數,從中選出最佳的F1分數。
3.4 實驗結果及分析
七個模型在五個不同數據集下的準確度(P),召回率(R)和F1分數如表2所示。
從表2可看出,RADAM在五個數據集中均優于基準模型。IF把每個樣本點作為獨立個體來考慮,忽略了樣本點的分布規律,呈現出最低的檢測性能。BeatGAN在整體則表現出較低的性能,雖然BeatGAN在對抗訓練中加入正則化機制來緩解過擬合,但是缺乏對時間和空間依賴性的充分考慮,很難學習到多變量時間序列數據的復雜分布。InterFusion的性能在整體上優于OmniAnomaly,因為相對于OmniAnomaly,InterFusion不僅考慮了樣本自身的時間相關性,同時也考慮了樣本之間的空間相關性。GDN通過基于圖模型的結構來學習多變量時間序列的空間依賴特征,而未充分學習序列的時間依賴關系。Adformer的兩階段訓練則更加注重捕捉時間序列中的短期趨勢,而且缺少對多變量空間依賴性的學習。本文RADAM在五個數據集中均獲得了最高的F1值,超過了所有的基準模型。
圖4展示了五個數據集下各模型的AUC。AUC被定義為ROC曲線下的面積,ROC曲線則是以誤報率為橫軸,正報率為縱軸繪制的曲線。更高的AUC代表模型具有更低的誤報率和更高的正報率。從圖4可看出,RADAM的AUC優于所有的基準模型。這也表明,RADAM在多變量時間序列異常檢測中能更精準地識別出樣本異常。
3.5 消融實驗
本小節對RADAM中的過濾器模塊、生成器中的自適應權重以及模型的對比學習機制分別進行了消融實驗,以驗證各個部分的重要性與RADAM模型結構的合理性。實驗方法如下:
a)w/o (without) F。在RADAM中去除過濾器模塊,將所有數據直接送入鑒別器中進行訓練,從而驗證過濾器在模型中的作用。
b)w/o (without) AW。在RADAM中去除生成器中的自適應權重,令生成器直接使用重構損失,以驗證自適應權重的作用。
c)w/o (without) CL。在RADAM中去除模型中的對比學習機制,以驗證對比學習對于模型的作用。
d)RADAM。本文提出的原始模型,采用了過濾器、自適應權重和對比機制。
表3列出了三種消融實驗的實驗結果。可以看出,RADAM在分別去除過濾器、自適應權重及對比學習機制后異常檢測性能均有不同程度下降。其中,去除過濾器后模型性能下降幅度最大,這表明受到噪聲數據的影響,RADAM很難學習到準確的數據分布。從自適應權重消融實驗可看出,通過在生成器中增加樣本自適應權重,能夠進一步消除噪聲對于模型訓練的影響。對比學習消融實驗結果可看出,對比學習能夠使模型更全面地學習多變量時間序列的時間依賴性和空間依賴性,從而提升了RADAM異常檢測的性能。
3.6 魯棒性驗證
本節實驗通過在訓練集中加入不同比例的噪聲樣本,驗證模型在不同噪聲比例下的魯棒性。所有噪聲樣本從高斯分布(μ=0,δ=1)數據集中隨機取樣,并注入訓練集中。
為了驗證模型的魯棒性,實驗在訓練集中加入了0%~20%的噪聲樣本,并對比未使用過濾器與未使用自適應權重的性能。以MSL數據集為例,三種模型在注入異常后的F1分數對比如圖5所示。從圖5可看出,RADAM的F1雖然隨著噪聲比的增加有一定的下降,但都維持在0.9左右。這證明了RADAM具有較高的魯棒性。在去除過濾器和去除自適應權重兩種情況下,F1隨著噪聲比例的增加而迅速下降。且隨著噪聲比例的增加,兩個模型與原始模型的F1分數差異越來越大。
圖6比較了RADAM、BeatGAN和Adformer三種基于對抗方法的模型在五個數據集上的魯棒性。注入的噪聲比為0%~30%。從圖中可看出,BeatGAN的魯棒性最差,其隨著噪聲比率的增加,F1分數迅速下降。尤其在SMD數據集上,F1下降到0.6以下。這是因為BeatGAN僅能應用于純凈的訓練集,當訓練集中包含噪聲時會學習到有偏差的樣本分布。由于Adformer提出的融合異常策略在訓練中能更加清晰地分出正常和異常之間的區別,其相較于BeatGAN具有更好的魯棒性。RADAM不僅加入了樣本過濾模塊,同時融入了對比損失和自適應權重損失,從而具有更優的魯棒性和更強的特征學習能力。在PSM數據集上,RADAM的F1分數隨著噪聲比例的增加而略有提升,這是因為模型采用對比學習,將注入訓練集的噪聲作為新的對抗樣本,并利用互信息最大化捕捉更多的樣本的特征,從而增加提升了模型的整體性能。
3.7 案例研究
現階段,隨著我國企事業單位信息技術程度的不斷加深,信息系統運營的規模也在逐步擴大。為了維護系統的穩定運行,一般需對大量監測模塊收集到的多維時序數據進行檢測分析,以及時發現系統中的異常狀態。隨著在線服務系統的部署和更改日漸頻繁(如上線新功能、修復錯誤和更改配置等),導致系統出現異常的概率也在不斷升高。因此,采用穩定且準確的異常檢測方法,及時檢測出多維時序數據中的異常對于維護系統的穩定至關重要。
為了直觀地驗證RADAM的異常檢測能力,本小節使用GCP[35]數據集進行案例研究。該數據集由一家國際互聯網內容平臺發布,該平臺每日為超過8億的活躍用戶提供搜索、排序和數據處理等服務。GCP數據集記錄了其在七周時間內從30個在線服務系統上收集而來的服務指標數據。數據集維度為19,收集頻率為每五分鐘取樣一次。通過實驗結果表明,RADAM在GCP數據集上的準確度(P)達到了0.966 5、召回率(R)達到了0.987 1以及F1分數達到了0.976 7。圖7展示了TCP連接狀態以及CPU運行指標等屬性的時間序列曲線,圖底部的紅線表示測試集中標記的異常段,紅色陰影表示被檢測到的異常數據。圖7(a)是由于網絡中斷問題導致服務響應時間過長從而引發的異常,圖7(b)是由于上線新功能而引發的服務中斷。從圖中可看出RADAM能夠有效地檢測出兩種異常。
4 結束語
本文提出了用于多變量時間序列的抗噪異常檢測模型RADAM,可在有噪聲的數據集中學習正常的時間序列樣本分布,并在測試階段準確地檢測出異常樣本。RADAM利用對比學習達到互信息最大化的同時學習多變量時間序列的時間依賴性與空間依賴性,提高模型在多變量時間序列數據上的特征學習和重構能力。為了降低噪聲樣本對模型訓練的影響, RADAM加入了自適應權重和過濾器模塊。自適應權重能促使生成器學習正常的樣本分布,而過濾器模塊能在訓練鑒別器之前過濾訓練集中的噪聲及異常樣本,提高鑒別器的訓練準確度。最后,通過五個真實數據集上的實驗將RADAM與六個具有代表性的異常檢測模型做了對比,實驗結果表明,RADAM在噪聲數據集中具有顯著的優越性。在以后的工作中,本文將進一步探究多變量時間序列的周期與頻率信息,以實現更好的多變量時間序列異常檢測效果。
參考文獻:
[1]Hundman K, Constantinou V, Laporte C, et al. Detecting spacecraft anomalies using LSTMs and nonparametric dynamic thresholding[C]//Proc of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM Press, 2018:387-395.
[2]Abdulaal A, Liu Zhuanghua, Lancewicki T. Practical approach to asynchronous multivariate time series anomaly detection and localization[C]//Proc of the 27th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. New York: ACM Press, 2021: 2485-2494.
[3]Roy J. Rule-based expert system for maritime anomaly detection[C]//Proc of Sensors, and Command, Control, Communications, and Intelligence(C3I) Technologies for Homeland Security and Homeland Defense IX. 2010: 597-608.
[4]Candelieri A. Clustering and support vector regression for water demand forecasting and anomaly detection[J]. Water, 2017, 9(3): 224.
[5]Sharma R, Chaurasia S. An enhanced approach to fuzzy C-means clustering for anomaly detection[C]//Proc of the 1st International Conference on Smart System, Innovations and Computing. Berlin: Springer, 2018: 623-636.
[6]Scholkopf B, Platt J C, Shawe-Taylor J, et al. Estimating the support of a high-dimensional distribution[J]. Neural Computation, 2001, 13(7): 1443-1471.
[7]Liu Feitong, Ting Kaiming, Zhou Zhihua. Isolation forest[C]//Proc of the 8th IEEE International Conference on Data Mining. Pisca-taway,NJ: IEEE Press, 2008: 413-422.
[8]Park D, Hoshi Y, Kemp C C. A multimodal anomaly detector for robot-assisted feeding using an lstm-based variational autoencoder[J]. IEEE Robotics and Automation Letters, 2018, 3(3): 1544-1551.
[9]Su Ya, Zhao Youjian, Niu Chenhao, et al. Robust anomaly detection for multivariate time series through stochastic recurrent neural network[C]//Proc of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM Press, 2019: 2828-2837.
[10]Deng A, Hooi B. Graph neural network-based anomaly detection in multivariate time series[C]//Proc of AAAI Conference on Artificial Intelligence. Palo Alto,CA: AAAI Press, 2021: 4027-4035.
[11]李懷翱, 周曉鋒, 房靈申, 等. 基于時空圖卷積網絡的多變量時間序列預測方法[J]. 計算機應用研究, 2022, 39(12): 3568-3573. (Li Huaiao, Zhou Xiaofeng, Fang Lingshen, et al. Multivaria-te time series forecasting with spatio-temporal graph convolutional network[J]. Application Research of Computers, 2022, 39(12): 3568-3573.)
[12]Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative Adversarial Nets[C]//Proc of the 27th International Conference on Neural Information Processing Systems. Cambridge,MA:MIT Press, 2014: 2672-2680.
[13]Schlegl T, Seebock P, Waldstein S M, et al. Unsupervised anomaly detection with generative adversarial networks to guide marker disco-very[C]//Proc of International conference on information processing in medical imaging. Berlin: Springer, 2017: 146-157.
[14]Zenati H, Romain M, Foo C S, et al. Adversarially learned anomaly detection[C]//Proc of IEEE International conference on data mi-ning. Piscataway,NJ: IEEE Press, 2018: 727-736.
[15]Saeedi E H, Mazinani S M. A novel anomaly detection algorithm using DBSCAN and SVM in wireless sensor networks[J].BIpf/cYsHVNipd/GzpxAkA== Wireless Personal Communications, 2018, 98: 2025-2035.
[16]Tax D M J, Duin R P W. Support vector data description[J]. Machine Learning, 2004, 54: 45-66.
[17]Shen Lifeng, Li Zhuocong, Kwok J. Timeseries anomaly detection using temporal hierarchical one-class networks[C]//Proc of the 33th International Conference on Neural Information Processing Systems. Red Hook,NY: Curran Associates Inc., 2020: 13016-13026.
[18]Khreich W, Khosravifar B, Hamou-Lhadj A, et al. An anomaly detection system based on variable N-gram features and one-class SVM[J]. Information and Software Technology, 2017, 91: 186-197.
[19]張月, 唐倫, 王愷, 等. 基于GB-AENet-FL網絡的物聯網設備異常檢測[J]. 計算機應用研究, 2022, 39(11): 3410-3416. (Zhang Yue, Tang Lun, Wang Kai, et al. Anomaly detction algorithm of IoT devices based on GB-AENet-FL network[J]. Application Research of Computers, 2022, 39(11): 3410-3416.)
[20]周小暉, 王意潔, 徐鴻祚, 等. 基于融合學習的無監督多維時間序列異常檢測[J]. 計算機研究與發展, 2023, 60(3): 496-508. (Zhou Xiaohui, Wang Yijie, Xu Hongzuo, et al. Fusion learning based unsupervised anomaly detection for multi-dimensional[J]. Journal of Computer Research and Development, 2023, 60(3): 496-508.)
[21]Li Zhihan, Zhao Youjian, Han Jiaqi, et al. Multivariate time series anomaly detection and interpretation using hierarchical inter-metric and temporal embedding[C]//Proc of the 27th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, Singapore. New York: ACM Press, 2021: 3220-3230.
[22]Zeng Fanyu, Chen Mengdong, Qian Cheng, et al. Multivariate time series anomaly detection with adversarial Transformer architecture in the Internet of Things[J]. Future Generation Computer Systems, 2023, 144: 244-255.
[23]楊超城, 嚴宣輝, 陳容均, 等. 融合雙重注意力機制的時間序列異常檢測模型[J]. 計算機科學與探索, 2024,18(3): 740-754. (Yang Chaocheng, Yan Xuanhui, Chen Rongjun, et al. A time series anomaly detection model with dual attention mechanism[J]. Journal of Frontiers of Computer Science and Technology, 2024,18(3): 740-754.
[24]伍冠潮, 凌捷. 基于自適應交互學習的CPS時間序列異常檢測[J]. 計算機應用研究, 2023, 40(10): 2933-2938. (Wu Guanchao, Ling Jie. Time series anomaly detection for cyber physical systems based on adaptive interactive learning[J]. Application Research of Computers, 2023, 40(10): 2933-2938.)
[25]Zhou Bin, Liu Shenghua, Hooi B, et al. BeatGAN: anomalous rhythm detection using adversarially generated time series[C]//Proc of International Joint Conference on Artificial Intelligence. Palo Alto,CA: AAAI Press, 2019: 4433-4439.
[26]段雪源, 付鈺, 王坤. 基于VAE-WGAN的多維時間序列異常檢測方法[J]. 通信學報, 2022, 43(3): 1-13. (Fu Xueyuan, Fu Yu, Wang Kun. Multi-dimensional time series anomaly detection method based on VAEWGAN[J]. Journal on Communications, 2022, 43(3): 1-13.)
[27]尹春勇, 周立文. 基于再編碼的無監督時間序列異常檢測模型[J]. 計算機應用, 2023, 43(3): 804-811. (Yin Chunyong, Zhou Liwen. Unsupervised time series anomaly detection model based on re-encoding[J]. Journal of Computer Applications, 2023, 43(3): 804-811.)
[28]Du Bowen, Sun Xuanxuan, Ye Junchen, et al. GAN-based anomaly detection for multivariate time series using polluted training set[J]. IEEE Trans on Knowledge and Data Engineering, 2023, 35(12): 12208-12219.
[29]Linsker R. Self-organization in a perceptual network[J]. Compu-ter, 1988, 21(3): 105-117.
[30]Tschannen M, Djolonga J, Rubenstein P K, et al. On mutual information maximzation for representation learning[EB/OL]. (2020-01-23) . https://arxiv.org/abs/1907.13625.
[31]Oord A, Li Yazhe, Vinyals O. Representation learning with contrastive predictive coding[EB/OL]. (2019-01-22) . https://arxiv.org/abs/1807.03748.
[32]Gulrajani I, Ahmed F, Arjovsky M, et al. Improved training of Wasserstein GANs[C]//Proc of the 31st International Conference on Neural Information Processing Systems. Red Hook,NY: Curran Associates Inc., 2017: 5769-5779.
[33]Mathur A P, Tippenhauer N O. SWaT: a water treatment testbed for research and training on ICS security[C]//Proc of International Workshop on Cyber-physical Systems for Smart Water Networks. Piscataway,NJ: IEEE Press, 2016: 31-36.
[34]Xu Haowen, Chen Wenxiao, Zhao Nengwen, et al. Unsupervised anomaly detection via variational autoencoder for seasonal KPIs in Web applications[C]//Proc of World Wide Web Conference. New York: ACM Press, 2018: 187-196.
[35]Ma Minghua, Zhang Shenglin, Chen Junjie, et al. Jump-starting multivariate time series anomaly detection for online service systems[C]//Proc of USENIX Annual Technical Conference. Berkeley,CA: USENIX, 2021: 413-426.