四川德行天下建設(shè)工程有限公司網(wǎng)站河北網(wǎng)站建設(shè)案例
USAD : UnSupervised Anomaly Detection on Multivariate Time Series
摘要
IT系統(tǒng)的自動監(jiān)控是Orange目前面臨的挑戰(zhàn)??紤]到其IT運(yùn)營所達(dá)到的規(guī)模和復(fù)雜性,隨著時間的推移,用于推斷正常和異常行為的測量所需的傳感器數(shù)量急劇增加,使得傳統(tǒng)的基于專家的監(jiān)督方法變得緩慢或容易出錯。在本文中,我們提出了一種快速而穩(wěn)定的方法,稱為基于反向訓(xùn)練的自動編碼器的多變量時間序列的無監(jiān)督異常檢測(USAD)。其自動編碼器架構(gòu)使其能夠以無監(jiān)督的方式進(jìn)行學(xué)習(xí)。對抗性訓(xùn)練及其架構(gòu)的使用使其能夠隔離異常,同時提供快速訓(xùn)練。我們通過在五個公共數(shù)據(jù)集上的實(shí)驗(yàn)研究了我們的方法的特性,從而證明了其魯棒性、訓(xùn)練速度和高異常檢測性能。通過使用Orange專有數(shù)據(jù)的可行性研究,我們能夠驗(yàn)證Orange在可擴(kuò)展性、穩(wěn)定性、魯棒性、訓(xùn)練速度和高性能方面的要求。
CCS概念?計算方法→ 神經(jīng)網(wǎng)絡(luò);異常檢測;無監(jiān)督學(xué)習(xí);?應(yīng)用計算;
關(guān)鍵詞:異常檢測;多元時間序列;神經(jīng)網(wǎng)絡(luò);Autoencoders;敵對的網(wǎng)絡(luò);無監(jiān)督學(xué)習(xí);監(jiān)督
ACM Reference Format:Julien Audibert, Pietro Michiardi, Fre?de?ric Guyard, Se?bastien Marti, and Maria A. Zuluaga. 2020. USAD : UnSupervised Anomaly Detection on Multivariate Time Series. In Proceedings of the 26th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '20), August 23–27, 2020, Virtual Event, CA, USA. ACM, New York, NY, USA, 10 pages. https://doi.org/10. 1145/3394486.3403392
一、介紹
IT系統(tǒng)監(jiān)控是對系統(tǒng)的可測量事件和輸出進(jìn)行監(jiān)督的過程,它被用作確定系統(tǒng)正常運(yùn)行的參考。對與參考值的偏差進(jìn)行分析,以確定是否存在故障。從歷史上看,這種分析是由系統(tǒng)監(jiān)視專家完成的,他們?yōu)槊總€測量的事件/輸出建立了正常的行為閾值。如果測量值超過了相關(guān)的專家定義的閾值,則認(rèn)為系統(tǒng)沒有按照預(yù)期運(yùn)行。由于Orange當(dāng)今IT運(yùn)營的規(guī)模和復(fù)雜性,隨著時間的推移,獲取測量數(shù)據(jù)所需的傳感器數(shù)量急劇增加,這使得傳統(tǒng)的基于專家定義閾值的方法不再可用,因?yàn)樗鼈儫o法擴(kuò)展。在這種情況下,我們的IT系統(tǒng)監(jiān)控自動化已經(jīng)成為一種必要。自動化IT系統(tǒng)監(jiān)控需要開發(fā)一種方法來觀察傳感器獲得的不同測量值,并從這些測量值推斷正常和異常行為。
在一組隨時間相互關(guān)聯(lián)的度量值上檢測意外行為是一個活躍的研究學(xué)科,稱為多元時間序列[2]中的異常檢測。在過去的幾年里,人們開發(fā)了許多方法來解決這個問題。最常用的技術(shù)包括基于距離的技術(shù),如k-最近鄰[3],聚類,如K-means[9],單類支持向量機(jī)[11]分類。然而,今天的IT系統(tǒng)已經(jīng)達(dá)到了不再允許使用這些方法的復(fù)雜性。實(shí)際上,隨著維度數(shù)量的增加,由于維度的詛咒,這些技術(shù)通常會遭遇次優(yōu)性能。最近,基于深度學(xué)習(xí)的無監(jiān)督異常檢測方法能夠推斷時間序列之間的相關(guān)性,從而識別異常行為,這一能力受到了廣泛關(guān)注
在檢測時間數(shù)據(jù)異常的深度學(xué)習(xí)方法中,基于循環(huán)神經(jīng)網(wǎng)絡(luò)[7] (RNNs)的方法非常受歡迎。然而,眾所周知,rnn的結(jié)果需要大量的計算,需要大量的時間進(jìn)行訓(xùn)練。因此,rnn與時間相關(guān)的成本很高,能源消耗和二氧化碳排放。對于Orange來說,使用高可擴(kuò)展性,同時低能耗的方法是一個關(guān)鍵問題。事實(shí)上,Orange正在通過其“綠色信息技術(shù)與網(wǎng)絡(luò)”項(xiàng)目不斷努力提高能源效率。高可伸縮性和向GreenAI[16]發(fā)展的這些限制,迫使我們重新思考將要實(shí)施的深度學(xué)習(xí)方法的重要特征。因此,開發(fā)算法效率高的實(shí)現(xiàn)方法是很有必要的。
最近引起極大興趣的其他基于深度學(xué)習(xí)的方法是基于生成對抗網(wǎng)絡(luò)的方法[5]。然而,由于模式崩潰和不收斂等問題,GaN的訓(xùn)練并不總是容易的[1]。在考慮將這些方法實(shí)施和部署到Orange的生產(chǎn)中時,缺乏穩(wěn)定性是一個主要障礙。生產(chǎn)環(huán)境需要開發(fā)健壯的方法,這些方法可以定期重新培訓(xùn)。
在本文中,我們提出了一種新的方法,稱為多變量時間序列的無監(jiān)督異常檢測(USAD),該方法基于一種自動編碼器結(jié)構(gòu)[15],其學(xué)習(xí)靈感來自于Gans。USAD背后的直覺是,其編解碼器架構(gòu)的對抗性培訓(xùn)使其能夠?qū)W習(xí)如何放大包含異常的輸入的重建誤差,同時與基于Gans架構(gòu)的方法相比獲得穩(wěn)定性。它的體系結(jié)構(gòu)使其快速訓(xùn)練,在可伸縮性和算法效率方面滿足Orange的期望。本文的主要貢獻(xiàn)在于:
- 我們提出了一種對抗性訓(xùn)練框架內(nèi)的編解碼器體系結(jié)構(gòu),它允許結(jié)合自動編碼器和對抗性訓(xùn)練的優(yōu)點(diǎn),同時補(bǔ)償每種技術(shù)的局限性。
- 我們在公開的數(shù)據(jù)集上進(jìn)行了實(shí)證研究,分析了該方法的穩(wěn)健性、訓(xùn)練速度和性能。
- 我們使用Orange的專有數(shù)據(jù)進(jìn)行了可行性研究,以分析所提出的方法是否滿足該公司在可擴(kuò)展性、穩(wěn)定性、健壯性、訓(xùn)練速度和高性能方面的要求。
本文檔的其余部分組織如下。第二節(jié)討論了檢測多變量時間序列中非監(jiān)督異常的方法。第三節(jié)討論了我們方法的細(xì)節(jié)。第4節(jié)和第5節(jié)描述了實(shí)驗(yàn),并演示了我們方法的最先進(jìn)的性能。
二、相關(guān)工作
時間序列的異常檢測是一項(xiàng)復(fù)雜的任務(wù),已有大量研究[6]。在已經(jīng)提出的不同分類中,方法可以被識別為聚類法[9]、基于密度的方法[11]、基于距離的方法[3]和基于隔離的方法[10]。
除了傳統(tǒng)的方法外,基于深度學(xué)習(xí)的無監(jiān)督異常檢測方法推斷時間序列之間的相關(guān)性的能力最近受到了廣泛的關(guān)注[12,18,20]。深度自動編碼高斯混合模型(DAGMM)[21]聯(lián)合考慮了深度自動編碼器和高斯混合模型來模擬多維數(shù)據(jù)的密度分布。卷積遞歸編碼器解碼器(MSCRED)[20]聯(lián)合考慮了時間依賴性、噪聲魯棒性和異常嚴(yán)重性的解釋。
LSTMVAE[14]通過用LSTM替換VAE中的前饋網(wǎng)絡(luò),將LSTM與變分自動編碼器(VAE)相結(jié)合。對抗性學(xué)習(xí)異常檢測(ALAD)[19]是基于雙向GANS的,它為異常檢測任務(wù)導(dǎo)出對抗性學(xué)習(xí)特征。LSTM-VAE通過LSTM網(wǎng)絡(luò)對時間序列的時間相關(guān)性進(jìn)行建模,獲得了比傳統(tǒng)方法更好的泛化能力。最近,Su等人提出了一種用于多變量時間序列異常檢測的隨機(jī)遞歸神經(jīng)網(wǎng)絡(luò)OmniAnomaly,它學(xué)習(xí)具有隨機(jī)變量聯(lián)系和平面歸一化流程的穩(wěn)健多變量時間序列的表示,并使用重構(gòu)概率來確定異常[17]。然而,這些方法以其訓(xùn)練速度為代價獲得了良好的效果。事實(shí)上,這些方法都沒有在其性能標(biāo)準(zhǔn)中考慮到訓(xùn)練時間(即能源消耗)。這就是為什么今天Orange有必要開發(fā)在異常檢測方面具有與最先進(jìn)水平相當(dāng)?shù)男阅艿姆椒?#xff0c;同時支持允許快速和節(jié)能培訓(xùn)的體系結(jié)構(gòu)。
三、方法
我們首先將3.1節(jié)中要解決的問題正式化。在3.2中,我們給出了我們方法的公式。最后,在第3.3節(jié)中,我們描述了該方法的實(shí)現(xiàn)。
3.1問題的制定
單變量時間序列是一系列數(shù)據(jù)點(diǎn) T={x1,...,xT},\mathcal{T}=\{x_1, ..., x_T\}, T={x1?,...,xT?}, 每一個都是在特定時間 ttt 測量的過程的觀察。單變量時間序列在每個時刻包含一個變量,而多變量時間序列一次記錄多個變量;我們將多元時間序列表示為 T={x1,...,xT},x∈Rm\mathcal{T}=\{x_1,...,x_T\},x\in \mathbb{R}^mT={x1?,...,xT?},x∈Rm。在這項(xiàng)工作中,我們關(guān)注更一般的多元時間序列設(shè)置,因?yàn)閱巫兞吭O(shè)置是m=1的多元時間序列的一種特殊情況。
現(xiàn)在考慮一個無監(jiān)督的學(xué)習(xí)問題,其中 T\mathcal{T}T 被作為訓(xùn)練輸入。異常檢測指的是識別一個未知觀測 x^t\hat{x}_tx^t?(t>Tt>\mathcal{T}t>T) 的任務(wù),考慮到 ttt 與 T\mathcal{T}T 顯著不同的因素,因此假設(shè) T\mathcal{T}T 只包含正常數(shù)據(jù)。未知樣本 x^t\hat{x}_tx^t? 和正常集 T\mathcal{T}T 的差異量由異常分?jǐn)?shù)測量,然后將異常分?jǐn)?shù)與閾值進(jìn)行比較,以獲得異常標(biāo)簽。
為了模擬當(dāng)前時間點(diǎn)和之前時間點(diǎn)之間的依賴關(guān)系,現(xiàn)在讓我們定義WtW_tWt?,即給定時間 ttt 的長度為 KKK 的時間窗口: Wt={xt?K+1,...,xt}(1)W_t = \{x_{t-K+1},...,x_{t}\} \tag{1} Wt?={xt?K+1?,...,xt?}(1) 可以將原始時間序列 T\mathcal{T}T 轉(zhuǎn)換為一系列窗口 W=W1,...,WTW={W_1,...,W_T}W=W1?,...,WT?,用作訓(xùn)練輸入。給定一個二進(jìn)制變量 y=0,1y={0,1}y=0,1,異常檢測問題的目標(biāo)是為一個未知窗口 W^t\hat{W}_tW^t?,(t>Tt>\mathcal{T}t>T) 基于該窗口的異常值給出標(biāo)簽 yty_tyt?,表示在時間 ttt 檢測是否異常,即,yt=1y_t=1yt?=1 或者 yt=0y_t=0yt?=0。為了簡單起見,在不損失通用性的情況下,我們將使用 WWW 表示一個訓(xùn)練輸入窗口,使用 W^\hat{W}W^ 表示一個未知輸入窗口。
3.2 無監(jiān)督異常檢測
自動編碼器(AE)[15]是由編碼器 EEE 和解碼器 DDD 組成的無監(jiān)督人工神經(jīng)網(wǎng)絡(luò)。編碼器部分將輸入 XXX 映射到一組潛在變量 ZZZ,而解碼器將潛在變量 ZZZ 映射回輸入空間作為重構(gòu)R。原始輸入向量 XXX 和重構(gòu) RRR 之間的差稱為重構(gòu)誤差。因此,訓(xùn)練目標(biāo)旨在最大限度地減少這種錯誤。定義如下: LAE=∣X?AE(X)∣2(2)\mathscr{L}_{AE} = | X -AE(X)|_2 \tag{2} LAE?=∣X?AE(X)∣2?(2)
其中, AE(X)=D(Z),Z=E(X)AE(X) = D(Z),\ Z = E(X) AE(X)=D(Z),?Z=E(X) 并且,∣?∣2|\cdot |_2∣?∣2? 是指 L2L2L2 正則化。
基于自動編碼器的異常檢測使用重建誤差作為異常分?jǐn)?shù)。得分高的分?jǐn)?shù)被視為異常。訓(xùn)練時只使用正常數(shù)據(jù)中的樣本。在推斷時,AE將很好地重建正常數(shù)據(jù),而不能重建AE未遇到的異常數(shù)據(jù)。然而,如果異常太小,即它相對接近正常數(shù)據(jù),重建誤差將很小,因此無法檢測到異常。這是因?yàn)锳E的目標(biāo)是盡可能重建輸入數(shù)據(jù)(盡可能接近正常值)。為了克服這個問題,AE應(yīng)該能夠識別輸入數(shù)據(jù)是否包含異常,然后再進(jìn)行良好的重建。
一種方法判斷輸入樣本是否正常的可能性是生成性對抗網(wǎng)絡(luò)(GAN)的特征[5]。GAN是一種無監(jiān)督的人工神經(jīng)網(wǎng)絡(luò),基于兩個網(wǎng)絡(luò)之間的兩人極小極大對抗博弈,兩個網(wǎng)絡(luò)同時訓(xùn)練。一個網(wǎng)絡(luò),生成器(G),旨在生成真實(shí)數(shù)據(jù),而第二個網(wǎng)絡(luò)充當(dāng)鑒別器(D),試圖將真實(shí)數(shù)據(jù)與G生成的數(shù)據(jù)區(qū)分開來。G的訓(xùn)練目標(biāo)是最大化D出錯的概率,而訓(xùn)練目標(biāo)D是最小化其分類錯誤。
與基于AE的異常檢測類似,基于GAN的異常檢測使用正常數(shù)據(jù)進(jìn)行訓(xùn)練。在訓(xùn)練之后,鑒別器被用作異常檢測器。如果輸入數(shù)據(jù)與學(xué)習(xí)數(shù)據(jù)分布不同,則鑒別器將其視為來自生成器,并將其分類為假的,即異常。然而,由于模式崩潰和不收斂等問題,GAN訓(xùn)練并不總是容易的[1],這通常歸因于生成器和鑒別器之間的不平衡。
我們提出的無監(jiān)督異常檢測(USAD)方法被制定為兩階段對抗性訓(xùn)練框架內(nèi)的AE架構(gòu)。一方面,這允許通過訓(xùn)練能夠識別輸入數(shù)據(jù)何時不包含異常的模型來克服AE的固有限制,從而執(zhí)行良好的重建。另一方面,AE架構(gòu)允許在對抗性訓(xùn)練期間獲得穩(wěn)定性,因此解決了GAN中遇到的崩潰和非收斂模式的問題。
USAD由三個元素組成:一個編碼器網(wǎng)絡(luò)E和兩個解碼器網(wǎng)絡(luò)D1和D2。如圖1所示,這三個元件連接到一個由兩個自動編碼器AE1和AE2組成的體系結(jié)構(gòu)中,它們共享同一個編碼器網(wǎng)絡(luò): AE1(W)=D1(E(W)),AE2(W)=D2(E(W))(3)AE_1(W) = D_1(E(W)),\ AE_2(W) = D_2(E(W)) \tag{3} AE1?(W)=D1?(E(W)),?AE2?(W)=D2?(E(W))(3) 公式3中的架構(gòu)分兩個階段進(jìn)行訓(xùn)練。首先,對兩個AE進(jìn)行訓(xùn)練,以學(xué)習(xí)重建正常的輸入窗口 WWW。其次,這兩個 AE 以對抗的方式進(jìn)行訓(xùn)練,其中 AE1 將試圖愚弄 AE2,AE2 旨在了解數(shù)據(jù)是真實(shí)的(直接來自WWW)還是重建的(來自AE1)。下文提供了更多詳細(xì)信息。
第一階段:自動編碼器訓(xùn)練。在第一階段,目標(biāo)是訓(xùn)練每個AE重現(xiàn)輸入。輸入數(shù)據(jù)W由編碼器E壓縮到潛在空間Z,然后由每個解碼器重建。根據(jù)等式2,訓(xùn)練目標(biāo)是: LAE1=∣W?AE1(W)∣2LAE2=∣W?AE2(W)∣2(4)\mathscr{L}{AE_1} = | W -AE_1(W)|2 \ \mathscr{L}{AE_2} = | W -AE_2(W)|_2 \tag{4} LAE1?=∣W?AE1?(W)∣2?LAE2?=∣W?AE2?(W)∣2?(4) 第二階段:對抗性訓(xùn)練。在第二階段,目標(biāo)是訓(xùn)練AE2以區(qū)分來自AE1的真實(shí)數(shù)據(jù),并訓(xùn)練AE1愚弄AE2。來自AE1的數(shù)據(jù)再次被EEE壓縮到 ZZZ,然后由AE2重建。使用對抗性訓(xùn)練配置,AE1的目標(biāo)是最小化WWW和AE2輸出之間的差異。AE2的目標(biāo)是最大化這種差異。AE1測試是否成功愚弄了AE2,AE2將AE1重建的候選數(shù)據(jù)與真實(shí)數(shù)據(jù)區(qū)分開來。訓(xùn)練目標(biāo)是: min?AE1max?AE2∣W?AE2(AE1(W))∣2(5)\min _{A E{1}} \max {A E{2}}\left|W-A E_{2}\left(A E_{1}(W)\right)\right|{2} \tag{5} AE1min?maxAE2∣W?AE2?(AE1?(W))∣2(5) 計算以下?lián)p失: LAE1=+∣W?AE2(AE1(W))∣2LAE1=+∣W?AE2(AE1(W))∣2(6)\mathscr{L}{A E_{1}}=+\left|W-A E_{2}\left(A E_{1}(W)\right)\right|{2} \ \mathscr{L}{A E_{1}}=+\left|W-A E_{2}\left(A E_{1}(W)\right)\right|{2} \tag{6} LAE1?=+∣W?AE2?(AE1?(W))∣2?LAE1?=+∣W?AE2?(AE1?(W))∣2(6) 兩階段訓(xùn)練。在我們的架構(gòu)中,自動編碼器有雙重用途。AE1將W(相位1)的重建誤差降至最低,并將W與AE2(相位2)重建輸出之間的差異降至最低。作為AE1,AE2使W的重建誤差最小化(第1階段),但隨后使AE1重建的輸入數(shù)據(jù)的重建誤差最大化(第2階段)。每個AE的雙重目的訓(xùn)練目標(biāo)表示為進(jìn)化方案中等式4、6的組合,其中每個部分的比例隨時間演化: LAE1=1n∣W?AE1(W)∣2+(1?1n)∣W?AE2(AE1(W))∣2(7)\mathscr{L}{A E_{1}}=\frac{1}{n}\left|W-A E_{1}(W)\right|{2}+\left(1-\frac{1}{n}\right)\left|W-A E{2}\left(A E_{1}(W)\right)\right|_{2} \tag{7} LAE1?=n1?∣W?AE1?(W)∣2+(1?n1?)∣W?AE2(AE1?(W))∣2?(7)
LAE2=1n∣W?AE2(W)∣2+(1?1n)∣W?AE2(AE1(W))∣2(8)\mathscr{L}{A E{2}}=\frac{1}{n}\left|W-A E_{2}(W)\right|{2}+\left(1-\frac{1}{n}\right)\left|W-A E{2}\left(A E_{1}(W)\right)\right|_{2} \tag{8} LAE2=n1?∣W?AE2?(W)∣2+(1?n1?)∣W?AE2(AE1?(W))∣2?(8)
其中,nnn 表示一個訓(xùn)練時期。兩階段訓(xùn)練過程在算法1進(jìn)行總結(jié)。
圖1:說明訓(xùn)練階段(上)和檢測階段(下)的信息流的擬議架構(gòu)。
算法 1 USAD 訓(xùn)練算法(Smileyan)
值得注意的是,AE2在嚴(yán)格意義上并不是一個鑒別器,因?yàn)槿绻妮斎胧窃紨?shù)據(jù),則是來自等式4的損失介入。當(dāng)其輸入是重建時,等式5-6中的目標(biāo)會介入。
推論。 在檢測階段(算法2),異常分?jǐn)?shù)定義為:
A(W^)=α∣W^?AE1(W^)∣2+β∣W^?AE2(AE1(W^))∣2(9)\mathscr{A}(\widehat{W})=\alpha\left|\widehat{W}-A E_{1}(\widehat{W})\right|{2}+\beta\left|\widehat{W}-A E{2}\left(A E_{1}(\widehat{W})\right)\right|_{2} \tag{9} A(W)=α?W?AE1?(W)?2+β?W?AE2(AE1?(W))?2?(9)
其中,α+β=1\alpha + \beta = 1α+β=1,用于參數(shù)化FP(False Positive)和 TP(True Positive)之間的權(quán)衡。如果 α\alphaα 表現(xiàn)超過 β\betaβ ,我們減少了 TP 和 FP 的數(shù)量。相反地,如果 α\alphaα 表現(xiàn)不如 β\betaβ ,我們同時增加 TP 和 FP 的數(shù)量。我們將 α<β\alpha < \betaα<β 表示高檢測靈敏度場景;α>β\alpha > \betaα>β 表示低檢查靈敏度場景。這種參數(shù)化方案具有極大的工業(yè)價值。它讓使用一個經(jīng)過訓(xùn)練的模型,在推理過程中獲得一組不同的敏感性異常分?jǐn)?shù)。第5.2節(jié)進(jìn)一步說明了這一點(diǎn)。
算法2 USAD檢測算法
3.3實(shí)現(xiàn)
我們的異常檢測方法分為三個階段。訓(xùn)練和檢測共有一個第一個數(shù)據(jù)預(yù)處理階段,其中數(shù)據(jù)被標(biāo)準(zhǔn)化并拆分為長度為K的時間窗口。第二個階段用于訓(xùn)練方法。該訓(xùn)練是離線的,旨在捕捉多變量時間序列預(yù)定義部分(幾周/幾個月)的正常行為,并為每個時間窗口生成異常評分。這種離線訓(xùn)練程序可以定期自動執(zhí)行,注意選擇一個不包括太多被視為異常的訓(xùn)練周期。最后一個階段是異常檢測。使用第二階段訓(xùn)練的模型在線執(zhí)行。當(dāng)一個新的時間窗口到來時,該模型用于獲得異常評分。如果窗口的異常評分高于定義的異常閾值,則新的時間窗口被宣布為異常。
四、實(shí)驗(yàn)設(shè)置
本節(jié)描述了實(shí)驗(yàn)和可行性研究中使用的數(shù)據(jù)集和性能指標(biāo)。
4.1公共數(shù)據(jù)集
在我們的實(shí)驗(yàn)中使用了五個公開的數(shù)據(jù)集。表1總結(jié)了數(shù)據(jù)集的特征,下文對其進(jìn)行了簡要描述。
表1:基準(zhǔn)數(shù)據(jù)集(%)為數(shù)據(jù)集中異常數(shù)據(jù)點(diǎn)的百分比。
安全水處理(SWaT)數(shù)據(jù)集。SWaT數(shù)據(jù)集1是現(xiàn)實(shí)世界中生產(chǎn)過濾水的工業(yè)水處理廠的縮小版[4]。收集的數(shù)據(jù)集[13]包括11天的連續(xù)操作:在正常操作下收集7天,在攻擊場景下收集4天。
水分配(WADI)數(shù)據(jù)集。數(shù)據(jù)集2來自WADI試驗(yàn)臺,SWaT試驗(yàn)臺的擴(kuò)展[13]。它包括16天的連續(xù)運(yùn)行,其中14天是在正常運(yùn)行情況下收集的,2天是在攻擊情況下收集的。
服務(wù)器計算機(jī)數(shù)據(jù)集。SMD是一個新的5周數(shù)據(jù)集,由一家大型互聯(lián)網(wǎng)公司收集并公開3[17]。它包含來自28臺服務(wù)器的數(shù)據(jù),每臺服務(wù)器都由m=33個指標(biāo)監(jiān)控。SMD分為兩個大小相同的子集:前半部分是訓(xùn)練集,后半部分是測試集。
土壤濕度主動-被動(SMAP)衛(wèi)星和火星科學(xué)實(shí)驗(yàn)室(MSL)探測車數(shù)據(jù)集。SMAP和MSL是兩個現(xiàn)實(shí)世界的公共數(shù)據(jù)集,是NASA的專家標(biāo)記數(shù)據(jù)集[8]。它們分別包含55/27個實(shí)體的數(shù)據(jù),每個實(shí)體由m=25/55指標(biāo)監(jiān)控。
4.2 可行性研究:Orange數(shù)據(jù)集
我們的可行性研究是在專門為此目的收集的內(nèi)部數(shù)據(jù)集上進(jìn)行的。收集的數(shù)據(jù)來自O(shè)range網(wǎng)站廣告網(wǎng)絡(luò)的技術(shù)和商業(yè)指標(biāo)。這些數(shù)據(jù)代表了總共33個連續(xù)變量,包括27個技術(shù)測量值和6個業(yè)務(wù)測量值。數(shù)據(jù)集分為兩個子集:一個對應(yīng)于約32天的訓(xùn)練集和一個對應(yīng)于約60天活動的測試集。我們選擇了60天的測試,對應(yīng)于橙色的關(guān)鍵時期。為了獲得我們的訓(xùn)練,我們選擇了之前連續(xù)幾天沒有發(fā)生任何重大事件的公司。我們獲得了32天的訓(xùn)練,基本上是正常的。測試集中的異常由領(lǐng)域?qū)<腋鶕?jù)事件報告進(jìn)行標(biāo)記。其主要特征見表1。
4.3 評價指標(biāo)
精密度(P)、召回率(R)和F1分?jǐn)?shù)(F1)用于評估異常檢測性能: P=TPTP+FP,R=TPTP+FN,F1=2?P?RP+RP=\frac{T P}{T P+F P}, \quad R=\frac{T P}{T P+F N}, \quad F 1=2 \cdot \frac{P \cdot R}{P+R} P=TP+FPTP?,R=TP+FNTP?,F1=2?P+RP?R? TP表示真陽性,FP表示假陽性,FN表示假陰性。我們認(rèn)為一個窗口被標(biāo)記為異常,只要它包含的點(diǎn)中的一個被檢測為異常。
在[17]中,作者使用平均精確度和平均召回率計算F1分?jǐn)?shù)。為了完整性,我們在將我們的方法與他們的基準(zhǔn)進(jìn)行比較時報告了這一度量。我們用F1分?jǐn)?shù)來表示這一指標(biāo): F1=2?Pˉ?RˉPˉ+RˉF 1^{}=2 \cdot \frac{\bar{P} \cdot \bar{R}}{\bar{P}+\bar{R}} F1=2?Pˉ+RˉPˉ?Rˉ? 其中 Pˉ\bar{P}Pˉ,Rˉ\bar RRˉ 分別表示平均精確度和召回率。
通過將每種評估方法的結(jié)果與注釋的基本事實(shí)進(jìn)行比較來評估性能。為了與[17]提出的基準(zhǔn)進(jìn)行直接比較,我們使用了他們的方法。異常觀測通常以連續(xù)異常段的形式出現(xiàn)。在這種方法中,如果至少一個異常段的觀測被正確檢測到,則該段的所有其他觀測也被視為被正確檢測到,即使它們沒有被正確檢測到。地面真值異常段以外的觀測結(jié)果照常處理。我們表示該接近點(diǎn)調(diào)整。我們還評估了不屬于基準(zhǔn)的兩個數(shù)據(jù)集(SWaT和WADI)的性能,無需進(jìn)行點(diǎn)調(diào)整[17]。
五、實(shí)驗(yàn)與結(jié)果
我們通過評估USAD的性能并將其與其他最先進(jìn)的方法(5.1)進(jìn)行比較,分析不同參數(shù)如何影響該方法(5.2)的性能,評估其計算性能(5.3),以及通過消融研究來研究USAD的關(guān)鍵特性,在每次消融研究中,我們抑制其中一個訓(xùn)練階段(5.4)。最后,在第5.5節(jié)中,我們使用Orange的內(nèi)部數(shù)據(jù)報告了一項(xiàng)可行性研究,以證明USAD滿足在生產(chǎn)中部署所需的要求。
5.1整體性能
為了證明USAD的整體性能,我們將其與檢測多變量時間序列異常的五種無監(jiān)督方法進(jìn)行了比較。這些是:隔離林(IF)[10]、自動編碼器(AE)、LSTM-VAE[14]、DAGMM[21]、全異常[17]。由于并非所有用于比較的異常檢測方法都提供了選擇異常閾值的機(jī)制,我們測試了每個模型的可能異常閾值,并報告了與最高F1分?jǐn)?shù)相關(guān)的結(jié)果。表2詳細(xì)列出了在公共數(shù)據(jù)集上獲得的所有方法的性能結(jié)果。頂部顯示了使用SWaT和WADI數(shù)據(jù)集獲得的結(jié)果,而表格底部報告了使用剩余三個數(shù)據(jù)集從[17]提出的基準(zhǔn)中獲得的結(jié)果。在沒有點(diǎn)調(diào)整數(shù)據(jù)集的情況下,USAD在SWaT、MSL、SMAP和WADI上優(yōu)于所有方法,其F1在SMD數(shù)據(jù)集上排名第二。平均而言,所有數(shù)據(jù)集(表3)是性能最好的方法,超過了當(dāng)前技術(shù)狀態(tài)的0.096[17]。
表2:性能比較。頂部:SWaT和WADI數(shù)據(jù)集中的精確度(P)、召回率(R)和F1分?jǐn)?shù)(有無點(diǎn)調(diào)整)。底部:使用[17]提出的基準(zhǔn)點(diǎn)ajust。P、 R F1和F1*。
表3:使用點(diǎn)調(diào)整的所有數(shù)據(jù)集的平均性能(±標(biāo)準(zhǔn)差)。
總體而言,IF和DAGMM的性能最低。這是兩種無監(jiān)督的異常檢測方法,它們不利用觀測之間的時間信息。對于時間序列,時間信息是重要且必要的,因?yàn)橛^測值是相關(guān)的,歷史數(shù)據(jù)有助于重建當(dāng)前觀測值。在USAD中,無論是訓(xùn)練還是檢測,輸入都是一系列觀察結(jié)果,其中包含保留這些信息的時間關(guān)系。
盡管大多數(shù)數(shù)據(jù)集的結(jié)果相對較差,但I(xiàn)F在WADI上通過積分調(diào)整獲得了最高的F1分?jǐn)?shù)。這可以通過點(diǎn)調(diào)整方法和WADI數(shù)據(jù)集的性質(zhì)來解釋。IF獨(dú)立考慮每個觀察/時間點(diǎn),并將標(biāo)簽指定給單個時間點(diǎn),而不是窗口。WADI的異常持續(xù)時間長,點(diǎn)調(diào)整驗(yàn)證異常的整體是否被良好檢測到。因此,與點(diǎn)調(diào)整所獲得的優(yōu)勢相比,IF幾乎不受一次只影響一次觀測的不良預(yù)測(FPs)的影響,盡管可能錯過了幾個異常,但點(diǎn)調(diào)整驗(yàn)證了良好預(yù)測的整個部分。不同的是,AE,LSTM-VAE,使用連續(xù)觀測作為輸入,允許這兩種方法保留時間信息。無論輸入窗口中是否存在異常,這些方法都可以執(zhí)行盡可能好的重建。這不允許他們檢測到接近正常數(shù)據(jù)的異常。USAD通過對抗性訓(xùn)練彌補(bǔ)了基于AE的方法的這一缺陷。OmniAboration也出現(xiàn)了類似的情況,因?yàn)樗鼪]有一種機(jī)制可以放大“輕微”異常。
5.2 參數(shù)的影響
在本節(jié)中,我們研究了不同參數(shù)和因素對USAD性能的影響。所有實(shí)驗(yàn)均使用SWaT數(shù)據(jù)集進(jìn)行。
我們研究的第一個因素是USAD如何響應(yīng)訓(xùn)練數(shù)據(jù)的不同下采樣率。下采樣通過減小數(shù)據(jù)的大小來加速學(xué)習(xí),并且具有去噪效果。然而,如果丟失太多信息,可能會產(chǎn)生負(fù)面影響。圖2(A)總結(jié)了使用5種不同速率獲得的結(jié)果[1,5,10,20,50]。結(jié)果表明,USAD的性能對下采樣相對不敏感,在不同采樣率下的性能相對穩(wěn)定。這表明下采樣率的選擇對該方法并不重要。對于我們的實(shí)驗(yàn),我們選擇了5的速率。這是在消除訓(xùn)練數(shù)據(jù)的噪聲和限制信息丟失之間的最佳權(quán)衡。此外,它還可以將USAD所需的訓(xùn)練時間減少5分鐘。
圖2:參數(shù)的影響。精度、召回率和F1分?jǐn)?shù)作為a)訓(xùn)練集的下采樣率,B)窗口大小K,C)潛在空間的維度Z和D)訓(xùn)練集中異常的百分比的函數(shù)
我們調(diào)查的第二個因素是USAD如何響應(yīng)數(shù)據(jù)中不同的窗口大小。窗口大小對可以檢測到的異常行為類型有影響,這直接影響異常檢測的速度,因?yàn)闄z測的速度是由窗口的持續(xù)時間定義的。圖2(B)給出了五種不同窗口大小K的結(jié)果 ∈\in∈ [5, 10, 20, 50, 100]. 當(dāng)窗口大小K=10時,效果最好。當(dāng)窗口較小時,USAD可以更快地檢測到行為變化,因?yàn)槊看斡^察都會對異常評分產(chǎn)生更大的影響。一個太大的窗口將不得不等待更多的觀察來檢測異常。然而,更大的窗口將檢測到更長的異常。然而,如果異常太短,它可能隱藏在過大窗口的點(diǎn)數(shù)中。對于Orange,一個小窗口更好,因?yàn)樗试S更快的訓(xùn)練和更快的檢測。
潛變量Z位于m中?維度空間,它被假定為小于原始數(shù)據(jù)之一。我們研究了m在USAD績效中的作用。圖2(C)顯示了m的結(jié)果∈ [5, 10, 20, 40, 100]. 結(jié)果表明,Z的極小維數(shù)會導(dǎo)致編碼階段的大量信息丟失,而解碼器無法恢復(fù)這些信息,從而導(dǎo)致性能不佳。在另一個極端,使用m的大值會導(dǎo)致對訓(xùn)練數(shù)據(jù)的記憶,從而導(dǎo)致性能下降。相反,m的中間值似乎對成績沒有太大影響,顯示出相對較高且穩(wěn)定的F1成績。
USAD是在只使用正常樣本形成訓(xùn)練集的假設(shè)下進(jìn)行訓(xùn)練的。但在實(shí)踐中,訓(xùn)練集不僅包含正常數(shù)據(jù)。因此,我們研究了當(dāng)在訓(xùn)練數(shù)據(jù)集中注入噪聲打破這一假設(shè)時,該方法的性能會受到多大程度的影響。我們在代表訓(xùn)練數(shù)據(jù)集大小百分比的隨機(jī)時間點(diǎn)中注入高斯噪聲(μ=0,σ=0.3)。我們將這個百分比從1%到30%不等。在下采樣(速率=5)后注入噪聲,以避免下采樣造成噪聲衰減。
圖2(D)顯示了隨著噪聲水平的增加,我們的方法在P、R和F1方面的性能。USAD在高達(dá)5%的噪聲水平下表現(xiàn)出相對穩(wěn)定的高性能,從而證明了它的魯棒性。當(dāng)訓(xùn)練集噪聲為10%時,性能開始出現(xiàn)輕微下降。然而,以F1得分衡量,整體表現(xiàn)仍然不錯。有趣的是,這種性能下降是由較低的精度造成的。由于回憶保持相對恒定,這意味著訓(xùn)練集中的噪聲越大,該方法就越容易檢測到誤報。這種行為表明,隨著噪音開始增加,USAD不再能夠正確地學(xué)習(xí)訓(xùn)練集中存在的最復(fù)雜的行為。因此,由于USAD將復(fù)雜的正常行為檢測為異常,測試集中的假陽性數(shù)量增加。最后,高噪聲水平(30%)會導(dǎo)致性能顯著下降。然而,在生產(chǎn)環(huán)境中進(jìn)行訓(xùn)練時出現(xiàn)如此高的異常率是不現(xiàn)實(shí)的。這意味著在給定的時間段內(nèi),30%的樣本是未被注意到的異常。由于生產(chǎn)中存在如此多的異常情況,Orange的事故監(jiān)督部門錯過如此多的事故是不現(xiàn)實(shí)的。因此,在Orange的生產(chǎn)環(huán)境中進(jìn)行訓(xùn)練時,USAD不太可能遇到如此高的異常率。
最后,我們研究了靈敏度閾值的作用(等式9)。較大的α對應(yīng)于在異常評分中更重視AE1自動編碼器的重建,而較大的β對應(yīng)于更重視AE2自動編碼器的重建(見圖1)。調(diào)整檢測靈敏度而不必重新訓(xùn)練模型的可能性對Orange非常重要。表4報告了檢測到的FPs、TPs和F1分?jǐn)?shù)中α、β變化的影響。
表4:SWaT數(shù)據(jù)集不同靈敏度閾值的異常檢測結(jié)果
我們觀察到,通過增加α和減少β,可以減少FPs的數(shù)量(從0.0到0.9時最多減少50%),同時限制TPs數(shù)量的下降(從0.0到0.9時減少3%)。因此,α和β的調(diào)節(jié)允許參數(shù)化USAD的靈敏度,以滿足生產(chǎn)環(huán)境的要求。通過一個模型,可以實(shí)現(xiàn)不同級別的靈敏度,以便檢測滿足Orange監(jiān)管團(tuán)隊中不同級別的需求。管理人員更喜歡較低的敏感度,限制誤報的數(shù)量,但在發(fā)生重要事件時向他們發(fā)出警告,而技術(shù)人員更喜歡較高的敏感度,允許他們錯過最少的事件。
5.3 訓(xùn)練時間
在本節(jié)中,我們將研究USAD的計算性能,并將其與OmniAnomaly進(jìn)行比較,OmniAnomaly在異常檢測中提供了最接近的性能(見表3)。為此,我們測量了5個公共數(shù)據(jù)集上每個epoch所花費(fèi)的平均時間。SMD, SMAP和MSL的參考時間是所有實(shí)體(即SMD的28臺機(jī)器,SMAP的55臺機(jī)器和MSL的27臺機(jī)器)上的一個epoch的平均時間。兩種方法都使用NVIDIA GeForce GTX 1080 Ti進(jìn)行訓(xùn)練。表5給出了得到的結(jié)果。USAD在多變量時間序列的無監(jiān)督異常檢測中表現(xiàn)良好,同時將訓(xùn)練時間平均縮短了547倍。
5.4消融研究
使用SMD、SMAP和MSL數(shù)據(jù)集,我們調(diào)查了USAD兩階段培訓(xùn)的效果。圖3顯示了使用USAD(組合)、USAD僅進(jìn)行第一階段訓(xùn)練(自動編碼器)和僅進(jìn)行第二階段訓(xùn)練(對抗性)時F1成績的性能比較。在沒有對抗性學(xué)習(xí)賬戶的情況下,訓(xùn)練USAD使用等式4中給出的目標(biāo),而抑制自動編碼器賬戶使用等式5-6中的目標(biāo)。
圖3:有和沒有對抗性訓(xùn)練對USAD的影響
GAN啟發(fā)的對抗性訓(xùn)練相比第二好的選擇,表現(xiàn)提高了5.88%(F1分?jǐn)?shù)),即美國陸軍部沒有對抗性訓(xùn)練,相比僅使用對抗性訓(xùn)練,表現(xiàn)提高了24.09%。這可以通過USAD引入的放大重建誤差效應(yīng)來解釋,而不管輸入窗口中是否存在異常。因此,沒有對抗性訓(xùn)練的USAD無法檢測到最接近正常數(shù)據(jù)的異常情況。USAD在對抗性訓(xùn)練中表現(xiàn)不佳的原因是,該方法在開始對抗性訓(xùn)練的第2階段之前,沒有自動編碼器訓(xùn)練,無法將重量定位在有利的位置。
總之,任何訓(xùn)練階段的消失都會導(dǎo)致較差的表現(xiàn)。例如,USAD的兩種消融版本的F1分?jǐn)?shù)都低于幾種基準(zhǔn)方法(表2,底部)。
5.5 可行性研究
對Orange來說,復(fù)雜IT系統(tǒng)監(jiān)控的自動化是一個挑戰(zhàn)。在研究USAD的特性并評估其使用公共數(shù)據(jù)集的性能后,該公司必須確保該方法對其數(shù)據(jù)同樣有效。
表6報告了在內(nèi)部數(shù)據(jù)集中獲得的結(jié)果。在兩個月的測試數(shù)據(jù)中,USAD能夠在不到30分鐘內(nèi)檢測到所有重大事件。例如,USAD能夠在不到30分鐘的時間內(nèi)檢測到一個事件,負(fù)責(zé)Orange監(jiān)管的運(yùn)營商需要24小時才能檢測到該事件(圖4)。此事件是由配置文件中引入的錯誤導(dǎo)致的,該錯誤允許將廣告顯示分配給意外的合作伙伴。這導(dǎo)致廣告展示的數(shù)量(總印象)增加,同時降低了平均展示價格(總平均ecpm)。因此,收入(cpm cpc總收入)等重要業(yè)務(wù)指標(biāo)保持穩(wěn)定,因此運(yùn)營商無法快速檢測到事件。面對要調(diào)查的大量指標(biāo),監(jiān)管負(fù)責(zé)人集中精力對業(yè)務(wù)影響較大的指標(biāo)進(jìn)行監(jiān)管,因此解釋說,檢測此配置事件需要24小時。
圖4:來自可行性研究的時間序列示例,其中USAD檢測到配置事件。顯示了33個時間變量中的24個。橙色方框突出顯示了引用的變量。橙色表示5.5節(jié)中提到的系列。
六、結(jié)論
在本文中,我們提出了USAD,這是一種基于自動編碼器的多變量時間序列無監(jiān)督異常檢測方法,并在受生成性對抗網(wǎng)絡(luò)啟發(fā)的對抗性訓(xùn)練中進(jìn)行訓(xùn)練。其自動編碼器架構(gòu)使其成為一種無監(jiān)督的方法,并允許其在對抗性訓(xùn)練中表現(xiàn)出極大的穩(wěn)定性。我們使用了一組五個公共參考數(shù)據(jù)集來研究USAD的預(yù)期屬性。就標(biāo)準(zhǔn)F1分?jǐn)?shù)而言,該方法在公共參考數(shù)據(jù)集上的性能優(yōu)于最先進(jìn)的技術(shù)。此外,它的快速訓(xùn)練、對參數(shù)選擇的魯棒性和穩(wěn)定性使得模型在工業(yè)環(huán)境中具有很高的可擴(kuò)展性。USAD還提供了將其靈敏度參數(shù)化的可能性,并可以從單個模型生成一組檢測水平。這種可能性為Orange的監(jiān)管團(tuán)隊提供了必要的功能,使其能夠在大規(guī)模基礎(chǔ)設(shè)施的生產(chǎn)中使用該方法。由于團(tuán)隊需要能夠降低檢測靈敏度,以防止在工作量過高時僅發(fā)生重大事件,因此推理過程中倍增檢測靈敏度的能力使該模型在公司內(nèi)具有極高的可擴(kuò)展性,并帶來重大優(yōu)勢。首先,它允許我們通過將監(jiān)管模型的數(shù)量限制為一個,來限制培訓(xùn)監(jiān)管模型所需的時間。第二,投入生產(chǎn)的深度學(xué)習(xí)模型必須由團(tuán)隊監(jiān)控和監(jiān)督。通過限制模型數(shù)量,我們可以減少在生產(chǎn)過程中監(jiān)督模型所花費(fèi)的時間,從而將監(jiān)督人員的時間用于不同的任務(wù)。
利用Orange的內(nèi)部數(shù)據(jù)進(jìn)行的可行性研究提供了結(jié)論性結(jié)果,證實(shí)USAD為Orange的IT系統(tǒng)監(jiān)督自動化提供了一個有希望的方向。它還表明了在部署和執(zhí)行過程中可能會遇到的一些困難。例如,在數(shù)據(jù)收集過程中(第4.2節(jié)),我們遇到了意想不到的困難,無法收集不包含太多異常的連續(xù)培訓(xùn)期。這是一個有趣的方面,它讓我們思考了成功部署USAD所需的基礎(chǔ)設(shè)施。
再現(xiàn)性的補(bǔ)充材料
A.1 實(shí)驗(yàn)環(huán)境
所有實(shí)驗(yàn)均在配備英特爾(R)至強(qiáng)(R)CPU E5-2699 v4@2.20GHz和270 GB RAM的機(jī)器上進(jìn)行,該機(jī)器位于運(yùn)行CentOS 7 3.10.0版的docker容器中,可訪問NVIDIA GeForce GTX 1080 Ti 11GBGDDR5X GPU。隔離林(IF)來自scikit learn 4實(shí)現(xiàn)。DAGMM來自Github 5上的Tensorflow實(shí)現(xiàn)。LSTM-VAE來自Github實(shí)現(xiàn)6。OmniAboration來自作者對Github 7的Tensorflow實(shí)現(xiàn)。最后,我們在Pytorch開發(fā)了USAD和AE。
A.2 在我們的實(shí)現(xiàn)中使用的包
我們算法實(shí)現(xiàn)中使用的相關(guān)軟件包及其版本如下所示:
- python==3.6.8
- pytorch==1.3.1
- cuda==10.0
- scikit-learn==0.20.2
- numpy==1.15.4
A.3 USAD每個數(shù)據(jù)集的超參數(shù)
對于每個數(shù)據(jù)集,我們有4個參數(shù)。窗口的大小,對應(yīng)于我們輸入的時間序列的大小。預(yù)處理過程中的歷元數(shù)、Z的維數(shù)(即USAD潛在空間)以及最終的下采樣率。通過取每個特征的中值進(jìn)行下采樣。
表7:每個數(shù)據(jù)集的USAD超參數(shù)。K為窗口大小,m為潛在空間的維數(shù)。
A.4 USAD實(shí)現(xiàn)
輸入大小對應(yīng)于窗口的大小乘以多變量時間序列的維數(shù)。
A.4.1 Encoder.
- Linear : input size -> input size / 2
- Relu
- Linear : input size /2 -> input size / 4
- Relu
- Linear : input size /4 -> latent space size
- Relu
A.4.2 Decoder. 兩個解碼器具有相同的體系結(jié)構(gòu)。
- Linear : latent space size -> input size / 4
- Relu
- Linear : input size /4 -> input size / 2
- Relu
- Linear : input size /4 -> input size
- Sigmoid
作為優(yōu)化器,我們使用Adam的pytorch實(shí)現(xiàn)和他的默認(rèn)學(xué)習(xí)率。