戈寧振,翁小清,袁子璇
(河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院,石家莊 050061)
時(shí)間序列是由一系列具有固定時(shí)間間隔的實(shí)值型樣本組成的序列型數(shù)據(jù)[1],廣泛地存在于金融、工業(yè)制造以及醫(yī)學(xué)等領(lǐng)域中。 當(dāng)少量觀測樣本或由多個(gè)觀測樣本構(gòu)成的序列顯著地偏離大多數(shù)觀測樣本時(shí),有理由懷疑這些觀測樣本是由不同機(jī)制產(chǎn)生的,這樣的觀測樣本被認(rèn)為是異常樣本[2]。 時(shí)間序列異常檢測就是在時(shí)間序列數(shù)據(jù)中找到這樣的觀測樣本,為后續(xù)任務(wù)提供有價(jià)值的信息。 時(shí)間序列異常檢測廣泛地應(yīng)用于工業(yè)生產(chǎn)監(jiān)控[3]、金融風(fēng)險(xiǎn)預(yù)警[4]、醫(yī)療數(shù)據(jù)分析[5]以及網(wǎng)絡(luò)入侵檢測[6]等領(lǐng)域。
近幾年來,基于深度學(xué)習(xí)的異常檢測模型得到了廣泛應(yīng)用。 其中,基于重構(gòu)的異常檢測方法能夠在復(fù)雜數(shù)據(jù)中提取特征信息,同時(shí)對噪聲具有魯棒性,受到了大量研究人員的關(guān)注。 例如Xu 等學(xué)者[6]利用變分自編碼模型(variational autoencoder,VAE)檢測服務(wù)器KPI 異常。 Yin 等學(xué)者[7]利用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的自編碼模型(autoencoder,AE)檢測物聯(lián)網(wǎng)設(shè)備時(shí)間序列異常。 Zhou 等學(xué)者[8]利用對抗生成網(wǎng)絡(luò)(generative adversarial networks,GAN)檢測心跳時(shí)間序列異常。 基于重構(gòu)的方法通過學(xué)習(xí)正常數(shù)據(jù)潛在的分布模式,假定不符合這些模式的異常數(shù)據(jù)難以重構(gòu),利用重構(gòu)誤差進(jìn)行異常檢測。 然而大多數(shù)基于重構(gòu)的方法只假定正常數(shù)據(jù)服從單一模式,尤其對于子序列樣本數(shù)據(jù),忽略了多模式存在的可能。 如圖1 所示,在MIT-BIH[9]心跳數(shù)據(jù)中,標(biāo)記為正常的心跳樣本存在多種波形,各個(gè)波形的形狀差異較大,有理由認(rèn)為這些波形遵循不同的模式。 如果不考慮數(shù)據(jù)中的多種模式,檢測模型可能只會(huì)關(guān)注到單一模式,這必然導(dǎo)致遵循其他模式的心跳波形難以重構(gòu),造成大量的誤判。
圖1 4 個(gè)標(biāo)記為正常的心跳波形,各個(gè)波形間存在顯著差異Fig. 1 Four heartbeats are marked as normal and there are significant differences between them
針對上述問題,本文提出了一種基于子空間重構(gòu)的異常檢測算法(GMMSAE),旨在盡可能地學(xué)習(xí)時(shí)間序列數(shù)據(jù)中潛在的多種模式,以提高檢測效果。GMMSAE 首先利用高斯混合模型(gaussian mixture model,GMM)在稀疏自編碼(sparse autoencoder,SAE)的潛在變量上進(jìn)行聚類,利用聚類結(jié)果將原始輸入樣本分割為不同的組,這樣的組稱其為子空間,每個(gè)子空間中的數(shù)據(jù)遵循特定的模式。 之后每個(gè)子空間訓(xùn)練對應(yīng)的SAE 模型,以達(dá)到學(xué)習(xí)復(fù)雜數(shù)據(jù)中多種模式的目標(biāo)。 在檢測階段,每個(gè)樣本利用這些子空間模型進(jìn)行重構(gòu),最小的重構(gòu)誤差作為樣本異常得分,異常得分高于指定閾值的樣本被認(rèn)為是異常的。 本文在多個(gè)真實(shí)的時(shí)序數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),結(jié)果表明:提出的方法在AUC(area under curve)和AP(average precision)兩個(gè)性能指標(biāo)上,顯著地優(yōu)于已有方法。
在時(shí)間序列異常檢測領(lǐng)域,早期時(shí)間序列檢測模型主要基于統(tǒng)計(jì)學(xué)方法。 此類方法通過對時(shí)間序列歷史數(shù)據(jù)進(jìn)行建模,挖掘數(shù)據(jù)中蘊(yùn)含的模式或規(guī)律對未來數(shù)據(jù)預(yù)測,利用預(yù)測誤差識(shí)別異常數(shù)據(jù)。常見的方法有差分整合移動(dòng)平均自回歸模型( autoregressive integrated moving average model,ARIMA)[10]、 隱馬爾可夫模型(hidden markov model,HMM)[11]以及指數(shù)權(quán)重移動(dòng)平均模型(exponentially weighted moving average,EWMA)[12]等。 基于統(tǒng)計(jì)模型的異常檢測算法具有可解釋性強(qiáng)、效率高等特點(diǎn),但卻無法捕獲時(shí)間序列的非線性特征,難以適用于復(fù)雜的檢測場景。
相比于基于統(tǒng)計(jì)學(xué)的檢測算法,機(jī)器學(xué)習(xí)算法可以在不關(guān)注數(shù)據(jù)底層分布的情況下進(jìn)行異常識(shí)別[13],因此基于傳統(tǒng)機(jī)器學(xué)習(xí)的異常檢測模型具有更廣泛的應(yīng)用場景。 此類方法主要分為基于距離的方法、基于密度的方法、基于聚類的方法以及基于分類的方法[14]。 如Jones 等學(xué)者[15]通過定義范例樣本(正常樣本),計(jì)算其他樣本與范例樣本之間的距離定義異常分?jǐn)?shù),異常分?jǐn)?shù)高的樣本被認(rèn)為是異常的。 但現(xiàn)實(shí)世界中的時(shí)間序列數(shù)據(jù)復(fù)雜多變,尋找一個(gè)能夠同時(shí)考慮形狀信息和尺度信息的距離度量是困難的。Breunig 等學(xué)者[16]將局部離群因子(local outlier factor,LOF)用于時(shí)間序列異常檢測。 LOF 是一種基于密度的異常檢測方法,通過密度估計(jì)的方式,將低密度區(qū)域的數(shù)據(jù)識(shí)別為異常。 基于密度的方法需要大量樣本進(jìn)行密度估計(jì),對數(shù)據(jù)規(guī)模有一定要求。Thuy 等學(xué)者[17]利用Leader 聚類進(jìn)行異常識(shí)別,將遠(yuǎn)離大多數(shù)類簇的樣本識(shí)別為異常樣本。 但在聚類算法中,類簇的數(shù)量難以確定,設(shè)定不合適會(huì)嚴(yán)重影響檢測效果。 單類支持向量機(jī)(one-class SVM,OCSVM)[18-19]廣泛地應(yīng)用于基于分類的異常檢測。 此類方法將異常檢測轉(zhuǎn)化為二分類問題,即正常樣本屬于一類,其他類別的樣本都屬于異常,通過尋找合適的分類邊界將正常數(shù)據(jù)和異常數(shù)據(jù)進(jìn)行區(qū)分,非常適用于類分布極度不平衡的數(shù)據(jù)。 但對于高維復(fù)雜的時(shí)間序列,分類邊界很難找到。 總地來說,基于傳統(tǒng)機(jī)器學(xué)習(xí)方法的檢測模型在數(shù)據(jù)量較小、數(shù)據(jù)維數(shù)較低的情況下,能夠獲得較好的檢測性能。 但隨著時(shí)間序列數(shù)據(jù)日益龐大且復(fù)雜,這些方法難以提取有效特征,導(dǎo)致檢測效果不理想。
近些年,隨著深度神經(jīng)網(wǎng)絡(luò)的快速發(fā)展,大量基于深度神經(jīng)網(wǎng)絡(luò)模型的時(shí)間序列異常檢測算法得到了應(yīng)用,并取得了顯著效果[20]。 如長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)[21],該方法能夠有效地捕獲時(shí)間序列的時(shí)序依賴,非常適合時(shí)間序列建模。 Hundman 等學(xué)者[22]利用LSTM 作為預(yù)測器檢測航天器時(shí)間序列中的異常,比傳統(tǒng)算法的性能有顯著提高。 相比于基于預(yù)測的異常檢測,基于重構(gòu)的深度學(xué)習(xí)模型具有更高的性能以及對噪音數(shù)據(jù)的更魯棒,大多數(shù)研究者聚焦于基于重構(gòu)的檢測模型。 基于重構(gòu)的異常檢測模型盡可能地還原輸入樣本,利用重構(gòu)樣本與輸入樣本之間的誤差進(jìn)行異常檢測。 如Thill 等學(xué)者[23]利用時(shí)序卷積自編碼模型(temporal convolution network autoencoder,TCN -AE)檢測心跳樣本異常,該方法通過重構(gòu)不同時(shí)間尺度的時(shí)序特征,以提高樣本的重構(gòu)準(zhǔn)確度。 然而,TCN-AE 沒有正則化,容易出現(xiàn)過擬合,導(dǎo)致檢測精度降低。 針對此問題,Li 等學(xué)者[24]提出了一種基于平滑誘導(dǎo)的變分自編碼器進(jìn)行異常識(shí)別,該方法在損失函數(shù)中引入了擴(kuò)展的Kullback-Leibler(KL)散度作為平滑度正則器懲罰非平滑的重建,使?jié)撛诳臻g的學(xué)習(xí)可以更加關(guān)注“正?!蹦J剑皇敲つ康刈钚』夹盘?hào)和潛在變量生成的信號(hào)之間的重建誤差,有效地避免了過擬合。 Siouda 等學(xué)者[25]提出SAE,從特征稀疏化角度避免了過擬合問題,在心跳樣本異常檢測中取得了理想的效果。 另外一類基于重構(gòu)的異常檢測方法是基于GAN 的,GAN 通過生成器和判別器之間的對抗訓(xùn)練生成高質(zhì)量的重構(gòu)特征。 例如,Zenati 等學(xué)者[26]基于雙向GAN 構(gòu)建異常檢測模型,能夠有效地減少訓(xùn)練時(shí)間并提高檢測性能。 但此模型結(jié)構(gòu)復(fù)雜,不適用于數(shù)據(jù)較少、維度較低的小數(shù)據(jù)集。 Zhou 等學(xué)者[8]提出了一種基于GAN 的心跳異常檢測模型,通過重構(gòu)心跳樣本進(jìn)行異常檢測。 但此模型只適用于周期性數(shù)據(jù),對于非常周期性的樣本數(shù)據(jù)難以檢測。 由于GAN 內(nèi)在的結(jié)構(gòu)問題,基于GAN 的方法往往難以訓(xùn)練,存在模式崩潰的問題[27]。
通過以上回顧可以看出,在復(fù)雜多變的時(shí)間序列數(shù)據(jù)中,已有基于AE 的重構(gòu)檢測方法容易過擬合,而基于GAN 的模型難以訓(xùn)練。 同時(shí),這些方法在大多只考慮了數(shù)據(jù)服從單一的分布模式,忽略了存在多模式的可能。 因此,有必要構(gòu)建一種簡潔高效,同時(shí)能夠全面地捕獲潛在模式的檢測模型。 因此,本文提出了一種基于子空間重構(gòu)的無監(jiān)督時(shí)間序列異常檢測模型,通過高斯混合模型在SAE 的潛在空間中聚類,將輸入樣本劃分為多個(gè)獨(dú)立的子空間,并利用SAE 出色的特征學(xué)習(xí)能力來捕獲多模式特征,以提高檢測效果。 同時(shí),本文提出的模型結(jié)構(gòu)簡單,訓(xùn)練效率高,具有很好的泛化能力。
本文提出的模型主要由SAE 和GMM 構(gòu)成,本節(jié)將先分別介紹這2 種相關(guān)技術(shù),之后描述整體模型以及模型的訓(xùn)練和異常檢測。
AE 是一種基于無監(jiān)督訓(xùn)練的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其目標(biāo)是盡可能地將輸出值還原為輸入值,因此被廣泛地應(yīng)用于基于重構(gòu)的異常檢測。 傳統(tǒng)的AE 模型聚焦于學(xué)習(xí)稠密的特征,容易出現(xiàn)過擬合問題。 相比于稠密特征,稀疏特征具有更強(qiáng)的表達(dá)能力,受稀疏編碼的啟發(fā),SAE 通過在損失函數(shù)中添加稀疏懲罰項(xiàng)來學(xué)習(xí)樣本中的稀疏特征。 稀疏懲罰項(xiàng)盡可能地抑制”激活”的神經(jīng)元,使學(xué)習(xí)到的特征不僅僅是輸入樣本的重復(fù)。
給定時(shí)間序列x,假設(shè)在第jth隱藏層的神經(jīng)元為nj(x),當(dāng)nj(x)的輸出值等于“1”時(shí),意味著此神經(jīng)元處于激活狀態(tài),否則,等于“0” 時(shí),表示非激活狀態(tài)。 在特征學(xué)習(xí)過程中,隱藏層神經(jīng)元的激活值通過(1) 來計(jì)算:
其中,ω為權(quán)重矩陣,b為偏置。 因此,nj(x) 的平均激活值定義如式(2) 所示:
其中,m表示特征空間的維度。 因此當(dāng)神經(jīng)元的平均激活值遠(yuǎn)遠(yuǎn)大于期望值時(shí),通過附加一個(gè)正則化項(xiàng)對其懲罰,能夠使模型學(xué)習(xí)到的特征趨向于稀疏。 在SAE 中,稀疏正則項(xiàng)使用Kullback-Leibler散度來實(shí)現(xiàn),如式(3)所示:
當(dāng)訓(xùn)練稀疏自編碼時(shí),有可能通過增加權(quán)重值和減少隱藏神經(jīng)元的值來降低稀疏正則化項(xiàng)的權(quán)重,因此SAE 通過增加一個(gè)L2 正則化項(xiàng)防止這種現(xiàn)象的發(fā)生,L2 的定義如公式(4) 所示:
其中,J表示隱藏層數(shù)量;L表示神經(jīng)元數(shù)量;K表示訓(xùn)練樣本數(shù)量。 SAE 最終的損失是一個(gè)經(jīng)過調(diào)整后的均方誤差,定義如式(5)所示:
其中,α為稀疏懲罰項(xiàng)系數(shù),用來控制稀疏正則的權(quán)重,β為L2 權(quán)重正則的控制系數(shù)。
高斯混合模式是由K個(gè)分模型構(gòu)造的概率模型,每個(gè)分模型服從正態(tài)分布。 通常情況下,給定時(shí)間序列x,其概率密度分布可以表示為:
更新參數(shù)需要計(jì)算第k個(gè)高斯分模型在當(dāng)前參數(shù)下生成xi的概率tik,計(jì)算方式如式(8)所示:
模型參數(shù)更新如式(9)所示:
其中,Nk為第k個(gè)分模型所覆蓋的樣本數(shù)量。 EM中的E 步和M 通過交替的迭代,直到模型收斂。
為了全面地學(xué)習(xí)時(shí)間序列中潛在的多種模式,本文結(jié)合SAE 和GMM 構(gòu)造了基于重構(gòu)的無監(jiān)督異常檢測模型,模型的總體結(jié)構(gòu)如圖2 所示。
圖2 模型結(jié)構(gòu)圖Fig. 2 Model framework
由圖2 可知,在訓(xùn)練階段,模型首先利用SAE提取輸入數(shù)據(jù)在潛在空間高級(jí)別的特征。 SAE 的基本結(jié)構(gòu)包括一個(gè)編碼器和一個(gè)解碼器。 編碼器將原始輸入轉(zhuǎn)換為潛在空間的低維表示,用z來表示。而解碼器則盡可能地將z重構(gòu)回原始空間。 一旦SAE 訓(xùn)練完成,就可以獲得包含輸入數(shù)據(jù)關(guān)鍵特征的隱藏表示z。
當(dāng)輸入數(shù)據(jù)的特征提取完成后,使用GMM 對隱藏表示z進(jìn)行聚類,并根據(jù)聚類結(jié)果的索引將原始輸入數(shù)據(jù)分成不同的組,每個(gè)組是一個(gè)獨(dú)立的子空間,同一子空間的數(shù)據(jù)遵循相同的模式。 為了準(zhǔn)確地學(xué)習(xí)每個(gè)子空間的樣本特征,每個(gè)子空間訓(xùn)練一個(gè)獨(dú)立的SAE,這些SAE 被稱為子模型。 子模型的結(jié)構(gòu)與上述SAE 的結(jié)構(gòu)相同。 顯然,對于給定數(shù)據(jù),并不知道存在多少個(gè)子空間,而子空間越多,則需要訓(xùn)練更多子模型。 研究可知,每個(gè)子空間的樣本數(shù)量遠(yuǎn)遠(yuǎn)小于原始樣本數(shù)量,如此一來模型的訓(xùn)練時(shí)間將大大減少,同時(shí)這些子模型可以并行訓(xùn)練。因此,整個(gè)模型的訓(xùn)練時(shí)間并沒有增加。
本文提出的模型根據(jù)子模型重構(gòu)誤差識(shí)別異常樣本。 樣本的重構(gòu)誤差越大,則其為異常的概率就越高。 在本文的模型中,樣本的異常得分是通過輸入和重構(gòu)之間的均方誤差(Mean Square Error,MSE) 來計(jì)算的。 在檢測步驟中,每個(gè)樣本被所有子模型同時(shí)重構(gòu),因此一個(gè)樣本會(huì)有多個(gè)重構(gòu)誤差。通常情況下,如果測試樣本遵循某個(gè)子空間的模式,那么測試樣本可以被其對應(yīng)的子模型重構(gòu)得很好,而其他子模型的重構(gòu)誤差自然較大。 因此,研究選擇所有子模型中最小的重構(gòu)誤差為樣本最終的異常得分,如公式(10)所示:
其中,Esubmodel-i表示第i個(gè)子模型對樣本x的重構(gòu)誤差。 當(dāng)樣本的異常得分高于指定閾值時(shí),該樣本被認(rèn)為是異常的。
為了驗(yàn)證本文模型的有效性,本節(jié)分別進(jìn)行了對比實(shí)驗(yàn)、消融實(shí)驗(yàn)、參數(shù)敏感實(shí)驗(yàn)以及可視化實(shí)驗(yàn),從多個(gè)角度分析了基于子空間重構(gòu)的異常檢測模型的性能。
實(shí)驗(yàn)?zāi)P突赑ython 3.6 和Matlab 2022a 進(jìn)行構(gòu)建,硬件平臺(tái)為Windows 10,CPU Inter Xeon(R)CPU E3-1231 v3@ 3.40 GHz,內(nèi)存16 GB,GPU NVIDIA GTX1080ti。
本文在6 個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),這些數(shù)據(jù)集分別來自MIT-BIH 數(shù)據(jù)集和UCR 數(shù)據(jù)集,數(shù)據(jù)集詳情描述如下:
(1)MIT-BIH 數(shù)據(jù)集[9]。 來源于Beth Isral 醫(yī)院采集的48 個(gè)病人的心電圖記錄,并由2 名以上心臟病專家在每個(gè)心跳節(jié)拍的波峰位置標(biāo)記出心跳類型。 根據(jù)AAMI(Association for the Advancement of Medical Instrumentation)[28]的建議,當(dāng)心跳節(jié)拍被標(biāo)記為N,L和R4 時(shí)表示正常,而其他類型為異常心跳。 由于部分記錄的數(shù)據(jù)質(zhì)量不夠,102、103、107和218 的記錄在該實(shí)驗(yàn)中被刪除。 此數(shù)據(jù)集共包含2 860 萬個(gè)數(shù)據(jù)點(diǎn),共計(jì)97 568 個(gè)心跳節(jié)拍樣本。為進(jìn)行公平比較,本文采用文獻(xiàn)[8]中的數(shù)據(jù)處理方式,將原始心跳記錄分割為周期相同的心跳節(jié)拍樣本進(jìn)行異常檢測。
(2)UCR 數(shù)據(jù)集[29]。 是時(shí)間序列異常領(lǐng)域重要的基準(zhǔn)數(shù)據(jù)集,很多時(shí)間序列相關(guān)的算法使用了該數(shù)據(jù)集進(jìn)行評(píng)估。 UCR 共包含128 個(gè)不同領(lǐng)域的數(shù)據(jù)集,本文從中選取了5 個(gè)數(shù)據(jù)集,包含不同的標(biāo)簽種類及特征長度,能夠有效地反映檢測算法的泛化能力。 所有數(shù)據(jù)集的統(tǒng)計(jì)信息見表1。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息Tab. 1 Statistical information of datasets
本文采用(Average Precision,AP) 和(Area Under Curve,AUC)評(píng)估模型性能。AP和AUC能夠同時(shí)考慮模型對負(fù)類和正類樣本的分類能力,在樣本極度不平衡的狀態(tài)下能夠?qū)Ψ诸惸P妥龀龉脑u(píng)估。
AP和AUC的計(jì)算涉及精確度(Precision)、召回率(Recall) 和假陽率(False Positive Rate,F(xiàn)PR),各個(gè)指標(biāo)的計(jì)算方式如下:
其中,TP表示被預(yù)測為正類的正樣本數(shù)量;FN表示預(yù)測為負(fù)類的正樣本數(shù)量;FP表示預(yù)測為正類的負(fù)樣本數(shù)量;TN表示預(yù)測為負(fù)類的負(fù)樣本數(shù)量。因此,精確度表示預(yù)測為正類且實(shí)際為正類的樣本占所有預(yù)測為正類的樣本比例。 召回率表示被正確預(yù)測的正例占所有實(shí)際正例的比率。 假陽率表示被錯(cuò)誤預(yù)測的正類占所有實(shí)際為負(fù)類的比率。 在此實(shí)驗(yàn)中,負(fù)類表示正常樣本,正類表示異常樣本。
AP的計(jì)算結(jié)果基于PR曲線(Precision Recall Curve),如圖3 所示。 圖3 中,橫軸和縱軸分別為召回率和精確度,PR曲線與橫軸及縱軸所圍成的面積即為AP值。 召回率和精確度是此消彼長的,當(dāng)模型能夠平衡對異常樣本的覆蓋能力及檢測精確度時(shí),AP的值就會(huì)比較高。
圖3 PR 曲線Fig. 3 PR curve
AUC的計(jì)算結(jié)果基于ROC曲線(Receiver Operating Characteristic Curve)。 與PR曲線類似,但該曲線是以假陽率為橫軸,真陽率(召回率)為縱軸,ROC曲線與橫軸及縱軸所圍成的面積即為AUC值。 因此,當(dāng)模型能夠權(quán)衡對正類與負(fù)類的覆蓋能力時(shí),AUC的值就會(huì)比較高。
本文所有實(shí)驗(yàn)采用”O(jiān)ne VS all”的方式進(jìn)行模型訓(xùn)練,將所有數(shù)據(jù)集中的一類數(shù)據(jù)作為正常數(shù)據(jù),其余類別的數(shù)據(jù)為異常數(shù)據(jù)。 為保證實(shí)驗(yàn)的公平性及可信性,按照文獻(xiàn)[30]中的數(shù)據(jù)分割方式,將數(shù)據(jù)集中80%的樣本作為訓(xùn)練樣本,剩余20%作為測試樣本。 此外,從訓(xùn)練集中采樣25%的樣本作為驗(yàn)證集進(jìn)行參數(shù)調(diào)整,剩余訓(xùn)練集中所有正常樣本參與模型訓(xùn)練。
本文模型存在一個(gè)重要參數(shù),即子空間數(shù)量m,不同的數(shù)據(jù)集具有不同的m。 根據(jù)實(shí)驗(yàn)測試結(jié)果,各數(shù)據(jù)集最優(yōu)實(shí)驗(yàn)結(jié)果對應(yīng)的m見表2。
表2 數(shù)據(jù)集子空間數(shù)量Tab. 2 The subspace number of each dataset
模型常規(guī)的訓(xùn)練參數(shù):訓(xùn)練輪數(shù)為200,學(xué)習(xí)率為0.000 1,L2 正則項(xiàng)權(quán)重系數(shù)為0.5,稀疏比率為0.05,稀疏正則項(xiàng)權(quán)重系數(shù)為1。
3.4.1 對比實(shí)驗(yàn)
為了驗(yàn)證本文模型的有效性,與5 個(gè)基準(zhǔn)模型進(jìn)行了性能對比實(shí)驗(yàn),基準(zhǔn)模型分別為AnoGAN[31],ALAD[26],Ganomaly[32],BeatGAN[8]以及MMGAN[30],實(shí)驗(yàn)結(jié)果見表3、表4 及表5。 其中,表3、表4 分別為AUC和AP的實(shí)驗(yàn)結(jié)果,表5 為單側(cè)Wilcoxon 符號(hào)秩檢驗(yàn)結(jié)果。
表3 AUC 實(shí)驗(yàn)結(jié)果Tab. 3 Experimental results of AUC
表4 AP 實(shí)驗(yàn)結(jié)果Tab. 4 Experimental results of AP
表5 單側(cè)Wilcoxon 符合秩檢驗(yàn)Tab. 5 One-sided Wilcoxon rank test
從表3 和表4 的指標(biāo)平均結(jié)果(MeanAP,MeanAUC) 可知,GMMSAE 在所有數(shù)據(jù)集上取得了最優(yōu)平均性能(MeanAUC0.946 6,MeanAP0.956 7),與平均性能表現(xiàn)緊隨其后的MMGAN 相比,總體性能提高了 7. 0% (AUC),15.4%(AP)。 證明了GMMSAE 利用子空間重構(gòu)能夠充分提取復(fù)雜數(shù)據(jù)中的多種模式,使模型更好地適用于多種檢測場景。
從表5 可以看出,GMMSAE 與AnoGAN、ALAD、Ganomaly、BeatGAN 以及MMGAN,在AUC和AP的單側(cè)Wilcoxon 符號(hào)秩檢驗(yàn)概率p值均小于0.05,說明GMMSAE 的檢測性能顯著地好于其他5 個(gè)基準(zhǔn)模型。
從表3 和表4 可以看出,在5 個(gè)數(shù)據(jù)量較小的UCR 數(shù)據(jù)集上,GMMSAE 的檢測效果提升明顯,在AUC和AP這2 個(gè)指標(biāo)上,相對于MMGAN 提高了8.3%和18.5%,證明了GMMSAE 在小數(shù)據(jù)量的應(yīng)用場景下,能夠充分利用現(xiàn)有的信息對多模式特征進(jìn)行捕獲。 另外,GMMSAE 在MIT-BIH 數(shù)據(jù)集上,相對于MMGAN,AUC和AP上分別提高了1.1%和1.9%,證明了AEGMM 在大數(shù)據(jù)量的應(yīng)用場景下,同樣能夠高質(zhì)量地提取多模式特征。 相對比UCR數(shù)據(jù)集,GMMSAE 在MIT-BIH 上的性能提升相對不顯著,主要原因是MIT-BIH 的弱周期性導(dǎo)致各個(gè)心跳節(jié)拍樣本在時(shí)序位置存在大量差異,而這些差異會(huì)嚴(yán)重影響模型的整體性能。
對各個(gè)基準(zhǔn)模型進(jìn)行分析。 AnoGAN 需要尋找輸入空間與潛在空間的最佳映射進(jìn)行異常檢測,而對于復(fù)雜且高維的多模式數(shù)據(jù),往往很難找到最佳映射。 同時(shí)AnoGAN 對訓(xùn)練數(shù)據(jù)的數(shù)據(jù)量要求較高,因此其在5 個(gè)數(shù)據(jù)量較小的UCR 數(shù)據(jù)集上檢測效果不理想。 ALAD 利用雙向GAN 進(jìn)行異常檢測,但結(jié)構(gòu)復(fù)雜,同樣在數(shù)據(jù)量較小的場景下效率較低。Ganomaly 本質(zhì)上是基于圖像設(shè)計(jì)的模型,而時(shí)間序列樣本數(shù)據(jù)存在很少的空間特征信息,因此檢測效果不佳。 BeatGAN 對周期性較強(qiáng)的數(shù)據(jù)集上檢測效果較好,但對于非周期性數(shù)據(jù),如Two-Patterns 和Electric-Devices 上的檢測效果較差。 MMGAN 在頻域空間中考慮了多模態(tài)特征,因此相比前幾個(gè)基準(zhǔn)模型,在各個(gè)數(shù)據(jù)集上的檢測效果有明顯提升。 但MMGAN 未考慮原始數(shù)據(jù)在時(shí)域下的多種模式,同時(shí)部分?jǐn)?shù)據(jù)在頻域下的特征較為混亂,例如5 個(gè)UCR 數(shù)據(jù)集,因此在這5 個(gè)數(shù)據(jù)集上檢測效果低于GMMSAE。
通過以上分析可以發(fā)現(xiàn),現(xiàn)有異常檢測算法都存在各自的局限性,對數(shù)據(jù)的規(guī)模及周期有要求,并不能作為通用模型對時(shí)間序列異常進(jìn)行高效檢測。本文提出的模型無論在小數(shù)據(jù)量、還是在大數(shù)據(jù)量的場景下都取得了令人滿意的檢測效果,解決了傳統(tǒng)方法的應(yīng)用局限性。
3.4.2 消融實(shí)驗(yàn)
為了驗(yàn)證所提模型各部分的有效性,在ElectricDevices 數(shù)據(jù)集上進(jìn)行了消融實(shí)驗(yàn),2 個(gè)變種模型分別為:
(1) GMMSAE w/o(without) GMM。 在模型中只使用SAE,不使用子空間重構(gòu)。
(2)GMMSAE。 本文的最終模型,即使用SAE作為重構(gòu)模型,并結(jié)合了子空間重構(gòu)策略。
各模型的實(shí)驗(yàn)結(jié)果見表6。
表6 ElectricDevices 數(shù)據(jù)集消融實(shí)驗(yàn)Tab. 6 Ablation results on ElectricDevices
從表6 中分析可得,相較于未使用子空間重構(gòu)的模型,GMMSAE 在AUC和AP兩個(gè)指標(biāo)上分別提高了6%和18.74%,這證明了多模式提取能夠幫助模型學(xué)習(xí)到更全面的特征,有效地提高檢測效果。
3.4.3 參數(shù)敏感實(shí)驗(yàn)
為驗(yàn)證子空間數(shù)量m對模型性能的影響,還進(jìn)行了參數(shù)敏感試驗(yàn)。 在圖4 中,分別給出了AP和AUC在Two-Patterns 數(shù)據(jù)集上隨m的變化情況。由圖4 可知,當(dāng)m從2 增加到4 時(shí),AP和AUC存在明顯提升。 當(dāng)m處于5 到10 之間,AP和AUC性能出現(xiàn)比較劇烈的波動(dòng)。 之后,一直到m =20,AP和AUC總體維持在一個(gè)穩(wěn)定的區(qū)間。 可以分析得出,當(dāng)數(shù)據(jù)中存在多種模式時(shí),分割的子空間較少,模型不能夠完全捕獲這些模式,因此性能沒有達(dá)到最優(yōu)。而當(dāng)子空間過多時(shí),模型的性能沒有明顯地提升,說明過多的分割子空間并不會(huì)提升性能。 因此針對不同的數(shù)據(jù),選擇合適的子空間分割數(shù)量,才能使模型的性能達(dá)到最優(yōu)。
圖4 AP 和AUC 性能變化Fig. 4 The performance change of AP and AUC
3.4.4 數(shù)據(jù)可視化實(shí)驗(yàn)
為了進(jìn)一步探索本文模型針對不同樣本的重構(gòu)情況,本節(jié)對多個(gè)屬于不同模式的正常樣本進(jìn)行了重構(gòu)可視化,另外也對多個(gè)不同類型的異常樣本進(jìn)行了可視化。 具體而言,選取了MIT-BIH 數(shù)據(jù)集中4 個(gè)正常樣本進(jìn)行可視化,這些樣本的整體特征不同,可以認(rèn)為各樣本分別遵循不同模式,重構(gòu)效果如圖5 所示。 另外,選取了MIT-BIH 中4 個(gè)屬于不同類型(S,V,F(xiàn),Q) 的異常樣本進(jìn)行可視化,如圖6 所示。
圖5 不同模式正常樣本的重構(gòu)Fig. 5 The reconstruction of normal samples with different patterns
圖6 異常樣本的重構(gòu)Fig. 6 The reconstruction of abnormal samples
由圖5 可知,每個(gè)子圖中藍(lán)色曲線表示原始樣本,黃色曲線表示重構(gòu)后的樣本。 通過觀察,雖然4個(gè)樣本整體的形狀特征不同,但各個(gè)樣本的重構(gòu)效果很好,原始樣本與重構(gòu)樣本之間的誤差很小。 因此通過子空間重構(gòu),模型可以有效地學(xué)習(xí)到數(shù)據(jù)中潛在的多種模式,達(dá)到對多模式樣本重構(gòu)的目的。
由圖6 可知,紅色曲線表示原始異常樣本,綠色曲線表示重構(gòu)后的樣本。 通過觀察,對于類型不同的異常樣本,重構(gòu)后的樣本與原始樣本差異很大,證明了模型并沒有過擬合異常樣本。 另外觀測發(fā)現(xiàn),重構(gòu)后的樣本呈現(xiàn)多種模式,進(jìn)一步證明了本文的模型能夠充分學(xué)習(xí)到數(shù)據(jù)中潛在的多種模式。
綜合以上所有的實(shí)驗(yàn)結(jié)果,性能對比實(shí)驗(yàn)證明了本文模型在AUC和AP兩個(gè)指標(biāo)上實(shí)現(xiàn)了顯著提升;消融實(shí)驗(yàn)證明了本文提出的子空間重構(gòu)策略的有效性;參數(shù)敏感性實(shí)驗(yàn)證明了,模型在合適的參數(shù)區(qū)間具有穩(wěn)定性;可視化實(shí)驗(yàn)證明了,本文提出的模型能夠很好地重構(gòu)多模式樣本,并且不會(huì)擬合異常樣本。 可以得出結(jié)論:本文提出的方法不但在性能上具有優(yōu)秀的表現(xiàn),同時(shí)能夠適用于多種檢測場景。
本文提出一種基于子空間重構(gòu)的時(shí)間序列異常檢測模型。 該模型能夠?qū)W習(xí)復(fù)雜時(shí)間序列數(shù)據(jù)中的多種模式,一定程度上提高了異常檢測的準(zhǔn)確性。在6 個(gè)數(shù)據(jù)集上進(jìn)了實(shí)驗(yàn),結(jié)果表示,模型的性能顯著地好于已有的時(shí)間序列異常檢測方法,證明了多模式學(xué)習(xí)可以充分利用已有信息提高異常檢測的準(zhǔn)確度。 但本文提出的模型需要針對不同數(shù)據(jù)集調(diào)整子空間的分割數(shù)量,這是一個(gè)耗時(shí)、且成本較高的過程。 因此,下一階段將考慮參數(shù)自適應(yīng)調(diào)整以期望本文提出的模型具有更高的實(shí)際應(yīng)用價(jià)值。