(中國民航大學計算機科學與技術學院,天津 300300)
0 引言
得益于傳感器及監控技術的進步,現代工業設備的生產運行狀態和運行環境能夠被實時記錄和感知,積累并產生了海量多維時間序列(MTS,multivariate time series)數據[1]。例如,云服務器的CPU利用率、內存占用率、網絡流量等監測數據,航空器的速度、高度、俯仰角度等傳感器數據,反映航天器運行狀態的遙測信號,工廠生產機器的溫度、轉速等監測數據。這些MTS 數據的異常取值片段往往意味著設備故障、操作人員失誤等特殊情況的發生,也可能表示生產環境中存在隱性安全隱患。這些異常如不能被有效識別,很可能造成經濟損失。工業領域MTS 數據有如下特點:體量大、連續采樣、價值密度低、動態性強;MTS 各維度之間具有復雜的時空耦合關系;工業設備通過其軟件控制邏輯往往與其運行環境、操作人員及相關設備系統有復雜交互,反映其運行狀態的MTS 取值具有隨機性[2]。另外,由于工業領域MTS 異常樣本相對較少、標注異常代價較高,研究者大多關注基于無監督的MTS異常檢測方法。傳統的主成分分析、高斯混合模型、一類支持向量機等機器學習方法無法很好地建模工業領域MTS 數據的復雜性質。由于深度學習強大的數據表征能力,近年來,基于深度學習的無監督MTS 異常檢測研究得到了廣泛關注。MTS 異常檢測包括序列級和瞬時級異常發現。序列級異常[3-5]是指MTS 樣本整個序列或其子序列區別于多數樣本。瞬時級異常是指在某個時間點或短時間窗內的異常。本文模型屬于瞬時級異常檢測模型。
圍繞如何建模工業領域MTS 時序依賴性和隨機性,研究者提出了一些深度學習模型[2,6-10]。這些模型的訓練目標均為學習正常MTS 樣本集的時序分布。其中,大部分方法均結合循環神經網絡(RNN,recurrent neural network)和變分自編碼器(VAE,variational autoencoder)建模MTS 數據的時序依賴性和隨機性。但已有模型存在如下問題。
1) 采用RNN 的隱向量實現VAE 隱空間中隨機變量間的時序依賴性,然而RNN 難以捕獲序列數據的長時依賴性,這降低了學習序列數據分布的能力。
2) 計算隨機變量的近似后驗分布和先驗分布的網絡結構相同,這使2 種分布KL 散度(Kullback-Leibler divergence)距離較小,增加了模型的訓練難度。基于線性高斯狀態空間模型(LGSSM,linear Gaussian state space model)計算隨機變量的先驗分布無法實現隨機變量間的非線性轉換。
3) 基于RNN 的生成網絡僅依賴于隨機變量的采樣值,沒有利用RNN 推斷網絡的確定性隱向量。
針對以上問題,本文提出一種面向工業領域MTS 異常檢測的隨機Transformer(ST-MTS-AD,stochastic Transformer for MTS anomaly detection)模型。該模型由Transformer 編碼器輸出的表示各時刻MTS 長時依賴特征和上一時刻隨機變量的采樣值生成當前時刻隨機變量的近似后驗分布,使ST-MTS-AD 可借用Transformer 編碼器輸出的長時依賴特征在隱空間中傳播隨機變量間的長時依賴性,采用門控轉換函數(GTF,gated transition function)生成隨機變量的先驗分布并實現隨機變量間的非線性轉換,通過將Transformer 編碼器輸出的長時依賴特征和隨機變量采樣值輸入多層感知器(MLP,multilayer perceptron)重構MTS 各時刻取值分布。在4 個工業領域公開MTS 數據集上的實驗表明ST-MTS-AD 具有較好的異常檢測效果。
1 相關研究現狀
多維時間序列異常檢測是時間序列分析領域中的重要任務之一,旨在尋找不符合規則的或出現偏差的序列片段[11]。目前,基于深度學習的MTS瞬時級異常檢測方法如下。
1) 基于預測和重構的確定性方法。Hundman等[12]設計了基于長短時記憶(LSTM,long short-term memory)網絡的航天器遙測信號異常檢測方法,通過預測誤差確定異常,其還提出了一種非參數動態異常檢測閾值確定方法,能在誤報率和漏報率之間達到平衡。Zhang 等[13]提出了面向多傳感器MTS 異常檢測的深度卷積自編碼記憶網絡,將MTS 的時空嵌入表示和重構誤差輸入線性自回歸模型和基于注意力機制的雙向LSTM 網絡,由重構損失和預測損失確定MTS 異常。Malhotra 等[14]提出了一種基于LSTM 的自編碼器模型,旨在重建正常時間序列,使用重構誤差進行異常檢測。Zhang等[15]提出了一種多尺度卷積循環自編碼器(MSCRED),首先構建能表征MTS 不同變量間相關性的多尺度簽名矩陣;然后采用卷積編碼器對簽名矩陣進行編碼,使用基于注意力的卷積LSTM 捕獲MTS 時序依賴性;最后基于卷積解碼器重建簽名矩陣,并利用簽名矩陣的重構誤差診斷異常。Audibert 等[16]設計了包含一個編碼器和2 個解碼器的自編碼器網絡結構,采用對抗學習策略訓練網絡,避免自編碼器無法通過重構誤差區分正常樣本與異常樣本的現象,該方法沒有使用循環神經網絡從而獲得了較快的訓練效率,但無法建模MTS 的時序依賴關系。上述方法以預測或重構為訓練目標刻畫正常MTS 樣本的特征,由重構誤差和預測誤差檢測MTS 異常,無法建模MTS 的隨機性。
2) 基于重構的隨機性方法。Zong 等[6]提出一種用于無監督異常檢測的深度自編碼高斯混合模型(DAGMM,deep autoencoding Gaussian mixture model),通過自編碼器獲得訓練樣本的低維表示,將低維表示和樣本重構誤差拼接形成的向量輸入用來訓練GMM 參數的估計網絡,由GMM 模型計算的樣本能量值確定樣本是否異常。Deng 等[7]采用圖卷積網絡捕獲MTS 變量間交互特征,由自注意力機制提取MTS 長時依賴特征,基于VAE 的重構能力進行MTS 異常檢測。Park 等[8]提出了基于LSTM 和VAE 的多模態MTS 異常檢測方法,以LSTM 網絡結構作為VAE 中的生成網絡和推斷網絡表示MTS 的隨機性和時序依賴性。文獻[7-8]通過自注意力機制或RNN 捕獲MTS 的時序依賴性,并且每個時間點通過重參數化采樣得到的隨機變量具有隨機性,但隨機變量之間沒有時序依賴性。
為此,研究者提出了基于VAE 的序列數據生成模型[17-19],這些方法均采用變分推斷技術學習時序數據分布,并且可以表示隨機變量間的時序依賴性。Chung 等[18]提出一種變分循環神經網絡(VRNN,variational recurrent neural network)模型。VRNN的推斷網絡由時序數據當前時刻輸入值和上一時刻RNN 隱向量生成當前時刻隨機變量的近似后驗分布。VRNN 通過RNN 隱向量的迭代更新實現隨機變量間的時序依賴性。VRNN 的生成網絡由當前時刻隨機變量采樣值和上一時刻RNN 隱向量生成時序數據取值分布。Dai 等[9]提出了面向內容分發網絡系統多元關鍵性能指標時序數據的異常檢測方法SDFVAE(static and dynamic factorized VAE),將VRNN 中的隨機變量分解為動態和靜態隨機變量,其中,靜態隨機變量刻畫內容分發網絡系統性能指標取值的時序不變性。SDFVAE 由雙向LSTM網絡學習靜態隨機變量的近似后驗分布,動態隨機變量的近似后驗分布生成方式與VRNN 相同。Li等[10]提出了基于VRNN 的MTS 異常檢測方法,在損失函數中引入使相鄰時刻點時序取值生成分布相近的正則化項,使模型具有更好的抗噪能力。Fraccaro 等[19]提出了一種融合狀態空間模型(SSM,state space model)和RNN 的隨機循環神經網絡(SRNN,stochastic recurrent neural network)。SRNN模型通過依賴于RNN 隱向量和SSM 隨機變量采樣值的神經網絡實現SSM 隨機狀態之間的非線性轉換,使SSM 可以利用RNN 表示時序依賴關系的隱向量在隱空間中傳播隨機性。SRNN 與VRNN 的區別在于RNN 隱向量的更新不依賴于各時刻的隨機變量,能直接建模每個時刻隨機變量間的時序依賴性,實現了RNN 確定性隱變量和SSM 隨機變量的分離。文獻[19]表明SRNN 能夠比VRNN 更好地學習時序數據的分布。Su 等[2]提出基于SRNN 的MTS異常檢測模型,該模型的推斷網絡結構與SRNN 相同,在此基礎上采用平面歸一化流技術學習各時刻非高斯分布的近似后驗分布。在生成網絡中,該模型由依賴于隨機變量采樣值的RNN 生成時序數據取值分布,采用LGSSM 計算隨機變量的先驗分布并實現隨機變量間的時序依賴性。
2 ST-MTS-AD 模型設計
2.1 相關符號定義及ST-MTS-AD 網絡結構
MTS 數據集記為k=[k1,k2,…,kN] ∈RM×N,N為k的持續時間長度,每個觀測值kτ∈RM是在時間點τ(τ≤N)的M維向量。使用窗口大小為w、滑動步幅為l的滑動窗口對k進行預處理,每個滑動窗口為
本文設計的ST-MTS-AD 模型基于VAE 的變分推斷技術學習MTS 時序分布,其主要優勢在于使用Transformer 編碼器中的多頭自注意力機制生成MTS各個時刻點的隨機分布,實現了VAE 隱空間中隨機變量間的長時依賴關聯。而且ST-MTS-AD 的生成網絡為MLP,降低了模型的復雜性。ST-MTS-AD 模型結構如圖1 所示。在推斷網絡中,Transformer 編碼器將觀測序列x1:T∈RP×T映射為特征e1:T=[e1,…,et,…,eT] ∈Rd×T,d為Transformer 編碼器輸出維度,e1:T捕獲x1:T中觀測變量xt間的長時依賴性,et(1 ≤t≤T)表示e1:T在t時刻的取值向量。將t-1 時刻隨機變量zt-1的采樣值和et串接后輸入MLP 生成t時刻隨機變量zt的近似后驗分布,實現隨機變量zt-1和zt的非線性轉換和時序依賴關聯。記T個隨機變量z1,…,zT為z1:T。在生成網絡中,t時刻隨機變量zt采樣值和取值向量et輸入MLP 生成的取值分布。T個時刻觀測變量xt的重構值,…,表示為。t-1 時刻隨機變量zt-1的采樣值輸入GTF生成t時刻隨機變量zt的先驗分布,z0為隨機初始化的向量。ST-MTS-AD 通過最大化證據下界優化推斷網絡和生成網絡參數,由各時刻x′t的重構概率似然確定x1:T異常片段。
2.2 ST-MTS-AD 推斷網絡設計
Transformer 網絡中的自注意力機制容易捕獲序列數據中長時依賴特征,文獻[20]基于Transformer 編碼器設計了MTS 的高質量表示學習模型。ST-MTS-AD 模型將Transformer 編碼器作為VAE 的推斷網絡,捕獲觀測序列x1:T中各觀測變量xt間的長時依賴性。為了實現隨機變量zt-1和zt的非線性轉換和時序依賴關聯,將t-1 時刻隨機變量zt-1的采樣值和Transformer 編碼器在t時刻的輸出et串接后生成t時刻隨機變量zt。推斷網絡的目標是學習隨機變量z1:T的真實后驗分布,ST-MTS-AD通過推斷網絡得到z1:T的近似后驗分布,如式(1)所示。
ST-MTS-AD 模型推斷網絡結構如圖2 所示,即式(1)中t時刻近似后驗分布網絡結構。

