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

?

基于灰狼算法的深度信念網(wǎng)絡入侵檢測方法

2020-06-12 09:17夏景明丁春健
計算機工程與設計 2020年6期
關鍵詞:誤報率灰狼信念

夏景明,丁春健+,談 玲

(1.南京信息工程大學 電子與信息工程學院,江蘇 南京 210044;2.南京信息工程大學 計算機與軟件學院,江蘇 南京 210044)

0 引 言

入侵檢測是互聯(lián)網(wǎng)安全體系中的一個重要部分,它通過對網(wǎng)絡中各種數(shù)據(jù)的收集與分析而檢測出異常信息[1]。隨著互聯(lián)網(wǎng)技術的日益發(fā)展,傳統(tǒng)的網(wǎng)絡入侵檢測技術已經(jīng)無法應對更為復雜的信息防護問題,其檢測效果及水平的不足給網(wǎng)絡安全帶來的巨大隱患,因此,如何提高網(wǎng)絡入侵檢測技術對與網(wǎng)絡安全具有重大意義。

目前,與機器學習等領域相關的入侵檢測技術已成為國內(nèi)外學者的一個重點研究方面,相關人員也提出了一些有效的入侵檢測方法。張曉峰等[2]利用K均值聚類算法對數(shù)據(jù)集劃分為不同的簇,再由SVM標記異常集群進行詳細分類,完成了對入侵攻擊的有效檢測并降低了誤報率;BlancoR等[3]利用遺傳算法重新排列輸入要素而優(yōu)化卷積神經(jīng)網(wǎng)絡,實現(xiàn)對數(shù)據(jù)集良好的入侵檢測;郝孫等[4]在分析BP神經(jīng)網(wǎng)絡模型的基礎上引入了粒子群算法優(yōu)化網(wǎng)絡的初始權值和閾值,提高了入侵檢測的整體性能;高妮等[5]利用深度信念網(wǎng)絡的特性提出了一種面向入侵檢測系統(tǒng)的深度信念網(wǎng)絡模型,即通過無監(jiān)督學習對數(shù)據(jù)進行訓練及特征提取,再由監(jiān)督學習微調(diào)網(wǎng)絡參數(shù),提高了檢測水平。綜上所述,這些基于機器學習的檢測方法可以彌補傳統(tǒng)網(wǎng)絡入侵檢測技術的不足,并達到很好的效果,但仍可能存在一些問題:例如在使用常用機器學習方法或使用種群方法優(yōu)化訓練過程時,可能會出現(xiàn)參數(shù)需要多次調(diào)節(jié)或陷入局部最優(yōu)等問題而導致訓練過程不穩(wěn)定[6];又如利用深度信念網(wǎng)絡可以提高入侵檢測水平,但在訓練數(shù)據(jù)集時無法確定網(wǎng)絡節(jié)點數(shù)而需增加訓練次數(shù)手動調(diào)節(jié)次數(shù),從而造成對整個網(wǎng)絡訓練過程的影響等。

針對傳統(tǒng)網(wǎng)絡入侵技術的不足及上述方法可能會出現(xiàn)的問題,提出了一種改進的深度信念網(wǎng)絡應用于入侵檢測之中,即通過引入灰狼算法對深度信念網(wǎng)絡隱含層節(jié)點數(shù)進行全局尋優(yōu)而近似確定網(wǎng)絡結構,并在網(wǎng)絡參數(shù)更新階段增加動量學習率,在提高入侵檢測效果的同時保證了網(wǎng)絡訓練的穩(wěn)定性,最后利用NSL-KDD數(shù)據(jù)集[7]進行仿真驗證該方法的可行性,并與多種檢測方法進行對比。實驗結果表明,基于灰狼算法的深度信念網(wǎng)絡入侵檢測方法提高了入侵檢測的檢測效果。

1 深度信念網(wǎng)絡模型

1.1 深度信念網(wǎng)絡

深度信念網(wǎng)絡(deep belief network,DBN)[8]由多層受限玻爾茲曼機(restricted Boltzmann machine,RBM)及一層BP神經(jīng)網(wǎng)絡堆疊而成,它訓練時分為無監(jiān)督學習與有監(jiān)督學習兩部分:首先采用自下而上的貪婪算法對RBM逐層進行無監(jiān)督學習,并將底層RBM的輸出作為高層RBM的輸入,經(jīng)過多次訓練迭代后得到無監(jiān)督的DBN;其次在DBN的最后附加一層BP神經(jīng)網(wǎng)絡,將最后一層RBM的輸出作為BP神經(jīng)網(wǎng)絡的輸入而達到自上而下的監(jiān)督學習,完成對網(wǎng)絡中訓練參數(shù)的微調(diào)。

1.2 受限玻爾茲曼機

