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

基于彈性網(wǎng)的深度去噪自編碼器異常檢測方法

2020-06-12 09:17:36譚敏生李行健
計算機工程與設(shè)計 2020年6期
關(guān)鍵詞:深度檢測

譚敏生,呂 勛,丁 琳,李行健

(南華大學(xué) 計算機學(xué)院,湖南 衡陽 421001)

0 引 言

與傳統(tǒng)有線網(wǎng)絡(luò)相比,無線網(wǎng)絡(luò)更容易受到惡意攻擊。由于無線通信中的傳感節(jié)點缺乏監(jiān)督,惡意攻擊很容易入侵系統(tǒng)并浪費大量資源。為此,學(xué)者們從各個角度對異常檢測方法[1,2]進行了研究,如多尺度主成分分析算法(MSPCA[3])、支持向量機(SVM)、K最近鄰算法(K-NN)等。深度學(xué)習(xí)作為一種很有前景的解決方案[4,5],在處理復(fù)雜大規(guī)模數(shù)據(jù)方面有著更出色的性能,一方面,深度學(xué)習(xí)算法[6]可以揭示輸入數(shù)據(jù)之間更深層的關(guān)系;另一方面,深度學(xué)習(xí)算法具有更強大的特征提取和表示能力,同時盡可能地保留有關(guān)信息。自編碼器[7]作為深度學(xué)習(xí)的一種新穎降維方法[8],通過使用神經(jīng)網(wǎng)絡(luò)[9]可以找到最佳子空間,捕獲特征之間的非線性相關(guān)性。例如,V.L.Cao等[10]提出了結(jié)合自編碼器和密度估計的異常檢測方法;Zong等[11]提出了用于無監(jiān)督異常檢測的深度自編碼高斯混合模型,能避免陷入局部最優(yōu);Zhou等[12]提出了一種魯棒深度自編碼器(RDA)來用于異常檢測,但是誤檢率較高;Hong等[13]提出了一種用于高維數(shù)據(jù)的混合半監(jiān)督異常檢測模型,降低了計算復(fù)雜度;L.Bontemps等[14]提出了基于長短時記憶遞歸神經(jīng)網(wǎng)絡(luò)(LSTM-RNN)的集體異常檢測方法,但存在過擬合現(xiàn)象。

現(xiàn)有研究成果在處理維度不高的數(shù)據(jù)時,效果不錯,但在處理多元和高維數(shù)據(jù)時,算法的誤報率較高,性能達不到預(yù)期效果。為此,本文提出一種基于彈性網(wǎng)的深度去噪自編碼器異常檢測方法,用正常數(shù)據(jù)對基于彈性網(wǎng)的深度去噪自編碼器進行訓(xùn)練獲得數(shù)據(jù)的重構(gòu)誤差閾值,來對數(shù)據(jù)進行異常檢測。

1 深度自編碼器

自編碼器(AE)是一種無監(jiān)督[15]的三層神經(jīng)網(wǎng)絡(luò),將輸入壓縮成潛在的空間表征來重構(gòu)輸出,利用反向傳播算法使輸出值盡可能等于輸入值。自編碼器由編碼器和解碼器構(gòu)成,如圖1所示。

圖1 自編碼器模型

深度自編碼器(DAE)是由多個自編碼器端到端連接組成的神經(jīng)網(wǎng)絡(luò),前一層自編碼器的輸出作為下一個自編碼器層的輸入,以獲得輸入數(shù)據(jù)的更高級別特征表示,逐步將特定特征向量轉(zhuǎn)換為抽象特征向量,實現(xiàn)從高維數(shù)據(jù)空間到低維數(shù)據(jù)空間的非線性轉(zhuǎn)換。深度自編碼器結(jié)構(gòu)如圖2所示。

圖2 深度自編碼器結(jié)構(gòu)

深度自編碼器的工作過程可分為兩個步驟:編碼和解碼,這兩個步驟可定義為:

