(完整版)基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)_第1頁(yè)
(完整版)基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)_第2頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)本章從人工神經(jīng)網(wǎng)絡(luò)的角度出發(fā),對(duì)基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)展開(kāi)研究。在嘗試用不同的網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練和測(cè)試神經(jīng)網(wǎng)絡(luò)后,引入dropout層并給出了一種效果較好的網(wǎng)絡(luò)結(jié)構(gòu)?;谠摼W(wǎng)絡(luò)結(jié)構(gòu),對(duì)目前的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法進(jìn)行了改進(jìn)和優(yōu)化,從而有效避免了訓(xùn)練時(shí)出現(xiàn)的過(guò)擬合問(wèn)題,提升了訓(xùn)練效率。4.1BP神經(jīng)網(wǎng)絡(luò)相關(guān)理論本章從學(xué)習(xí)算法與網(wǎng)絡(luò)結(jié)構(gòu)相結(jié)合的角度出發(fā),神經(jīng)網(wǎng)絡(luò)包括單層前向網(wǎng)絡(luò)多層前向網(wǎng)絡(luò)、反饋神經(jīng)網(wǎng)絡(luò)、隨機(jī)神經(jīng)網(wǎng)絡(luò)、競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò)等多種類(lèi)型。構(gòu)造人工神經(jīng)網(wǎng)絡(luò)模型時(shí)主要考慮神經(jīng)元的特征、網(wǎng)絡(luò)的拓補(bǔ)結(jié)構(gòu)以及學(xué)習(xí)規(guī)則等。本文選擇反向傳播神經(jīng)網(wǎng)絡(luò)(BackPropagationNeu

2、ralNetwork,BPNN)作為基本網(wǎng)絡(luò)模型。BP神經(jīng)網(wǎng)絡(luò)是一種通過(guò)誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型形式之一。網(wǎng)絡(luò)中每一層的節(jié)點(diǎn)都只接收上一層的輸出,而每一層節(jié)點(diǎn)的輸出都只影響下一層的輸入,同層節(jié)點(diǎn)之間沒(méi)有交互,相鄰兩層節(jié)點(diǎn)之間均為全連接模式。BP神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)上分為輸入層、隱含層與輸出層三部分,其拓?fù)浣Y(jié)構(gòu)如圖4-1所示。鎬入層隱含層幡出層圖4-1BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Figure4-1TopologicalStructureofBPNeuralNetwork這里隱含層既可以是一層也可以是多層,數(shù)據(jù)在輸入后由隱含層傳遞到輸出層,通過(guò)各層的處理最終得到輸出結(jié)

3、果。傳統(tǒng)的BP網(wǎng)絡(luò)算法可分為兩個(gè)過(guò)程:神經(jīng)網(wǎng)絡(luò)中信號(hào)的前向傳播和誤差函數(shù)的反向傳播。算法在執(zhí)行時(shí)會(huì)不斷調(diào)整網(wǎng)絡(luò)中的權(quán)值和偏置,計(jì)算輸出結(jié)果與期望結(jié)果之間的誤差,當(dāng)誤差達(dá)到預(yù)先設(shè)定的值后,算法就會(huì)結(jié)束。(1)前向傳播隱含層第J個(gè)節(jié)點(diǎn)的輸出通過(guò)式(4-1)來(lái)計(jì)算:(4-1)式中sij代表輸入層到隱含層的權(quán)重,aj代表輸入層到隱含層的偏置,n為輸入層的節(jié)點(diǎn)個(gè)數(shù),f(.)為激活函數(shù)。輸出層第k個(gè)節(jié)點(diǎn)的輸出通過(guò)式(4-2)來(lái)計(jì)算:(4-2)式中sjk代表隱含層到輸出層的權(quán)重,bk代表隱含層到輸出層的偏置,1為隱含層的結(jié)點(diǎn)個(gè)數(shù)。根據(jù)實(shí)際輸出與期望輸出來(lái)計(jì)算誤差,見(jiàn)式(4-3)。丘=*5?氏_ST=字用Jt

4、-L(4-3)式中(Yk-Ok)用ek來(lái)表示,Yk代表期望輸出,m為輸出層的結(jié)點(diǎn)個(gè)數(shù)。當(dāng)E不滿足要求時(shí),就會(huì)進(jìn)入反向傳播階段。(2)反向傳播反向傳播是從輸出到輸入的傳播過(guò)程。從式(4-1)至式(4-3)中,可以發(fā)現(xiàn)網(wǎng)絡(luò)誤差E是與各層權(quán)值和偏置有關(guān)的函數(shù),所以如果想減小誤差,需要對(duì)權(quán)值和偏置進(jìn)行調(diào)整。一般采取梯度下降法反向計(jì)算每層的權(quán)值增量,令權(quán)值的變化量同誤差的負(fù)梯度方向成正相關(guān),調(diào)整的原則是令誤差沿負(fù)梯度方向不斷減少。權(quán)值的更新公式見(jiàn)式(4-4),偏置的更新公式見(jiàn)式(4-5)。式中n為學(xué)習(xí)速率。BP算法的整體流程如圖4-2所示。幵始Nt=t+1,工滿至要啟計(jì)算每一層各節(jié)點(diǎn)晡輸入°輸