受限玻爾茲曼機是深度信念網(wǎng)絡的主要組成部分[9],由可見層和隱含層兩部分構成,其結構特點是可見層與隱含層節(jié)點之間存在連接,而兩層之間的自身節(jié)點不存在連接,且所有可見層單元和隱含層單元都有兩種狀態(tài):處于激活狀態(tài)時值為1,未激活狀態(tài)值為0,因此可表示為一個二分圖模型,如圖1所示。

圖1 RBN網(wǎng)絡結構

RBM進行無監(jiān)督訓練設定為以下3個步驟:

(1)參數(shù)初始化求解。設v、h為RBM的可見層單元和隱含層單元,一個RBM網(wǎng)絡有n個可見層節(jié)點、m個隱含層節(jié)點,對于一組給定狀態(tài)并服從伯努利下的(v,h)值,每一個可見層節(jié)點與隱含層節(jié)點的取值之間都存在一個能量值,可通過計算求出整個聯(lián)合組態(tài)的能量E,即

(1)

其中,ai、bj表示第i、j個可見層節(jié)點的閾值,vi、hj表示可見層和隱含層的第i、j個節(jié)點,Wij則表示第i個可見層節(jié)點數(shù)和第j個隱含層節(jié)點數(shù)之間的權值;然后通過對能量進行指數(shù)化和正則化,便可得到可見層節(jié)點與隱含層節(jié)點集合分別處于某種狀態(tài)下(v,h)聯(lián)合概率分布公式,也可描述為可視層和隱含層單元激活的概率

(2)

(3)

其中,Z(θ)表示對可見層和隱含層節(jié)點集合的所有可能狀態(tài)的能量指數(shù)求和函數(shù)。

(2)訓練算法的選擇。為了使RBM在訓練時擬合樣本的分布并減少訓練時間,使用k步對比散度算法(CD-k)[10]作為RBM模型的標準算法,首先通過極大似然函數(shù)求導得到權值w,并使當前樣本在該分布下的概率最大,即

(4)

(5)

(6)

最終進行權值的更新。

(3)網(wǎng)絡的評估。一般使用重構誤差法作為RBM的評判標準,即以訓練數(shù)據(jù)作為初始狀態(tài),經(jīng)過RBM的分布進行一次Gibbs采樣,然后得到與原始數(shù)據(jù)的差異,若差異減小滿足條件,則訓練結束,否則返回總誤差進行網(wǎng)絡參數(shù)微調(diào)直到滿足誤差條件。

2 基于灰狼算法的深度信念網(wǎng)絡

2.1 灰狼算法

灰狼算法[11]是一種模擬自然界中灰狼群捕食與狩獵的群體智能優(yōu)化方法,其中灰狼群內(nèi)部具有明顯的社會等級制度,按職能可分為4類而構成金字塔結構,分別是具有領頭作用的首領狼、協(xié)助首領狼的副首領狼、負責其它工作的小頭目狼及普通灰狼,可表示為α、β、δ、ω,結構如圖2所示。

圖2 灰狼等級金字塔結構

整個算法可描述為3個部分:包圍、追捕和攻擊,最終成功捕獲獵物(即得到全局最優(yōu)解)。

定義灰狼與獵物之間的距離為D,迭代次數(shù)為t,整個算法步驟如下所述:

(1)包圍獵物?;依侨焊鶕?jù)獵物大概位置對其包圍,距離為

D=C·Xp(t)-X(t)

(7)

X(t+1)=Xp(t)-A·D

(8)

其中,Xp(t)、X(t)可表示第t次迭代后獵物的位置(全局最優(yōu)解位置)與灰狼群的位置(全局潛在解位置),而A與C為系數(shù)因子,計算公式為

A=2a·r1-a

(9)

C=2r2

(10)

其中,a從2到0線性遞減,與迭代次數(shù)有關;r1、r2為0~1之間的隨機數(shù)。

(2)追捕獵物。定義Dα、Dβ、Dδ為灰狼個體之間的距離,在該過程中灰狼群個體之間的位置會隨著獵物的位置改變而發(fā)生變化,根據(jù)灰狼群更新后的位置后便可重新確定獵物位置(即全局最優(yōu)解),整個更新方程如下所示

(11)

(12)

(13)

(3)攻擊獵物。最終狼群對獵物進行攻擊并捕獲即可得到全局最優(yōu)解。

2.2 灰狼算法優(yōu)化DBN模型

