999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VAE-WGAN 的多維時間序列異常檢測方法

2022-03-31 07:10:38段雪源付鈺王坤
通信學報 2022年3期
關鍵詞:利用檢測模型

段雪源,付鈺,王坤,3

(1.海軍工程大學信息安全系,湖北 武漢 430033;2.信陽師范學院計算機與信息技術學院,河南 信陽 464000;3.信陽職業技術學院數學與信息工程學院,河南 信陽 464000)

0 引言

時間序列異常檢測就是在時間序列中尋找不符合規則的事件或行為[1],常被應用于網絡安全檢測、金融數據分析、醫學病理診斷等眾多領域。然而隨著科技發展和各類傳感器在電子信息系統中的廣泛應用,記錄系統狀態信息的時間序列數據呈現出海量高維的特點,傳統的以特征工程為基礎的異常檢測方法很難從海量高維數據中自動完成特征提取和異常識別。而且現實環境產生的時間序列中異常樣本稀少并且標注困難限制了以分類、預測為基礎的有監督異常檢測方法的應用。因此,利用無監督或半監督的深度學習方法對時間序列進行異常檢測逐漸成為電子信息設備異常檢測領域的研究熱點。

以變分自編碼器(VAE,variational auto-encoder)[2]和生成對抗網絡(GAN,generative adversarial network)[3]結構為代表的無監督或半監督深度生成異常檢測方法,利用無標簽的正常數據即可完成訓練,突破了對數據標注和正負樣本平衡性要求的限制。VAE 以分布參數的重構概率作為異常度量,能夠對不同結構的輸入數據進行檢測,但由于VAE 訓練時缺少限制指導,導致其穩健性較差且容易出現過擬合。GAN 通過學習正常樣本數據的分布生成近似數據,當異常樣本輸入訓練好的GAN時,生成樣本與輸入樣本之間存在較大差異,這種差異可以作為異常檢測的依據,但由于GAN 缺少自編碼器,導致其在訓練初期較困難。傳統的GAN使用f散度作為目標函數進行訓練,存在著因“梯度失穩”(“梯度消失”或”“梯度爆炸”)而無法完成訓練和因“模式崩潰”生成樣本單一的問題。

進行異常判定時都需要根據一定門限(閾值)作為劃分正常和異常的界限,閾值的設定通常由人工完成。但對于復雜多維時間序列,尤其是對于有多個關鍵績效指標(KPI,key performance indicator)的多維時間序列,很難由人工進行統一的閾值設定。

為解決上述問題,本文提出一種基于VAE-WGAN架構的半監督多維時間序列異常檢測方法。利用VAE 作為生成器,并利用WGAN 的判別結果調整VAE 的分布參數,使用Wasserstein 距離作為模型損失函數,期望在模型訓練時更加穩健,避免出現“梯度失穩”和“模式崩潰”等問題;利用時間窗口劃分出時序子序列,力求提升模型訓練與檢測的準確率和時效性;探索自適應的異常判定及裁剪方法,以提升模型對時間序列異常檢測的效果。

1 相關研究現狀

時間序列數據中的異常是由不符合規則的非正常行為引發的超預期數據模式[4]。按異常數據的表現形式通??煞譃橐韵氯悾?)點異常,即與正常模式數據表現出較大差異的單點數據;2)上下文異常,即在特定上下文環境里與正常模式差異較大的某項數據;3)集合異常,即與其他數據有顯著不同的一組數據。

VAE 融合了貝葉斯算法和深度學習的優勢,在傳統自編碼器(AE,auto encoder)的基礎上引入變分思想,然而因隱變量分布未知無法直接進行梯度的反向求導,使用蒙特卡洛采樣法求解又需要較大的計算量。因此,Kingma 提出重參數化,使隱變量分布盡量擬合獨立的已知分布,VAE 結構如圖1所示。

圖1 VAE 結構

利用已知分布樣本代替隱變量樣本進行求解,解決原梯度參數不可微的問題,推動VAE 及其變體在現實領域的研究與應用。

利用VAE 進行時間序列異常檢測,以時間序列中潛在變量分布參數的重建概率作為異常檢測的度量,不受數據結構限制,比計算數據本身的重構誤差更加客觀合理[5]。清華大學的裴丹團隊提出基于VAE的無監督周期性KPI 異常檢測算法Dount[6],這是第一個具有堅實理論解釋的基于VAE 架構的異常檢測算法。該團隊還針對非高斯分布的復雜多關鍵績效指標數據,提出另一種基于VAE 的高性能無監督異常檢測算法Buzz[7]。與Donut 只能處理平滑的KPI 數據相比,Buzz 對于復雜KPI 數據中的異常也具有很好的檢測能力;在Donut中,輸入檢測模型的數據單位是窗口,模型直接把KPI 數據切分成若干個窗口,而Buzz 則是先把大型復雜數據分割成多個區域,再對每個區域進行窗口切分。這種“分區”的做法在緩解計算壓力的同時,能夠更好地提取數據特征。Pol 等[8]提出基于條件變分自編碼器(CVAE,conditional variational auto-encoder)異常檢測方法,在VAE中添加了一些關聯性的條件限制,通過在特定數據集上進行實驗證明了其方法的有效性?;赩AE 架構的異常檢測技術還被廣泛應用于網絡安全威脅態勢評估[9]、飛行數據異常檢測[10]和對抗攻擊防御技術研究[11]等應用領域。