5、出*圧向調(diào)節(jié)T榛在權(quán)值和閩值4榆入今訓(xùn)傍樣右t=G計(jì)聲詒并本卜,的誤羞£初始化網(wǎng)絡(luò)藝數(shù)4_Y結(jié)親圖4-2BP算法流程圖Figure4-2FlowChartofBackPropagationAlgorithm4.2網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)4.2.1設(shè)計(jì)思路設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)時(shí)確定隱含層的層數(shù)以及隱含層的節(jié)點(diǎn)數(shù)是非常重要的。增加隱含層的層數(shù)有利于提高精度同時(shí)降低網(wǎng)絡(luò)誤差,但是BP神經(jīng)網(wǎng)絡(luò)的隱含層層數(shù)越多,所需的訓(xùn)練時(shí)間也就越長(zhǎng)。對(duì)于單隱層神經(jīng)網(wǎng)絡(luò)而言,隱含層的神經(jīng)元數(shù)量過(guò)少會(huì)導(dǎo)致網(wǎng)絡(luò)的學(xué)習(xí)能力不足。相反,神經(jīng)元數(shù)量越多,網(wǎng)絡(luò)的學(xué)習(xí)能力就越強(qiáng),越容易達(dá)到預(yù)期的精度,但是相對(duì)地會(huì)削弱網(wǎng)絡(luò)的泛化能力,使網(wǎng)絡(luò)容

6、易達(dá)到過(guò)擬合狀態(tài)。為了保證網(wǎng)絡(luò)擁有足夠強(qiáng)的性能及泛化能力,盡量避免在訓(xùn)練時(shí)出現(xiàn)過(guò)擬合現(xiàn)象,本文在設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)時(shí)主要遵循以下原則:(1)在保證神經(jīng)網(wǎng)絡(luò)檢測(cè)精度的前提下,盡量減少神經(jīng)元的數(shù)量;(2)通過(guò)仿真實(shí)驗(yàn)試探查找隱含層節(jié)點(diǎn)數(shù)的最優(yōu)值。本文中網(wǎng)絡(luò)結(jié)構(gòu)選擇的是多層前饋神經(jīng)網(wǎng)絡(luò),它的結(jié)構(gòu)雖然簡(jiǎn)單,但是能夠?qū)崿F(xiàn)任意精度逼近任意連續(xù)函數(shù),并且可以獲得復(fù)雜的處理能力,因此分類(lèi)能力和模式識(shí)別能力一般都會(huì)強(qiáng)于反饋網(wǎng)絡(luò)。激活函數(shù)選擇的是線性整流函數(shù)(RectifiedLinearUnit,ReLU),也叫作修正線性單元,函數(shù)曲線如圖4-3所示其公式見(jiàn)式(4-6)。圖4-3ReLU函數(shù)曲線Figure4-3Fu

7、nctionCurveofReLU/(.-d一(4-6)ReLU激活函數(shù)定義了神經(jīng)元在線性變換wTx+b以后的非線性輸出。換句話說(shuō),來(lái)自上一層網(wǎng)絡(luò)的輸入向量x在進(jìn)入神經(jīng)元后,將輸出max(O,wtx+b)至下一層神經(jīng)元。采用ReLU激活函數(shù)可以使梯度下降和反向傳播的過(guò)程更加高效,同時(shí)避免了梯度爆炸與梯度消失的問(wèn)題。此外,該函數(shù)沒(méi)有其他復(fù)雜激活函數(shù)如Sigmoid函數(shù)中指數(shù)的影響,并且活躍度較為分散,使得神經(jīng)網(wǎng)絡(luò)整體的計(jì)算成本減少,從而簡(jiǎn)化計(jì)算過(guò)程。目標(biāo)函數(shù)選擇的是Softmax函數(shù)。Softmax函數(shù)是式(4-7)取負(fù)對(duì)數(shù)后得到的損失函數(shù),其公式見(jiàn)式(4-8)。4.2.2網(wǎng)絡(luò)結(jié)構(gòu)及對(duì)應(yīng)實(shí)驗(yàn)分析

8、本文利用生長(zhǎng)法來(lái)設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu),即設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)時(shí),首先確定一種較為簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu),然后通過(guò)增加隱含層數(shù)和隱含層節(jié)點(diǎn)數(shù)來(lái)形成其他的網(wǎng)絡(luò)結(jié)構(gòu)。根據(jù)4.2.1中的設(shè)計(jì)思路,設(shè)計(jì)并訓(xùn)練了五種不同的神經(jīng)網(wǎng)絡(luò)模型,對(duì)應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖4-4所示。在圖4-4的網(wǎng)絡(luò)結(jié)構(gòu)中,輸入層均由41個(gè)神經(jīng)元構(gòu)成,輸出層由5個(gè)神經(jīng)元構(gòu)成。X為輸入向量,數(shù)據(jù)輸入后通過(guò)隱含層最終輸出分別屬于五個(gè)類(lèi)別的概率,然后將概率最大的類(lèi)別作為最終的判斷結(jié)果。其中網(wǎng)絡(luò)結(jié)構(gòu)a,b,c包含一個(gè)隱含層,分別由50,100,500個(gè)神經(jīng)元構(gòu)成;網(wǎng)絡(luò)結(jié)構(gòu)d,e由兩個(gè)隱含層構(gòu)成,前者每個(gè)隱含層包含50個(gè)神經(jīng)元,后者每個(gè)隱含層包含100個(gè)神經(jīng)元。a