由RBM訓練過程可知,DBN在訓練過程中一般通過重構誤差對網(wǎng)絡參數(shù)進行微調(diào)從而確定網(wǎng)絡整體結構,當返回總誤差較小并趨于穩(wěn)定數(shù)值時,表示目前DBN結構較好。由于在構建DBN模型時無法具體確定其網(wǎng)絡隱含層節(jié)點數(shù),只能類似BP神經(jīng)網(wǎng)絡通過經(jīng)驗公式或試湊法等大概確定[12],因此在訓練過程中需增加訓練次數(shù)及手動調(diào)節(jié)網(wǎng)絡節(jié)點數(shù)次數(shù),為了避免在訓練過程中出現(xiàn)網(wǎng)絡性能損耗等問題,本文將根據(jù)特征向量的維度關系,在DBN模型搭建之后引入灰狼算法對DBN隱含層節(jié)點數(shù)進行尋優(yōu)而近似確定網(wǎng)絡結構,使得重構誤差最小,并且為了避免由于引入灰狼算法可能導致DBN在訓練時與網(wǎng)絡設定的學習率沖突而造成收斂速度變慢、陷入局部最優(yōu)等問題,在網(wǎng)絡參數(shù)更新階段引入了動量學習率[13],以保證網(wǎng)絡收斂速度而達到最佳訓練效果。公式如下

(14)

灰狼算法優(yōu)化DBN模型可分為以下幾個步驟:

(1)構建一個DBN入侵檢測模型并初始化網(wǎng)絡參數(shù),根據(jù)特征維度選擇適當?shù)木W(wǎng)絡節(jié)點數(shù);

(2)將DBN模型的網(wǎng)絡隱含層節(jié)點數(shù)作為灰狼算法的求解對象并對其進行全局搜索而尋得最優(yōu)解;

(3)判斷是否達到最大迭代次數(shù),若符合要求,則將此時灰狼個體對應的隱含層節(jié)點數(shù)為全局最優(yōu)解;

(4)設定DBN神經(jīng)網(wǎng)絡的隱含層節(jié)點數(shù),對其進行訓練并評估,判斷重構誤差是否減?。?/p>

(5)如果誤差減小到一定程度則滿足最優(yōu)解條件,將最終求得的隱含層節(jié)點數(shù)作為DBN模型的初始訓練參數(shù)并近似確定DBN網(wǎng)絡結構,結束訓練;否則返回第(3)步,更新灰狼群個體位置并重新計算。整個流程如圖3所示。

圖3 灰狼算法優(yōu)化DBN訓練過程

3 實驗過程及結果分析

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

實驗的數(shù)據(jù)來源于NSL-KDD數(shù)據(jù)集,是KDDCup99數(shù)據(jù)集的一部分,其中KDDCup99數(shù)據(jù)集由美國麻省理工學院實驗室真實模擬美國空軍局域網(wǎng)9個星期的網(wǎng)絡連接數(shù)據(jù),分成具有標識的訓練數(shù)據(jù)和未加標識的測試數(shù)據(jù),雖然該數(shù)據(jù)集是在1999年發(fā)布,但由于其數(shù)據(jù)集的有效性仍可以評估入侵檢測模型的性能。NSL-KDD數(shù)據(jù)集去除了KDDCup99數(shù)據(jù)集中的冗余部分并重新調(diào)整了訓練測試集比例,并將異常數(shù)據(jù)類型分為4大類,分別為:DOS(拒絕服務攻擊)、R2L(來自遠程主的未授權訪問)、U2R(未授權的本地超級用戶特權訪問)、PROBE(端口監(jiān)視或掃描),Normal則表示為正常數(shù)據(jù),這在一定程度上對不同入侵檢測技術的準確評估更為有效,其分布情況見表1。

3.2 數(shù)據(jù)預處理

由于NSL-KDD數(shù)據(jù)集的總特征由38個數(shù)字型特征和3個字符型共同構成,無法直接用于入侵檢測算法,為了便于進行后續(xù)實驗可對其進行編碼處理。例如數(shù)據(jù)的第二列protcol_type包含tcp、udp、icmp這3種不同字符類型,實驗采用One-Hot編碼[14]方法將其分別表示為[0 0 1]、[0 1 0]、[1 0 0];同理,可將DOS、R2L、U2R、Probe、Normal這幾種數(shù)據(jù)進行作為決策項進行編碼操作并作為DBN網(wǎng)絡的輸出,決策表見表2。

表2 決策

在編碼完成之后,使用標準化方法[15]對原始數(shù)據(jù)進行歸一化處理,使結果落到之間,目的是減少數(shù)據(jù)量綱的影響并提高算法收斂速度。轉(zhuǎn)換函數(shù)為

(15)

其中,xmin、xmax分別表示數(shù)據(jù)最小值和最大值。

3.3 實驗過程及結果分析