GAN 的生成器通過學習真實數據的分布,將隨機噪聲轉換為與真實數據相似的生成數據,具有對復雜高維數據分布的建模能力,然而原始的GAN對生成數據與真實數據的語義上有意義的特征并不十分清晰。因此,Beula 等[12]提出了雙向生成對抗網絡(BiGAN,bidirectional GAN)模型。從圖2可知,BiGAN 就是在GAN 的基礎上加入了一個將數據映射到隱特征空間的編碼器,目的是能夠利用編碼器無監督地提取原始數據特征;判別器也進行了相應改進,從對x或G(z)一組數據的判斷轉變為對(G(z),z)、(x,E(x))兩組數據的判斷,博弈的最終目標也演變為判別器無法分辨輸入數據是來自生成器還是編碼器。這種加入自編碼器的改進使GAN具有學習有意義特征表示的能力。

圖2 GAN 與BiGAN 結構

利用GAN 進行異常檢測的一般步驟是先使用正常樣本數據訓練GAN,使生成器完全學習到正常數據的真實分布,此時GAN 已經具備重建正常數據樣本的能力。當輸入的數據是從未見過的異常樣本時,GAN 重建的樣本和原始輸入樣本將表現出明顯差異,當這種差異超過一定范圍時即判定輸入數據存在異常[13]。Bashar 等[14]提出了利用GAN 進行時間序列異常檢測的方法TAnoGAN,利用訓練生成器在潛在空間生成逼真樣本,然后將真實樣本映射到潛在空間,并在潛在空間進行重構,通過輸入樣本分布與生成樣本分布的擬合度來判定輸入樣本是否存在異常。Li 等[15]提出利用GAN 對時間序列數據進行多元異常檢測的方法MAD-GAN,將帶有記憶效應的循環神經網絡作為GAN 的生成器來捕獲數據序列中的時間相關性,利用判別器產生的判別誤差、生成器生成的重構數據與輸入數據的重構誤差共同作為異常判別的依據。Chen 等[16]提出基于自編碼器和GAN 結構的DAEMON 算法,自編碼器用于重構輸入的時間序列數據,GAN 結構分別用于約束編碼器的中間輸出以及解碼器的重構輸出,使自編碼器結構的訓練過程更加穩健。DAEMON 被應用于在線檢測,其將在線數據輸入檢測器得到重構數據,通過計算在線數據與重構數據的異常得分進行異常判斷,該算法在公開數據集上表現出色。還有學者將GAN 拓展到時間序列預測[17]、惡意流量驗證[18]、入侵檢測[19]、加密流量識別[20]、僵尸網絡檢測[21]等研究中。

然而,以上算法都是基于傳統GAN 及其變體,使用f散度來衡量假設分布與真實分布之間的“差異”,訓練過程中依然可能出現“梯度失穩”和“模式崩潰”問題,因此本文提出利用Wasserstein 距離代替f散度作為分布差異的度量。

Wasserstein 距離又稱為推土機距離(EMD,earth mover’s distance)、最優傳輸距離(OT,optimal transport)等[22],將一個分布轉變為另一個分布所需要的代價定義為W(Pr,Pg),即

其中,Pr和Pg為2 個樣本分布,為Pr和Pg分布組成的所有可能的聯合分布的集合。對每一個可能的聯合分布γ,從中采樣一個樣本對x和y都能計算出這個樣本對的距離,所有可能的聯合分布中期望值的下確界即Wasserstein 距離。直觀上,把理解為在γ這個“路徑規劃”下,將一堆“沙土”從Pr挪到Pg所需的“消耗”,而W(Pr,Pg)就是“最優路徑規劃”下的“最小消耗”,因此又叫推土機距離。