圖2 ST-MTS-AD 模型推斷網絡結構
e1:T計算過程如下。按式(2)對x1:T進行位置編碼,編碼結果記為。
其中,Wx∈Rd×P為網絡參數;b∈R1×T為偏置項;wp∈Rd×T為位置編碼矩陣,由正弦函數在偶數位置計算得到的位置信息和余弦函數在奇數位置計算獲得的位置信息結合形成,具體形式如下
由式(4)~式(10)所示的多頭注意力機制計算x1:T中觀測變量間長時依賴特征e1:T。
2.3 ST-MTS-AD 生成網絡設計
ST-MTS-AD 生成網絡由MLP 構成,目的是重構觀測序列。其與文獻[2,9]不同之處在于,由隨機變量zt采樣值和推斷網絡中Transformer 編碼器在t時刻的輸出et生成t時刻的觀測變量,而不僅依賴隨機變量zt。這是由于et包含了來自輸入觀測序列x1:T的全局時序特征,能夠更好地重構觀測序列。同時,MLP 網絡結構簡單,降低了ST-MTS-AD 網絡的復雜性。ST-MTS-AD 生成網絡的聯合概率分布為

圖3 ST-MTS-AD 模型生成網絡結構
其中,ξ~N(0,I),⊙表示向量元素乘積,和分別表示由圖2 推斷網絡生成的zt近似后驗分布均值和標準方差。