9、)網(wǎng)絡(luò)結(jié)構(gòu)aa)NetworkStructureab)網(wǎng)絡(luò)結(jié)構(gòu)bb)NetworkStructureb223344995SO帝”血C)網(wǎng)絡(luò)結(jié)構(gòu)Cd)網(wǎng)絡(luò)結(jié)構(gòu)dC)NetworkStruCtureCd)NetworkStruCturede)網(wǎng)絡(luò)結(jié)構(gòu)ee)NetworkStruCturee圖4-4神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)Figure4-4StruCtureofNeuralNetwork本章訓(xùn)練和測(cè)試神經(jīng)網(wǎng)絡(luò)時(shí)使用了Google推出的Tensorflow深度學(xué)習(xí)框架,Tensorflow是一個(gè)采用數(shù)據(jù)流圖(dataflowgraphs),用于數(shù)值計(jì)算的開(kāi)源軟件庫(kù)。它的靈活性和可延展性讓用戶可以在各種平臺(tái)上

10、展開(kāi)計(jì)算,例如臺(tái)式計(jì)算機(jī)中的單個(gè)或多個(gè)CPU(GPU)、服務(wù)器、移動(dòng)設(shè)備等等,因此主要用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方面的研究。本章實(shí)驗(yàn)部分的機(jī)器配置,顯卡采用的是GeForceGT750M,顯存大小為2G,網(wǎng)絡(luò)訓(xùn)練和測(cè)試時(shí)使用GPU模式。用完整訓(xùn)練集分別訓(xùn)練圖4-4中的五種網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練時(shí)的參數(shù)batchsize(每次從訓(xùn)練集中取的數(shù)據(jù)量)和epochs(使用完整訓(xùn)練集訓(xùn)練的輪數(shù))將影響模型的精度和訓(xùn)練時(shí)間。在合理范圍內(nèi)增大batchsize對(duì)訓(xùn)練有一定好處,可以提高訓(xùn)練的速度,并且batchsize越大其確定的下降方向越準(zhǔn)確,引起的訓(xùn)練震蕩越小。但受顯存的限制,不能無(wú)限地增大batchsize

11、,因此在本實(shí)驗(yàn)中batchsize設(shè)為50。Epochs代表使用完整訓(xùn)練集訓(xùn)練的輪數(shù),由于訓(xùn)練集共包含494021條數(shù)據(jù),在batchsize=50的情況下,訓(xùn)練一次完整的數(shù)據(jù)集就需要9881輪迭代,而完成全部訓(xùn)練過(guò)程的總迭代數(shù)=9881Xepochs。考慮到完整訓(xùn)練集的數(shù)據(jù)量過(guò)于龐大,因此用完整訓(xùn)練集訓(xùn)練時(shí)epochs設(shè)為50。模型參數(shù)采用高斯分布初始化(Gaussian)方法進(jìn)行初始化,訓(xùn)練時(shí)使用隨機(jī)梯度下降法,基礎(chǔ)學(xué)習(xí)率設(shè)置為base_lr=0.01調(diào)整策略使用step策略,stepsize=5000,學(xué)習(xí)率按照式(4-9)進(jìn)行更新,其中g(shù)amma=0.1,iter是當(dāng)前的訓(xùn)練迭代次數(shù)。

12、在以上參數(shù)條件下,本文所設(shè)計(jì)的幾種網(wǎng)絡(luò)結(jié)構(gòu)均可以達(dá)到收斂。a=basejr憑#測(cè)尬口曲£期雖°(4-9)訓(xùn)練完成后用測(cè)試集分別對(duì)這五個(gè)模型進(jìn)行測(cè)試,得到的結(jié)果見(jiàn)表4-1和4-2表4-1不同網(wǎng)絡(luò)結(jié)構(gòu)每種類(lèi)別的檢測(cè)率Table4-1DetectionRateofDifferentNetworkStructuresforEachCategoryDR(%)NormalDosProbeU2RR2L網(wǎng)絡(luò)結(jié)構(gòu)込98.6797*259L67IO.OS18.85網(wǎng)絡(luò)結(jié)構(gòu)b98.5397J888.4010-1018.80網(wǎng)絡(luò)結(jié)構(gòu)匚98.6897.2489.9610.0718.81網(wǎng)絡(luò)結(jié)構(gòu)U97