Wasserstein 距離相對于f散度的優越性在于即便2 個分布的重疊測度為零,Wasserstein 距離仍然能夠反映它們的“遠近”。以Wasserstein 距離作為分布度量的GAN 稱為WGAN[23],Wasserstein 距離不僅可以提供有效的梯度信息,解決“梯度失穩”和“模式崩潰”的問題,還能為訓練進程提供可靠指標。Geiger 等[24]提出TadGAN 時間序列異常檢測模型,就是利用2 個以Wasserstein loss 作為訓練目標的WGAN 來克服“梯度失穩”和“模式崩潰”問題,且在異常檢測實驗中表現出較好的效果,但因為缺少自編碼器,模型在訓練初始階段存在一定困難。Wasserstein 距離還被應用到自編碼網絡中,王星等[25]利用Wasserstein 自編碼器構建的半監督異常檢測模型WAE-AD,能夠學習復雜的高維數據分布,利用待測數據在訓練好的模型中的異常得分進行異常判定,但對該模型進行訓練時需要提供帶標簽的訓練樣本。

如上所述,雖然當前單獨利用VAE和WGAN進行異常檢測的研究比較多,但是將兩者結合起來對時間序列進行異常檢測的研究并不多。雖然2016年Larsen 等[26]曾提出 VAE-GAN 結構并利用GAN 來改善VAE 生成圖像模糊的問題,但在時間序列異常檢測領域,直到2020 年Niu 等[27]提出基于循環神經網絡結構的 VAE-GAN 時間序列異常檢測方法,才將編碼器、生成器和鑒別器進行聯合訓練,這種方法不需要在異常檢測階段考慮空間的最佳映射問題,即可降低異常檢測的時間消耗。然而該方法仍然使用f散度作為目標函數,訓練過程中依舊可能會出現“梯度失穩”和“模式崩潰”等問題。

2 VAE-WGAN 異常檢測模型

本文提出的VAE-WGAN 異常檢測模型總體框架如圖3 所示,由數據設計、VAE-WGAN和異常檢測3 個模塊組成。

圖3 VAE-WGAN 異常檢測模型總體框架

2.1 數據設計

現實環境中產生的時間序列數據可能是不完整、不一致的,為確保VAE-WGAN 異常檢測模型的訓練及異常檢測結果的客觀性和準確性,需要對原始輸入數據進行必要的“設計”,主要有數據預處理和時間子序列劃分2 個處理過程。

2.1.1 數據預處理

數據預處理是為了保證數據的可讀性和統一性而進行的數據降維、文本數值化、數據清洗、數據去勢、數據歸一化等操作。

1)數據降維。原始序列中一些屬性具有高度相關性或者具有線性關系,去除一些高相關性特征,可以減少運算開支,提高檢測效率。

2)文本數值化。原始序列的屬性特征值并不完全是數字,還可能是文本信息,因此需要將這些文本轉換成相應的離散數值以便參與運算。

3)數據清洗。原始序列中可能存在重復或缺失的數據,需要利用數據清洗技術對這些冗余和缺失數據進行清除整理。

4)數據去勢。數據中的線性趨勢會影響訓練效果,可以采用減去線性最小二乘擬合的方法去除數據中的線性趨勢,使時間序列更加平穩。

5)數據歸一化。不同屬性數據的量綱不同,特征向量的取值范圍也不盡相同,差異較大時會影響檢測結果,需要對數據進行歸一化處理,使數據分布在設定的區間內。

2.1.2 時間子序列劃分

預處理后的數據被分為訓練集、驗證集和測試集,這些數據序列仍然非常長,直接輸入VAE-WGAN 模塊進行運算會導致訓練時間增加、參數更新緩慢、計算開支過度消耗等問題。因此,本文對各時間序列再利用滑動窗口技術進行子序列劃分,以保證訓練與檢測的準確率和時效性。

2.2 VAE-WGAN 模型構建與訓練

2.2.1 VAE-WGAN 模型構建

VAE-WGAN 模型的框架結構如圖4 所示,其包含3 個組塊,即一個VAE 組塊和2 個WGAN 組塊,其中,WGAN 組塊包括WGANe和WGANd。

圖4 VAE-WGAN 模型的框架結構

1)VAE 組塊。該組塊由編碼器Ge和解碼器Gd組成(Ge和Gd同時作為2 個GAN 結構中的生成器),學習輸入序列x的特征,并通過編碼和解碼的方式得到重構序列Gd(Ge(x)),利用周期一致性損失函數,如式(2)所示,最小化輸入序列與重構序列之間的歐氏距離(L2 范數距離)來訓練編碼器Ge和解碼器Gd,防止它們作為生成器時產生矛盾。

2)WGANe組塊。該組塊由VAE 組塊的編碼器Ge和判別器De組成,其中Ge作為生成器。對于輸入x~PX,VAE 會產生一個中間輸出Ge(x)~QZ,引入一個高斯分布ZP作為約束,并找到一個條件分布Q(Z|X),使Z的邊界為QZ(Z):=[Q(Z|X)],即QZ=∫Q(Z|X)dPX,通過調整Ge的參數使Ge(x)服從的QZ分布與先驗分布PZ之間的距離不斷減小,以實現訓練生成器Ge的目標,利用Wasserstein距離計算WGANe的目標函數為

