黃訓華 張鳳斌 樊好義 席 亮
(哈爾濱理工大學計算機科學與技術(shù)學院 哈爾濱 150000)
時間序列(time series)是按照時間排序的一組隨機變量,它通常是在相等間隔的時間段內(nèi)依照給定的采樣率對某種潛在過程進行觀測的結(jié)果.視頻、音頻、軌跡圖、心電圖和動作捕捉都是常見的時間序列,對這些數(shù)據(jù)進行分析和檢測的關(guān)鍵是識別其中的模式、趨勢和相關(guān)性[1].時序數(shù)據(jù)的分析廣泛地應(yīng)用在科學、工程和商業(yè)領(lǐng)域中[2-3],例如社交媒體[4]、城市數(shù)據(jù)[5]、電子交易[6]和排名統(tǒng)計[7]中.在這些領(lǐng)域中時序數(shù)據(jù)的分析需求主要包括特征提取、相關(guān)性分析和異常檢測等.
異常檢測的目的是找到某些觀測值,它與其他的觀測值有很大的偏差,這樣的偏差可能是由于不同的原因或機制所產(chǎn)生的[8-9].在時序領(lǐng)域,現(xiàn)有的異常檢測方法可分為有監(jiān)督、半監(jiān)督和無監(jiān)督3類.其中,無監(jiān)督方法在訓練時不需要加注標簽,通過密度估計的方式來檢測異常.這種檢測方式提供了良好的泛化能力,使模型不受限于數(shù)據(jù)的標簽類型,是一種更適用于時間序列的檢測方式[8].而在眾多的無監(jiān)督異常檢測方法中,基于生成對抗網(wǎng)絡(luò)(generative adversarial network, GAN)[10]的無監(jiān)督異常檢測算法因為優(yōu)異的分布學習和特征重構(gòu)能力得到了越來越多的關(guān)注.GAN是一個強大的高維數(shù)據(jù)建模框架,常用來建模復(fù)雜高維的數(shù)據(jù)分布,它起初作為自然圖像[11-12]的生成模型已經(jīng)獲得了巨大成功,并且越來越多地用于時序信號[13]和醫(yī)學成像[14]的異常檢測領(lǐng)域.例如, Zhou等人[15]提出了一種基于GAN的心電數(shù)據(jù)異常檢測模型,模型通過建模正常心電數(shù)據(jù)的分布來檢測異常,并通過劃分固定長度的心跳節(jié)拍將數(shù)據(jù)進行分段檢測.這種劃分時序周期的方法難以檢測無明顯周期的數(shù)據(jù)和長度可變的數(shù)據(jù),更難以充分利用時序信息前后依賴的分布關(guān)聯(lián).為了利用時序依賴關(guān)系,Li等人[16]提出了一種基于GAN的多變量時間序列異常檢測模型,此模型可以利用長短時記憶網(wǎng)絡(luò)(long short-term memory, LSTM)[17]來捕捉時間依賴關(guān)系,再使用GAN建模分布來實現(xiàn)異常檢測.在此基礎(chǔ)上,Geiger等人[18]也提出了一種GAN與LSTM結(jié)合的時序異常檢測方法,不同的是,該方法針對時序特征設(shè)計了多種重構(gòu)誤差計算和異常評分方法,進一步增強了模型的時序異常檢測能力.上述方法都通過使用GAN學習特征分布的方式進行了異常檢測,但是這些方法只在時序信息的時域特征上進行了分布學習,忽略了時序信息在多模態(tài)特征空間的分布關(guān)聯(lián),造成了對現(xiàn)有信息利用不足的問題.
如圖1所示,在時序異常檢測領(lǐng)域傳統(tǒng)異常檢測方法多采用原始時間序列直接進行單模態(tài)的檢測,存在不能充分利用時序信息潛在分布關(guān)聯(lián)的不足.作為對比,為解決傳統(tǒng)方法單模態(tài)學習的不足,通過利用多模態(tài)特征空間的分布關(guān)聯(lián),本文提出了一個通用的無監(jiān)督多模態(tài)對抗學習時間序列異常檢測框架(multimodal GAN, MMGAN),旨在聯(lián)合學習時間序列在時域空間和頻域空間上的特征分布,增強模型分布建模能力.作為一個多模態(tài)對抗學習檢測模型,MMGAN能以生成對抗的方式捕捉時間序列在每個模態(tài)空間上的特征分布,并建立模態(tài)間的分布關(guān)聯(lián),再通過重構(gòu)檢測異常.具體地,MMGAN主要有模態(tài)轉(zhuǎn)換、多模態(tài)生成器和多模態(tài)判別器3部分組成.首先,模態(tài)轉(zhuǎn)換模塊負責時序特征從時域到頻域的映射.其次,多模態(tài)生成器作為一個分布學習模塊,由多模態(tài)自適應(yīng)編碼器和解碼器組成,以2個模態(tài)信息為輸入,通過模態(tài)間權(quán)重共享和低維特征融合對時間序列進行多模態(tài)的分布關(guān)聯(lián)學習和特征生成.然后,多模態(tài)判別器作為一個分布對齊模塊,由多模態(tài)判別網(wǎng)絡(luò)組成,以原始多模態(tài)信息和多模態(tài)生成器的生成特征為輸入,通過多模態(tài)判別網(wǎng)絡(luò)的判別進行分布對齊.最后,通過多模態(tài)生成器和多模態(tài)判別器的博弈對抗,多模態(tài)生成器學習到正常樣本的特征分布,正常樣本可以通過模型進行高質(zhì)量的重構(gòu),而異常樣本通過重構(gòu)則會產(chǎn)生誤差,發(fā)現(xiàn)異常.
Fig. 1 Comparison of single modal and multimodal detection models圖1 單模態(tài)與多模態(tài)檢測模型對比
本文貢獻如下:
1) 提出了一種通用的多模態(tài)時間序列的無監(jiān)督異常檢測框架.通過挖掘正常時序信息在不同模態(tài)上的特征分布,實現(xiàn)異常時序信息的有效檢測.
2) 提出了一種基于對抗學習的多模態(tài)時間序列異常檢測方法.該方法提出一個多模態(tài)生成對抗網(wǎng)絡(luò)模型,實現(xiàn)正常時序信息關(guān)于時域特征分布和頻域特征分布的聯(lián)合學習,通過將異常檢測問題轉(zhuǎn)化為時序信息在時域和頻域空間的重構(gòu)度量問題,從時域空間和頻域空間2個方面度量時間序列的異常值,實現(xiàn)更有效的異常檢測.
在多個真實時序信息數(shù)據(jù)集上做了充分的實驗,結(jié)果表明:相比最新的基準方法,本文提出的方法在AUC和AP這2個性能指標上實現(xiàn)了最高分別12.50%和21.59%的提升.
異常檢測在眾多領(lǐng)域已經(jīng)得到了非常廣泛的研究[19-21].無監(jiān)督的異常檢測方法由于訓練不需要標簽而更貼近實際應(yīng)用場景,是一種更理想的檢測方法[8].具體的無監(jiān)督檢測算法包括基于聚類和基于重構(gòu)的算法等.
基于聚類的方法通過學習正常數(shù)據(jù)周圍的分類邊界來劃分異常,如單類支持向量機(one-class SVM, OCSVM)[22]等.基于重構(gòu)的方法一般先學習數(shù)據(jù)的潛在低維表示,再通過重構(gòu)誤差[19]的方式來確定樣本是否異常,例如:主成分分析方法(principal com-ponent analysis, PCA)及其一些變體[23],但這些方法只能進行線性重構(gòu).而且,這些算法都是基于離群值不像正態(tài)數(shù)據(jù)集中分布的假設(shè),無法正確檢測密度較高的組異常.為表征非線性變換,解決傳統(tǒng)重構(gòu)方法的缺陷,基于深度學習的自動編碼器(auto encoder, AE)[24]、遞歸自編碼器(recurrent neural network auto-encoder, RNNAE)[25]、長短時自編碼器(long short-term memory auto-encoder, LSTMAE)[26]和變分自編碼器(variational auto-encoder, VAE)[27]相繼出現(xiàn).但是,如果沒有適當?shù)恼齽t化,這些重構(gòu)方式容易出現(xiàn)過擬合,進而導(dǎo)致檢測精度降低.
另一種基于重構(gòu)的無監(jiān)督異常檢測方法是基于GAN的,GAN可以通過生成器(generator,G)和判別器(discriminator,D)的博弈對抗來學習特征分布,生成高質(zhì)量的重構(gòu)特征.例如,Schlegl等人[14]提出了一種通過GAN建模正常圖像分布進行異常檢測的方法.這是GAN在異常檢測方向的開山之作,然而,該方法在測試時需要為每個樣例解決一個優(yōu)化問題,以找到一個潛在的表示,然后使用這個潛在表示來計算異常,這極大增加了該方法的時間復(fù)雜度,降低了檢測效率.在此基礎(chǔ)上,Zenati等人[28]提出了一種基于雙向GAN的異常檢測模型.此模型采用多個判別器來穩(wěn)定GAN的訓練,提高了檢測性能的同時減少了時間復(fù)雜度.但是此模型較為復(fù)雜的結(jié)構(gòu)擅長處理高維特征,在低維小數(shù)據(jù)集上處理太過冗余,導(dǎo)致效率低下.Akcay等人[29]提出一種使用多個編解碼網(wǎng)絡(luò)的GAN進行異常檢測的方法,該模型針對圖像做了多種約束,在視覺領(lǐng)域得到了廣泛認可.但是這種針對性的模型設(shè)計也限制了該方法在其他領(lǐng)域的應(yīng)用.而在時序領(lǐng)域, Zhou等人[15]提出一種基于GAN的心電異常檢測模型,此模型通過重構(gòu)心電數(shù)據(jù)進行異常檢測,但是該方法僅限于周期性的數(shù)據(jù),分段檢測方法也難以充分利用時序信息的潛在關(guān)聯(lián).為了利用時序依賴的同時進行異常檢測,Li等人[16]提出了一種基于GAN的多變量時間序列異常檢測模型,通過在GAN中嵌入LSTM的方式,此模型可以利用特征的時序依賴進行分布學習和特征重構(gòu).但是,由于LSTM網(wǎng)絡(luò)無法并行、訓練慢和難以處理長序列的特點導(dǎo)致了此模型應(yīng)用有限.通過以上現(xiàn)狀可以看出,基于GAN的無監(jiān)督異常檢測算法在不同應(yīng)用領(lǐng)域都取得了成效,但是在時序領(lǐng)域,面對復(fù)雜多變的時序信息,已有的檢測方法僅是在時域空間上進行特征學習,不能充分利用時間序列在多個空間上的特征.受此啟發(fā),可以設(shè)計一種多模態(tài)的檢測方法,利用多個空間特征分布的聯(lián)合學習提高模型對時序數(shù)據(jù)分布的建模能力,執(zhí)行更高效的異常檢測.
時間序列可以利用時頻聯(lián)合域分析將自身的時域特征映射到頻域空間形成多模態(tài)特征.多模態(tài)特征可以為異常檢測提供時域與頻域的聯(lián)合分布信息,解決了以往單一的時域或者頻域分析的缺陷,為時序檢測提供了更多的角度.而現(xiàn)有的檢測方法卻忽略了這種多模態(tài)特征的學習方式.
能進行時序模態(tài)轉(zhuǎn)換的時頻分析工具有很多,比如,傅里葉變換(Fourier transform, FT)、短時傅里葉變換(short-term Fourier transform, STFT)和小波變換(wavelet transform, WT)等.在異常檢測領(lǐng)域, Gothwal等人[30]提出了一種利用FT對心電信號進行異常檢測的方法,該方法首先通過FT對心電峰值進行分析,然后利用神經(jīng)網(wǎng)絡(luò)對心臟疾病進行檢測,但是因為傅里葉變換無法應(yīng)對非平穩(wěn)信號的缺陷,該方法對某些非平穩(wěn)異常類型識別較差.Cocconcelli等人[31]提出了一種電機損傷檢測方法,該方法利用STFT對電機運行進行周期性的特征提取,再進行時頻平均以增強故障特征.但是由于短時傅里葉變換的“窗口”尺寸需要手動設(shè)定,所以該方法難以高效利用時序特征,也難以應(yīng)對突發(fā)載荷.
WT繼承和發(fā)展了STFT局部化的思想,通過提供一個隨頻率改變的“時間-頻率窗口”彌補了“窗口”大小不隨頻率變化的不足,是進行信號時頻分析和處理的理想工具.WT通過變換能夠突出問題某些方面的特征,能進行時間(空間)頻率的局部化分析,并能通過伸縮平移對信號逐步進行多尺度細化,最終達到高頻處時間細分、低頻處頻率細分、自動適應(yīng)時頻信號分析的要求,從而可聚焦到信號的任意細節(jié),解決了FT的缺陷.WT在應(yīng)用領(lǐng)域,特別是在圖像處理[32]和信號檢測[33]以及眾多非線性科學領(lǐng)域得到了廣泛的應(yīng)用.多模態(tài)方法可以利用WT的這種多分辨率特性挖掘頻域空間上的分布信息,充分利用時序信息的時頻關(guān)聯(lián).
基于以上2部分的相關(guān)研究現(xiàn)狀,在時序異常檢測領(lǐng)域,現(xiàn)有的檢測方法只能在時間序列的單個特征空間上進行特征學習,忽略了時間序列在多個特征空間上的分布關(guān)聯(lián).而時頻分析方法可以將時域特征映射到頻域,為檢測提供多個模態(tài)空間上的特征.因此,本文提出了一種多模態(tài)對抗學習時序異常檢測框架,通過小波變換將時間序列映射到頻域形成多模態(tài)特征,并利用GAN出色的分布學習能力來捕捉這種多模態(tài)特征分布關(guān)聯(lián),以此實現(xiàn)多模態(tài)的時序異常檢測.
定義2.pZ(zT)和pZ(zF)是原始模態(tài)分布在低維空間Z上的映射,pZ(z+)是空間Z上2個低維分布的融合.
Fig. 2 Multimodal generation adversarial model圖2 多模態(tài)生成對抗模型
根據(jù)分布定義,多模態(tài)生成對抗網(wǎng)絡(luò)的目標函數(shù)為
(1)
根據(jù)式(1),對于給定的多模態(tài)生成器G,最佳的多模態(tài)判別器為
(2)
(3)
(4)
在式(3)和式(4)中wφ[j0,k]被稱為近似系數(shù),wψ[j,k]被稱為細節(jié)系數(shù).不同層次上的細節(jié)系數(shù)反映了信號在不同尺度上的方差,而近似系數(shù)則反映了信號在該尺度上的平滑平均.離散小波變換的一個重要性質(zhì)是每一層的細節(jié)系數(shù)是正交的,對于任何一對不在同一層的細節(jié)系數(shù),如式(5),其內(nèi)積為0:
wψ[j, *]·wψ[j′,*]=0.
(5)
因此,可以將細節(jié)系數(shù)解釋為信號的加性分解,即多分辨率分析.小波變換利用這種多分辨率特性能在非平穩(wěn)時間序列上進行時頻分析,使異常檢測模型對非平穩(wěn)時間序列信息也具有高效的檢測能力.
MMGAN的生成對抗部分主要由多模態(tài)生成器和多模態(tài)判別器2部分組成.
2.2.1 多模態(tài)生成器
為了充分利用多模態(tài)時序信息的同時解決模態(tài)特征維度變換帶來的參數(shù)敏感性問題,MMGAN的多模態(tài)生成器采用了一種覆蓋所有尺度的自適應(yīng)卷積架構(gòu)(omni-scale CNN, OSCNN)[34].這個架構(gòu)在學習過程中會自適應(yīng)選擇最優(yōu)卷積核大小,避免過大或過小卷積核帶來的時序特征表示損失和噪聲問題[34],輔助多模態(tài)方法進行更好的特征學習.如圖3所示,MMGAN使用的自適應(yīng)卷積架構(gòu)由輸入數(shù)據(jù)、自動設(shè)置卷積核、拼接、激活函數(shù)和輸出5個基本部分構(gòu)成.卷積核的大小為1到N的質(zhì)數(shù),卷積核的數(shù)量為1到N的質(zhì)數(shù)個數(shù),N的大小與每個模態(tài)特征的維度正相關(guān).在最后一層卷積中,只有大小為1和2的卷積核,通過這種卷積架構(gòu),卷積的接受域可以覆蓋所有尺度的時序樣本,保證時序特征得到高效學習.
Fig. 3 Adaptive convolution圖3 自適應(yīng)卷積
(6)
低維嵌入函數(shù)為
(7)
生成器G再將zT和zF融合為z+,融合公式為
z+=fusion(zT,zF)=zT⊕zF,
(8)
其中,⊕符號代表特征按照指定維數(shù)concat的操作.
(9)
特征重構(gòu)函數(shù)為
(10)
多模態(tài)生成器通過編解碼方式建立了時序特征分布的映射關(guān)系,并通過網(wǎng)絡(luò)權(quán)重共享和低維特征融合建立時序特征的時頻分布關(guān)聯(lián),充分利用時序信息多模態(tài)分布關(guān)聯(lián)的同時解決參數(shù)敏感性問題,使多模態(tài)時序特征得到高效學習,增強模型特征重構(gòu)能力.
2.2.2 多模態(tài)判別器
(11)
在多模態(tài)生成器G中,損失函數(shù)采用重構(gòu)誤差損失和成對特征匹配損失的組合,以此來最小化原始時序數(shù)據(jù)和經(jīng)過判別網(wǎng)絡(luò)隱藏層學習到的時序特征的誤差,提高判別網(wǎng)絡(luò)的性能.fD為判別網(wǎng)絡(luò)某一隱藏層上的激活函數(shù),多模態(tài)重構(gòu)誤差損失和多模態(tài)成對特征匹配損失函數(shù)分別為
(12)
(13)
所以,多模態(tài)生成器損失函數(shù)為
(14)
(15)
其中λT和λF為每個模態(tài)評分的權(quán)重,計算為
(16)
其中size()為模態(tài)特征維度.
綜合以上,MMGAN的時序異常檢測具體過程如算法1:
算法1.多模態(tài)異常檢測算法.
輸入:輸入時序樣本矩陣T=(x1,x2,…,xN),N為樣本數(shù)量;
輸出:異常評分.
② FORiIN {1,2,…,N} DO:
⑥zT和zF通過式(8)進行融合;
⑦pZ(z+)通過式(9)進行分布高維映射;
⑧z+通過式(10)進行重構(gòu);
⑨D通過式(11)進行損失計算,梯度下降更新模型;
⑩G通過式(14)進行損失計算,梯度下降更新模型;
結(jié)合算法1,時間序列的多模態(tài)異常檢測過程為:
1) 原始時域時序特征通過步驟③生成頻域特征.
2) 在多模態(tài)生成器中,2個模態(tài)數(shù)據(jù)依此通過步驟④~⑧學習關(guān)聯(lián)分布并重構(gòu)出2個特征.生成器通過步驟⑩進行更新.
3) 在多模態(tài)判別器中,通過步驟⑨對生成特征和原始特征進行判別,以對齊原始分布和生成分布,并更新自身.
綜上所述,MMGAN是一個基于重構(gòu)的異常檢測方法,異常的評估取決于生成樣本與原始樣本的距離,即生成器從潛在空間學習特征分布的能力.而MMGAN的多模態(tài)思想可以在時域和頻域2個空間上對特征分布進行聯(lián)合學習,增強模型的分布建模和特征重構(gòu)能力,從而提高檢測性能.
本節(jié)從對比實驗、消融實驗和可視化實驗3個角度分析論證多模態(tài)異常檢測框架的檢測性能.
實驗基于Ubuntu環(huán)境,使用Pytorch框架進行模型搭建.平臺主要硬件參數(shù)為CPU Inter Core i7-9700,內(nèi)存64 GB,GPU NVIDIA 2070,8 GB顯存.
實驗使用的數(shù)據(jù)集為:
1) MIT-BIH心電圖數(shù)據(jù)集.MIT-BIH心律失常數(shù)據(jù)集包含了來自Beth Israel醫(yī)院的48個試驗對象的心電圖記錄.標簽由2個或更多獨立的心臟病專家在每一次心跳的波峰上注釋,指出每一次心跳的位置和類型.根據(jù)AAMI推薦,正常節(jié)拍包括標注為N,L和R4的節(jié)拍,而命名為102,104,107和218的記錄由于信號質(zhì)量不夠而被刪除.數(shù)據(jù)集總共包含97 568次心跳節(jié)拍和2 860萬個時間點.實驗時,本文采用和文獻[15]相同的數(shù)據(jù)處理方式,即把ECG數(shù)據(jù)按周期切割成相同的心跳節(jié)拍進行檢測.
2) UCR時間序列數(shù)據(jù)集[35].該數(shù)據(jù)集于2002年推出,經(jīng)過數(shù)十年發(fā)展已經(jīng)成為時間序列領(lǐng)域的重要資源,至少有1 000篇發(fā)表的論文使用了該數(shù)據(jù)集,UCR已經(jīng)成為時間信號處理領(lǐng)域的基準數(shù)據(jù).該數(shù)據(jù)集一直在經(jīng)歷周期性的擴展.在本文使用時,UCR已經(jīng)拓展為128個數(shù)據(jù)集.實驗時,從中取部分標簽種類或者特征長度不同的5個數(shù)據(jù)集,相關(guān)數(shù)據(jù)集統(tǒng)計如表1所示:
Table 1 Data Set Statistics表1 數(shù)據(jù)集統(tǒng)計信息
由于數(shù)據(jù)的處理方式和訓練方式存在樣本不平衡的特性,本文使用AP(average precision)和AUC(area under curve)指標來衡量模型性能,相較于其他直接基于混淆矩陣的評價方式,AP和AUC的計算方法同時考慮了模型對于正例和負例的分類能力.更重要的是,在數(shù)據(jù)樣本正負類不平衡而且隨著時間變化的情況下,它們依然能夠?qū)Ψ诸惼髯龀龊侠淼脑u價.AP和AUC的計算結(jié)果分別來源于PR(precision-recall)曲線和ROC(receiver operating characteristic curve)曲線,其最根本的統(tǒng)計來源為異常檢測的分類混淆矩陣,如表2所示:
Table 2 Classification Confusion Matrix for Anomaly Detection
計算AP的PR曲線如圖4所示,其中橫軸為召回率(Recall,或TPR),反映了分類器對正例的覆蓋能力.而縱軸為精確度(Precision),反映了分類器預(yù)測正例的準確程度.PR曲線反映了分類器對正例的識別準確程度和對正例的覆蓋能力之間的權(quán)衡.樣本中每個類別可以繪制出一條PR曲線, 曲線中為依次改變置信度為10%~100%得到一組由精確度和召回率組成的坐標, 連接這些值就是PR曲線.
Fig. 4 PR curve graph圖4 PR曲線圖
精確度體現(xiàn)了預(yù)測為正且實際為正的實例占所有預(yù)測為正的樣本比例,計算方法為
(17)
召回率體現(xiàn)了預(yù)測為正且實際為正的實例占所有正類樣本的比例,計算方法為
(18)
計算AUC的ROC曲線是以假陽率(false positive rate, FPR)為橫軸、召回率為縱軸,衡量二分類系統(tǒng)性能的曲線,反映了分類器對正例的覆蓋能力和對負例的覆蓋能力之間的權(quán)衡.同樣依次取置信度10%~100%,會得到一組不同的假陽率、召回率組成的坐標,連接兩者就能得到ROC曲線,ROC曲線與X軸圍成的圖形面積可以作為一個綜合衡量指標,即AUC.
FPR表示預(yù)測為正但實際為負的實例占所有負樣本的比例,計算方法為
(19)
為了驗證本文方法的有效性,本文的實驗過程將進行5個模型在6個數(shù)據(jù)集上的對比實驗、消融實驗和數(shù)據(jù)可視化實驗.實驗時采用“one VS all”的訓練方式,依次將一類時序特征處理為正常,將其余種類的特征處理為異常.對每個標簽重復(fù)訓練10次,以保證結(jié)果的可信性和穩(wěn)定性.對于每個數(shù)據(jù)集,實驗中用80%的官方數(shù)據(jù)集進行訓練,保持剩余的20%作為測試組,進一步從訓練集挑選25%作為驗證集,然后從訓練集中丟棄異常樣本.
實驗基本參數(shù):訓練迭代次數(shù)為200,批大小batchsize=64,學習率lr=0.001.為了體現(xiàn)本文的自適應(yīng)方法可以克服參數(shù)敏感性,面對不同的數(shù)據(jù)集和不同模態(tài)的特征維度,模型的網(wǎng)絡(luò)參數(shù)均相同.使用Leaky Relu激活函數(shù)并設(shè)置斜率為0.2,編碼潛在向量的維度由自適應(yīng)編碼網(wǎng)絡(luò)自己學得.網(wǎng)絡(luò)的具體參數(shù)表3所示,其中Conv(k,s,p)為一維卷積,ConvT(k,s,p)為一維反卷積,卷積網(wǎng)絡(luò)中,k代表kernel_size,s代表stride,p代表padding.
Table 3 Network Parameters表3 網(wǎng)絡(luò)參數(shù)
MMGAN將與4種傳統(tǒng)單模態(tài)異常檢測方法進行對比.
1) AnoGAN[14].是一個基于WGAN的生成對抗模型,在訓練階段,僅使用正常樣本無監(jiān)督地學習一個潛在空間中的流形分布.測試時,對于測試樣本,定義一個損失函數(shù)進行多次反向傳播以求得一個樣本的潛在空間表示.生成器利用這個潛在表示生成一個新的數(shù)據(jù),使用這個生成和原始樣本進行異常檢測.AnoGAN是生成對抗思想在異常檢測的開山之作.然而,在測試時,該方法需要為每個例子解決一個優(yōu)化問題,以找到一個潛在的表示z,然后使用這個z來計算示例的異常值,這使得該方法在大型高維數(shù)據(jù)集或?qū)崟r應(yīng)用中不切實際.
2) ALAD[28].是一個基于雙向GAN的異常檢測模型.模型訓練時,從一個數(shù)據(jù)x的原始特征空間中經(jīng)過編碼得到一個潛在向量z,同時從某個分布中采樣得到z′,解碼z′得到x′,最后將(x,z)和(x′,z′)送入判別器進行判別,以此穩(wěn)定對抗訓練.最后模型使用重構(gòu)誤差來確定數(shù)據(jù)樣本是否異常.ALAD擅長處理高維特征,但是在低維小數(shù)據(jù)集上處理太過復(fù)雜,導(dǎo)致效率低下.
3) Ganomaly[29].是一個針對圖像的生成對抗異常檢測方法.不同于一般基于自編碼器的方法,Ganomaly使用了一個編碼器(encoder 1)-解碼器(decoder)-編碼器(encoder 2)的網(wǎng)絡(luò)結(jié)構(gòu),同時學習原圖、重建圖和原圖的編碼、重建圖的編碼2個映射關(guān)系.該方法不僅對生成的圖片外觀做了約束,對圖片內(nèi)容也做了約束,在視覺領(lǐng)域得到了廣泛認可.但是這種針對圖像的設(shè)計使得該模型在時序領(lǐng)域表現(xiàn)欠佳.
4) BeatGAN[15].是一個應(yīng)用在時序上的生成對抗模型,該方法以劃分固定心跳節(jié)拍的方式對ECG數(shù)據(jù)進行了異常檢測,模型也采用編碼器的方式得到樣本的潛在表示.不同的是,BeatGAN在判別網(wǎng)絡(luò)中采用對抗正則的方式對編碼中間特征進行了約束,一定程度上解決了梯度消失和爆炸問題.但是該方法由于采用劃分周期的方法,所以難以高效處理無明顯周期或者特征長度可變的時序特征,更難以充分利用時間序列的關(guān)聯(lián)關(guān)系,應(yīng)用有限.
綜合以上分析可以看出:傳統(tǒng)單模態(tài)異常檢測算法因為各自的局限性,并不能在時序領(lǐng)域建立一個通用的檢測模型對時間序列進行高效的利用.本文提出的多模態(tài)檢測方法可以充分利用時序信息在多模態(tài)空間上的特征分布關(guān)系,解決傳統(tǒng)方法帶來的問題.
3.5.1 對比實驗
5個模型在6個數(shù)據(jù)集的對比實驗結(jié)果如表4所示.從表中可以看出,在UCR的5個數(shù)據(jù)集上,MMGAN在網(wǎng)絡(luò)參數(shù)固定的情況下在AUC和AP這2個指標上實現(xiàn)了對傳統(tǒng)最優(yōu)單模態(tài)方法最高12.50%和21.59%的超越,證明MMGAN的自適應(yīng)網(wǎng)絡(luò)幫助模型在多模態(tài)空間上學習到了更好的特征分布.在CBF這個小數(shù)據(jù)量的數(shù)據(jù)集上,MMGAN相較于傳統(tǒng)單模態(tài)檢測方法在2個指標上實現(xiàn)了12.50%和21.59%的最高提升,證明在小數(shù)據(jù)量的數(shù)據(jù)集上多模態(tài)思想充分利用已有信息的優(yōu)勢愈發(fā)明顯.在MIT-BIH的Arrhythmia數(shù)據(jù)集上,面對具有明顯周期的ECG數(shù)據(jù),MMGAN在2個指標上分別實現(xiàn)了對傳統(tǒng)最優(yōu)單模態(tài)方法的1.20%和1.02%提升,證明多模態(tài)方法針對大數(shù)據(jù)量的周期性數(shù)據(jù)也能進行高質(zhì)量的分布學習.綜上,本文提出的MMGAN能有效學習時間序列在不同模態(tài)上的分布關(guān)聯(lián)實現(xiàn)更高效的異常檢測,彌補了傳統(tǒng)單模態(tài)方法只能利用單一空間數(shù)據(jù)進行學習的缺陷.
Table 4 Abnormal Detection Results表4 異常檢測結(jié)果
3.5.2 消融實驗
為了驗證模型中各部分的有效性,本節(jié)將在UCR的ElectricDevices數(shù)據(jù)集上進行MMGAN的消融實驗.4種模型結(jié)構(gòu)分別為:
1) GAN模型.單模態(tài)生成對抗模型,生成器和判別器使用最基本的卷積和反卷積作為網(wǎng)絡(luò)編碼解碼結(jié)構(gòu).
2) MMGAN w/o(without) M模型.在生成對抗模型中使用單模態(tài)自適應(yīng)編碼器作為編碼模塊,未添加多模態(tài)結(jié)構(gòu).
3) MMGAN w/o(without) OS模型.使用多模態(tài)結(jié)構(gòu),但是多模態(tài)生成器使用基本卷積網(wǎng)絡(luò)和反卷積網(wǎng)絡(luò)作為編碼和解碼器,未添加自適應(yīng)卷積結(jié)構(gòu).
4) MMGAN模型.本文最終模型,使用多模態(tài)框架并添加自適應(yīng)編碼器作為框架的編碼部分.
以上4種模型在ElectricDevices數(shù)據(jù)集上的AUC和AP指標如表5所示:
Table 5 Ablation Experiments on ElectricDevices Dataset表5 ElectricDevices數(shù)據(jù)集消融實驗
從表5中可見,加入自適應(yīng)結(jié)構(gòu)的生成對抗模型(MMGAN w/o M)較只使用普通卷積結(jié)構(gòu)的GAN,在AUC和AP這2個性能指標上分別提高了23.16%和41.99%,證明自適應(yīng)卷積較傳統(tǒng)卷積方法能在時序特征上學到更好的特征.而加入多模態(tài)結(jié)構(gòu)的生成對抗模型(MMGAN w/o OS)較GAN在2個指標上分別提高了7.98%和30.45%,證明多模態(tài)思想幫助模型學到了多空間的聯(lián)合分布,比單模態(tài)方法執(zhí)行了更高效的異常檢測.而最終的模型比只使用自適應(yīng)結(jié)構(gòu)的模型(MMGAN w/o M)在2個指標上分別提高了1.26%和7.15%;比只使用多模態(tài)思想的模型(MMGAN w/o OS)在2個性能指標上分別提高了15.49%和16.63%;比只使用普通卷積的模型(GAN)在2個性能指標上分別提高了24.71%和52.15%;證明自適應(yīng)結(jié)構(gòu)與多模態(tài)方法的結(jié)合使得MMGAN在多模態(tài)特征空間上學到了更好的特征分布,在AUC和AP上實現(xiàn)了檢測性能的超越.
3.5.3 數(shù)據(jù)嵌入可視化
為了探索學習過程中數(shù)據(jù)嵌入的質(zhì)量,本節(jié)實驗對不同方法的樣本嵌入進行可視化比較.具體而言,從ElectricDevices的測試集中選擇1 674個數(shù)據(jù)樣本.在此數(shù)據(jù)集上本文方法與Ganomaly和AnoGAN進行比較,將這3個方法的樣本嵌入作為t-SNE工具的輸入,然后生成二維空間的樣本嵌入可視化.結(jié)果如圖5所示,其中藍色對應(yīng)于正常類別,紅色對應(yīng)于異常類別.模型從左至右分別是AnoGAN,Ganomaly和MMGAN.
Fig. 5 Feature embedding圖5 特征嵌入
在MMGAN的可視化結(jié)果中,正常數(shù)據(jù)和異常數(shù)據(jù)分布在不同的空間范圍內(nèi),正常和異常數(shù)據(jù)都進行了有效聚集,而且邊緣分界明顯.證明多模態(tài)框架幫助模型學習到了更好的時序特征分布,充分利用了時序特征在多個模態(tài)上的分布關(guān)聯(lián),將樣本進行了更好的分離.對比Ganomaly和AnoGAN,這2種方法的嵌入較本文方法在可視化上有明顯差距,Ganomaly分界尚為明顯但是重疊樣本較多,AnoGAN分界不明顯的同時重合樣本點也很多,嵌入效果差.
3.5.4 異常分布可視化
為了探索模型對異常數(shù)據(jù)的檢測能力,本節(jié)實驗對不同方法的異常評分分布進行了可視化實驗.具體而言,本文方法與Ganomaly和AnoGAN在ElectricDevices的測試集上分別進行異常評分計算,然后將評分生成柱狀圖.結(jié)果如圖6所示.
Fig. 6 Anomaly score distribution圖6 異常評分分布
在MMGAN的異常評分分布結(jié)果中,評分中的正常和異常分布邊界(異常閾值)清晰明顯,重合分布很少,正負樣本的評分都進行了有效聚集.證明多模態(tài)檢測框架學習到了高質(zhì)量的特征分布,從而給出了更準確的異常評分.對比Ganomaly和AnoGAN,這2種方法的異常評分分布較本文方法在可視化上有明顯差距,Ganomaly正負評分的樣本重合分布較多,AnoGAN則更甚,大量正常樣本被預(yù)測為異常.
綜合以上所有實驗結(jié)果,異常檢測對比實驗證明本文模型在AUC和AP這2個指標上實現(xiàn)了檢測性能的提升;消融實驗證明了本文各個思想對于時序異常檢測的有效性;數(shù)據(jù)嵌入可視化體現(xiàn)了多模態(tài)檢測思想幫助模型在時間序列上提取到了更好的嵌入特征;異常評分分布可視化證明了本方法更好地完成了正負樣本評分的分離.可以得出結(jié)論:本文方法相較于傳統(tǒng)單模態(tài)模型在時間序列的異常檢測上表現(xiàn)出了更優(yōu)異的檢測性能.
當前,在時間序列異常檢測領(lǐng)域,傳統(tǒng)的單模態(tài)檢測方法只能在單個數(shù)據(jù)空間上進行特征分布學習,從而造成了對現(xiàn)有信息利用不足、檢測效率低等問題.然而多模態(tài)方法可以利用多模態(tài)空間上的特征分布關(guān)聯(lián)解決傳統(tǒng)單模態(tài)方法的缺陷.據(jù)此,本文提出了多模態(tài)生成對抗檢測模型,通過“生成+對抗”的方式發(fā)掘時間序列在多個模態(tài)空間上的特征分布關(guān)聯(lián),充分利用時序信息進行分布建模,以此提高檢測能力.另外,采用自適應(yīng)卷積的編碼器可以針對時序特征建立最優(yōu)的特征提取方式.整個模型在充分利用時序信息分布的同時解決了參數(shù)敏感性問題,提高異常檢測效率.
本文在6個數(shù)據(jù)集上進行了大量的實驗,結(jié)果驗證了本文思想的有效性,多模態(tài)方法可以通過學習時序特征在多個特征空間上的分布關(guān)聯(lián)來充分利用已有信息提高異常檢測效率.下一階段我們將考慮將更多的模態(tài)加入到這種方法以期望達到對時序信息更高效的利用.