編碼:輸入向量(Xn∈Rd)被壓縮成構(gòu)成隱藏層的mm

(1)

其中,X為輸入向量,θ為參數(shù)Winput,φinput,W表示大小為m×d的編碼器權(quán)重矩陣,φ表示維數(shù)為m的偏置向量。

解碼:將得到的隱藏層輸出Hi解碼回原始輸入空間Rd,映射函數(shù)如下

(2)

其中,解碼器的參數(shù)θ′=Whidden,φhidden,Y是輸入數(shù)據(jù)后的重構(gòu)向量,fθ(·)和gθ′(·)分別表示隱藏層神經(jīng)元和輸出層神經(jīng)元的激活函數(shù),激活函數(shù)是非線性函數(shù),用以揭示輸入特征之間的非線性相關(guān)性。本文采用relu函數(shù)和tanh函數(shù)作為激活函數(shù),relu函數(shù)和tanh函數(shù)表達式如式(3)和式(4)所示

(3)

relu(x)=max(0,x)

(4)

通過訓(xùn)練自編碼器來重構(gòu)原始數(shù)據(jù),調(diào)整編碼器和解碼器的參數(shù),使輸出重構(gòu)數(shù)據(jù)和輸入數(shù)據(jù)之間的誤差最小化,即誤差函數(shù)最小,把編碼器最后一層隱藏層的輸出數(shù)據(jù)作為輸入的最佳低維數(shù)據(jù)。重構(gòu)誤差函數(shù)JE(W,φ)用式(5)所示均方差函數(shù)表示

(5)

2 基于彈性網(wǎng)的深度去噪自編碼器構(gòu)建

深度自編碼器是由多個自編碼器端到端連接而形成的神經(jīng)網(wǎng)絡(luò),相比簡單的自編碼器,深度自編碼器能更好的逐層學(xué)習(xí)原始數(shù)據(jù)的多種表達,刻畫更復(fù)雜的特征。θ,θ′用均方誤差函數(shù)來優(yōu)化深度自編碼器的參數(shù)

(6)

其中,n表示樣本數(shù)量,JE表示均方差函數(shù)。將訓(xùn)練集中一部分標(biāo)簽為“正常”的數(shù)據(jù)去訓(xùn)練基于彈性網(wǎng)的深度去噪自編碼器,對重構(gòu)誤差進行閾值處理,利用正常數(shù)據(jù)與異常數(shù)據(jù)的重構(gòu)誤差值,來對不同數(shù)據(jù)特征進行分類。

為了提高網(wǎng)絡(luò)的泛化能力和抗擾動能力,使結(jié)構(gòu)風(fēng)險最小化,在深度自編碼器的隱藏層輸出值加入某種約束,降低不重要特征的權(quán)重。一般在自編碼器中加入正則化,可用L1范數(shù)來正則化,L1范數(shù)符合拉普拉斯變換,是指權(quán)值向量W中各個元素的絕對值之和,可以產(chǎn)生稀疏權(quán)重矩陣即產(chǎn)生一個稀疏模型,用于特征選擇,這樣式(6)更新為如下表達式

(7)

也可以利用L2范數(shù)來正則化,L2范數(shù)符合高斯分布,是完全可微的,指權(quán)值向量W中各個元素的平方和然后再求平方根,也就是歐幾里得距離之和,這樣式(6)更新成如下表達式

(8)

而彈性網(wǎng)的正則化是L1和L2懲罰函數(shù)的線性混合,所以基于彈性網(wǎng)的深度自編碼器的重構(gòu)誤差函數(shù)如式(9)所示

(9)

利用參數(shù)λ2可以控制稀疏性,利用參數(shù)λ1可以防止網(wǎng)絡(luò)過擬合,最小化重構(gòu)誤差,提高網(wǎng)絡(luò)的泛化能力。