3)WGANd組塊。該組塊由VAE 組塊的解碼器Gd和判別器Dd組成,其中Gd作為生成器。使用范數距離并不能很準確地描述輸入序列與輸出序列的相似性,為了讓變分自編碼器的重構輸出更接近于輸入數據的真實分布,提出利用判別器Dd進一步約束重構數據與輸入數據的差異,WGANd同樣使用Wasserstein 距離計算目標函數

2.2.2 VAE-WGAN 模型訓練

由于GAN 結構的網絡需要異步訓練,因此VAE-WGAN 模型的3 個組塊分別對應了3 個異步的訓練過程,它們都有各自的損失函數及優化器。由于GAN 的判別器在訓練階段,只涉及自身,因此可以直接用z~PZ和x~PX中的樣本作為輸入訓練De和Dd。而2 個GAN 的生成器Ge和Gd又是VAE 的編碼器和生成器,因此在訓練Ge、Gd和VAE時要同時考慮3 個目標函數,利用這3 個目標函數的加權和作為最終的訓練目標

其中,λ、γ、μ為各損失函數的權值,λ+γ+μ=1。采用控制變量法固定其他參數,對比λ、γ、μ不同取值時的實驗結果發現,當λ=0.4、γ=0.3、μ=0.3時,檢測模型在測試集和驗證集上的檢測效果較其他取值更加出色。

為滿足利普希茨連續條件,WGAN 可加上梯度懲罰項(GP,gradient penalty)來限制梯度變化范圍,同時引入權重裁剪方法將參數權重限制在一定區間內。訓練時,采取循環嵌套的方法,生成器每訓練一次,判別器先訓練幾次。判別器對生成數據和真實數據交替采樣來計算梯度懲罰項,這種訓練方法可以使判別器更加“溫和”地訓練生成器,避免出現權重參數“扎堆”地聚集在權重裁剪參數區間兩端的位置,實現過程如算法1 所示。

算法1VAE-WGAN 模型的訓練算法

初始化判別器De和Dd的參數和,生成器Ge和Gd的參數和

1)while 生成器未收斂或未達到設定的迭代次數時do

2)form=1,…,Mgen

3)forn=1,…,Ndisc

4)從真實數據中采樣x~PX,從噪聲數據中采樣z~PZ,生成一個隨機數ε~uniform(0,1)

5)=εz+(1 -ε)Gθ(x),生成混合樣本

6)利用WGAN-gp 方法更新判別器De參數

9)利用步驟5)~步驟8)相似的步驟更新判別器Dd的參數

10)end for

11)從真實數據中采樣x~PX,從噪聲數據中采樣z~PZ

12)更新生成器Ge和Gd的參數和

13)利用RMSProp 算法優化2 個生成器參數和

14)end for

15)end while

2.3 異常檢測

利用正常數據訓練VAE-WGAN,使VAE-WGAN完全學習到正常數據的真實分布。將待測數據輸入訓練好的VAE-WGAN中,利用生成數據與輸入數據之間的差異計算異常得分,當異常得分超過閾值時,可判定輸入數據中存在異常。

2.3.1 計算異常得分

VAE-WGAN 生成的時間序列與輸入時間序列的誤差包括重構誤差和差別誤差,綜合2 種誤差的異常得分作為異常判定的依據。

1)利用重構誤差評估異常得分

對于第i個子序列xi=M為子序列長度,利用VAE-WGAN 生成的對應重構序列為可以根據xi與中各樣本之間的差異計算子序列的重構異常得分。由于相鄰樣本之間在采樣時存在著時間間隔,因此,對于等間隔樣本的子序列只需要考慮各樣本特征值的差異,而對于非等間隔的子序列還需要考慮持續時間因素,為此設計出點差異和面差異。

點差異是等間隔情況下的輸入子序列與重構子序列中各樣本在對應維度特征值差異的總和,計算方法為

面差異是非等間隔條件下的輸入子序列與重構子序列中各樣本維度特征在時間鄰域[-l,l]上面積差值的總和,計算方法為

相對于點差異,面差異更適合發現較長時間段中存在微小差別的區域。點差異也可以認為是特殊的面差異,因此本文使用面差異作為計算重構誤差異常得分的方法。

2)利用判別誤差評估異常得分

普通GAN 的判別器完成“是”與“否”的二分類任務,而WGAN 輸出的是Wasserstein 距離,表示真實數據或生成數據的“距離”,屬于回歸任務,因此訓練好的VAE-WGAN 輸出的判別誤差可以直接作為生成數據與輸入數據的異常性度量,即

