?

LSTM-GAN:融合GAN和Bi-LSTM的無監督時間序列異常檢測

2024-02-28 08:18陳世偉玄佳興石竹玉喬宇杰
小型微型計算機系統 2024年1期
關鍵詞:集上時序編碼器

陳世偉,李 靜,玄佳興,石竹玉,喬宇杰,高 穎

1(南京航空航天大學 計算機科學與技術學院,南京 211106)

2(國網數字科技控股有限公司,北京 110000)

3(國家電網有限公司信息通信分公司,北京 110000)

0 引 言

時序數據的異常檢測是數據挖掘中的一個重要研究方向,在很多應用領域中都有研究.工業生產領域從監控系統運行狀態的傳感器采集的時序數據中發現系統運行的異常狀態,并進行異常診斷,尋找導致異常產生的根源;智能運維系統中使用異常數據檢測模型自動發現運維數據中的異常模式,并根據異常類別和等級產生不同的異常告警和異常分析報告;信息安全領域通過異常檢測發現系統中的異常網絡流量、惡意攻擊等異常行為,能夠極大的提高系統的安全性.因此,可行且高效的異常檢測方法至關重要.

隨著異常檢測領域的不斷發展,許多可用于時序數據的異常數據檢測算法也相繼被提出,最常見的異常檢測方法包括基于密度的方法、基于距離的方法、基于聚類的方法等.Breunig等人于2000年提出一種基于密度的異常檢測方法LOF[1],這是第一個基于松散相關密度的算法,LOF會給出每個數據對象的k個最近鄰的平均局部密度與數據對象本身的局部密度之比來實現異常檢測.Junshui等人于2003年提出了單類支持向量機OC-SVM[2],允許將數據轉換為(投影)相空間中的一組向量來完成異常檢測.Anpracha等人于2007年提出了一種基于距離的檢測方法k-近鄰[3],根據選取的k個近鄰的距離來確定自己的異常情況.Fei等人于2008年提出了IForest[4],通過不同特征對數據樣本進行分割以此來分離出異常樣本.Istvan等人于2014年使用了一種聚類方法k-均值[5],按照聚類的思想將數據集樣本劃分為幾個相似且不相交的子集.

但是,隨著應用系統規模的不斷壯大,這些普通的異常檢測算法已無法滿足人們的需求,并逐漸暴露出很多問題.首先,由于數據的維度越來越高(維數災難),數據特征中通常包含大量與異常數據檢測無關的特征,并且普通的異常數據檢測方法無法挖掘出數據特征之間的高度非線性關系,因而在高維數據集上表現極差,其次,大多數異常檢測算法的計算可擴展性很差,計算復雜度高,不適用于海量數據集上的異常檢測任務,本文針對的數據對象屬于時序數據,數據隨著時間的變化往往會呈現出一定的特性,普通的異常檢測方法無法針對數據的時間依賴性完成有效建模.

伴隨著人工智能技術的發展,基于深度學習[6,7]的異常檢測方法陸續被提出.為了解決時序數據時間依賴性的問題,Malhotra等人于2016年提出了一種基于殘差的異常檢測算法LSTM-AE[8],該方法使用了基于LSTM的重構網絡 ,可以很好的重構正常時序數據,通過重構誤差來發現異常,Kyle等人于2018年提出了一種利用LSTM神經網絡進行預測的方法LSTM-NDT[9],通過預測誤差發現異常.為了捕捉數據多元變量的正常模式,Ya等人于2019年提出了異常檢測方法OmniAnomaly[10],Zhang等人于2019年提出了異常檢測方法MSCRED[11],前者采用了具有隨機變量連接和平面歸一化流的深層生成模型來描述數據潛在空間的非高斯分布,采用重建概率來確定異常,后者通過構造多尺度特征矩陣捕捉系統的多級狀態.為了捕獲數據中的小異常,Julien等人于2020年提出了一種無監督異常檢測方法USAD[12],采用自編碼器進行對抗訓練來放大異常的重建誤差.然而,上述方法在很大程度上解決的問題相對單一,解決了時間依賴性卻忽略了特征維度的問題,反之,在捕捉多元特征關系的前提下,卻無法對時間信息進行有效建模,這都會導致異常檢測的性能無法達到最佳.