13、.5096.8886.599.9718.56網(wǎng)絡(luò)結(jié)構(gòu)e97X596,8286.509.9718.56表4-2不同網(wǎng)絡(luò)結(jié)構(gòu)的整體效果Table4-2OverallEffectUsingTwoTrainingSetstoTraintheStructurea兩軸)FAR(旳TrainingTime(5)TestingTime(s)電絡(luò)結(jié)掏耳92.01140483.99153B.46網(wǎng)絡(luò)姑構(gòu)h0.9016819L711599.53網(wǎng)絡(luò)結(jié)構(gòu)C91.960.S715J272.3617M.11網(wǎng)絡(luò)結(jié)徇d91.560.7225139,761983,05網(wǎng)絡(luò)結(jié)構(gòu)£91.5:0.«725612

14、8,112159,76從表4-1中可以看出使用網(wǎng)絡(luò)結(jié)構(gòu)a訓(xùn)練的模型在四種攻擊類(lèi)別上的檢測(cè)率都比較高。雖然網(wǎng)絡(luò)結(jié)構(gòu)c在Normal類(lèi)別上的檢測(cè)率高于網(wǎng)絡(luò)結(jié)構(gòu)a,但是對(duì)入侵檢測(cè)系統(tǒng)來(lái)說(shuō),檢測(cè)出攻擊流量是最為重要的,并且從表4-2中可以看到網(wǎng)絡(luò)結(jié)構(gòu)a對(duì)整體攻擊流量的檢測(cè)率最高,同時(shí)訓(xùn)練和檢測(cè)時(shí)間要少于其他四種結(jié)構(gòu),這是由于網(wǎng)絡(luò)結(jié)構(gòu)a的復(fù)雜度最低,因此使用它進(jìn)行訓(xùn)練和測(cè)試所需要的時(shí)間也就比較少。綜上所述,本章選取網(wǎng)絡(luò)結(jié)構(gòu)a作為神經(jīng)網(wǎng)絡(luò)的一個(gè)基礎(chǔ)候選網(wǎng)絡(luò)結(jié)構(gòu),后續(xù)的研究也主要是在網(wǎng)絡(luò)結(jié)構(gòu)a的基礎(chǔ)上進(jìn)行一系列的改進(jìn)。4.2.3Dropout層的引入訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)時(shí)經(jīng)常會(huì)遇到的一個(gè)問(wèn)題是容易達(dá)到過(guò)擬合狀態(tài)

15、,過(guò)擬合是指模型在訓(xùn)練集上損失函數(shù)較小,但是在測(cè)試集上損失函數(shù)較大,預(yù)測(cè)準(zhǔn)確率較低的現(xiàn)象。而dropout的出現(xiàn)可以很好地解決這些問(wèn)題。dropout是指在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,對(duì)于網(wǎng)絡(luò)中的神經(jīng)元,按照一定的概率暫時(shí)將其從網(wǎng)絡(luò)中丟棄,即在每個(gè)batch中,讓一部分隱層節(jié)點(diǎn)值為0。由于是隨機(jī)丟棄,所以每一個(gè)batch都在訓(xùn)練不同的網(wǎng)絡(luò),這種方式可以減少神經(jīng)元之間的相互作用。Hinton在論文中證實(shí)了dropout對(duì)于全連接網(wǎng)絡(luò)有防止過(guò)擬合的效果。圖4-5為dropout的可視化表示,其中圖a)為應(yīng)用dropout前的神經(jīng)網(wǎng)絡(luò),圖b)是應(yīng)用dropout后的同一個(gè)網(wǎng)絡(luò),虛線代表臨時(shí)刪除的神經(jīng)元。a

16、)應(yīng)用out前的神經(jīng)網(wǎng)絡(luò)b)應(yīng)用dropout后的神經(jīng)網(wǎng)絡(luò)a)NeuralNetworkBeforeApplyingDropoutb)NeuralNetworkafterApplyingDropout圖4-5應(yīng)用dropout前后的神經(jīng)網(wǎng)絡(luò)Figure4-5NeuralNetworkBeforeandafterApplyingDropoutDropout會(huì)以概率p舍棄部分神經(jīng)元,其他神經(jīng)元以概率1-p被保留,輸入層和輸出層神經(jīng)元不作變動(dòng),舍去的神經(jīng)元的輸出都被設(shè)置為零。然后,將輸入數(shù)據(jù)通過(guò)修改后的網(wǎng)絡(luò)進(jìn)行前向傳播,將誤差通過(guò)修改后的網(wǎng)絡(luò)進(jìn)行反向傳播對(duì)一個(gè)批次的樣本完成上述操作以后,更新相應(yīng)的權(quán)