3)利用2 個異常得分計算綜合得分

其中,α為控制ZRe(xi)和ZDd(xi)的相對重要性的參數,α∈(0,1),α的取值可根據測試集在訓練好的模型上的檢測結果達到最優時來確定。實驗發現,當α=0.5時,模型取得最佳的檢測效果。

2.3.2 異常判定

根據子序列的異常得分Score(xi),使用閾值法即可判斷該子序列是否存在異常。傳統的閾值法需要人工設定閾值,對于多KIP 的多維時間序列無法統一設置的情況,人工逐一設定的效率極低,因此本文采用滑動窗口自適應技術來確定閾值,根據滑動窗口內的異常得分計算本窗口的閾值,當子序列的異常得分大于所在窗口的閾值時,即可判定該子序列為異常子序列。連續異常子序列組成異常序列的判定過程如圖5 所示。

圖5 連續異常子序列組成異常序列的判定過程

1)設定閾值

滑動窗口自適應閾值技術是把每個子序列的異常得分排列成一維序列∈R,計算每個滑動窗口內異常得分的均值和均方差σN,按照“拉依達準則”將該窗口的閾值設置為均值與3 個均方差之和[28]。因此每個滑動窗口都有自己的閾值,第N個滑動窗口的閾值可表示為,如圖6 所示。

圖6 利用滑動窗口計算閾值示意

滑動窗口大小wa決定了計算設定閾值所需異常得分的個數,步長la的大小決定了異常檢測的精細度,結合定位需求及運算開支,一般將步長設置為窗口的,即

2)異常判定

采用步進式的異常篩查方法,把每個滑動窗口中那些大于閾值的異常得分對應的子序列判別為異常子序列,連續的異常子序列組成異常序列。多維時間序列中的每個子序列的異常得分是通過將該時刻每一個維度的誤差相加得出的,因此可直接根據特征值誤差所對應的屬性和時間標簽定位異常發生的位置和時刻。

3 實驗與分析

3.1 數據設計

本文選用4 個公開的時序異常檢測數據集,包括KDD99-sub 數據集、SMAP 數據集、MSL 數據集以及SWaT 數據集,各數據集主要指標如表1 所示。

表1 各數據集主要指標

3.1.1 數據降維

使用Python 數據分析工具包pandas 讀取檢測數據集,根據數據的相關性特征,利用決策樹技術對原始時間序列數據進行降維處理。以KDD99-sub數據集為例,降維前原始數據中包含DoS、Probe、R2L和U2R 四類攻擊的41 種特征,降維后為16種,如表2 所示。表2中,各攻擊類型的特征在降維前后均有重合。

表2 KDD99-sub 數據集降維前后特征數對比

3.1.2 數據處理

實驗前對數據進行去勢、清洗、文本數字化、歸一化處理,前兩步根據需要選擇使用,歸一化處理則是利用公式對實驗數據做最值運算,將其映射到[0,1]內。

KDD99-sub 數據集預處理前后信息對比如圖7所示。從圖7中可以看出,帶有標簽的原始數據共有42 列,而處理后數據只有17 列。

圖7 KDD99-sub 數據集預處理前后信息對比

3.1.3 數據集劃分

將數據集劃分為訓練集、驗證集和測試集三部分。以KDD99-sub 數據集為例,從數據集的正常數據中隨機抽取60%作為訓練集,再分別從剩余的正常數據和異常數據各隨機抽取一半組成驗證集,其余另一半的正常數據和異常數據組成測試集。

3.1.4 子序列劃分

利用滑動窗口劃分時間子序列如圖8 所示。利用大小為w、步長為s的滑動窗口對長度為T的M維時間序列X={x1,x2,…,xT}進行劃分,得到X={xi,i=1,2,…,m}?Rw×M,其中為子序列的個數。

圖8 利用滑動窗口劃分時間子序列

KDD99-sub 訓練集子序列劃分如圖9 所示。從圖9 可知,KDD99-sub 訓練集使用窗口寬度為64、步長為16 的滑動窗口進行子序列劃分后的第2 個、第3 個子序列的相關信息。

圖9 KDD99-sub 訓練集子序列劃分

滑動窗口的大小與步長應根據被劃分數據集規格及運算設備的性能來綜合考慮。過大過密的子序列會對設備內存帶來很大壓力,而讀取過小過密的子序列需要頻繁進行內部通信;另外過于稀疏的子序列會影響模型對數據相關性的挖掘,關于滑動窗口及滑動步長的設定應根據實驗結果調整優化確定。根據經驗通常將滑動窗口的大小設置為2 的指數冪,滑動步長一般可設為滑動窗口的到

