国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SDAE-DNN的網(wǎng)絡(luò)異常檢測方法

2020-06-11 09:26呂勛蔡暢
電子技術(shù)與軟件工程 2020年1期
關(guān)鍵詞:編碼器神經(jīng)網(wǎng)絡(luò)深度

文/呂勛 蔡暢

(湖南省衡陽市南華大學(xué)計算機(jī)學(xué)院 湖南省衡陽市 421001)

1 引言

近年來,無線通信在網(wǎng)絡(luò)流量方面經(jīng)歷了巨大的增長。但是,與傳統(tǒng)的有線網(wǎng)絡(luò)相比,無線網(wǎng)絡(luò)更容易受到攻擊。由于無線通信中的節(jié)點缺乏監(jiān)督,惡意攻擊很容易入侵系統(tǒng)并造成破壞,設(shè)計有效的異常檢測系統(tǒng)對于保護(hù)無線通信至關(guān)重要。深度學(xué)習(xí)在近幾年變得越來越流行,漸漸成為一種主流的解決方法[1-2],而且學(xué)者們發(fā)現(xiàn)深度學(xué)習(xí)在處理復(fù)雜大規(guī)模數(shù)據(jù)方面比傳統(tǒng)機(jī)器學(xué)習(xí)算法有更出色的表現(xiàn),它不僅可以表達(dá)出數(shù)據(jù)之間更加深層次的關(guān)系,而且深度學(xué)習(xí)算法有著強大的數(shù)據(jù)表示和特征選擇能力,可以使相關(guān)數(shù)據(jù)信息得到保留。而深度學(xué)習(xí)中常用到的自編碼器[3],作為一種新穎的特征提取方法,同樣對異常檢測的研究非常有效。所以將深度學(xué)習(xí)與異常檢測技術(shù)相結(jié)合的研究,將是未來異常檢測技術(shù)的研究方向。

異常檢測方法[4-5]在過去幾年中受到許多關(guān)注,為了提高異常檢測系統(tǒng)的效率和性能,學(xué)者們從各個角度構(gòu)建網(wǎng)絡(luò)異常入侵檢測系統(tǒng)[6-7]并取得了大量研究成果。Chen 等[8]提出一種基于特征的MSPCA 與sketch 的異常檢測系統(tǒng),通過結(jié)合PCA 和小波分析,MSPCA 可以有效分離異常數(shù)據(jù),從而能夠識別異常的源IP 地址。Anderson 等[9]人提出一種基于遺傳算法和模糊邏輯的網(wǎng)絡(luò)異常檢測系統(tǒng),遺傳算法用于使用流分析生成網(wǎng)絡(luò)段的數(shù)字簽名,模糊邏輯方案來確定數(shù)據(jù)是否表示異常,實驗結(jié)果獲得了比較好的準(zhǔn)確度和誤報率。Juliette 等[10]人提出了一種新的在線和實時無監(jiān)督網(wǎng)絡(luò)異常檢測算法,依賴于離散的時間滑動窗口來連續(xù)更新特征空間和增量網(wǎng)格聚類以快速檢測異常。Hong 等[11]人提出了一種用于高維數(shù)據(jù)的混合半監(jiān)督異常檢測模型,模型由兩部分組成:深度自動編碼器(DAE)和基于集合k-最近鄰圖的異常檢測器,訓(xùn)練DAE 以學(xué)習(xí)高維數(shù)據(jù)集的固有特征,然后,從整個數(shù)據(jù)集中隨機(jī)抽取的不同子集構(gòu)建幾個非參數(shù)的基于KNN 的異常檢測器。

大多數(shù)研究在處理低維度的數(shù)據(jù)集時,效果表現(xiàn)良好,但是在處理海量高維度的數(shù)據(jù)時,檢測率和誤報率不能讓人滿意。本文提出一種基于SDAE-DNN 的網(wǎng)絡(luò)異常檢測方法,首先對NSL-KDD數(shù)據(jù)集進(jìn)行預(yù)處理,使用onehot 編碼將數(shù)據(jù)預(yù)處理后,數(shù)據(jù)集擴(kuò)展為122 維的數(shù)據(jù);然后利用SDAE-DNN 模型對數(shù)據(jù)進(jìn)行分類檢測,實驗與支持向量機(jī)(SVM)、深度神經(jīng)網(wǎng)絡(luò)、融合主成分分析(PCA)和深度神經(jīng)網(wǎng)絡(luò)的異常檢測方法進(jìn)行了對比,結(jié)果表明該模型要優(yōu)于其他方法。