圖4 GTF 網絡結構
式(16)表示具有ReLU 和Sigmoid 激活函數的MLP,式(17)表示具有ReLU 激活函數的MLP,式(18)表示Linear 層,式(20)表示具有ReLU 和Softplus 激活函數的MLP。
2.4 優化目標
ST-MTS-AD 模型的優化目標為最大化式(21)所示的證據下界(ELBO,evidence lower bound)。
算法1ST-MTS-AD 模型的訓練算法


3 實驗
3.1 實驗數據集及環境
實驗采用以下4 個公開的數據集:SMD(server machine dataset)來自一家大型互聯網公司為期5 周的服務器檢測數據集[2];MSL(mars science laboratory)和SMAP(soil moisture active passive satellite)來自NASA 航天器監測系統報告中的遙感數據[12];SWaT(secure water treatment)來自一個水處理廠信息物理系統為期11 天的監控數據集[3]。各數據集具體的描述如表1 所示。

表1 各數據集具體的描述
實驗硬件環境如下:Ubuntu16.04 操作系統,Inter Xeon Gold 5220R CPU,NVIDIA Tesla T4 顯卡。軟件環境如下:Python3.6,Pytorch 1.10.1。
3.2 實驗模型參數設置和評價指標
ST-MTS-AD 模型在SMD、SMAP、MSL、SWaT數據集上的滑動窗口大小w、滑動步幅l、觀測序列長度T和自注意力頭數H分別設為10、10、200和8。根據數據集的維度大小,模型在SMD 和SWaT數據集上的Transformer 編碼器輸出維度d分別設為128 和256,在SMAP 和MSL 數據集中設為64。實驗使用Adam 優化器,設置學習率r=0.000 1,批處理大小batch=64,訓練周期數epoch=200。
ST-MTS-AD 目標是檢測觀測序列x1:T中觀測變量xt是否異常。在測試集中,若觀測變量xt表示的滑動窗口中某一時間點取值kτ∈RM為異常點,則xt標記為異常。對于測試集中的每個觀測變量xt,如果重構出的觀測變量被判斷為異常,且xt真實標簽也為異常,則記為真陽(TP)。如果重構出的觀測變量被判斷為異常,但xt真實標簽為正常,則記為假陽(FP)。如果重構出的觀測變量被判斷為正常,但xt真實標簽為異常,則記為假陰(FN)。如果重構出的觀測變量被判斷為正常,且xt真實標簽為正常,則記為真陰(TN)。本文使用3 個指標來衡量異常檢測模型的性能,分別為精確率Precision、召回率Recall、F1 分數,其中,F1 分數為精確率和召回率的調和平均數,F1分數越大表示異常檢測模型的性能越好。
3.3 實驗結果與分析
選取6 種與ST-MTS-AD 相關的異常檢測模型進行實驗對比,分別為DAGMM[6]、LSTM-VAE[8]、MSCRED[15]、USAD(unsupervised anomaly detection)[16]、OmniAnomaly[2]、SDFVAE[9]。各模型的實驗均采用本文的數據預處理方式,不同模型的性能對比如表2 所示。
從表2 可知,ST-MTS-AD 模型在SMD、SMAP、MSL 和SWaT 數據集上的F1 分數分別為0.933 2、0.966 4、0.981 9 和0.834 2,相較于5 種對比模型整體上有較高的提升。在SMD、SMAP、MSL 和SWaT數據集上,ST-MTS-AD 模型的F1 分數比MSCRED分別提高了15.6%、10.0%、4.7%和3.3%,ST-MTS-AD模型的F1 分數比USAD 模型分別提高了9.6%、6.9%、15.6%和3.0%,與MSCRED 相比,ST-MTS-AD 在SMD 數據集上的F1 分數提高最多,這是因為SMD數據集中存在持續時間短、異常偏差較小的取值片段[9],MSCRED 模型中的構造簽名矩陣無法捕獲這些細微的異常特征。USAD 雖然采用對抗學習策略避免自編碼器無法通過重構誤差區分正常樣本與異常樣本的問題,但其自編碼器網絡沒有捕獲MTS 的時序依賴特征。實驗結果也驗證了基于重構的隨機性模型ST-MTS-AD 的異常檢測效果好于基于重構的確定性模型MSCRED 和USAD。