17、重和偏置,這樣重復(fù)迭代處理,直至訓(xùn)練結(jié)束。Dropout能夠減輕過(guò)擬合現(xiàn)象的發(fā)生,主要是因?yàn)樗_(dá)到了一種投票的作用。對(duì)于全連接神經(jīng)網(wǎng)絡(luò),用相同的數(shù)據(jù)去訓(xùn)練多個(gè)不同的神經(jīng)網(wǎng)絡(luò)可能會(huì)得到多個(gè)不同的結(jié)果,這時(shí)采用投票機(jī)制可以相對(duì)提升網(wǎng)絡(luò)的精度與魯棒性。同理,對(duì)于單個(gè)神經(jīng)網(wǎng)絡(luò)。如果將其進(jìn)行分批,雖然不同的網(wǎng)絡(luò)可能會(huì)產(chǎn)生不同程度的過(guò)擬合,但是他們共用一個(gè)損失函數(shù),相當(dāng)于同時(shí)對(duì)其進(jìn)行了優(yōu)化,取了平均,因此可以較為有效地防止過(guò)擬合的發(fā)生。此外,當(dāng)隱藏層神經(jīng)元被隨機(jī)刪除后使得全連接網(wǎng)絡(luò)具有了一定的稀疏性,從而有效地減輕了不同特征之間的協(xié)同效應(yīng)也就是說(shuō),有些特征可能會(huì)依賴(lài)于特定關(guān)系的隱含節(jié)點(diǎn)的共同作用,而dro

18、pout有效地阻止了那些在其他特征存在下才有效果的情況,提高了神經(jīng)網(wǎng)絡(luò)的魯棒性將dropout添加到4.2.2中的網(wǎng)絡(luò)結(jié)構(gòu)a后訓(xùn)練使用的epochs量增加為100這是因?yàn)閐ropout會(huì)使每次訓(xùn)練時(shí)隨機(jī)失效一些節(jié)點(diǎn),因此需要更多的訓(xùn)練輪數(shù)來(lái)使網(wǎng)絡(luò)達(dá)到收斂。表4-3和表4-4展示了添加dropout后網(wǎng)絡(luò)結(jié)構(gòu)a的效果,可以發(fā)現(xiàn)網(wǎng)絡(luò)的檢測(cè)效果有一定的提升。雖然訓(xùn)練時(shí)間有所增長(zhǎng),但是訓(xùn)練時(shí)間增長(zhǎng)的倍數(shù)并沒(méi)有達(dá)到與epchos增長(zhǎng)相同的倍數(shù),這是由于每次訓(xùn)練時(shí)一些節(jié)點(diǎn)失效,使得實(shí)際的網(wǎng)絡(luò)結(jié)構(gòu)要比原始的網(wǎng)絡(luò)結(jié)構(gòu)a更簡(jiǎn)單。表4-3添加dropout前后網(wǎng)絡(luò)結(jié)構(gòu)a對(duì)每種類(lèi)別的檢測(cè)率Table4-3Detec

19、tionRateofNetworkStructureaforEachCategoryBeforeandafterAddingDR(臨)NormalDosPrpbEU2RR2L添110dropoutnJ9S.6797.1591,6710.081S,85添ilfUropoirt后9蟄669工27giJOID.lll&$0表4-4添加dropout前后網(wǎng)絡(luò)結(jié)構(gòu)a的整體效果Table4-4OverallEffectofNetworkStructureaBeforeandafterAddingDropoutDR(%)PAR(覽)TrainingTimc(s)TestingTimcfs):drop

20、out92.01O.gg140483.9?153846添皿drop<M后9280.90220823*5*159&卩4.3數(shù)據(jù)集聚類(lèi)與分層檢測(cè)框架在神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)上的應(yīng)用本文提出了一些針對(duì)數(shù)據(jù)集和檢測(cè)框架的改進(jìn)方法,本節(jié)嘗試將部分方法應(yīng)用在神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)上,并通過(guò)實(shí)驗(yàn)驗(yàn)證算法在神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)上的效果訓(xùn)練使用4.2.3中添加了dropout的網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練時(shí)batch_size設(shè)為50,epochs設(shè)為100,網(wǎng)絡(luò)初始化和學(xué)習(xí)率的設(shè)定同4.2.2節(jié)。表4-5用兩種訓(xùn)練集訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)a所得每種類(lèi)別的檢測(cè)率4-5DetectionRateforEachCategoryUsingT