實驗硬件平臺為搭載Windows10的PC機,軟件平臺為Matlab2018a。設定RBM訓練迭代次數(shù)為100,BP神經(jīng)網(wǎng)絡微調(diào)參數(shù)迭代次數(shù)為300,動量學習率取0.5,由數(shù)據(jù)集的41個特征維度可設定輸入層節(jié)點數(shù)為122。初始參數(shù)設定之后根據(jù)2.2節(jié)使用灰狼算法對DBN進行隱含層節(jié)點數(shù)多次尋優(yōu),可近似得到每層隱含層節(jié)點數(shù)為94-58-27-10時效果較好,然后構建其它幾種不同的DBN網(wǎng)絡結構進行對比驗證,每一種DBN網(wǎng)絡都包含不同的RBM層數(shù)及網(wǎng)絡節(jié)點數(shù),可表示為122-60-10、122-90-30-1、122-100-80-40-20-10,122-110-90-70-50-30-10,將它們分別編號為進行訓練,最后利用準確率與檢測率作為評判指標,其中

(16)

(17)

結果見表3。

表3 不同結構對應的準確率與檢測率/%

實驗結果表明,隨著DBN網(wǎng)絡層數(shù)的增加,入侵檢測的綜合準確率與檢測率都有了明顯的提高,當網(wǎng)絡結構為122-94-58-27-10時檢測效果最佳,綜合準確率達到98.53%,并且檢測率也達到97.23%,但隨著網(wǎng)絡層數(shù)進一步增加,準確率與檢測率反而有所下降。為了進一步探索本文方法的優(yōu)越性,在對DBN網(wǎng)絡隱含層節(jié)點數(shù)進行尋優(yōu)之后,實驗綜合文獻資料并與其它幾種主流入侵檢測算法進行檢測效果對比,并且為了保證實驗的公平性,對每一種常用方法都在同一環(huán)境進行多次實驗,盡量保證檢測率達到最佳效果,最后并引入誤報率(FA)作為評判標準,其中

(18)

對比結果見表4。

根據(jù)表4可求出不同入侵檢測方法的平均檢測率分別達到92.64%、94.87%、92.47%、95.73%、97.23%,如圖4所示,不同方法對各種入侵數(shù)據(jù)的誤報率對比如圖5所示。從實驗結果不難看出,與常用的入侵檢測方法相比,基于深度信念的入侵檢測方法在一定程度上提高了檢測效果,對于5種不同類型數(shù)據(jù)的檢測率都有了一定程度的提升,并且經(jīng)過灰狼算法對DBN隱含層節(jié)點數(shù)尋優(yōu)過后,DBN訓練過程得到了進一步優(yōu)化,相比一般DBN檢測方法平均檢測率增高了2個百分點;從圖5折線走向可得,面對同一數(shù)據(jù)集時所有檢測方法對其它4種數(shù)據(jù)類型處理較好,但對U2R類型的數(shù)據(jù)集的誤報率稍有欠缺,但相對而言本文方法將誤報率降至一個比較好的層面,總體平均水平達到2.77%,也驗證了本文方法的有效性。

表4 不同算法檢測率與誤報率對比結果/%

圖4 平均檢測率及誤報率

圖5 誤報率對比

4 結束語

針對傳統(tǒng)入侵檢測方法在檢測效果上的不足,提出了一種基于灰狼算法的深度信念網(wǎng)絡入侵檢測方法,在面對海量數(shù)據(jù)集時,利用灰狼算法強大的搜索能力對DBN網(wǎng)絡隱含層節(jié)點數(shù)全局尋優(yōu)從而增加DBN模型的入侵檢測效果,實驗結果表明,與多種常用的入侵檢測方法相比,該方法有效提高了入侵檢測的檢測率并降低了誤報率。雖然該方法具有良好的檢測能力,但面對數(shù)據(jù)集較少的U2R類型時檢測效果仍需進一步優(yōu)化。

猜你喜歡
誤報率灰狼信念
原始數(shù)據(jù)動態(tài)觀察窗法在火災特征信號融合提取中的應用研究
家用燃氣報警器誤報原因及降低誤報率的方法
為了信念
灰狼和山羊
鉆桿管體超聲波探傷誤報分析及措施
發(fā)光的信念
谷谷雞和小灰狼
灰狼的大大噴嚏
信念
灰狼照相
阿城市| 五家渠市| 台中县| 平罗县| 晴隆县| 寿光市| 扶风县| 永顺县| 富宁县| 登封市| 资源县| 怀柔区| 修水县| 辉南县| 庆安县| 登封市| 江山市| 阿城市| 阳原县| 蓬溪县| 南阳市| 湘乡市| 凤台县| 涡阳县| 镇巴县| 北海市| 盐池县| 海盐县| 汝阳县| 红河县| 深州市| 珠海市| 大新县| 合阳县| 融水| 灵山县| 洛浦县| 鄂伦春自治旗| 乐平市| 宁津县| 卢氏县|