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