自編碼器是高度非線性的,通過在輸入層添加噪聲,可以提高自編碼器的重構(gòu)能力。如圖3所示,引入一個損壞過程C(X′/X)將輸入X進行處理后產(chǎn)生一個損壞樣本X′,然后再對數(shù)據(jù)X′進行重構(gòu)。本文使用加性高斯噪聲作為對輸入數(shù)據(jù)進行處理,通過引入噪聲使學(xué)習(xí)到的特征更具魯棒性,從而給深度自編碼器帶來更好的性能。

圖3 去噪自編碼器訓(xùn)練過程

考慮到網(wǎng)絡(luò)中存在約束,對不同參數(shù)使用不同的學(xué)習(xí)速率,例如降低不頻繁特征的更新頻率。然而,大多數(shù)傳統(tǒng)流行的梯度下降算法包括隨機梯度下降和小批量梯度下降,對網(wǎng)絡(luò)中所有需要更新的參數(shù)使用相同的學(xué)習(xí)速率,使得難以選擇合適的學(xué)習(xí)速率以及容易陷入局部最小。因此,為了訓(xùn)練更好的深度網(wǎng)絡(luò),本文使用自適應(yīng)矩估計(Adam)梯度下降算法[16]來實現(xiàn)不同參數(shù)的動態(tài)自適應(yīng)調(diào)整,Adam算法通過計算梯度一階矩估計mt和二階矩估計vt來實現(xiàn)不同參數(shù)的動態(tài)調(diào)整,調(diào)整方法如式(10)~式(15)所示

mt=β1mt-1+(1-β1)gt

(10)

(11)

(12)

計算mt和vt的偏差矯正

(13)

(14)

(15)

β1和β2分別表示一階和二階的矩估計指數(shù)衰減率,gt表示損失函數(shù)中時間步長t的參數(shù)梯度,γ表示更新的步長,ξ表示采用一個很小常數(shù)來防止分母為零。

本文把[122-110-90-10-90-110-122]作為深度網(wǎng)絡(luò)的結(jié)構(gòu)。由于輸入數(shù)據(jù)是122維,所以把輸入層的神經(jīng)元數(shù)設(shè)為122,在神經(jīng)元數(shù)為10的隱含層中采用relu函數(shù)作為激活函數(shù),其余層的激活函數(shù)采用tanh函數(shù)。

3 基于彈性網(wǎng)的深度去噪自編碼器異常檢測方法

在訓(xùn)練階段使用標(biāo)簽為“正常”的數(shù)據(jù)進行訓(xùn)練,則相應(yīng)的測試集中正常數(shù)據(jù)的重構(gòu)誤差會較小,而異常數(shù)據(jù)將具有相對較高的重構(gòu)誤差。通過對重構(gòu)誤差進行閾值處理,可以對惡意數(shù)據(jù)進行分類,如式(16)所示

(16)

基于彈性網(wǎng)的深度自編碼器網(wǎng)絡(luò)異常檢測算法(e-DDAE)主要步驟如下:

步驟1 數(shù)據(jù)預(yù)處理。使用獨熱(one-hot)編碼對NSL-KDD數(shù)據(jù)集進行符號特征數(shù)值化,然后對數(shù)據(jù)進行最小最大歸一化處理,將所有特征轉(zhuǎn)換為[0,1]的范圍。

步驟2 構(gòu)建彈性網(wǎng)正則化的深度自編碼器。根據(jù)式(7)-式(9),在深度自編碼器的損失函數(shù)中加入彈性網(wǎng)正則化即L1和L2范數(shù)的線性混合,使得重構(gòu)誤差函數(shù)最小化。

步驟3 對彈性網(wǎng)正則化的深度自編碼器的輸入數(shù)據(jù)加入高斯噪聲,提高深度自編碼器重構(gòu)能力,根據(jù)式(10)-式(15),用Adam算法對網(wǎng)絡(luò)進行優(yōu)化,對輸入數(shù)據(jù)進行降維重構(gòu),把輸入數(shù)據(jù)壓縮降維到10維,再重構(gòu)為122維數(shù)據(jù)。