21、woSetstoTraintheStructureaDR(溝NormalDosProbeU2RR2L完整訓(xùn)練集98.6697*2791.7010.1118.90子訓(xùn)練集9855973091.72103521,23表4-6用兩種訓(xùn)練集訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)a的整體效果Table4-6OverallEffectUsingTwoTrainingSetstoTraintheStructureaDR(怖)FAR羯TrainingTimefaTestingTimc(5)完整訓(xùn)練集22M23541現(xiàn)12子訓(xùn)粽集1.15153.671605.29表4-5和表4-6展示了使用聚類(lèi)后的訓(xùn)練集的實(shí)驗(yàn)效果,可以發(fā)現(xiàn)用子訓(xùn)練集訓(xùn)

22、練神經(jīng)網(wǎng)絡(luò)模型后每一種攻擊的檢測(cè)率均高于用完整訓(xùn)練集訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型后的檢測(cè)率,并且用子訓(xùn)練集進(jìn)行訓(xùn)練所需的時(shí)間遠(yuǎn)遠(yuǎn)低于用完整訓(xùn)練集訓(xùn)練的時(shí)間。因此在后續(xù)實(shí)驗(yàn)中均采用子訓(xùn)練集來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。實(shí)驗(yàn)所用網(wǎng)絡(luò)結(jié)構(gòu)如圖4-6所示,由于采用小類(lèi)別后最終分類(lèi)目標(biāo)類(lèi)別實(shí)際有15種,故輸出層由之前的5個(gè)節(jié)點(diǎn)改為15個(gè)節(jié)點(diǎn),訓(xùn)練集得到的結(jié)果見(jiàn)表4-7和表4-8,從表中可以看出這種小類(lèi)結(jié)構(gòu)的訓(xùn)練集應(yīng)用于神經(jīng)網(wǎng)絡(luò)后也對(duì)檢測(cè)效果有了明顯提升,說(shuō)明這種訓(xùn)練集的重構(gòu)方法與分類(lèi)器無(wú)關(guān)。圖4-6使用15個(gè)小類(lèi)別的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Figure4-6StructureofNeuralNetworkUsing15SmallCla

23、sses表4-7用小類(lèi)別訓(xùn)練集訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)a所得每種類(lèi)別的檢測(cè)率Table4-7DetectionRateforEachCategoryUsingSmallClassTrainingSetstoTraintheStructureaDR(怖)NormalDosProbeU2RR2L王訓(xùn)練集98.5597.3091.7210.3521.2315小類(lèi)訓(xùn)練集98.529732923:5J6.212S.98表4-8用小類(lèi)別訓(xùn)練集訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)a的整體效果Table4-8OverallEffectUsingSmallClassTrainingSetstoTraintheStructureaDRWFAR(%)

24、TrainingFjine(s)TestingTime(s)子訓(xùn)練集92-211,15153.671605,29】5小類(lèi)訓(xùn)練集92.肚1.29391.571885J9現(xiàn)對(duì)應(yīng)到分層檢測(cè)框架中需要使用的是15個(gè)二分類(lèi)器,故模型結(jié)構(gòu)如圖4-7所示,輸出層節(jié)點(diǎn)數(shù)為2。表4-9和表4-10展示了利用神經(jīng)網(wǎng)絡(luò)分層檢測(cè)框架進(jìn)行檢測(cè)的結(jié)果,可以發(fā)現(xiàn)Normal.U2R和R2L類(lèi)別的檢測(cè)率有一定的損失,但是剩余二類(lèi)的檢測(cè)率有所提升。檢測(cè)率損失的部分原因是Normal,U2R和R2L類(lèi)別在分層檢測(cè)框架中位于框架的末端,故這三類(lèi)數(shù)據(jù)中有一些被前幾種類(lèi)別的分類(lèi)器識(shí)別成對(duì)應(yīng)類(lèi)別而未能傳遞到應(yīng)該被正確識(shí)別的層次上。但好在

25、這種損失比較輕微,尤其是R2L類(lèi)別只減少了0.01%的檢測(cè)率,并且Probe和Dos類(lèi)別以及整體的檢測(cè)率還有所提升。圖4-7分層檢測(cè)框架中用于二分類(lèi)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Figure4-7StructureofNeuralNetworkasBinaryClassifierinHierarchicalDetectionFramework.表4-9用神經(jīng)網(wǎng)絡(luò)分層檢測(cè)框架檢測(cè)所得每種類(lèi)別的檢測(cè)率Table4-9DetectionRateforEachCategoryUsingNeuralNetworkHierarchicalDetectionFrameworkDRNormalDosProbeU2RR2L1

