?

無監督異常檢測的深度變分自編碼高斯混合模型

2024-01-15 05:44江連吉陳玉明鐘才明曾高發
廈門理工學院學報 2023年5期
關鍵詞:編碼器高斯重構

江連吉,陳玉明*,鐘才明,曾高發

(1. 廈門理工學院 計算機與信息工程學院,福建 廈門 361024;2. 寧波大學科學技術學院信息工程學院, 浙江 寧波 315212;3. 廈門市執象智能科技有限公司, 福建 廈門 361024)

無監督異常檢測是機器學習中的基本問題之一[1-2],它在許多領域都有廣泛的應用,如網絡安全、復雜管理系統和醫療衛生等。尤其在網絡安全領域,隨著互聯網的飛速發展,網絡流量不斷增長,網絡入侵、黑客攻擊和惡意程序注入等現象頻繁出現。據《2021 年中國互聯網安全報告》,2021 年API攻擊增長超200%,DDos 攻擊事件同比增長約60%,Web 應用攻擊高達229.83 億次,同比增長141.3%[3]。因此,提高網絡入侵檢測系統的性能和準確率顯得尤為關鍵。

早期的入侵檢測主要是基于模式的硬編碼規則[4-5],但隨著機器學習和深度學習的發展,異常檢測開始采用有監督和無監督的機器學習模型[6-11],如決策樹模型(decision tree,DT)[12-13]、支持向量機模型(support vector machine,SVM)[14-16]和高斯混合模型(gaussian mixture model,GMM)[17-18]。由于異常數據比正常流量數據少,存在數據不平衡與難以獲得有效標簽的問題。為解決這些問題,有學者開始采用自編碼器(autoencoder,AE)[19-21]、變分自編碼器(variational auto-encoders,VAE)[22-23]和生成對抗網絡(generative adversarial networks,GAN)[24-26]等模型進行檢測。這些模型能對異常數據進行生成重構,解決了無法獲得有效標簽數據集的問題,并能應對更多未知類型的異常數據。然而,它們在重構數據樣本時往往忽略了正常樣本本身的內部結構和低維空間的表征。

目前,用于無監督異常檢測的方法大致可以分為3類。第一類是基于重構的方法。如通過深度自編碼器對樣本進行重構,將重構后的樣本與訓練樣本進行比較,通過設定閾值,把重構誤差小的歸為正常樣本。這類方法由于只從重構誤差這一方面進行異常分析,所以存有大量異常樣本經過重構后仍然與正常樣本接近的問題。第二類是基于聚類的方法,如K-means、CBLOF(基于聚類的局部異常因子)算法、CMGOS(基于聚類的多維高斯異常得分)算法等。這些傳統技術主要通過兩個步驟來進行檢測,即先進行降維,然后進行聚類分析。由于這兩個步驟是分開學習的,因此在降維過程中可能會丟失聚類分析的關鍵信息。第三類是基于單分類的方法,如利用SVM(支持向量機)對樣本進行二分類。這類方法由于異常樣本的數量往往少于正常樣本,隨著樣本維度的增加會導致檢測精度的下降。為更好地學習到原始樣本的低維特征,同時避免自編碼器自身的局部優化問題,減少重構誤差,本文采用聯合優化深度變分自編碼器和高斯混合模型參數的方法,并利用單獨的估計網絡促進混合模型的參數學習,提出一種由壓縮網絡和估計網絡組成的深度變分自編碼高斯混合模型(DVAGMM)。

1 深度變分自編碼高斯混合模型的建立

1.1 網絡結構

DVAGMM 模型的網絡結構如圖1 所示。從圖1 可見,該模型包含壓縮網絡和估計網絡兩個部分。壓縮網絡由變分自編碼器組成,可以將初始輸入樣本X 進行降維,并計算低維空間的均值μ(X)和方差σ(X),從而獲得N(μ(X),σ(X))的高斯分布。這個分布會被重采樣得到低維表征Zl,然后再通過解碼器進行解碼重構,從而獲得重構樣本X'。在估計網絡中,使用余弦相似度Z1和歐氏距離Z2來衡量原始樣本X 與重構樣本X'之間的差異,并將它們作為重構誤差與重采樣后的低維特征Zl一起作為輸入Z。最后,使用高斯混合模型對每個樣本進行密度估計,得到整個網絡的最終輸出π?。

1.2 壓縮網絡