3.2 模型設置

VAE-WGAN 模型采用移除了池化層的卷積網絡作為變分自編碼器的編碼器Ge和解碼器Gd,自編碼器輸入層和解碼器輸出層的神經元個數與待檢測數據集特征向量維度相同,隱藏層神經元數設置為輸入層神經元數的一半。2個GAN的判別器De和Dd為不含 sigmoid 層的卷積結構,超參數Batch_size 為256,最大epoch 為2 000,學習率rate為0.000 1。

為驗證VAE-WGAN 模型檢測的有效性,選取2 種典型異常檢測方法作為對比:MAD-GAN 算法和TadGAN 算法。MAD-GAN 利用普通的GAN 結構在潛在空間中以最優的搜索策略來支持多元時間序列重建,利用重構誤差和判別誤差作為目標函數進行訓練和檢測。TadGAN 利用WGAN 組成的雙生成對抗網絡結構的時間序列異常檢測模型,比本文所提的VAE-WGAN 缺少VAE 結構。

3.3 評估指標

在實際應用場景中,單純的點異常很少出現,且對系統產生的影響基本可以忽略,因此本文主要針對連續的異常序列進行判斷,并提出以下3 個窗口規則。

1)如果已知的異常窗口與任何預測窗口重疊,則記為TP(真陽)。

2)如果已知的異常窗口不與任何預測窗口重疊,則記為FN(假陰)。

3)如果預測窗口不與任何已知的異常區域重疊,則記為FP(假陽)。

使用Precision、Recall和F1 值等指標來衡量檢測方法的性能,其數學表達式如式(10)所示。

其中,Precision 為檢測的精確率,表示計算檢測到異常序列中有多少樣本是真正的異常;Recall 為召回率,表示在原始實際序列的異常有多少樣本被正確地識別出來;F1 值為精確率和召回率的調和平均數,兼顧分類模型的精確率和召回率。本文采用F1值作為衡量異常檢測性能的主要指標。

3.4 實驗結果與分析

3.4.1 模型訓練

VAE-WGAN 模型采取循環嵌套的方法進行訓練,生成器和判別器交替訓練,當生成器通過一次訓練更新參數獲得進步后,判別器需要利用正常數據重新訓練幾次以趕上生成器。算法2 描述了每次迭代時生成器更新一次、判別器更新數次的訓練過程。

算法2循環嵌套訓練的偽代碼

圖10 展示了VAE-WGAN 模型在KDD99-sub訓練集上分別迭代1 次、600 次及1 000 次時生成樣本與真實樣本的空間狀態。圖10中,大圓點為真實樣本T,小圓點為生成樣本F,它們之間的距離表示生成樣本與真實樣本的差異,深色線條為高梯度線,淺色線條為低梯度線。生成器使損失函數值向極小值方向移動(淺色線條),而判別器則迫使其向極大值方向移動(深色線條)。經過數次迭代訓練后,生成器學習到輸入樣本的真實分布,生成的樣本逐漸向真實樣本逼近,直到滿足設定的收斂標準或者達到迭代次數,模型結束訓練。進行異常檢測時,也是通過計算輸入真實樣本與生成樣本的“距離”是否超過閾值來判定輸入數據中是否存在異常。

圖10 VAE-WGAN 在KDD99-sub 數據集上的訓練過程

3.4.2 模型穩定性對比

在訓練一個epoch 后,固定判別器參數,將TadGAN、MAD-GAN和VAE-WGAN 的生成器分別重新訓練,圖11 展示了3 個模型在KDD99-sub訓練集上分別迭代300 次和1 000 次時損失函數的變化情況,橫坐標為迭代次數,縱坐標為損失函數值。從圖11 可以看出,3 個模型在訓練初期的損失函數值均較大且變化劇烈,但是經過數次迭代訓練后,模型的損失值均明顯減少,并保持在一定范圍內振蕩。總體來看,迭代150 次后,VAE-WGAN損失值率先降到最低,并且隨著迭代次數的增加而逐漸趨于穩定,最先達到理想狀態;TadGAN和MAD-GAN 的收斂速度相對較慢。迭代200 次后,3 個模型的損失值都存在不同程度的增加,MAD-GAN和TadGAN 增加得比較明顯,損失值均超過1.5,可能是由于缺少自編器結構導致訓練初期梯度更新不穩定。迭代400 次后,TadGAN和MAD-GAN 的損失函數值開始出現振蕩減小的趨勢,但即使訓練到1 000 次,損失函數值仍然在較大范圍內擺動。