26、5小類(lèi)訓(xùn)練集98.11A7.3S1534-10用神經(jīng)網(wǎng)絡(luò)分層檢測(cè)框架檢測(cè)的整體效果Table4-10OverallEffectUsingNeuralNetworkHierarchicalDetectionFrameworkDR(%)FAR<%)TrainingTiine<$)TestingTimers)15小類(lèi)訓(xùn)練集92.811.593510,291401.55本節(jié)的三個(gè)實(shí)驗(yàn)可以證明本文提出的對(duì)數(shù)據(jù)集的精簡(jiǎn)聚類(lèi)、訓(xùn)練集數(shù)據(jù)重新構(gòu)造方法和分層檢測(cè)框架都是分類(lèi)器無(wú)關(guān)的通用方法,神經(jīng)網(wǎng)絡(luò)可以獲得檢測(cè)效果的提升。4.4BP算法優(yōu)化4.4.1傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的局限性盡管傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)在非線

27、性映射能力、自學(xué)習(xí)和自適應(yīng)、泛化能力和容錯(cuò)能力等方面相較傳統(tǒng)機(jī)器學(xué)習(xí)方法有一定優(yōu)勢(shì),但是它也在近些年的應(yīng)用中暴露了一些不足之處:(1) 易陷入局部最優(yōu):從數(shù)學(xué)的角度上看,BP神經(jīng)網(wǎng)絡(luò)本質(zhì)上是一種基于局部搜索的方法,要解決的問(wèn)題一般是復(fù)雜的非線性問(wèn)題,其網(wǎng)絡(luò)權(quán)值的調(diào)整是沿局部梯度的方向進(jìn)行的,有陷入到局部最優(yōu)的風(fēng)險(xiǎn)。同時(shí),BP神經(jīng)網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)權(quán)值的初始值比較敏感,使用不同的初始網(wǎng)絡(luò)權(quán)值往往會(huì)得到完全不同的結(jié)果。(2) BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的收斂速度較慢:反向傳播算法本質(zhì)是梯度下降,通常給定的目標(biāo)函數(shù)都比較復(fù)雜,因此訓(xùn)練時(shí)往往都會(huì)出現(xiàn)震蕩,這使得BP算法的訓(xùn)練效率變低。與此同時(shí),在訓(xùn)練中如果神經(jīng)元的輸

28、出比較靠近0或者1,就會(huì)出現(xiàn)一些梯度很小的區(qū)域,這些平坦區(qū)內(nèi)的權(quán)值變化往往很小,這使得梯度下降法的訓(xùn)練非常緩慢;訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)模型時(shí),對(duì)于權(quán)值改變的步長(zhǎng)一般也會(huì)提前設(shè)置一些靜態(tài)的更新規(guī)則,這些規(guī)則不能及時(shí)獲得每次迭代的權(quán)值變化情況,也會(huì)引發(fā)一些效率問(wèn)題。(3) BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)能力和訓(xùn)練能力的矛盾問(wèn)題:一般情況下神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)能力會(huì)隨著訓(xùn)練能力的提升而提高,但是當(dāng)訓(xùn)練達(dá)到一定程度后,預(yù)測(cè)能力反而會(huì)有所下降,即出現(xiàn)了過(guò)擬合現(xiàn)象。這是由于網(wǎng)絡(luò)學(xué)習(xí)了過(guò)多的樣本細(xì)節(jié),導(dǎo)致模型己經(jīng)不能反映總體樣本的規(guī)律,所以如何把握學(xué)習(xí)的程度來(lái)解決網(wǎng)絡(luò)的預(yù)測(cè)能力和訓(xùn)練能力之間的矛盾也是BP神經(jīng)網(wǎng)絡(luò)的重要研究?jī)?nèi)容。4.

29、4.2BP算法的改進(jìn)針對(duì)4.4.1中提出的幾個(gè)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的問(wèn)題,在先前的研究中已經(jīng)通過(guò)在網(wǎng)絡(luò)結(jié)構(gòu)中引入dropout層后在一定程度上解決了BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)能力和訓(xùn)練能力的矛盾問(wèn)題,并且通過(guò)使用第三章中重新構(gòu)造的訓(xùn)練集來(lái)優(yōu)化了網(wǎng)絡(luò)的訓(xùn)練速度。本節(jié)將從BP算法的權(quán)值初始化、增加動(dòng)量項(xiàng)和自適應(yīng)調(diào)節(jié)學(xué)習(xí)速率的角度對(duì)BP算法進(jìn)行改進(jìn)。(1)權(quán)值初始化常用的神經(jīng)網(wǎng)絡(luò)權(quán)值初始化是采用高斯分布來(lái)生成隨機(jī)初始值,這種做法的本質(zhì)是將所有權(quán)值初始化為接近0的小隨機(jī)數(shù),從而避免將權(quán)值全部初始化為0導(dǎo)致的訓(xùn)練后同層的神經(jīng)元得到相同的參數(shù)的問(wèn)題。He等人提出了一種針對(duì)ReLU神經(jīng)元的特殊初始化,文章給出了采用ReL