為了解決上述問題,受各種異常檢測模型思路的啟發,本文提出了一種以自編碼器架構為基礎,融合GAN和Bi-LSTM的異常檢測模型,采用循環神經網絡捕捉時間依賴性,應用對抗原理從特征維度出發放大重構誤差.目前,普通的LSTM(Long Short-Term Memory)雖然可以解決時序數據的長依賴性問題,但是建模存在一個問題,即無法編碼從后向前的信息.后來提出的LSTM變體GRU(Gate Recurrent Unit)相比LSTM來說,雖然具備更少的參數,網絡結構更加簡單,但是,在數據集規模較大的情況下,LSTM的擬合效果可能更好,并且性能相當,因此在綜合考慮后,使用了LSTM的另一種變體Bi-LSTM來建模數據的時間依賴性,捕獲時序數據的雙向特征.

本文的主要貢獻如下:

1)提出了一種融合GAN與Bi-LSTM網絡結構的異常檢測模型,能有效的建模時序數據的雙向特征以及放大異常的重構誤差.

2)本文模型采用了自編碼器架構,訓練損失采用了自訓練損失與對抗訓練損失相結合的方式,解決了GAN訓練時容易出現梯度消失或模式崩潰的問題.

3)本文提出模型在SWaT、SMD等公開的多元時間序列數據集上取得了優于大部分異常檢測方法的性能.

本文后續章節安排如下:第1節主要是從重構和預測兩個角度出發,介紹了基于深度學習的異常檢測方法.第2節詳細介紹了本文異常檢測模型LSTM-GAN,包括問題描述、模型構建和訓練原理以及異常檢測.第3節主要通過對比實驗、超參數實驗以及消融實驗3個方面對LSTM-GAN框架的異常檢測性能進行了分析,并進行了方法應用場景分析.第4節對本文內容進行了總結.

1 相關工作

目前,按照異常檢測方法的訓練集數據是否有標記分類,深度異常數據檢測方法一般分為有監督學習方法、半監督學習方法和無監督學習方法.其中,無監督深度異常檢測技術僅根據數據內在的特性來檢測異常,這種方法通常是應用在標記數據極難獲取的領域,無監督深度異常檢測模型相對于傳統方法等在檢測性能上有了很大提升.因此,本部分將主要介紹相關國內外工作.

1.1 基于預測的深度時序異常檢測

基于預測的異常檢測一般是根據預測誤差來進行異常的判別,當預測誤差大于所選擇的閾值時,將其視為異常,否則視為正常.2015年,Chauhan[13]等人提出使用LSTM深度神經網絡來預測心電圖信號,Malhotra[14]等人使用疊加LSTM網絡來檢測時間序列中的異常/故障,將預測誤差建模為多元高斯模型分布,用于評估異常行為的可能性.2021年,Li[15]等人利用LSTM神經網絡對傳感器數據進行預測.Kyle等人于2018年提出了一種利用LSTM神經網絡來實現航天器遙測值檢測的方法LSTM-NDT[9],通過輸入一定數量的時序數據來預測下一個時刻的遙測值,然后通過比較預測值與實際值的區別.總的來說,利用LSTM 去預測的異常檢測思路是因為循環神經網絡在序列數據方面的有效性,可以通過歷史數據實現對未來數據的預測,在異常檢測這一領域具有不錯的效果,但這些方法相對基于重構的異常檢測來說,方法的靈活性以及可用的技術框架不夠充足.在2021年,Ailin等人提出了GDN[16],開創性的使用了圖神經網絡來挖掘多變量時間序列中變量之間的連接關系,把每一條時間序列看作是圖上一個節點構造一個圖結構,通過這樣一個網絡來學習數據特征來進行預測,最后根據預測誤差來檢測異常.

1.2 基于重構的深度時序異常檢測