步驟4 自編碼器訓(xùn)練。在訓(xùn)練階段,抽取NSL-KDD訓(xùn)練集中90%的標(biāo)簽為“正常”數(shù)據(jù)樣本作為基于彈性網(wǎng)的深度去噪自編碼器的訓(xùn)練集,剩下的10%的“正常”數(shù)據(jù)作為驗證集,并結(jié)合BP算法來訓(xùn)練基于彈性網(wǎng)的深度去噪自編碼器,用驗證數(shù)據(jù)集進行測試,使其能夠捕獲正常數(shù)據(jù)的特征。通過訓(xùn)練基于彈性網(wǎng)的深度去噪自編碼器,構(gòu)建正常數(shù)據(jù)的重構(gòu)誤差閾值。

步驟5 自編碼器檢測。將測試數(shù)據(jù)集輸入到自編碼器網(wǎng)絡(luò)中并根據(jù)式(16)進行分類,把訓(xùn)練集的重構(gòu)誤差作為異常閾值,重構(gòu)誤差低于閾值的數(shù)據(jù)將被分類為正常,高于閾值的數(shù)據(jù)則被分類為異常。

4 實驗與結(jié)果分析

4.1 實驗數(shù)據(jù)集

使用NSL-KDD數(shù)據(jù)集來評價基于彈性網(wǎng)的深度去噪自編碼器異常檢測算法(e-DDAE),NSL-KDD數(shù)據(jù)集在KDD99數(shù)據(jù)集基礎(chǔ)上得到了改進,消除了KDD99數(shù)據(jù)集中的冗余數(shù)據(jù)。NSL-KDD數(shù)據(jù)集包含125 973個訓(xùn)練樣本和22 543個測試樣本,包括拒絕服務(wù)攻擊(Dos)、探測攻擊(Probe)、遠程到本地攻擊(R2L)、用戶到根攻擊(U2R)這4種攻擊樣本類型,具體分布見表1。

表1 NSL-KDD數(shù)據(jù)集攻擊數(shù)目和分類

4.2 數(shù)據(jù)預(yù)處理

NSL-KDD數(shù)據(jù)集包含41個屬性特征,使用獨熱(one-hot)編碼來對數(shù)據(jù)集數(shù)字化。NSL-KDD數(shù)據(jù)集的符號特征包括“Protocol_type”,“Service”和“Flag”,其中“Protocol_type”包括TCP,UDP,ICMP這3種不同的協(xié)議類型,“Service”包括70種不同的符號特征值,“Flag”包括11種不同的符號特征值。因此,在完成數(shù)字化處理后,NSL-KDD數(shù)據(jù)集的41維特征數(shù)據(jù)擴展為122維。

為了將特征統(tǒng)一量綱,提高算法收斂速度和精度,使用式(17)歸一化方法來處理NSL-KDD數(shù)據(jù)集中的特征值,將特征線性映射到[0,1]區(qū)間上。xmax和xmin分別表示原始特征最大值和最小值,x表示原始特征值

(17)

4.3 實驗評估指標(biāo)與設(shè)置

本文使用基于混淆矩陣的方法來評估實驗結(jié)果,混淆矩陣的定義見表2,TP(true positive)表示預(yù)測為正常的正常數(shù)據(jù),TN(true negative)表示預(yù)測為攻擊的攻擊數(shù)據(jù),F(xiàn)P(false positive)表示被預(yù)測為正常的攻擊數(shù)據(jù),F(xiàn)N(false negative)表示被預(yù)測為攻擊的正常數(shù)據(jù)。

表2 混淆矩陣

本文使用的度量指標(biāo)主要包括ACC(準(zhǔn)確度)、FAR(誤報率)、DR(檢測率)、Recall(召回率)、F1值(F1 score),定義如下

(18)

(19)

(20)

(21)

(22)

實驗采用Adam優(yōu)化算法,學(xué)習(xí)率取0.001,batch-size設(shè)置為128,網(wǎng)絡(luò)迭代次數(shù)設(shè)置為20,懲罰項系數(shù)λ1=0.0001,λ2=0.00001,β1=0.9,β2=0.999,ξ=10e-8。