值得注意的是,TadGAN和MAD-GAN 模型的振蕩曲線相似,而VAE-WGAN 的損失函數圖像呈現“V”字形結構,訓練初期表現平緩,其次突然近似線性地快速下跌,再次又近似線性地快速上升,再線性下跌再上升,下跌和上升始終圍繞著“零點”進行且幅度逐漸減小。其原因可能是引入了權重裁剪和梯度懲罰項這2 種機制共同約束參數的變化范圍。因為訓練初期判別器傳遞回的梯度更新信息變化較大,權重裁剪機制發揮主要作用導致變量參數集中分布在權重裁剪參數區間的兩端,從而使運算結果呈現這種近似的線性關系。同樣也是因為這種強約束機制使VAE-WGAN 的損失函數值總在“零點”上下進行幅度遞減的振蕩。

另外,VAE-WGAN 模型的損失函數曲線看似起伏較大,但相對于TadGAN和MAD-GAN 模型來看,其損失函數值其實是非常小的,并且始終圍繞“零點”振蕩,最終能夠快速達到理想的收斂效果??梢哉f與TadGAN和MAD-GAN 模型相比,VAE-WGAN 模型具有明顯的損失小、收斂快、訓練容易的優勢。

3.4.3 異常檢測

異常檢測是根據模型計算出的重構誤差和判別誤差,評估子序列的異常得分,并利用自適應閾值法計算對應的閾值,將大于閾值的子序列判定為異常。如圖12 所示,對前72 個子序列進行初步的異常篩檢,共檢測出6 個異常得分超過閾值的子序列A、B、C、D、E、F,這6 個子序列共組成5 個異常序列,其中,A、B、E、F 子序列各自組成一個異常序列,C、D 這2 個連續子序列組成一個異常序列。由此可見,每個異常序列的大小不定,可能只有一個子序列構成,也可能由多個連續的子序列組成。

圖12 利用自適應閾值法篩檢異常

這種利用滑動窗口劃分時序子序列進行異常檢測的方法可使每個樣本出現在多個子序列中并被多次檢測,有助于發現細微異常。但對于一些由噪聲引起的偏差經過多次疊加放大,也可能被判別為異常,因此滑動窗口雖然可以提高異常的召回率,但也可能帶來較高的誤報率,因此需要對初步篩檢到的異常結果進行取舍。本文采用了“去緩”的自適應異常修剪方法來減少誤報[19]。具體地,提取各異常序列中子序列異常得分最大的值并按降序排列成一維數組,如圖13 所示,分別計算它們的下降速率pi,即

圖13 最大異常得分數組

將驗證集數據輸入訓練好的VAE-WGAN 模型中,利用超參數搜索方法確定使驗證集異常檢測性能指標F1 值達到最大時的裁剪速率閾值p。將pi與設定的裁剪速率閾值p進行比較,當第一個沒有超過閾值p的pi出現時,將它及其后續的最大異常得分,i≤j≤n}所對應的序列重新劃歸為正常。

圖14(a)為各序列中最大異常得分降序排列后的情況,圖14(b)為最大異常得分下降速率的情況。根據驗證集實驗結果,將裁剪速率閾值設置為0.2。從圖14(b)中可以看出,速率超過裁剪閾值的有A和C 共2 個序列,但是由于B 序列的異常得分下降速率已經降到閾值以下,因此B 以及其后的所有序列(包括C 序列)均重新歸為正常。這種方法可直觀地理解為異常值大且變化劇烈的序列是真正異常的可能性較大;而對于異常值較大但變化平緩的序列,可能是由于存在新的未被學習過的正常數據,導致模型不能很好地擬合,從而給出較大的異常得分,對于這種情況在異常裁剪時可以被重新歸為正常。

圖14 利用下降速率裁剪異常

3.4.4 異常檢測結果

對比TadGAN、MAD-GAN和VAE-WGAN 模型在公開數據集上的檢測性能,比較結果如表3 所示。由表3 可知,VAE-WGAN 在KDD99-sub、SMAP和MSL 這3 個數據集上的精確率以及F1 值均為最高,并且在4 個數據集上的總評性能最好。MAD-GAN 在4 個數據集上的F1 值總評最低,可能是由于MAD-GAN 為單生成對抗網絡結構,相比于具有雙生成對抗網絡結構的 TadGAN和VAE-WGAN 模型,異常檢測性能更差;MAD-GAN在SWaT 數據集的表現較好,這是由于MAD-GAN原本就是在SWaT 數據集上經過了多次優化調整出來的模型。TadGAN 在SMAP、MSL、SWaT數據集上的表現較好,但在KDD99-sub 數據集上的檢測性能較差,說明TadGAN 不太適合捕捉網絡流量中數據特征。雖然VAE-WGAN 在SWaT數據集表現稍弱于MAD-GAN,但在其他3 個數據集上表現更加突出,說明VAE-WGAN 不僅具有出色的檢測性能,對于未知異構時間序列數據也具有較強的適用性和泛化能力。