自編碼器AE[17]是異常檢測中常見的重構模型,在此基礎上,衍生出了不少性能更佳的模型.如Kingma等人于2013年提出了變分自編碼器[18,19](variational auto-encoder,VAE).cho等人于2014提出了遞歸自編碼器[20](recurrent neural network auto-encoder,RNNAE).Malhotra等人于2016年提出了長短時自編碼器[8,19](long-short-term memory auto-encoder,LSTM-AE).其中,變分自編碼器VAE在普通自編碼器的基礎上做了特殊的優化,它的訓練過程加入了正則項,避免訓練過程的過擬合并且能確保其隱空間具有良好的能生成新樣本的性質,變分自動編碼器對數據在隱空間中以某種特定分布進行編碼,即會讓隱空間服從高斯分布.以上方法都是在自編碼器的基礎上進行了相應的改進和創新,隨著異常檢測的繼續發展,很多復雜且高效的方法也被提出.2019年,Ya等人提出了一種基于密度的時間序列異常檢測算法OmniAnomaly[10],它采用具有隨機變量連接和平面歸一化流的深層生成模型來描述潛在空間的非高斯分布,并使用輸入樣本的重建概率作為異常分數.Zhang等人于2019年提出了一種無監督深度神經網絡異常檢測方法MSCRED[11],它通過構造多尺度特征矩陣,以表征不同時間步中的多個系統狀態級別,隨后,在給定特征矩陣的情況下,使用卷積編碼器對時間序列的相關性進行編碼,并開發了基于注意的卷積長短時記憶網絡來捕獲時間依賴性,雖然該方法同時考慮了時間依賴性和特征相關性,但是當特征維度很大時,特征之間的關系會相對復雜,依然無法有效的對特征相關性進行建模.Dan等人于2019提出了基于生成對抗網絡的異常檢測方法GAN-AD[21]和MAD-GAN[22],通過使用循環神經網絡來捕捉多變量時間序列的特征分布,計算 GAN訓練的鑒別器以及生成器的重建數據和實際樣本之間的殘差,以檢測復雜數據集中可能的異常.后來,為了檢測小數據集的異常,Bashar等人于2020年提出了TAnoGAN[23],為了解決GAN標準對抗損失的原始公式存在梯度不穩定和模式崩潰的問題,Alexander等人于2020年又提出了TadGAN[24].總的來說,基于GAN的模型訓練不是容易的,可能會出現模式崩塌或者不收斂等問題,TadGAN[24]通過修改模型訓練的損失函數來解決GAN的缺陷,本文方法與其的區別是采用了自編碼器架構,可以用來解決GAN存在的梯度不穩定和模式崩潰等問題.

2 融合GAN和LSTM的時間序列異常檢測

針對時序數據時間依賴性建模難以及數據維度不斷增加導致難以有效檢測異常等問題,本文提出了異常檢測模型LSTM-GAN,LSTM-GAN是一種結合生成對抗與循環神經網絡的無監督異常檢測方法.由于普通的自編碼器無法對時序數據中的時間依賴性進行有效建模分析,于是本文使用了Bi-LSTM來捕獲時序數據的雙向特征,而且當異常太小,非常接近正常數據時,小異??赡懿粫鳛楫惓1粰z測到,而生成對抗GAN的引入可以成功解決該問題,通過對抗訓練來放大異常,因此,本文在自編碼器的基礎上同時引入了GAN生成對抗和Bi-LSTM雙向長短期記憶神經網絡來實現異常檢測.模型的框架如圖1所示,由虛線框內的生成器模塊Generator和實線框內的鑒別器模塊Discriminator組成,其中,Generator和Discriminator的網絡結構如圖2所示,展示了其Bi-LSTM自編碼架構的詳細結構.

圖1 LSTM-GAN框架Fig.1 Framework of the LSTM-GAN

圖2 Bi-LSTM自編碼架構Fig.2 Bi-LSTM AutoEncoder architecture

2.1 問題描述

表示多元時間序列為J={x1,x2,…,xT},T表示時間,其中,每個xt∈Rm表示時序數據中t時刻的值,每個xt都是一個m維的向量,m表示向量維度大小.

為了消除時序數據中特征維度間的不良影響,同時減短模型的訓練時長,使訓練過程盡快收斂,將時序數據在每個維度中做歸一化處理,這里選用了最大最小標準化方法.

(1)

為了建模當前時刻數據與歷史數據的關系,定義了在t時刻,歷史長度為k的滑動窗口,表示為:Wt={xt-k+1,…,xt-1,xt}.

2.2 LSTM-GAN模型構建與訓練