2 相關(guān)方法

2.1 棧式去噪自編碼器

圖1:棧式自編碼器結(jié)構(gòu)

圖2:深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

簡單的自編碼器(AE)是一種三層的神經(jīng)網(wǎng)絡(luò)模型,包含數(shù)據(jù)輸入層、隱含層、輸出重構(gòu)層,同時也是一種無監(jiān)督學(xué)習(xí)模型。從輸入層到隱層稱為編碼過程,從隱層到輸出層稱為解碼過程。而棧式自編碼(SAE)神經(jīng)網(wǎng)絡(luò)是由多個自編碼器級聯(lián)組成的神經(jīng)網(wǎng)絡(luò),上一個自編碼器的輸出用作下一個自編碼器的輸入,以便可以獲得輸入數(shù)據(jù)的更高級別的特征表示,可以通過數(shù)據(jù)映射(變化)的方法,把數(shù)據(jù)從高維度的特征向量變換到低維度的特征向量。棧式自編碼器結(jié)構(gòu)如圖1 所示。

棧式自編碼器的網(wǎng)絡(luò)可分為兩個結(jié)構(gòu):編碼器和解碼器,這兩個結(jié)構(gòu)可定義為:

編碼器:把輸入數(shù)據(jù)的特征向量(Xn∈Rd)進(jìn)行壓縮變換,構(gòu)成隱含層的m(m

解碼器:將編碼器的隱含層輸出特征向量Hi解碼重構(gòu)回原始輸入數(shù)據(jù)的特征向量大小。映射函數(shù)如下:

通過調(diào)整優(yōu)化編碼器和解碼器的參數(shù),使得輸入數(shù)據(jù)和重構(gòu)數(shù)據(jù)之間的重構(gòu)誤差函數(shù)最小化。隱含層單元輸出的數(shù)據(jù)是原始數(shù)據(jù)的最佳低維表示,并且包括原始數(shù)據(jù)中存在的相關(guān)信息,優(yōu)化自編碼器使得數(shù)據(jù)重構(gòu)的誤差最小化,以此獲得最佳子空間。損失函數(shù)函數(shù)一般使用均方差函數(shù)表示,公式如下:

而棧式去噪自編碼器(SDAE)通過在輸入層添加噪聲,來提高自編碼器的魯棒性。將輸入數(shù)據(jù)X 通過一個樣本損壞過程C(X'/X),處理成一個含噪聲的樣本X',然后再對數(shù)據(jù)X'進(jìn)行重構(gòu)。本文使用加性高斯噪聲對輸入數(shù)據(jù)進(jìn)行處理,通過引入噪聲使棧式去噪自編碼器利用含噪聲的樣本去重構(gòu)不含噪聲的輸入,使SDAE-DNN網(wǎng)絡(luò)更具更具魯棒性。

2.2 深度神經(jīng)網(wǎng)絡(luò)

2006年Hinton 提出了深度神經(jīng)網(wǎng)絡(luò)(DNN),其結(jié)構(gòu)主要是由全連接層構(gòu)成,也就是每一層節(jié)點的輸出結(jié)果會發(fā)送到下一層所有的節(jié)點作為輸入,把簡單的單層神經(jīng)網(wǎng)絡(luò)的隱含層擴(kuò)展出多層,就可以得到一個深度神經(jīng)網(wǎng)絡(luò)[12-13],如圖2 所示就是一個含有兩個隱含層的深度神經(jīng)網(wǎng)絡(luò)。深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程主要由前向傳遞和反向傳遞過程組成,在前向傳遞過程中,輸入向量從輸入層到隱含層,再到輸出層,當(dāng)輸出層的結(jié)果達(dá)不到預(yù)期要求時,那么再通過反向傳播算法來調(diào)整神經(jīng)元之間的連接權(quán)重,經(jīng)過多次的訓(xùn)練迭代,使得輸出值被控制在誤差允許范圍。

深度神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)一般有relu 函數(shù)、tanh 函數(shù)、sigmoid 函數(shù),本文把relu 函數(shù)和tanh 函數(shù)作為深度神經(jīng)網(wǎng)絡(luò)的激活函數(shù),對于損失函數(shù),DNN 一般取交叉熵函數(shù),本文同樣把交叉熵函數(shù)作為損失函數(shù),公式如式(4)所示。為了防止深度神經(jīng)網(wǎng)絡(luò)過擬合,在DNN 中引入Dropout 技術(shù),將DNN 全連接層的輸出結(jié)果按比例P 為0。

3 基于SDAE-DNN的網(wǎng)絡(luò)異常檢測方法

本文提出的基于SDAE-DNN 的網(wǎng)絡(luò)異常檢測模型總體框架如圖3 所示,模型包括兩個部分:第一部分為棧式自編碼器用于異常檢測數(shù)據(jù)特征降維,第二部分為搭建深度神經(jīng)網(wǎng)絡(luò)對降維后的數(shù)據(jù)進(jìn)行異常檢測識別。

在構(gòu)建基于SDAE-DNN 的網(wǎng)絡(luò)異常檢測模型中,通過對數(shù)據(jù)集進(jìn)行預(yù)處理后輸入到SDAE 模型,進(jìn)行無監(jiān)督訓(xùn)練,將數(shù)據(jù)降到30 維,然后在把降維數(shù)據(jù)輸入到深度神經(jīng)網(wǎng)絡(luò)中,利用BP 算法進(jìn)行監(jiān)督學(xué)習(xí),使用測試集對數(shù)據(jù)進(jìn)行分類和異常檢測。具體步驟如下:

表1:混淆矩陣

表2:不同分類模型性能比較

圖3:SDAE-DNN 檢測模型

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

步驟2:將預(yù)處理后的數(shù)據(jù)輸入輸入到棧式去噪自編碼器中,利用編碼器-解碼器對數(shù)據(jù)進(jìn)行降維重構(gòu),調(diào)整參數(shù),進(jìn)行無監(jiān)督訓(xùn)練,使得損失函數(shù)最小化。

步驟3:抽取訓(xùn)練集10%作為驗證集,根據(jù)損失函數(shù)值不斷進(jìn)行參數(shù)調(diào)優(yōu),得到最終參數(shù),獲得隱含層的低維度的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。

步驟4:構(gòu)建深度神經(jīng)網(wǎng)絡(luò)。確定隱含層層數(shù),設(shè)置好DNN各參數(shù)值。

步驟5:將獲得的低維數(shù)據(jù)加上標(biāo)簽輸入到DNN 中,利用反向傳播算法(BP)對DNN 模型進(jìn)行有監(jiān)督訓(xùn)練,使得損失函數(shù)最小化。

步驟6:把降維后的測試集輸入到已經(jīng)訓(xùn)練好的DNN 模型中,利用DNN 最后一層的sigmoid 函數(shù)進(jìn)行分類檢測。

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

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

針對KDD CUP 99 數(shù)據(jù)集出現(xiàn)的一些不足,本文使用NSLKDD 來評價基于SDAE-DNN 的異常檢測方法,NSL-KDD 數(shù)據(jù)集在KDD CUP 99 數(shù)據(jù)集基礎(chǔ)上做出了改進(jìn),新的數(shù)據(jù)集除去了原有的KDD CUP 99 數(shù)據(jù)集中冗余重復(fù)的數(shù)據(jù)。NSL-KDD 數(shù)據(jù)集包含41 個分類特征,還有最后一列的標(biāo)簽,使用one-hot 編碼來進(jìn)行數(shù)據(jù)集數(shù)字化。NSL-KDD 數(shù)據(jù)集包括“Protocol_type”,“Service”和“Flag”等3 種符號特征,其中“Protocol_type”包括3 種不同的符號特征值,“Service”包括70 種不同的符號特征值,“Flag”包括11 種不同的符號特征值。因此,在完成數(shù)據(jù)數(shù)值化處理后,NSL-KDD 數(shù)據(jù)集的特征數(shù)據(jù)大小由41 維擴(kuò)展為122 維。

為了便于比較結(jié)果,提高網(wǎng)絡(luò)收斂速度和精度,使用公式(5)來對NSL-KDD數(shù)據(jù)集進(jìn)行數(shù)字化化處理的數(shù)據(jù)再進(jìn)行歸一化處理,將數(shù)據(jù)特征映射到[0,1]區(qū)間上。xman和xmin分別表示原始特征值的最大值和最小值。x 表示原始特征值。

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

本文使用混淆矩陣的方法來評估本文的實驗結(jié)果,混淆矩陣的定義如表1 所示。在表中,TP(True Positive)表示被預(yù)測為正類的正類數(shù)據(jù),TN(True Negative)表示被預(yù)測為負(fù)類的負(fù)類數(shù)據(jù),F(xiàn)P(False Positive)表示被預(yù)測為正類的負(fù)類數(shù)據(jù),F(xiàn)N(False Negative)表示被預(yù)測為負(fù)類的正類數(shù)據(jù)。

本文使用的度量指標(biāo)主要包括ACC(準(zhǔn)確度)和Precision(檢測率),F(xiàn)AR(誤報率),定義如下。

實驗中棧式去噪自編碼器的訓(xùn)練中采用[122-100-90-30]的網(wǎng)絡(luò)結(jié)構(gòu),噪聲系數(shù)取0.5,采用自適應(yīng)矩陣估計(Adam)算法進(jìn)行優(yōu)化,學(xué)習(xí)率α 取0.001,batch-size 設(shè)為128,網(wǎng)絡(luò)迭代次數(shù)設(shè)置為50 次,激活函數(shù)為relu 函數(shù);深度神經(jīng)網(wǎng)絡(luò)中采用[30-128-128-64-32-1]的網(wǎng)絡(luò)結(jié)構(gòu),Dropout 比例P 設(shè)為0.5,采用隨機(jī)梯度下降(SGD)算法來進(jìn)行優(yōu)化,batch-size 設(shè)為128,網(wǎng)絡(luò)迭代次數(shù)設(shè)置為50 次,輸出層采用sigmoid 函數(shù),其他層激活函數(shù)為relu 函數(shù)和tanh 函數(shù)。

4.3 實驗結(jié)果與模型對比分析

為了分析SDAE-DNN 異常檢測模型的性能,本文把基于深度神經(jīng)網(wǎng)絡(luò)的異常檢測方法、基于SVM(支持向量機(jī))的異常檢測方法和基于主成分分析(PCA)和了深度神經(jīng)網(wǎng)絡(luò)的異常檢測方法與本模型SDAE-DNN)進(jìn)行了對比,從準(zhǔn)確率和誤報率,精確率進(jìn)行評估。