壓縮網絡的作用是將輸入樣本X進行壓縮降維獲得的樣本進行低維表示后再進行重構,其主要由編碼器和解碼器組成。編碼器、解碼器的結構如圖2、3所示。由圖2可見,樣本X通過編碼器學習到其低維空間的后驗分布P(Zl|X)~N(μ(X),σ(X)),同時對該分布進行隨機采樣獲得低維變量Zl。

圖 1 DVAGMM的網絡結構Fig.1 Network structure of DVAGMM

圖 2 編碼器的網絡結構Fig.2 Network structure of the encoder

圖 3 解碼器的網絡結構Fig.3 Network structure of the decoder

將采樣得到的低維變量Zl輸入到解碼器中,通過隱藏層進行解碼重構,最終獲得重構樣本X';通過函數h( ?,?)和f( ?,?)計算重構誤差,并與低維變量Zl合并成Z輸出,具體表示為

式(1)~(3)中:h( ?,?)為余弦相似度函數;f( ?,?)為樣本間歐式距離;Z為估計網絡的輸入。

1.3 估計網絡

輸入樣本的低維表示Z,通過以高斯混合模型為基本框架的估計網絡,對低維樣本進行密度估計,得到估計網絡的輸出π?。區別于傳統的高斯混合模型,該網絡在訓練過程中可以直接通過計算未知混合變量的均值、協方差和該變量的分布,估計出高斯混合模型中的參數和樣本的似然,而不需要通過傳統的期望最大化(EM)算法對參數進行迭代估計。該估計網絡的關鍵在于,當混合變量經過多層神經網絡時,能通過計算得出樣本混合成分的概率,給出低維表征Z和一個整數K作為混合成分的數量。估計網絡利用多層神經網絡來進行成分預測,計算公式為

式(4)~(5)中:π?是一個K 維向量,通過歸一化指數函數(softmax 函數)進行成分預測;P 是以θm為參數的MLN(多層神經網絡)的輸出。給定一批N個樣本和它們的成分預測,?1 ≤k ≤K,就可以進一步估計出高斯混合模型中的參數。即

這個概率分布稱作樣本能量,在異常檢測中,其能量值越大,則被分為異常樣本的概率也越大。

1.4 損失函數

DVAGMM 模型采用聯合優化的方式對目標函數進行優化。為同時優化壓縮網絡與估計網絡中的參數,提出新的聯合損失函數,該函數主要分為4個部分。第一部分主要由樣本能量構成;第二部分為KL 散度;第三部分為壓縮網絡中變分自編碼器產生的重構誤差的損失;第四部分為正則項,用于防止矩陣出現不可逆的情況。第一部分可以表示為

式(10)中:N 表示樣本個數;λ1為平衡系數;E(zi)表示第i個樣本的樣本能量。通過最小化樣本能量可以找到壓縮網絡與估計網絡的最優組合。第二部分損失的目標是使所有樣本的邊際與p(x)最大化,計算公式為

式(11)中:p(XZl)為 X 和Zl的聯合先驗分布;p(Zl|X)為隱變量Zl的真實條件分布。兩邊取對數再積分,可得

式(12)~(13)中:GKL( ?∥?)為KL 散度。因為GKL( ?∥?) ≥0,所以的變分下界,記為GELBO(evidence lower bound,ELBO)。該網絡的優化目標可以簡化為最大化GELBO,GELBO由KL 散度和重構誤差組成。其中,KL 散度表示隱變量Zl的真實分布p(Zl|X)與近似后驗分布q(Zl|X)之間的差異,KL 散度越小,兩個分布越相似。重構誤差指重構樣本與原始樣本之間的差異,用樣本的歐氏距離或余弦相似度表示。

假設隱變量Zlw的真實分布p(Zl,w)服從均值為0,方差為1的標準正態分布,可以得到:

因此,第二部分的損失為

第三部分的損失為重構誤差,計算公式為

第四部分的損失為正則化項,用于防止矩陣出現不可逆的情況,其具體公式為

綜上,聯合損失函數L可表示為