2.2.1 模型構建

在圖1所示框架中,LSTM-GAN主要包括生成器模塊Generator和鑒別器模塊Discriminator,生成器Generator由編碼網絡Encoder和解碼網絡Decoder1組成,鑒別器Discriminator由編碼網絡Encoder和解碼網絡Decoder2組成,Generator和Discriminator共享編碼網絡Encoder,后續分別用G、D表示生成器和鑒別器.其編碼-解碼形式如公式(2)、公式(3)所示,G和D的數據自編碼網絡架構如圖2所示.

G(W)=Decoder1(Encoder(W))

(2)

D(W)=Decoder2(Encoder(W))

(3)

圖3 數據重構圖Fig.3 Data reconstruction diagram

模型生成器G和鑒別器D的網絡構建和數據重構均按照上述描述過程完成,后續訓練將根據兩模塊的自訓練與二者之間的對抗訓練來獲得最終的異常檢測模型.

2.2.2 模型訓練

(4)

(5)

(6)

(7)

(8)

具體的LSTM-GAN模型算法流程如算法1所示.

算法1.LSTM-GAN模型算法

輸出:測試數據異常分數

1.初始化Encoder,Decoder1,Decoder2中網絡參數

2.forn=1 to N do

3. fort=1 toT1do

4.Encoder(Xt)→ht

10. 根據LossG、LossD更新Encoder、Decoder1、Decoder2中網絡參數

11. end for

12.end for

13.fort=1 toT2do

17.end for

2.3 模型異常檢測

(9)

在異常分數的計算中,使用了α、β兩個參數來權衡生成器重構誤差以及鑒別器重構誤差之間的比例,其中α+β=1,并采用了一種非參數動態閾值方法來確定閾值ε,當st>ε時,該窗口數據被視為異常,反之,則為正常.

(10)

(11)

(12)

(13)

(14)

3 實驗與分析

3.1 實驗環境和數據集

實驗采用Pytorch深度學習框架,使用Python語言編程實現,運行環境為Anaconda和JetBrains Pycharm軟件,操作系統為Windows 10(64位),內存為16GB,處理器Intel(R)Core(TM)i7-10700CPU 2.90GHz.

本次實驗,在4個真實的公開數據集上進行,4個數據集分別是安全水處理SwaT[12]、服務計算機SMD[10]、航天器遙測值MSL[9]和SMAP[9].其中SWaT數據集是從現實世界中生產過濾水的工業水處理廠收集的時序數據,SMD是由一家大型互聯網公司收集并公開的服務器數據,包含了來自28臺服務器的數據,MSL和SMAP是由NASA收集的航天器遙測值數據.4個數據集的基本描述如表1所示.

表1 數據集介紹Table 1 Dataset introduction

工業水處理廠數據SwaT[12](Secure Water Treatment)是實際工業水處理廠數據的縮小版,其收集的數據總共包括11天,在正常操作下收集7天,在攻擊場景下收集4天,總共包含51個監控指標.

服務器計算機數據SMD[10](Server Machine Dataset)是一個新的為期5周的數據集,由一家大型互聯網公司收集并公開,它包含來自28臺服務器的數據,每臺服務器都監控38個指標,主要包含CPU負載、網絡使用率以及內存使用率等等.SMD分為兩個大小相等的子集:上半部分是訓練集,下半部分是測試集.

航天器遙測值數據SMAP[9](Soil Moisture Active Passive)和MSL[9](Mars Science Laboratory)分別由觀測土壤水分的衛星以及好奇號火星科學實驗室收集.SMAP和MSL是兩個真實世界公共數據集,由NASA專家標記.他們分別包含55和27個實體的數據,每個實體的指標數量分別為25和55,主要包含輻射、溫度、功率等特征,其異常原因來自于太空環境的變化,該數據集中的異常數據段可以用來檢驗本文方法模型性能,.

本文對數據的預處理過程,主要對時序數據選取長度為k的時間戳劃分滑動窗口,使得輸入模型的數據形式最終為(滑動窗口數、時間戳、特征維度)的三維數據.對于這4個數據集的處理都是類似的操作.

3.2 評估指標