表2 ST-MTS-AD 模型與6 種模型的性能對比
DAGMM 的F1 分數在SMD、SMAP、MSL和SWaT 數據集上比ST-MTS-AD 模型分別低8.4%、7.9%、17.7%和2.3%,DAGMM 雖屬于基于重構的隨機性模型,但其自編碼器網絡結構設計面向表格數據,無法提取 MTS 時序特征。ST-MTS-AD 模型在SMD、SMAP 和MSL 數據集上的F1 分數比SDFVAE 分別提高了3.3%、7.8%和12.4%,但在SWaT 數據集上的F1 分數比SDFVAE 低 1.8%,這是由于SDFVAE 比ST-MTS-AD 模型有較強的抗噪能力。LSTM-VAE和OmniAnomaly為與ST-MTS-AD最相關的模型,均為基于VAE 的序列生成模型。在SMD、SMAP、MSL 和SWaT 數據集上,ST-MTS-AD 模型的F1分數比LSTM-VAE 模型提高了5.9%、2.8%、7.3%和2.7%,比OmniAnomaly 模型提高了8.6%、11.5%、11.9%和3.8%。這是由于LSTM-VAE 模型無法建模隱空間中隨機變量之間的時序依賴性。OmniAnomaly 模型基于RNN 各時刻的隱向量實現隨機變量間時序依賴性,這種機制無法實現隨機變量間的長時依賴關聯,其采用的基于LGSSM 的隨機變量先驗分布生成方式無法實現隨機變量間的非線性轉換,且該模型在生成網絡中僅依賴各時刻隨機變量的采樣值,沒有利用推斷網絡RNN 的隱向量信息。
3.4 消融實驗
為了驗證ST-MTS-AD 模型相關模塊設計的有效性,將ST-MTS-AD 模型與其3 個變體進行對比,3 個變體分別為ST-MTS-AD-1、ST-MTS-AD-2 和ST-MTS-AD-3。ST-MTS-AD-1 模型表示在圖1 的ST-MTS-AD 模型基礎上將推斷網絡中Transformer編碼器替換為門控循環單元(GRU,gate recurrent unit)神經網絡。ST-MTS-AD-2 模型表示將ST-MTS-AD 模型中用于生成隨機變量先驗分布的GTF 替換為LGSSM。ST-MTS-AD-3 模型表示圖1生成網絡去除了et作為輸入的設計,生成網絡的輸入僅來自隨機變量zt的采樣值。各模型在4 個數據集上的實驗結果如圖5 所示。