式(18)中:λ1、λ2為用于平衡以上4項的參數;L(Xi,X'i)為重構損失函數。

2 實驗結果與分析

2.1 數據集

公共基準數據集的統計數據如表1所示。

表 1 公共基準數據集的統計數據Table 1 Statistics for public benchmark datasets

表1 中,KDDCUP 數據集來自于1998 年的DARPA(美國國防高級研究計劃局)入侵檢測評估項目,是網絡入侵檢測的基準數據集。本次實驗選取數據集總數的10%,實驗樣本個數為494 021 個,包含了41 個維度,其中34 個是連續型特征,7 個是離散型特征。對于離散特征,使用One-hot 編碼。最終得到一個120 維度的數據集。由于20%的數據樣本被標記為“正?!?,其余的被標記為“異?!?,“正?!睒颖緦儆谏贁等?,因此,在這個任務中,“正?!钡臉颖臼潜豢醋鳟惓磉M行處理的。

Thyroid(甲狀腺)數據集從ODDS(original owners of database)數據庫中獲得。原始數據集中一共有3 772個樣本6個特征維度,總共有3個類。在這個任務中,因為功能亢進類是個明顯的少數類,所以功能亢進類被視為異常類,其他兩個類被視為正常類。

Arrhythmia(心律失常)數據集也從ODDS 數據庫中獲得。稀少的類,包括3、4、5、7、8、9、14和15,被組合成異常類,其余的類被合并為正常類。

KDDCUP-Rev 數據集來自KDDCUP。保留所有標記為“正?!钡臄祿颖?,并隨機抽取標記為“異?!钡臉颖?,使“正?!焙汀爱惓!敝g的比例為4∶1,這樣就得到1 個異常比例為0.2 的數據集。其中“異?!睒颖緦儆谏贁等后w。需要注意的是,“異?!睒颖静皇枪潭ǖ?,每一次運行都將從KDDCUP中隨機抽取“異?!睒颖?。

2.2 網絡參數設置

DVAGMM 模型的壓縮網絡參數如表2所示。表2中,FC表示全連接層;Sampling表示對數據進行重采樣,將低維數據映射到N(Zmean,e0.5Zvarε)的高斯分布后對該分布進行采樣,最終得到原樣本的低維表示Zl。其中,Zmean、Zvar分別是Zl的均值和方差,ε是服從N(0,1)的隨機數。

表 2 壓縮網絡參數Table 2 Compressed network parameters

DVAGMM模型的壓縮網絡參數如表3所示。

表 3 估計網絡參數Table 3 Estimated network parameters

表3中,Z1、Z2表示壓縮網絡產生的重構誤差。這里采用歐式距離和余弦相似度作為度量,計算公式分別為

為防止模型產生過擬合的現象,在估計網絡的第二層設置Dropout 層。權重0.5 表示在前向傳播的過程中讓某個神經元的激活值以50%的概率停止工作,以增強模型的泛化性能,使其不過于依賴局部特征。最后,通過softmax函數激活后輸出最終結果π?作為樣本在低維空間的密度估計。

其余超參數的設置如訓練次數epochs = 200,每次的批量大小batch_size = 1 024。在模型優化方面,訓練采用Adam 優化器,其中的超參數設置如學習率learning_rate = 1 × 10-4,平衡系數λ1= 0.1,平衡系數λ2= 0.005。

2.3 實驗結果

本次實驗采用平均精度、召回率、F1指標對異常檢測性能進行度量。根據表1數據集中的異常比率,實驗通過設置閾值來對異常樣本進行判別。例如在KDDCUP 數據集上,設置密度估計值前20%的數據樣本標記為異常樣本,并把異常樣本歸為正例,正常樣本定義為負例。相應地,定義精確率P、召回率R和F1指標如下:

式(21)~(23)中:TP 為真正例,指的是將異常樣本正確分類為異常樣本;FP 為假正例,指的是將正常樣本錯誤分類為正常樣本;FN為假負例,指的是將異常樣本錯誤預測為正常樣本。

將DVAGMM 與OC-SVM、DCN、DSEBM、PAE 這幾個流行的異常檢測算法進行比較。OC-SVM(one-class support vector machine)是一種基于核函數的支持向量機,本實驗采用的是RBF(radial basis function)核函數[27]。DCN(deep clustering network)深度聚類網絡是一種最先進的通過k-means調節自動編碼器性能的聚類算法[28],將這項技術應用于異常檢測任務,是將樣本與其聚類中心之間的距離作為異常檢測的度量標準(樣本距離其聚類中心較遠的被視為異常樣本)。DSEBM(deep structured energy based model)基于深度結構化能量的模型是一種用于無監督異常檢測的深度學習方法[29]。在DSEBM-e 中,樣本能量被用作檢測異常的度量標準。DSEBM-e 和DSEBM-r共享相同的核心技術,但是DSEBM-r使用重建誤差作為異常檢測的度量標準。PAE是將DAGMM 在目標函數中去除樣本能量函數獲得的變量,這個DVAGMM 變體相當于1個深度自動編碼器。為確保壓縮網絡訓練良好,實驗采用預訓練策略[30]在PAE中的樣本重構誤差作為異常檢測的度量標準。

在第一組實驗中,隨機選擇50%的數據進行訓練,而將剩余的50%數據用于測試,保證用于訓練模型的樣本都為正常樣本,并且所有方法都運行20次,取平均值,得到如表4所示的結果。

表 4 DAGMM與多個異常檢測算法的比較Table 4 Comparison of DAGMM with multiple anomaly detection algorithms

第二組實驗針對KDDCUP 數據集,仍然將50%的數據用于訓練,剩余50%的數據用于測試。為了研究訓練時異常樣本數量對訓練模型的干擾,第二組實驗將異常樣本和正常樣本按混合比例c進行混合作為訓練集,對各個模型進行訓練,獲得的實驗結果如表5所示。

表 5 異常樣本比例對各模型訓練的影響情況Table 5 Effect of anomaly sample proportion on training by model

從表4可見,DVAGMM 在準確率P、召回率R、以及F1指標等多個方面相較于其他流行的異常檢測算法及其變體都有著優異的表現。在KDDCUP和KDDCUP-Rev數據集上,DVAGMM 表現更加突出。相比于OC-SVM、DSEBM-e、DCN 及PAE 模型,DVAGMM 在準確率方面分別高出了16.41%、17.29%、14.02%和18.22%。在召回率指標上,DVAGMM 也有著不錯的表現,僅在KDDCUP-Rev 數據集上略低于OC-SVM,在KDDCUP、Thyroid 和Arrhythmia 數據集上比OC-SVM 分別高出0.56%、5.95%、9.96%。說明在異常檢測過程中,DVAGMM 能夠盡可能地檢測出異常樣本。對于DSEBM 的變體,由于其只考慮部分損失,召回率指標普遍較低,說明在實際應用中對異常樣本不敏感。在4個數據集上,DVAGMM 的F1 指標均超過OC-SVM,分別高出8.77%、10.64%、8.95%和4.02%,表明在綜合性能上,DVAGMM相較于其他異常檢測算法有著明顯的優勢。

分析第一組實驗發現,DVAGMM 在異常檢測和信息判別方面都有著出色的效果。盡管OC-SVM在某些情況下表現不錯,但其容易受到數據維度的限制;而DSEBM 的變體雖然在不同數據集上表現良好,但DVAGMM 共同考慮了重構誤差和樣本能量,性能更佳。DCN 和PAE 模型在預先訓練的深度自動編碼器方面可能存在限制,且當預訓練較為成熟時,這些模型難以適應數據維度的減少,從而影響后續的密度估計任務。

分析第二組實驗發現,被異常數據污染的訓練集會對檢測準確性產生影響,隨著異常樣本的混合比例從1%增加到5%,所有方法的準確率、召回率和F1 指標都下降了。不過,DVAGMM 在5%的樣本污染狀態下仍然保持了不錯的檢測效果。相比之下,OC-SVM 對訓練集污染比例更為敏感。因此,在訓練時最好使用低污染的數據集。

綜上所述,DVAGMM 通過端到端的訓練,在公共基準數據集上表現良好,能夠有效提高無監督異常檢測的檢測效果。

3 結論

針對高維數據無監督異常檢測難以重構異常樣本,無法保留低維空間信息的問題,本文提出了深度變分自編碼高斯混合模型DVAGMM,通過壓縮網絡和估計網絡進行端到端的訓練,聯合優化了深度變分自編碼器和高斯混合模型的參數。實驗結果表明,在異常檢測方面,DVAGMM 模型相較于其他幾個流行算法有著明顯的優越性,在綜合性能上高出第二名4.02%,對于訓練樣本的污染情況也有著較強的抵抗性,在5%的樣本污染率下依舊能保持80%的準確率。后續將考慮通過加入?;乃枷?,引入粒計算的理念來增強模型的泛化性能,并進一步提高異常檢測的準確率。

猜你喜歡
編碼器高斯重構
長城敘事的重構
數學王子高斯
天才數學家——高斯
北方大陸 重構未來
基于FPGA的同步機軸角編碼器
北京的重構與再造
基于PRBS檢測的8B/IOB編碼器設計
論中止行為及其對中止犯的重構
JESD204B接口協議中的8B10B編碼器設計
有限域上高斯正規基的一個注記
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合