LSTM-GAN的性能評估采用精確率(Precision)、召回率(Recall)、F1分數作為衡量檢測效果的指標.其中,精確率表示被模型預測為異常的異常樣本占所有被模型預測為異常的比例,召回率表示被模型預測為異常的異常樣本占所有真實異常樣本的比例,F1分數為綜合考慮精確率和召回率的性能衡量指標.后續用P表示精確率,R表示召回率,F1表示F1分數,并給出了對應指標的計算公式,如公式(15)所示:

(15)

其中,TP表示真陽性,指的是被模型預測為異常的異常窗口個數,FP表示假陽性,指的是被模型預測為正常的異常窗口個數,FN表示假陰性,指的是被模型預測為正常的正常窗口數量.

針對該類評估指標,參考Xu[25]等人提出的標簽優化調整策略,可以實現對模型性能的精確率、召回率以及F1分數進行優化提升的策略,該策略表示,如果某異常段中的任何一個點被模型檢測到,將視這個被檢測到的異常點所在的異常段被檢測到.如圖4所示,假設第1行是時間序列的10個連續數據的真實標簽值,1表示異常,0表示正常,可以發現有兩個異常段.第2行為模型預測的10個連續值的異常標簽結果.第3行表示經過標簽優化調整后的模型檢測結果.即只要預測的異常點在實際異常段內,整個異常段被視為模型檢測到.

圖4 標簽調整Fig.4 Label adjustment

3.3 實驗設置和實驗參數

為了驗證LSTM-GAN的有效性,本文的實驗過程包括與其他同類方法的對比實驗、相關超參數的影響實驗以及自身關鍵模塊的消融實驗等3個部分,并在最后進行了本文方法的應用場景分析.

實驗選取的滑動窗口歷史時間戳長度統一為k=10,模型訓練迭代次數為N=50次,批大小batch=1000,α=0.5,β=0.5其中Bi-LSTM的單層隱藏狀態單元數c根據對應數據集確定,本文的生成器和鑒別器的編碼-解碼網絡結構如表2所示.

表2 網絡結構Table 2 Network structure

3.4 對比實驗

針對LSTM-GAN的異常檢測性能,對LSTM-GAN與幾種最新的異常檢測方法進行了比較,分別是LSTM-NDT[9]、OnmiAnomaly[10]、MSCRED[11]、MAD-GAN[20]、DAGMM[26]等5種異常檢測方法.經過實驗,得出了包括LSTM-GAN在內的6種異常檢測方法在4個公開數據集上SWaT、SMD、SMAP以及MSL上的實驗結果,包括每種方法對應的精確率、召回率以及F1分數等結果,如表3所示(以下數據均是經過標簽優化調整后的實驗數據).

表3 對比實驗結果Table 3 Comparative experimental results

表3展示了LSTM-GAN與其他5種對比方法的實驗數據,可以看出,LSTM-GAN在SWaT、SMD、MSL、SMAP 4個數據集上均取得了最高的F1分數,特別是在SMD數據集上達到了0.9672.與LSTM-NDT、OnmiAnomaly、MSCRED、MAD-GAN以及DAGMM這5種方法相比,LSTM-GAN在4個數據集上的F1分數分別提升了近15.7%、4.4%、7.5%、13.1%、16.6%,證明了本文方法的有效性.經過分析,可以發現LSTM-NDT和MSCRED這兩種方法相對來說更加強調數據的時間依賴性,對特征間相關性的建模能力較弱,前者采用了循環神經網絡LSTM,通過輸入固定數量的歷史數據對未來值進行預測,沒有從多特征關系的角度來分析,MSCRED雖然通過特征矩陣的方式對時間序列數據進行了預處理,可以計算時間序列不同特征之間的關系,但是當特征之間的相互關系變得復雜和非線性時,特征矩陣在檢測細微異常方面可能會表現不佳.與LSTM-NDT和MSCRED恰恰相反,MAN-GAN主要是對特征變量間的相關性進行建模,但它卻忽略了沿時間維度學習每個度量的低維表示,類似地DAGMM也無法實現對時間信息的捕獲,以上這些缺陷都會導致檢測性能無法達到最佳.而LSTM-GAN采用GAN對抗訓練,可以沿著特征維度來嵌入分析特征關系,放大其異常,在此基礎上,GAN中的生成器和鑒別器采用了基于Bi-LSTM的自編碼器架構,在避免GAN訓練可能出現梯度消失或模式崩潰問題的同時,從時間維度上對數據進行了重構學習,學習時序數據中的雙向特征.在4個數據集中,本文提出的方法相對于OnmiAnomaly提升最小,由于OnmiAnomaly本身方法的獨特性,OnmiAnomaly在數據集SMD上依然取得了0.9620的F1分數,與本文方法的數據十分接近,OnmiAnomaly采用了具有隨機變量連接和平面歸一化流的深層生成模型來描述潛在空間的非高斯分布,并使用輸入樣本的重建概率作為異常分數,說明這種思路可以在很大程度上實現多元時間序列的高性能檢測,但綜合4個數據集來看,LSTM-GAN依然實現了一定程度的性能提升,本文在LSTM-GAN中引入對抗訓練機制,可以做到檢測小異常,而在OnmiAnomaly中并沒有類似放大輕度異常的機制,這再次證明了GAN對抗訓練機制在檢測微小異常方面的有效性.經過在不同領域數據集上的實驗分析,與其他幾種典型模型相比,LSTM-GAN能夠檢測出數據集上的更多異常,能彌補其他異常檢測算法中無法兼顧的問題,在融合GAN和Bi-LSTM后,LSTM-GAN的異常檢測性能在所有對比方法中達到了最優.