表3 各異常檢測模型性能比較

4 結束語

本文提出了基于VAE-WGAN 架構的多維時間序列異常檢測模型,利用VAE 作為WGAN 的生成器,解決傳統生成對抗網絡缺少自編碼器訓練困難的問題;利用WGAN 的判別器指導VAE 調整訓練參數,增加自編碼器訓練的穩健性有利于減少過擬合。使用Wasserstein 距離作為模型擬合分布與輸入樣本數據真實分布的差異性度量,可有效地避免傳統方法利用f散度訓練時存在的“梯度失穩”和“模式崩潰”風險;利用VAE 的概率編碼器模擬潛在變量分布而非輸入變量本身,解決了多維異構數據難以統一計算的問題,增強了模型對各時間序列數據的泛化能力。利用滑動窗口將時間序列劃分為多個子序列,有利于發現序列中上下文異常;使用滑動窗口自適應的閾值設定方法,有助于提升異常序列的召回率;使用“去緩”的裁剪技術,對異常得分變化小的時間子序列做“糾正”處理,提升了異常判定的準確率。

通過對比VAE-WGAN、TadGAN和MAD-GAN這3 種異常檢測模型在KDD99-sub、SMAP、MSL和SWaT 這4 個時間序列數據集上的異常檢測性能可知,基于VAE-WGAN 的多維時間序列異常檢測模型能夠提供穩定的梯度信息,有較強的穩定性和穩健性,且對多維異構數據有較強的泛化能力,尤其是針對網絡流量數據的檢測性能明顯高于其他模型。如何與安全事件關聯分析技術相結合,將本文方法拓展到基于網絡流量的入侵檢測系統是下一步的研究方向。

猜你喜歡
利用檢測模型
一半模型
利用min{a,b}的積分表示解決一類絕對值不等式
中等數學(2022年2期)2022-06-05 07:10:50
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
利用一半進行移多補少
重尾非線性自回歸模型自加權M-估計的漸近分布
利用數的分解來思考
Roommate is necessary when far away from home
主站蜘蛛池模板: 国产视频资源在线观看| 高清亚洲欧美在线看| yy6080理论大片一级久久| 九色视频线上播放| 中文字幕永久视频| 国产99免费视频| 国产91视频观看| 亚洲天堂网在线观看视频| 欧美在线综合视频| 亚洲无码视频一区二区三区| 精品日韩亚洲欧美高清a| 青草视频网站在线观看| 91香蕉视频下载网站| 中文字幕伦视频| 日韩无码视频播放| 欧美日本一区二区三区免费| 青草视频在线观看国产| 日韩国产一区二区三区无码| 狠狠色综合网| 99re在线免费视频| 亚洲一区二区日韩欧美gif| 国产乱人伦AV在线A| 久久中文字幕不卡一二区| 中文字幕一区二区视频| 福利在线不卡| 国产原创第一页在线观看| 日韩成人免费网站| 亚洲男女在线| 91在线视频福利| 国产女人在线视频| 久久综合色88| 欧美成人一级| 国产精品欧美日本韩免费一区二区三区不卡 | 欧美色99| 国产91无码福利在线| 在线网站18禁| 蝴蝶伊人久久中文娱乐网| 网久久综合| 成人在线不卡视频| 国产精品成人一区二区| 制服丝袜亚洲| 国产麻豆91网在线看| 久久国产精品77777| 婷婷亚洲最大| jizz亚洲高清在线观看| 国产视频入口| 国产电话自拍伊人| 成人日韩视频| 亚洲愉拍一区二区精品| 亚洲欧洲日韩综合色天使| 毛片网站在线播放| 丁香五月亚洲综合在线| 国产午夜在线观看视频| 视频二区国产精品职场同事| 一级毛片免费不卡在线视频| 久久婷婷国产综合尤物精品| 97视频免费看| 中文字幕免费视频| 熟妇丰满人妻| 国产精品天干天干在线观看 | 九月婷婷亚洲综合在线| 免费在线看黄网址| 亚洲水蜜桃久久综合网站| 久一在线视频| 无码国产伊人| av色爱 天堂网| 国产精品久久自在自线观看| 91麻豆久久久| 中文字幕精品一区二区三区视频| 国产99视频精品免费观看9e| 亚洲天堂精品在线观看| 91成人在线观看视频| 国产网站黄| 8090成人午夜精品| 2021国产乱人伦在线播放| 亚洲无码37.| 色综合久久88色综合天天提莫 | 亚洲区欧美区| 日日碰狠狠添天天爽| 亚洲 欧美 日韩综合一区| 自拍欧美亚洲| 亚洲丝袜第一页|