從表2 可以看出,本文提出的基于SDAE-DNN 模型性能要遠(yuǎn)優(yōu)于基于DNN 的模型和基于SVM 模型,SDAE-DNN 的準(zhǔn)確率比DNN、SVM、PCA-DNN 分別提高了3.65%、2.87%、2.39%,檢測率比其他幾種方法也要高,同時誤報率比DNN、SVM、PCA-DNN分別降低了1.33%、3.51%、0.66%。同時可以看出基于棧式去噪自編碼器的降維性能要由于基于PCA 的降維性能。

綜上,本文提出的網(wǎng)絡(luò)異常檢測方法與傳統(tǒng)的異常檢測方法相比,有著較低的誤報率和較高的檢測率,模型整體性能有了不錯的提升。

5 結(jié)束語

針對對高維度網(wǎng)絡(luò)流量攻擊數(shù)據(jù)的準(zhǔn)確率和誤報率問題,本文提出了一種基于棧式去噪自編碼器和深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)異常檢測方法,對高維數(shù)據(jù)集輸入到棧式去噪自編碼器中,進(jìn)行特征降維,然后降維數(shù)據(jù)輸入到深度神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,再把測試集輸入到訓(xùn)練好的DNN 模型中進(jìn)行分類和異常檢測。實驗結(jié)果表明,本模型要優(yōu)于其他方法。下一步工作將研究真實網(wǎng)絡(luò)情況下的異常檢測,大大降低模型的誤報率。

猜你喜歡
編碼器神經(jīng)網(wǎng)絡(luò)深度
深度理解一元一次方程
神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
深度觀察
深度觀察
基于FPGA的同步機(jī)軸角編碼器
深度觀察
基于PRBS檢測的8B/IOB編碼器設(shè)計
基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
同江市| 星子县| 剑河县| 和平县| 保靖县| 金寨县| 白城市| 嘉鱼县| 故城县| 乐安县| 贡觉县| 巨鹿县| 政和县| 墨脱县| 赞皇县| 辽源市| 衡阳县| 鄢陵县| 祁门县| 长岭县| 泊头市| 灵台县| 八宿县| 宁乡县| 衡阳市| 海门市| 古交市| 南雄市| 赣榆县| 乌苏市| 波密县| 横峰县| 修文县| 曲沃县| 武夷山市| 区。| 沅陵县| 普格县| 彭山县| 涪陵区| 南江县|