3.5 超參數實驗

為了檢驗設置不同超參數對模型LSTM-GAN訓練的性能影響,設計了滑動窗口大小k、Bi-LSTM網絡的隱藏單元數c的測試實驗,其中第1個實驗為在SWaT、SMD以及MSL 3個數據集上都固定c=20,主要分析k的變化對模型的影響,第2個實驗固定k=10,分析不同c值在不同數據集模型性能的差異,圖5展示了兩次實驗的實驗結果.

圖5 k、c值在數據集上對模型的性能影響

如圖5的實驗結果所示,分別選取實驗了滑動窗口大小k={5,10,15,20,25}時,LSTM-GAN在3個數據集上的精確率、召回率以及F1分數.從結果可以看出,LSTM-GAN的精確率P和F1分數均在窗口大小取k=10時最高,其他取值略有降低,相比之下召回率有所降低.經過分析,可能是由于數據集中異常序列的長短不一,對于較小的異常段,如果選取了比較大的窗口,可能會導致小異常的隱藏.如圖5所示,比較了Bi-LSTM中網絡中單向隱藏單元c值的影響,選取的c值變化范圍在3個數集上不盡相同,因為每個數據集的特征維度不一樣,所以根據數據集的特征維度數量各選取了合適的變化范圍來進行實驗,從F1分數來看,LSTM-GAN在SWaT、SMD以及MSL上分別在c={20,15,20}時取得了最高.總的來說,基于得出的實驗結果分析,LSTM-GAN對超參數k,c的變化并不敏感,對模型的性能影響變化不算明顯.

為了分析完成訓練后的LSTM-GAN在檢測異常時,α、β的設置對異常分數的影響,在α+β=1.0條件下,分別設置了不同α、β取值下的模型性能變化,經過在數據集MSL上的實驗,最終的結果如圖6所示,不同的α、β取值權衡了模型生成器G和鑒別器D之間重構損失的比例,當α取值更大時,給予生成器損失更大的權重,當β更大時 ,給予鑒別器損失更大的權重.

圖6 α、β性能影響分析曲線Fig.6 α、β impact analysis performance curve

3.6 消融實驗

為了驗證LSTM-GAN關鍵模塊的有效性,本節將在SWaT和SMD數據集上進行消融實驗,本文設計了LSTM-GAN的兩種變體,分別命名為LSTM-AE和GAN-AE,包括LSTM-GAN在內的3種模型的描述如下所示:

1)LSTM-AE模型:無對抗訓練機制的自編碼器模型,僅僅使用Bi-LSTM來構建一個自編碼器重構模型,對時序數據進行重構.

2)GAN-AE模型:引入進行對抗訓練機制,在自編碼器的網絡使用全連接層進行編碼,未使用Bi-LSTM網絡來捕獲時序數據的雙向特征.