4.4 實驗結(jié)果分析

e-DDAE算法構(gòu)建一個深度去噪自編碼器,在損失函數(shù)中加入彈性網(wǎng)正則化,抽取訓(xùn)練集中標(biāo)簽為“正常”的數(shù)據(jù)來訓(xùn)練網(wǎng)絡(luò)以獲得重構(gòu)誤差閾值,利用閾值和自編碼器來對測試集數(shù)據(jù)進行分類。實驗通過正常數(shù)據(jù)和異常數(shù)據(jù)的重構(gòu)數(shù)據(jù)值的分布來評估e-DDAE算法的有效性。

圖4的提琴圖顯示了測試集中所有數(shù)據(jù)樣本的重構(gòu)損失值的分布,從圖中陰影部分也就是數(shù)據(jù)的分布密度可以明顯看出,異常數(shù)據(jù)(攻擊數(shù)據(jù))的重構(gòu)值基本要高于閾值,而正常樣本的數(shù)據(jù)要低于閾值。

圖4 不同數(shù)據(jù)重構(gòu)誤差值分布

圖5是NSL-KDD數(shù)據(jù)集中不同訓(xùn)練集比例下5種不同數(shù)據(jù)重構(gòu)誤差值,可以明顯看出,隨著訓(xùn)練集比例的增加,正常數(shù)據(jù)的重構(gòu)誤差值明顯低于其它4種攻擊類數(shù)據(jù),其中R2L攻擊和U2R攻擊數(shù)據(jù)的重構(gòu)誤差值要比其它兩種攻擊的重構(gòu)誤差值低,說明本文提出方法可以有效地對異常數(shù)據(jù)進行檢測。

圖5 不同訓(xùn)練集比例下5種數(shù)據(jù)的重構(gòu)誤差值

為了更好地分析本文e-DDAE算法的性能,從準(zhǔn)確率、誤報率、精確率、召回率和F1值方面與AE算法(自編碼器算法)、SVM算法(支持向量機算法)、K-NN算法(K最近鄰算法)進行對比,實驗結(jié)果見表3。

表3 不同分類算法性能比較/%

從表3可以看出,e-DDAE的召回率比AE、SVM、K-NN分別提高了4.06%、3%、8.56%;e-DDAE的F1值比AE、SVM、K-NN分別提高了1.98%、0.12%、4.42%;e-DDAE誤報率比AE、SVM、K-NN分別降低了4.33%、3.85%、3.76%;e-DDAE分類準(zhǔn)確率比AE提高了2.23%,比SVM略低了1.35%、比K-NN提高了4.15%;e-DDAE檢測率比AE略低了0.28%,比SVM略低了2.90%,比K-NN提高了0.17%。

e-DDAE算法的靈敏度高,總體性能良好,在保證較好的分類準(zhǔn)確率和檢測率的情況下,召回率和F1值明顯提高,誤報率明顯降低。

e-DDAE等4種算法對數(shù)據(jù)集中4種攻擊類數(shù)據(jù)被分類為異常數(shù)據(jù)的準(zhǔn)確率見表4,可以看出,在Dos攻擊類數(shù)據(jù)方面,e-DDAE比AE、SVM、K-NN分別提高了0.18%、1.09%、4.23%;在U2R攻擊類數(shù)據(jù)方面,e-DDAE比AE、SVM、K-NN分別提高了7.47%、5.65%、11.29%;在R2L攻擊類數(shù)據(jù)方面,e-DDAE比AE、SVM、K-NN分別提高了2.10%、5.33%、9.21%;在Probe攻擊類數(shù)據(jù)方面,e-DDAE比AE、SVM、K-NN分別提高了0.19%、4.67%、10.67%。e-DDAE算法對不同攻擊類數(shù)據(jù)被分類為異常數(shù)據(jù)的準(zhǔn)確率明顯高于其它同類算法。

