霍緯綱,梁銳,李永華
(中國民航大學計算機科學與技術學院,天津 300300)
得益于傳感器及監(jiān)控技術的進步,現(xiàn)代工業(yè)設備的生產運行狀態(tài)和運行環(huán)境能夠被實時記錄和感知,積累并產生了海量多維時間序列(MTS,multivariate time series)數(shù)據(jù)[1]。例如,云服務器的CPU利用率、內存占用率、網(wǎng)絡流量等監(jiān)測數(shù)據(jù),航空器的速度、高度、俯仰角度等傳感器數(shù)據(jù),反映航天器運行狀態(tài)的遙測信號,工廠生產機器的溫度、轉速等監(jiān)測數(shù)據(jù)。這些MTS 數(shù)據(jù)的異常取值片段往往意味著設備故障、操作人員失誤等特殊情況的發(fā)生,也可能表示生產環(huán)境中存在隱性安全隱患。這些異常如不能被有效識別,很可能造成經濟損失。工業(yè)領域MTS 數(shù)據(jù)有如下特點:體量大、連續(xù)采樣、價值密度低、動態(tài)性強;MTS 各維度之間具有復雜的時空耦合關系;工業(yè)設備通過其軟件控制邏輯往往與其運行環(huán)境、操作人員及相關設備系統(tǒng)有復雜交互,反映其運行狀態(tài)的MTS 取值具有隨機性[2]。另外,由于工業(yè)領域MTS 異常樣本相對較少、標注異常代價較高,研究者大多關注基于無監(jiān)督的MTS異常檢測方法。傳統(tǒng)的主成分分析、高斯混合模型、一類支持向量機等機器學習方法無法很好地建模工業(yè)領域MTS 數(shù)據(jù)的復雜性質。由于深度學習強大的數(shù)據(jù)表征能力,近年來,基于深度學習的無監(jiān)督MTS 異常檢測研究得到了廣泛關注。MTS 異常檢測包括序列級和瞬時級異常發(fā)現(xiàn)。序列級異常[3-5]是指MTS 樣本整個序列或其子序列區(qū)別于多數(shù)樣本。瞬時級異常是指在某個時間點或短時間窗內的異常。本文模型屬于瞬時級異常檢測模型。
圍繞如何建模工業(yè)領域MTS 時序依賴性和隨機性,研究者提出了一些深度學習模型[2,6-10]。這些模型的訓練目標均為學習正常MTS 樣本集的時序分布。其中,大部分方法均結合循環(huán)神經網(wǎng)絡(RNN,recurrent neural network)和變分自編碼器(VAE,variational autoencoder)建模MTS 數(shù)據(jù)的時序依賴性和隨機性。但已有模型存在如下問題。
1) 采用RNN 的隱向量實現(xiàn)VAE 隱空間中隨機變量間的時序依賴性,然而RNN 難以捕獲序列數(shù)據(jù)的長時依賴性,這降低了學習序列數(shù)據(jù)分布的能力。
2) 計算隨機變量的近似后驗分布和先驗分布的網(wǎng)絡結構相同,這使2 種分布KL 散度(Kullback-Leibler divergence)距離較小,增加了模型的訓練難度?;诰€性高斯狀態(tài)空間模型(LGSSM,linear Gaussian state space model)計算隨機變量的先驗分布無法實現(xiàn)隨機變量間的非線性轉換。
3) 基于RNN 的生成網(wǎng)絡僅依賴于隨機變量的采樣值,沒有利用RNN 推斷網(wǎng)絡的確定性隱向量。
針對以上問題,本文提出一種面向工業(yè)領域MTS 異常檢測的隨機Transformer(ST-MTS-AD,stochastic Transformer for MTS anomaly detection)模型。該模型由Transformer 編碼器輸出的表示各時刻MTS 長時依賴特征和上一時刻隨機變量的采樣值生成當前時刻隨機變量的近似后驗分布,使ST-MTS-AD 可借用Transformer 編碼器輸出的長時依賴特征在隱空間中傳播隨機變量間的長時依賴性,采用門控轉換函數(shù)(GTF,gated transition function)生成隨機變量的先驗分布并實現(xiàn)隨機變量間的非線性轉換,通過將Transformer 編碼器輸出的長時依賴特征和隨機變量采樣值輸入多層感知器(MLP,multilayer perceptron)重構MTS 各時刻取值分布。在4 個工業(yè)領域公開MTS 數(shù)據(jù)集上的實驗表明ST-MTS-AD 具有較好的異常檢測效果。
多維時間序列異常檢測是時間序列分析領域中的重要任務之一,旨在尋找不符合規(guī)則的或出現(xiàn)偏差的序列片段[11]。目前,基于深度學習的MTS瞬時級異常檢測方法如下。
1) 基于預測和重構的確定性方法。Hundman等[12]設計了基于長短時記憶(LSTM,long short-term memory)網(wǎng)絡的航天器遙測信號異常檢測方法,通過預測誤差確定異常,其還提出了一種非參數(shù)動態(tài)異常檢測閾值確定方法,能在誤報率和漏報率之間達到平衡。Zhang 等[13]提出了面向多傳感器MTS 異常檢測的深度卷積自編碼記憶網(wǎng)絡,將MTS 的時空嵌入表示和重構誤差輸入線性自回歸模型和基于注意力機制的雙向LSTM 網(wǎng)絡,由重構損失和預測損失確定MTS 異常。Malhotra 等[14]提出了一種基于LSTM 的自編碼器模型,旨在重建正常時間序列,使用重構誤差進行異常檢測。Zhang等[15]提出了一種多尺度卷積循環(huán)自編碼器(MSCRED),首先構建能表征MTS 不同變量間相關性的多尺度簽名矩陣;然后采用卷積編碼器對簽名矩陣進行編碼,使用基于注意力的卷積LSTM 捕獲MTS 時序依賴性;最后基于卷積解碼器重建簽名矩陣,并利用簽名矩陣的重構誤差診斷異常。Audibert 等[16]設計了包含一個編碼器和2 個解碼器的自編碼器網(wǎng)絡結構,采用對抗學習策略訓練網(wǎng)絡,避免自編碼器無法通過重構誤差區(qū)分正常樣本與異常樣本的現(xiàn)象,該方法沒有使用循環(huán)神經網(wǎng)絡從而獲得了較快的訓練效率,但無法建模MTS 的時序依賴關系。上述方法以預測或重構為訓練目標刻畫正常MTS 樣本的特征,由重構誤差和預測誤差檢測MTS 異常,無法建模MTS 的隨機性。
2) 基于重構的隨機性方法。Zong 等[6]提出一種用于無監(jiān)督異常檢測的深度自編碼高斯混合模型(DAGMM,deep autoencoding Gaussian mixture model),通過自編碼器獲得訓練樣本的低維表示,將低維表示和樣本重構誤差拼接形成的向量輸入用來訓練GMM 參數(shù)的估計網(wǎng)絡,由GMM 模型計算的樣本能量值確定樣本是否異常。Deng 等[7]采用圖卷積網(wǎng)絡捕獲MTS 變量間交互特征,由自注意力機制提取MTS 長時依賴特征,基于VAE 的重構能力進行MTS 異常檢測。Park 等[8]提出了基于LSTM 和VAE 的多模態(tài)MTS 異常檢測方法,以LSTM 網(wǎng)絡結構作為VAE 中的生成網(wǎng)絡和推斷網(wǎng)絡表示MTS 的隨機性和時序依賴性。文獻[7-8]通過自注意力機制或RNN 捕獲MTS 的時序依賴性,并且每個時間點通過重參數(shù)化采樣得到的隨機變量具有隨機性,但隨機變量之間沒有時序依賴性。
為此,研究者提出了基于VAE 的序列數(shù)據(jù)生成模型[17-19],這些方法均采用變分推斷技術學習時序數(shù)據(jù)分布,并且可以表示隨機變量間的時序依賴性。Chung 等[18]提出一種變分循環(huán)神經網(wǎng)絡(VRNN,variational recurrent neural network)模型。VRNN的推斷網(wǎng)絡由時序數(shù)據(jù)當前時刻輸入值和上一時刻RNN 隱向量生成當前時刻隨機變量的近似后驗分布。VRNN 通過RNN 隱向量的迭代更新實現(xiàn)隨機變量間的時序依賴性。VRNN 的生成網(wǎng)絡由當前時刻隨機變量采樣值和上一時刻RNN 隱向量生成時序數(shù)據(jù)取值分布。Dai 等[9]提出了面向內容分發(fā)網(wǎng)絡系統(tǒng)多元關鍵性能指標時序數(shù)據(jù)的異常檢測方法SDFVAE(static and dynamic factorized VAE),將VRNN 中的隨機變量分解為動態(tài)和靜態(tài)隨機變量,其中,靜態(tài)隨機變量刻畫內容分發(fā)網(wǎng)絡系統(tǒng)性能指標取值的時序不變性。SDFVAE 由雙向LSTM網(wǎng)絡學習靜態(tài)隨機變量的近似后驗分布,動態(tài)隨機變量的近似后驗分布生成方式與VRNN 相同。Li等[10]提出了基于VRNN 的MTS 異常檢測方法,在損失函數(shù)中引入使相鄰時刻點時序取值生成分布相近的正則化項,使模型具有更好的抗噪能力。Fraccaro 等[19]提出了一種融合狀態(tài)空間模型(SSM,state space model)和RNN 的隨機循環(huán)神經網(wǎng)絡(SRNN,stochastic recurrent neural network)。SRNN模型通過依賴于RNN 隱向量和SSM 隨機變量采樣值的神經網(wǎng)絡實現(xiàn)SSM 隨機狀態(tài)之間的非線性轉換,使SSM 可以利用RNN 表示時序依賴關系的隱向量在隱空間中傳播隨機性。SRNN 與VRNN 的區(qū)別在于RNN 隱向量的更新不依賴于各時刻的隨機變量,能直接建模每個時刻隨機變量間的時序依賴性,實現(xiàn)了RNN 確定性隱變量和SSM 隨機變量的分離。文獻[19]表明SRNN 能夠比VRNN 更好地學習時序數(shù)據(jù)的分布。Su 等[2]提出基于SRNN 的MTS異常檢測模型,該模型的推斷網(wǎng)絡結構與SRNN 相同,在此基礎上采用平面歸一化流技術學習各時刻非高斯分布的近似后驗分布。在生成網(wǎng)絡中,該模型由依賴于隨機變量采樣值的RNN 生成時序數(shù)據(jù)取值分布,采用LGSSM 計算隨機變量的先驗分布并實現(xiàn)隨機變量間的時序依賴性。
MTS 數(shù)據(jù)集記為k=[k1,k2,…,kN] ∈RM×N,N為k的持續(xù)時間長度,每個觀測值kτ∈RM是在時間點τ(τ≤N)的M維向量。使用窗口大小為w、滑動步幅為l的滑動窗口對k進行預處理,每個滑動窗口為
本文設計的ST-MTS-AD 模型基于VAE 的變分推斷技術學習MTS 時序分布,其主要優(yōu)勢在于使用Transformer 編碼器中的多頭自注意力機制生成MTS各個時刻點的隨機分布,實現(xiàn)了VAE 隱空間中隨機變量間的長時依賴關聯(lián)。而且ST-MTS-AD 的生成網(wǎng)絡為MLP,降低了模型的復雜性。ST-MTS-AD 模型結構如圖1 所示。在推斷網(wǎng)絡中,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的近似后驗分布,實現(xiàn)隨機變量zt-1和zt的非線性轉換和時序依賴關聯(lián)。記T個隨機變量z1,…,zT為z1:T。在生成網(wǎng)絡中,t時刻隨機變量zt采樣值和取值向量et輸入MLP 生成的取值分布。T個時刻觀測變量xt的重構值,…,表示為。t-1 時刻隨機變量zt-1的采樣值輸入GTF生成t時刻隨機變量zt的先驗分布,z0為隨機初始化的向量。ST-MTS-AD 通過最大化證據(jù)下界優(yōu)化推斷網(wǎng)絡和生成網(wǎng)絡參數(shù),由各時刻x′t的重構概率似然確定x1:T異常片段。
Transformer 網(wǎng)絡中的自注意力機制容易捕獲序列數(shù)據(jù)中長時依賴特征,文獻[20]基于Transformer 編碼器設計了MTS 的高質量表示學習模型。ST-MTS-AD 模型將Transformer 編碼器作為VAE 的推斷網(wǎng)絡,捕獲觀測序列x1:T中各觀測變量xt間的長時依賴性。為了實現(xiàn)隨機變量zt-1和zt的非線性轉換和時序依賴關聯(lián),將t-1 時刻隨機變量zt-1的采樣值和Transformer 編碼器在t時刻的輸出et串接后生成t時刻隨機變量zt。推斷網(wǎng)絡的目標是學習隨機變量z1:T的真實后驗分布,ST-MTS-AD通過推斷網(wǎng)絡得到z1:T的近似后驗分布,如式(1)所示。
ST-MTS-AD 模型推斷網(wǎng)絡結構如圖2 所示,即式(1)中t時刻近似后驗分布網(wǎng)絡結構。
圖2 ST-MTS-AD 模型推斷網(wǎng)絡結構
e1:T計算過程如下。按式(2)對x1:T進行位置編碼,編碼結果記為。
其中,Wx∈Rd×P為網(wǎng)絡參數(shù);b∈R1×T為偏置項;wp∈Rd×T為位置編碼矩陣,由正弦函數(shù)在偶數(shù)位置計算得到的位置信息和余弦函數(shù)在奇數(shù)位置計算獲得的位置信息結合形成,具體形式如下
由式(4)~式(10)所示的多頭注意力機制計算x1:T中觀測變量間長時依賴特征e1:T。
ST-MTS-AD 生成網(wǎng)絡由MLP 構成,目的是重構觀測序列。其與文獻[2,9]不同之處在于,由隨機變量zt采樣值和推斷網(wǎng)絡中Transformer 編碼器在t時刻的輸出et生成t時刻的觀測變量,而不僅依賴隨機變量zt。這是由于et包含了來自輸入觀測序列x1:T的全局時序特征,能夠更好地重構觀測序列。同時,MLP 網(wǎng)絡結構簡單,降低了ST-MTS-AD 網(wǎng)絡的復雜性。ST-MTS-AD 生成網(wǎng)絡的聯(lián)合概率分布為
圖3 ST-MTS-AD 模型生成網(wǎng)絡結構
其中,ξ~N(0,I),⊙表示向量元素乘積,和分別表示由圖2 推斷網(wǎng)絡生成的zt近似后驗分布均值和標準方差。
圖4 GTF 網(wǎng)絡結構
式(16)表示具有ReLU 和Sigmoid 激活函數(shù)的MLP,式(17)表示具有ReLU 激活函數(shù)的MLP,式(18)表示Linear 層,式(20)表示具有ReLU 和Softplus 激活函數(shù)的MLP。
ST-MTS-AD 模型的優(yōu)化目標為最大化式(21)所示的證據(jù)下界(ELBO,evidence lower bound)。
算法1ST-MTS-AD 模型的訓練算法
實驗采用以下4 個公開的數(shù)據(jù)集:SMD(server machine dataset)來自一家大型互聯(lián)網(wǎng)公司為期5 周的服務器檢測數(shù)據(jù)集[2];MSL(mars science laboratory)和SMAP(soil moisture active passive satellite)來自NASA 航天器監(jiān)測系統(tǒng)報告中的遙感數(shù)據(jù)[12];SWaT(secure water treatment)來自一個水處理廠信息物理系統(tǒng)為期11 天的監(jiān)控數(shù)據(jù)集[3]。各數(shù)據(jù)集具體的描述如表1 所示。
表1 各數(shù)據(jù)集具體的描述
實驗硬件環(huán)境如下:Ubuntu16.04 操作系統(tǒng),Inter Xeon Gold 5220R CPU,NVIDIA Tesla T4 顯卡。軟件環(huán)境如下:Python3.6,Pytorch 1.10.1。
ST-MTS-AD 模型在SMD、SMAP、MSL、SWaT數(shù)據(jù)集上的滑動窗口大小w、滑動步幅l、觀測序列長度T和自注意力頭數(shù)H分別設為10、10、200和8。根據(jù)數(shù)據(jù)集的維度大小,模型在SMD 和SWaT數(shù)據(jù)集上的Transformer 編碼器輸出維度d分別設為128 和256,在SMAP 和MSL 數(shù)據(jù)集中設為64。實驗使用Adam 優(yōu)化器,設置學習率r=0.000 1,批處理大小batch=64,訓練周期數(shù)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 分數(shù),其中,F(xiàn)1 分數(shù)為精確率和召回率的調和平均數(shù),F(xiàn)1分數(shù)越大表示異常檢測模型的性能越好。
選取6 種與ST-MTS-AD 相關的異常檢測模型進行實驗對比,分別為DAGMM[6]、LSTM-VAE[8]、MSCRED[15]、USAD(unsupervised anomaly detection)[16]、OmniAnomaly[2]、SDFVAE[9]。各模型的實驗均采用本文的數(shù)據(jù)預處理方式,不同模型的性能對比如表2 所示。
從表2 可知,ST-MTS-AD 模型在SMD、SMAP、MSL 和SWaT 數(shù)據(jù)集上的F1 分數(shù)分別為0.933 2、0.966 4、0.981 9 和0.834 2,相較于5 種對比模型整體上有較高的提升。在SMD、SMAP、MSL 和SWaT數(shù)據(jù)集上,ST-MTS-AD 模型的F1 分數(shù)比MSCRED分別提高了15.6%、10.0%、4.7%和3.3%,ST-MTS-AD模型的F1 分數(shù)比USAD 模型分別提高了9.6%、6.9%、15.6%和3.0%,與MSCRED 相比,ST-MTS-AD 在SMD 數(shù)據(jù)集上的F1 分數(shù)提高最多,這是因為SMD數(shù)據(jù)集中存在持續(xù)時間短、異常偏差較小的取值片段[9],MSCRED 模型中的構造簽名矩陣無法捕獲這些細微的異常特征。USAD 雖然采用對抗學習策略避免自編碼器無法通過重構誤差區(qū)分正常樣本與異常樣本的問題,但其自編碼器網(wǎng)絡沒有捕獲MTS 的時序依賴特征。實驗結果也驗證了基于重構的隨機性模型ST-MTS-AD 的異常檢測效果好于基于重構的確定性模型MSCRED 和USAD。
表2 ST-MTS-AD 模型與6 種模型的性能對比
DAGMM 的F1 分數(shù)在SMD、SMAP、MSL和SWaT 數(shù)據(jù)集上比ST-MTS-AD 模型分別低8.4%、7.9%、17.7%和2.3%,DAGMM 雖屬于基于重構的隨機性模型,但其自編碼器網(wǎng)絡結構設計面向表格數(shù)據(jù),無法提取 MTS 時序特征。ST-MTS-AD 模型在SMD、SMAP 和MSL 數(shù)據(jù)集上的F1 分數(shù)比SDFVAE 分別提高了3.3%、7.8%和12.4%,但在SWaT 數(shù)據(jù)集上的F1 分數(shù)比SDFVAE 低 1.8%,這是由于SDFVAE 比ST-MTS-AD 模型有較強的抗噪能力。LSTM-VAE和OmniAnomaly為與ST-MTS-AD最相關的模型,均為基于VAE 的序列生成模型。在SMD、SMAP、MSL 和SWaT 數(shù)據(jù)集上,ST-MTS-AD 模型的F1分數(shù)比LSTM-VAE 模型提高了5.9%、2.8%、7.3%和2.7%,比OmniAnomaly 模型提高了8.6%、11.5%、11.9%和3.8%。這是由于LSTM-VAE 模型無法建模隱空間中隨機變量之間的時序依賴性。OmniAnomaly 模型基于RNN 各時刻的隱向量實現(xiàn)隨機變量間時序依賴性,這種機制無法實現(xiàn)隨機變量間的長時依賴關聯(lián),其采用的基于LGSSM 的隨機變量先驗分布生成方式無法實現(xiàn)隨機變量間的非線性轉換,且該模型在生成網(wǎng)絡中僅依賴各時刻隨機變量的采樣值,沒有利用推斷網(wǎng)絡RNN 的隱向量信息。
為了驗證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 模型基礎上將推斷網(wǎng)絡中Transformer編碼器替換為門控循環(huán)單元(GRU,gate recurrent unit)神經網(wǎng)絡。ST-MTS-AD-2 模型表示將ST-MTS-AD 模型中用于生成隨機變量先驗分布的GTF 替換為LGSSM。ST-MTS-AD-3 模型表示圖1生成網(wǎng)絡去除了et作為輸入的設計,生成網(wǎng)絡的輸入僅來自隨機變量zt的采樣值。各模型在4 個數(shù)據(jù)集上的實驗結果如圖5 所示。
圖5 不同數(shù)據(jù)集上的消融實驗
從圖5 可知,ST-MTS-AD 模型在SMD、SMAP、MSL 和SWaT 數(shù)據(jù)集上的F1 分數(shù)比ST-MTS-AD-1模型分別提高了11.1%、2.6%、7.3%和6.3%,因此基于Transformer 編碼器生成的時序依賴特征能更好地實現(xiàn)隱空間中隨機變量間的時序依賴性。ST-MTS-AD 模型的F1 分數(shù)比ST-MTS-AD-2 模型分別提高了2.3%、1.5%、3.9%和6.4%,原因是GTF采用GRU 的思想對隨機變量zt-1到zt的轉換函數(shù)進行參數(shù)化,通過非線性轉換函數(shù)控制zt-1到zt的信息傳遞,可以捕獲隨機變量之間更復雜的依賴性,而LGSSM 利用卡爾曼濾波的思想實現(xiàn)隨機變量間的線性轉換,結果證明了ST-MTS-AD 使用GTF的連接方式比使用LGSSM 的連接方式更加有效。ST-MTS-AD 模型的F1 分數(shù)在SMD、SMAP、MSL和SWaT 數(shù)據(jù)集分別比ST-MTS-AD-3 模型提高了8.6%、0.6%、3.2%和9.4%,由Transformer 編碼器生成長時依賴特征et和推斷網(wǎng)絡生成的隨機變量zt的采樣值能更好地重構MTS 各時刻x′t的分布。另外,與ST-MTS-AD-1、ST-MTS-AD-2 和ST-MTS-AD-3相比,ST-MTS-AD 在SMAP 數(shù)據(jù)集上的的F1 分數(shù)提高并不明顯。這是因為SMAP 數(shù)據(jù)集中存在很多離散變量,其異常片段比較容易被檢測。
本文提出了一種融合Transformer 編碼器和VAE 的隨機Transformer MTS 異常檢測模型。該模型基于Transformer 編碼器生成的時序特征實現(xiàn)隱空間中隨機變量間的長時依賴性,采用門控轉換函數(shù)生成時序隨機變量的先驗分布,由推斷網(wǎng)絡生成的各時刻隨機變量近似后驗分布采樣值和Transformer 編碼器輸出的時序特征重構MTS 各時刻取值的分布。在4 個公開數(shù)據(jù)集上實驗結果表明了ST-MTS-AD 設計的有效性。下一步筆者將研究如何基于Transformer 編碼器實現(xiàn)隱空間中隨機變量間的非馬爾可夫動態(tài)性。