3)LSTM-GAN:本文提出的最終模型,使用Bi-LSTM網絡編碼,采用雙自編碼器完成對抗訓練.

以上3種模型在兩個數據集上的性能比較分析如圖7所示.

圖7 3種模型性能比較Fig.7 Performance comparison of three models

從圖7的實驗結果可以看出,同時采用對抗訓練以及使用Bi-LSTM編碼網絡的最終模型取得了最高的F1分數,與LSTM-AE相比,LSTM-GAN在SWaT和SMD上的異常檢測性能提升了近6.7%、14.8%,與GAN-AE相比,在SWaT上也取得了4.8%的提升,因此,可以認為,同時引入GAN的訓練模式以及Bi-LSTM的編碼模式可以更好的學習到時序數據的特征分布,進而檢測異常.

3.7 適用場景分析

目前,隨著IT系統運營規模和復雜性的加劇,在許多大型互聯網企業中,通過分析大量傳感器收集到的高維時序數據,可以及時檢測到系統應用中的異常狀態或故障原因.對于該類系統應用來說,采用高度可擴展且能耗低的檢測方法是一個關鍵問題,同時,在考慮將這些方法擴展到實際應用中時,方法的穩定性也是一個重要因素.

本文提出了一種異常檢測方法,稱為LSTM-GAN,該方法基于自編碼器架構,并結合了Bi-LSTM和GAN等關鍵技術,其編碼器-解碼器體系結構的對抗性訓練使其能夠學習如何放大數據中異常的重構誤差,與僅僅基于GAN體系結構的方法相比,自編碼架構的設計能夠使其具備一定的穩定性,并且,該異常檢測方法的這種特點,本文方法擁有相對少的模型訓練時間,可以極大的節省時間與能耗.

根據表3對比實驗結果發現,本文所述方法在IT類數據集SMD上取得了最高的F1分數,因此,又選取了同樣來自于IT領域的數據集PSM[27]和BKPI[27]來進行測試實驗,其中,PSM數據集高度類似于SMD數據集,主要指標包含CPU利用率、存儲率等.實驗結果如表4所示.

表4 PSM和BKPI實驗結果Table 4 Experiment result of the PSM and BKPI

結果表明,LSTM-GAN在PSM和BKPI數據集上的F1分數分別達到了95.79%和95.92%,再結合3.4節對比實驗結果,再次可以說明,本文方法在時序異常檢測方面表現優越.

因此,本文方法LSTM-GAN是一種不需要標記數據的無監督異常檢測方法,在具備穩定性和很少的模型訓練時間的優點下,能夠對IT領域中的高維時序數據進行無監督異常檢測,可以放大并發現時序數據中的異常子序列,實現高效的時序數據異常檢測.

4 結 論

本文提出了一種融合GAN與Bi-LSTM的高維時序數據異常檢測模型LSTM-GAN,在自編碼器架構的基礎上通過重構來檢測異常,使用Bi-LSTM雙向長短期記憶神經網絡捕獲時序數據的雙向特征,采用GAN對抗訓練來放大異常.本文分別在SWaT、SMD以及MSL和SMAP 4個公共數據集上進行了實驗,并針對本文模型架構特點,進行了適用場景分析,結果表明,在自編碼器基礎上同時引入Bi-LSTM和GAN,能夠彌補時序數據檢測的存在的問題,相對于同類異常檢測方法,LSTM-GAN擁有更好的性能,同時,對于IT領域中的系統應用來說,LSTM-GAN的方法設計在實現其高效時序數據異常檢測的同時,也可以做到更好的穩定性、更低的模型訓練時間以及可擴展性.

猜你喜歡
集上時序編碼器
基于Sentinel-2時序NDVI的麥冬識別研究
Cookie-Cutter集上的Gibbs測度
鏈完備偏序集上廣義向量均衡問題解映射的保序性
基于FPGA的同步機軸角編碼器
基于FPGA 的時序信號光纖傳輸系統
復扇形指標集上的分布混沌
基于PRBS檢測的8B/IOB編碼器設計
一種毫米波放大器時序直流電源的設計
JESD204B接口協議中的8B10B編碼器設計
多總線式光電編碼器的設計與應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合