表4 不同算法對不同攻擊數(shù)據(jù)的分類準(zhǔn)確率比較

5 結(jié)束語

本文提出了一種基于彈性網(wǎng)的深度去噪自編碼器網(wǎng)絡(luò)異常檢測方法,在構(gòu)建深度去噪自編碼器中加入彈性網(wǎng)正則化,用經(jīng)過預(yù)處理的訓(xùn)練集中的一部分“正常”標(biāo)簽數(shù)據(jù)去訓(xùn)練網(wǎng)絡(luò),獲得數(shù)據(jù)的重構(gòu)誤差閾值,通過自編碼器和閾值來檢測網(wǎng)絡(luò)異常數(shù)據(jù),避免了人為操縱閾值帶來的主觀影響。實驗結(jié)果表明,該方法的檢測性能優(yōu)于其它的異常檢測方法,在保持了較高分類準(zhǔn)確率和檢測率的同時,降低了誤報率,提高了召回率和F1值,對不同攻擊類數(shù)據(jù)被分類為異常數(shù)據(jù)的準(zhǔn)確率也優(yōu)于其它算法。

猜你喜歡
深度檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
深度理解一元一次方程
深度觀察
深度觀察
深度觀察
深度觀察
主站蜘蛛池模板: 欧美国产精品不卡在线观看| 性喷潮久久久久久久久| 精品无码一区二区三区在线视频| 黄色一级视频欧美| 真实国产精品vr专区| 久久人妻xunleige无码| 大陆精大陆国产国语精品1024| 国产成人乱无码视频| 少妇精品久久久一区二区三区| 国产精品综合久久久| 亚洲综合婷婷激情| 国产H片无码不卡在线视频| 日韩av电影一区二区三区四区| 国产精品免费久久久久影院无码| 国产爽爽视频| 亚洲国产天堂久久综合226114| 日本AⅤ精品一区二区三区日| 久一在线视频| 男人天堂伊人网| 亚洲日韩精品欧美中文字幕| 日本高清免费一本在线观看 | 天堂在线亚洲| 毛片免费高清免费| 国产区在线观看视频| 国产中文一区a级毛片视频| 无码电影在线观看| 色成人综合| 精品亚洲国产成人AV| 国产在线小视频| 视频二区亚洲精品| 91精品啪在线观看国产| 日韩a级毛片| 亚洲自拍另类| 欧美日韩福利| 潮喷在线无码白浆| 精品一区二区三区中文字幕| 亚洲男人的天堂在线观看| 2024av在线无码中文最新| 久久人搡人人玩人妻精品| 超碰aⅴ人人做人人爽欧美| 动漫精品中文字幕无码| 99精品免费欧美成人小视频| 国产精品区视频中文字幕| 国产91av在线| 国产一级二级三级毛片| 又大又硬又爽免费视频| 亚洲精品国产精品乱码不卞| 亚洲中文在线视频| 免费国产一级 片内射老| 四虎国产在线观看| 亚洲女人在线| 久久毛片网| 日本免费a视频| 69国产精品视频免费| 日本人妻一区二区三区不卡影院 | 国产欧美自拍视频| 国产小视频免费| 色九九视频| 亚洲成肉网| 亚洲综合婷婷激情| 视频在线观看一区二区| 国产凹凸视频在线观看| 日韩a在线观看免费观看| 尤物国产在线| 久操线在视频在线观看| 亚洲 成人国产| 国模私拍一区二区三区| 91原创视频在线| 久久国产高清视频| 欧美性爱精品一区二区三区| 国产69精品久久久久孕妇大杂乱 | 色网站在线免费观看| 免费无码又爽又黄又刺激网站| 午夜精品一区二区蜜桃| 久久五月天综合| 天天综合网亚洲网站| 午夜在线不卡| 国产午夜一级淫片| 成年片色大黄全免费网站久久| 久久天天躁狠狠躁夜夜2020一| 57pao国产成视频免费播放| 国产精品999在线|