圖5 不同數據集上的消融實驗
從圖5 可知,ST-MTS-AD 模型在SMD、SMAP、MSL 和SWaT 數據集上的F1 分數比ST-MTS-AD-1模型分別提高了11.1%、2.6%、7.3%和6.3%,因此基于Transformer 編碼器生成的時序依賴特征能更好地實現隱空間中隨機變量間的時序依賴性。ST-MTS-AD 模型的F1 分數比ST-MTS-AD-2 模型分別提高了2.3%、1.5%、3.9%和6.4%,原因是GTF采用GRU 的思想對隨機變量zt-1到zt的轉換函數進行參數化,通過非線性轉換函數控制zt-1到zt的信息傳遞,可以捕獲隨機變量之間更復雜的依賴性,而LGSSM 利用卡爾曼濾波的思想實現隨機變量間的線性轉換,結果證明了ST-MTS-AD 使用GTF的連接方式比使用LGSSM 的連接方式更加有效。ST-MTS-AD 模型的F1 分數在SMD、SMAP、MSL和SWaT 數據集分別比ST-MTS-AD-3 模型提高了8.6%、0.6%、3.2%和9.4%,由Transformer 編碼器生成長時依賴特征et和推斷網絡生成的隨機變量zt的采樣值能更好地重構MTS 各時刻x′t的分布。另外,與ST-MTS-AD-1、ST-MTS-AD-2 和ST-MTS-AD-3相比,ST-MTS-AD 在SMAP 數據集上的的F1 分數提高并不明顯。這是因為SMAP 數據集中存在很多離散變量,其異常片段比較容易被檢測。
4 結束語
本文提出了一種融合Transformer 編碼器和VAE 的隨機Transformer MTS 異常檢測模型。該模型基于Transformer 編碼器生成的時序特征實現隱空間中隨機變量間的長時依賴性,采用門控轉換函數生成時序隨機變量的先驗分布,由推斷網絡生成的各時刻隨機變量近似后驗分布采樣值和Transformer 編碼器輸出的時序特征重構MTS 各時刻取值的分布。在4 個公開數據集上實驗結果表明了ST-MTS-AD 設計的有效性。下一步筆者將研究如何基于Transformer 編碼器實現隱空間中隨機變量間的非馬爾可夫動態性。