30、U神經(jīng)元的網(wǎng)絡(luò)在通過(guò)高斯分布對(duì)權(quán)值進(jìn)行初始化時(shí)的方差設(shè)置方法?;诜讲畹挠?jì)算并帶入ReLU神經(jīng)元函數(shù)公式,最后推導(dǎo)出的方差表達(dá)式如式(4-10)所示,其中nl指第1層的維數(shù),Varwl指第1層的參數(shù)的方差,即wl的初始化公式為N(0,2/nl),本文將此公式作為神經(jīng)網(wǎng)絡(luò)參數(shù)的初始化公式。(4-10)、畑曬=1(2)增加動(dòng)量項(xiàng)BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中調(diào)整權(quán)值時(shí),只按照當(dāng)前迭代的梯度下降方向進(jìn)行調(diào)整,而未考慮之前迭代的梯度方向,這有可能會(huì)導(dǎo)致訓(xùn)練出現(xiàn)震蕩而減慢收斂速度。為了解決這一問(wèn)題,考慮在權(quán)值調(diào)整公式中添加動(dòng)量項(xiàng),動(dòng)量項(xiàng)實(shí)際上是從前一次權(quán)值調(diào)整中取出一部分疊加到本次權(quán)值調(diào)整中,添加動(dòng)量項(xiàng)以后的

31、權(quán)值調(diào)整表達(dá)式如式(4-11)所示。式中的mcAwij(k)即為動(dòng)量項(xiàng),mcAwij(k)=mc(wij(k)-Wij(k)-l),其中me代表動(dòng)量因子,0Wmcv1,本實(shí)驗(yàn)中me取0.9可以看出動(dòng)量項(xiàng)反映了上一次迭代所積累的調(diào)整經(jīng)驗(yàn)。旳點(diǎn)+D=十+mcAwifCk)(4-11)動(dòng)量項(xiàng)的作用如下:在訓(xùn)練過(guò)程中,當(dāng)順序加入訓(xùn)練數(shù)據(jù)時(shí),在第t次迭代時(shí),如果本次迭代的dE(t)/dwij(式中E為單個(gè)樣本的訓(xùn)練誤差)和上一次迭代同符號(hào),動(dòng)量項(xiàng)起到加快調(diào)節(jié)權(quán)值wij的作用;而如果本次迭代的dE(t)/dwij和上一次迭代正負(fù)相反,說(shuō)明有一定的震蕩存在,此時(shí)動(dòng)量項(xiàng)使得權(quán)值Wij的變化變小,起到了穩(wěn)定的作

32、用。(3)自適應(yīng)調(diào)節(jié)學(xué)習(xí)率學(xué)習(xí)率n也稱(chēng)為步長(zhǎng),在標(biāo)準(zhǔn)bp算法中設(shè)置為一個(gè)常數(shù),然而在實(shí)際應(yīng)用中一般不會(huì)將其固定,比如在本節(jié)之前的網(wǎng)絡(luò)訓(xùn)練中,使用式(4-9)來(lái)改變學(xué)習(xí)率,本質(zhì)上就是隨著訓(xùn)練迭代次數(shù)的增加,逐步降低學(xué)習(xí)率,使訓(xùn)練得以收斂。這種降低學(xué)習(xí)率的方法通常按照經(jīng)驗(yàn)設(shè)置參數(shù)值,設(shè)定較為困難,并且若只根據(jù)迭代次數(shù)去調(diào)整學(xué)習(xí)率,在遇到本章研究中這種需要頻繁更換網(wǎng)絡(luò)結(jié)構(gòu)和實(shí)驗(yàn)訓(xùn)練集的條件下難以保證效果,故引入一種自適應(yīng)調(diào)節(jié)學(xué)習(xí)率的方法。從bp算法在訓(xùn)練時(shí)學(xué)習(xí)率n的作用來(lái)看,n太小會(huì)使訓(xùn)練迭代次數(shù)增加,此時(shí)希望加大n的值;而當(dāng)誤差變化劇烈時(shí),學(xué)習(xí)率n太大則會(huì)導(dǎo)致對(duì)權(quán)值的調(diào)整量過(guò)大,很容易跳過(guò)最優(yōu)點(diǎn),使訓(xùn)練迭代次數(shù)增加,此時(shí)則希望降低學(xué)習(xí)率n的值。為此提出一種可變學(xué)習(xí)率的BP算法,其規(guī)則如式(4-12)所示。式中a和B是設(shè)置的用于調(diào)整學(xué)習(xí)率變化的參數(shù),范圍是(0,1),實(shí)驗(yàn)中a=0.53=0.2,Y是設(shè)置的用于條件判斷的參數(shù),實(shí)驗(yàn)中設(shè)定為3%。<(1-ar)x譏隹-1)-1)>y7j(k)=|(1+/?)x-1)AE(k1)<0(4-12)公式所代表的含義是,如果迭代的均方誤差增加且超

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論