(北京工業(yè)大學(xué)信息學(xué)部,北京 100022)
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)成了人們?nèi)粘I钪械闹匾ぞ?,社?huì)的發(fā)展也越來(lái)越離不開(kāi)網(wǎng)絡(luò)。但是,隨著人們?cè)诰W(wǎng)絡(luò)上的互動(dòng)增多,網(wǎng)絡(luò)安全問(wèn)題層出不窮,網(wǎng)絡(luò)數(shù)據(jù)流量與日俱增,使入侵行為特征更加多樣化[1],網(wǎng)絡(luò)安全已成為影響網(wǎng)絡(luò)發(fā)展的重要因素。入侵檢測(cè)技術(shù)是網(wǎng)絡(luò)空間安全中最重要的防御手段之一。入侵檢測(cè)的本質(zhì)是一種數(shù)據(jù)的分類任務(wù),對(duì)于分類任務(wù)來(lái)說(shuō),在神經(jīng)網(wǎng)絡(luò)算法中,已經(jīng)有了非常明顯的效果[2]。文獻(xiàn)[3-6]提出了基于純深度神經(jīng)網(wǎng)絡(luò)的模型,通過(guò)線性層來(lái)提取特征,取得了不錯(cuò)的效果,但沒(méi)有考慮模型的泛化能力。文獻(xiàn)[7]提出了使用卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)的方式來(lái)進(jìn)行特征提取,將數(shù)據(jù)處理成one-hot 的形式,通過(guò)數(shù)組重組形成CNN 可以處理的數(shù)據(jù)結(jié)構(gòu),最后通過(guò)Softmax函數(shù)來(lái)進(jìn)行數(shù)據(jù)的分類操作。文獻(xiàn)[8]通過(guò)使用一維的卷積神經(jīng)網(wǎng)絡(luò)配合數(shù)據(jù)歸一化的方式,解決了數(shù)據(jù)不平衡的問(wèn)題,并取得了不錯(cuò)的效果。文獻(xiàn)[9]提出了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrent neural network)的方式來(lái)進(jìn)行特征提取,也取得了不錯(cuò)的效果。雖然CNN 可以通過(guò)簡(jiǎn)單的方式來(lái)計(jì)算大量的數(shù)據(jù),并且有著很強(qiáng)的特征提取能力,但是在池化操作時(shí),會(huì)舍棄一些信息,在圖像處理方面,可能不會(huì)產(chǎn)生重要的影響,但是對(duì)于入侵?jǐn)?shù)據(jù)而言,這些信息可能是至關(guān)重要的[10]。RNN 主要是處理具有時(shí)序關(guān)系的序列,然而入侵檢測(cè)數(shù)據(jù)的特征之間并沒(méi)有特定的先后順序,使用RNN 進(jìn)行特征提取時(shí)會(huì)融入不必要的信息。
為了解決當(dāng)前神經(jīng)網(wǎng)絡(luò)模型中存在的一些缺陷,本文研究了2 種新的機(jī)制,即特征動(dòng)態(tài)融合機(jī)制和隨機(jī)注意力機(jī)制,并在膠囊網(wǎng)絡(luò)的基礎(chǔ)上,提出了可變?nèi)诤系碾S機(jī)注意力膠囊網(wǎng)絡(luò)入侵檢測(cè)模型。在全局特征提取過(guò)程中,入侵檢測(cè)模型使用注意力機(jī)制來(lái)提取,但是傳統(tǒng)的注意力機(jī)制會(huì)依賴訓(xùn)練數(shù)據(jù)本身,導(dǎo)致模型的泛化能力降低?;诖?,本文提出了隨機(jī)注意力機(jī)制來(lái)減少模型對(duì)訓(xùn)練數(shù)據(jù)的依賴。另外,膠囊網(wǎng)絡(luò)中的特征提取是通過(guò)卷積實(shí)現(xiàn)的,為了補(bǔ)充在卷積操作中可能丟失的信息,通過(guò)可變的特征融合機(jī)制,建立了多特征提取通道,將通過(guò)隨機(jī)注意力機(jī)制提取到的特征與膠囊網(wǎng)絡(luò)卷積層提取到的特征進(jìn)行動(dòng)態(tài)融合,補(bǔ)充了卷積操作中丟失的信息,并且在最后優(yōu)化了膠囊網(wǎng)絡(luò)中的壓縮函數(shù),使其能夠更好地捕捉全局特征和局部特征的關(guān)系,減少噪聲的干擾,具有比原來(lái)的膠囊網(wǎng)絡(luò)更強(qiáng)的特征提取能力和檢測(cè)能力,并具有同時(shí)針對(duì)入侵檢測(cè)數(shù)據(jù)的特點(diǎn),可以更好地檢測(cè)出數(shù)據(jù)細(xì)節(jié)的變化。
最后,本文將模型用在 NSL-KDD 和UNSW-NB15 入侵檢測(cè)數(shù)據(jù)的分類上,并與非神經(jīng)網(wǎng)絡(luò)模型和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表明,本文的模型在泛化能力方面高于其他模型,在UNSW-NB15 測(cè)試集上的準(zhǔn)確率達(dá)到了98.60%;在NSL-KDD 訓(xùn)練集的準(zhǔn)確率可達(dá)99.49%,效率方面也有了提升。
2017 年Hinton[11]首次提出了膠囊網(wǎng)絡(luò)模型,并且該模型被認(rèn)為可能成為下一代重要的神經(jīng)網(wǎng)絡(luò)模型。膠囊網(wǎng)絡(luò)是由膠囊組成的。膠囊是一組神經(jīng)元的集合,與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)不同,在膠囊中,神經(jīng)元的集合是向量或者矩陣。每個(gè)神經(jīng)元表示了圖像中出現(xiàn)的特定實(shí)體的各種屬性,比如圖片中物體的方向、所在的位置以及形態(tài)顏色,通過(guò)使用膠囊向量的模長(zhǎng)來(lái)表示實(shí)體所存在的可能性大小。膠囊網(wǎng)絡(luò)是低級(jí)膠囊通過(guò)動(dòng)態(tài)路由機(jī)制來(lái)向高級(jí)膠囊傳遞信息的[11-12],因此與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,膠囊是具有更強(qiáng)的特征提取能力的網(wǎng)絡(luò),特別是對(duì)細(xì)節(jié)的提取。到目前為止,還沒(méi)有人使用膠囊網(wǎng)絡(luò)來(lái)處理入侵檢測(cè)數(shù)據(jù)類型的結(jié)構(gòu)化數(shù)據(jù)。將入侵檢測(cè)與膠囊網(wǎng)絡(luò)結(jié)合,也是一個(gè)新的研究點(diǎn)。
注意力機(jī)制被廣泛運(yùn)用在深度學(xué)習(xí)中的各種任務(wù)中,其目標(biāo)是從雜亂的信息中選取對(duì)當(dāng)前任務(wù)有關(guān)的信息,減少噪聲對(duì)結(jié)果的影響。在傳統(tǒng)的注意力機(jī)制中,基本上都是通過(guò)單詞之間的交互來(lái)確定最終的注意力分?jǐn)?shù),比如在自注意力機(jī)制中,序列中的每個(gè)單詞參與注意力的運(yùn)算,能夠?qū)^遠(yuǎn)距離的依賴關(guān)系進(jìn)行建模。自注意力機(jī)制提供了強(qiáng)大的建模能力,但是需要進(jìn)行所有單詞之間的兩兩交互。雖然可以獲得更多的交互信息,但所得結(jié)果會(huì)非常依賴所給訓(xùn)練集的內(nèi)容,使模型缺少了泛化的能力。文獻(xiàn)[13]提出了合成注意力機(jī)制,減少了對(duì)訓(xùn)練數(shù)據(jù)的依賴和模型的訓(xùn)練時(shí)間,并取得了與自注意力機(jī)制相差不多的效果,在特定任務(wù)中甚至要優(yōu)于自注意力機(jī)制。
可變?nèi)诤系碾S機(jī)注意力膠囊網(wǎng)絡(luò)的框架結(jié)構(gòu)如圖1 所示。模型首先將數(shù)據(jù)處理成矩陣的形式,然后進(jìn)行特征提取,將得到的特征矩陣進(jìn)行融合,融合后的特征矩陣被包裹成膠囊的形式送到初級(jí)膠囊層中,通過(guò)動(dòng)態(tài)路由機(jī)制后輸出結(jié)果,送到輸出層中。本文的目的是對(duì)流量數(shù)據(jù)進(jìn)行分類。
注意力機(jī)制對(duì)減少數(shù)據(jù)噪聲有著十分重要的作用,但是自注意力在某些時(shí)候并不能取得理想的效果,反而會(huì)增加運(yùn)算成本,降低效率。并且,自注意力機(jī)制會(huì)過(guò)多地依賴訓(xùn)練集本身,導(dǎo)致模型的泛化能力下降。為此,本文提出了一種全新的注意力模型,此模型不依賴序列中的特征,而是利用隨機(jī)注意力的方式,通過(guò)模型的最終目的來(lái)自動(dòng)地進(jìn)行調(diào)整,減少了模型對(duì)訓(xùn)練集的過(guò)度依賴,并且隨機(jī)注意力矩陣會(huì)根據(jù)預(yù)測(cè)值與真實(shí)值的誤差,通過(guò)反向傳播進(jìn)行調(diào)整,以達(dá)到最好的分類效果。隨機(jī)注意力省去了特征之間的交互,對(duì)于包含多個(gè)特征的序列來(lái)講,極大地縮減了模型的運(yùn)算時(shí)間。
圖1 模型框架
通過(guò)隨機(jī)注意力機(jī)制,獲得數(shù)據(jù)的注意力矩陣AAttention。初始矩陣是使用2 個(gè)隨機(jī)初始化矩陣的乘積來(lái)生成隨機(jī)矩陣R,如圖2 所示。
圖2 隨機(jī)注意力機(jī)制
通過(guò)接收輸入X∈Rl×d并輸出特征矩陣A∈Rn×n。其中,l是序列的長(zhǎng)度,d是特征的維度,n是模型的維度。首先通過(guò)參數(shù)化矩陣W將輸入從d維映射到n維的B。隨機(jī)初始化2 個(gè)可學(xué)習(xí)的矩陣R1,R2∈Rn×n,并相乘,得到矩陣R,矩陣R用于注意力分?jǐn)?shù)的計(jì)算。對(duì)于,經(jīng)過(guò)Softmax 函數(shù)后得到分?jǐn)?shù)矩陣,并與B相乘,得到最后的特征矩陣AAttention∈Rn×n。具體如式(1)~式(4)所示。
將獲得的AAttention復(fù)制M次,形成M個(gè)n×n的矩陣AAttention,并與膠囊網(wǎng)絡(luò)提取到的局部特征進(jìn)行融合。在膠囊網(wǎng)絡(luò)中,原始數(shù)據(jù)通過(guò)卷積層進(jìn)行卷積操作,產(chǎn)生M個(gè)n×n的矩陣。
一些特征融合過(guò)程會(huì)直接將全局特征和局部特征相結(jié)合,但是這種操作在某些情況下會(huì)降低模型的準(zhǔn)確率。在入侵檢測(cè)的任務(wù)下,因?yàn)槟承┕纛愋褪怯赡硯讉€(gè)特定的特征來(lái)決定的,這時(shí)如果盲目地增加全局特征的信息,會(huì)產(chǎn)生許多噪聲,使模型對(duì)此類攻擊檢測(cè)的準(zhǔn)確率下降。同樣,有些攻擊是被所有特征控制的,這時(shí)局部特征就不能很好地給模型充分的信息,使模型檢測(cè)出這一類的攻擊。所以,尋找局部特征和全局特征融合的界限,對(duì)模型的檢測(cè)準(zhǔn)確率有著重要的影響?;诖?,本文提出了可變?nèi)诤蠙C(jī)制。
通過(guò)特征提取得到了2 個(gè)特征矩陣,為了使模型能夠根據(jù)任務(wù)的目的來(lái)動(dòng)態(tài)地融合全局特征和局部特征,本文提出了可變?nèi)诤蠙C(jī)制的方式,通過(guò)設(shè)定一個(gè)可學(xué)習(xí)的參數(shù),將2 個(gè)部分的特征矩陣按可變的比例進(jìn)行融合得到最終的特征矩陣H∈Rn×n。
其中,⊕是元素連接符,即兩組特征矩陣進(jìn)行堆疊,對(duì)應(yīng)位置的元素對(duì)齊,最終形成2×M個(gè)n×n的特征矩陣H;α是一個(gè)可學(xué)習(xí)的參數(shù),數(shù)值被初始化為0.5;f(x)是一個(gè)范圍函數(shù),保證每次α更新后的值始終在[0,1],如式(6)所示。
特征矩陣被傳到初級(jí)膠囊層中。下層膠囊需要將該層膠囊存儲(chǔ)的計(jì)算結(jié)果傳遞給上層膠囊,其中傳遞過(guò)程是通過(guò)動(dòng)態(tài)路由機(jī)制來(lái)實(shí)現(xiàn)的。文獻(xiàn)[7]中的動(dòng)態(tài)路由機(jī)制如式(7)~式(11)所示。
一個(gè)膠囊的輸出向量的長(zhǎng)度表示實(shí)體出現(xiàn)的概率,因此需要一個(gè)非線性函數(shù)Squashing 確保輸出在[0,1],vj是膠囊j的輸出,sj是膠囊j的總輸入。輸入向量u與權(quán)重矩陣W相乘,通過(guò)這一步實(shí)現(xiàn)了低級(jí)特征與高級(jí)特征之間關(guān)系的編碼。然后通過(guò)動(dòng)態(tài)路由機(jī)制,來(lái)動(dòng)態(tài)更新L層膠囊i到L+1 層膠囊j的概率。bij的初始值為0,cij為耦合系數(shù),是低級(jí)膠囊到高級(jí)膠囊的權(quán)重、兩層膠囊之間的相關(guān)性,值越大表示相關(guān)性越強(qiáng)。根據(jù)動(dòng)態(tài)路由機(jī)制更新bij,以達(dá)到更新cij的目的。迭代完成后,上層膠囊中的所有向量u乘以對(duì)應(yīng)的權(quán)重cij得到sj,最后通過(guò)激活函數(shù)Squashing 得到最后的輸出vj,激活函數(shù)Squashing 在保留向量方向的同時(shí),將向量模的大小壓縮到[0,1]。vj的模長(zhǎng)就代表對(duì)應(yīng)類別的概率。
本文中的動(dòng)態(tài)路由機(jī)制的與文獻(xiàn)[11]中相似,但是為了使動(dòng)態(tài)過(guò)程更加接近入侵檢測(cè)的數(shù)據(jù),本文對(duì)壓縮函數(shù)Squashing 進(jìn)行了修改,如圖3 所示。使用x和y分別代表壓縮函數(shù)中的sj和vj,x和y都是標(biāo)量,在二維坐標(biāo)系下研究函數(shù)的性質(zhì)。從圖3中可以發(fā)現(xiàn),原始的壓縮函數(shù)在處理模長(zhǎng)較短的膠囊時(shí),會(huì)把數(shù)值壓縮到0 附近,這樣的全局壓縮會(huì)導(dǎo)致在迭代更新時(shí)丟失部分膠囊的重要信息,同時(shí)函數(shù)增長(zhǎng)速率過(guò)緩,對(duì)于模長(zhǎng)比較短和模長(zhǎng)比較長(zhǎng)的膠囊會(huì)有明顯的區(qū)分,但卻不能很好地區(qū)分中間長(zhǎng)度的膠囊,并且影響迭代速度。
圖3 原始Squashing 函數(shù)圖像
為了解決這個(gè)問(wèn)題,本文對(duì)原來(lái)的壓縮方法進(jìn)行了調(diào)整,改進(jìn)的壓縮方法如式(12)所示,函數(shù)圖像如圖4 所示。此壓縮函數(shù)的特點(diǎn)是在模長(zhǎng)接近0時(shí)起到了放大作用,不像原來(lái)函數(shù)一樣進(jìn)行全局壓縮,導(dǎo)致部分信息被忽略。
圖4 改進(jìn)的壓縮函數(shù)圖像
在輸出層部分,本文并沒(méi)有采用原始膠囊網(wǎng)絡(luò)中的重構(gòu)操作,因?yàn)樵谔卣魈崛∵^(guò)程中融合了全局特征,重構(gòu)后將會(huì)帶來(lái)一定的誤差,分類的預(yù)測(cè)結(jié)果依舊采用vj模長(zhǎng)的形式來(lái)表示,在損失函數(shù)部分,本文只使用了如式(13)所示的Margin Loss 函數(shù)。
當(dāng)預(yù)測(cè)的類c出現(xiàn)時(shí),Tc=1,并且m+=0.9,m?=0.1,λ=0.5,最后的損失是所有膠囊損失的總和。
公開(kāi)的網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù)并不多,本文采用的是NSL-KDD 入侵檢測(cè)數(shù)據(jù)集[14-15]和UNSW-NB15入侵檢測(cè)數(shù)據(jù)集[16]。
NSL-KDD 是對(duì)KDD CUP99 數(shù)據(jù)集的優(yōu)化。NSL-KDD 數(shù)據(jù)集解決了原數(shù)據(jù)集中的一些問(wèn)題,但是NSL-KDD 數(shù)據(jù)集仍然存在著另一些問(wèn)題,同時(shí),雖然該數(shù)據(jù)集也不是目前真實(shí)網(wǎng)絡(luò)環(huán)境下入侵?jǐn)?shù)據(jù)的代表,但它仍然可以作為有效的基準(zhǔn)數(shù)據(jù)集來(lái)檢測(cè)模型的能力。NSL-KDD 數(shù)據(jù)集包括4 個(gè)子數(shù)據(jù)集:KDDTrain+、KDDTrain+_20Precent、KDDTest+、KDDTest+21。本文使用KDDTrain+來(lái)進(jìn)行訓(xùn)練,KDDTest+來(lái)進(jìn)行測(cè)試,數(shù)據(jù)集中含有4 種異常類型,被細(xì)分為39 種攻擊類型,其中有17 種未知攻擊類型出現(xiàn)在測(cè)試集中。每一條記錄包括41 個(gè)特征和1 個(gè)類別標(biāo)識(shí)。其中41 個(gè)特征中是由TCP(transmission control protocol)連接基本特征(9 種)、TCP 連接內(nèi)容特征(13 種)、基于時(shí)間的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征(9 種)和基于主機(jī)的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征(10 種)組成。NSL-KDD 數(shù)據(jù)集標(biāo)簽數(shù)量如表1 所示。
表1 NSL-KDD 數(shù)據(jù)集標(biāo)簽數(shù)量
UNSW-NB15 數(shù)據(jù)集中包含6 個(gè)文件,其中UNSWNB15_1.csv、UNSW-NB15_2.csv、UNSW-NB1 5_3.csv 和UNSW-NB15_4.csv 包含了數(shù)據(jù)集中的所有記錄,每個(gè)文件中含有正常數(shù)據(jù)和攻擊數(shù)據(jù)。本文使用的是 UNSW_NB15_training-set.csv 和UNSW_NB15_testing-set.csv,它將數(shù)據(jù)集分為了測(cè)試集和訓(xùn)練集,共有9 種類型的攻擊:Namely、Fuzzers、Analysis、Backdoors、DoS、Exploits、Generic、Reconnaissance、Shellcode 和Worms。數(shù)據(jù)集中的每條數(shù)據(jù)包含49 個(gè)特征,其中包括Flow Features(1~5)、Base Features(6~18)、Content Features(19~26)、Time Features(27~35)。1~35 的特征是從數(shù)據(jù)包中搜集的綜合信息,大多數(shù)特征是從報(bào)頭中生成的。在此基礎(chǔ)上,數(shù)據(jù)又增加了General Purpose Features(36~40)和 Connection Features(41~49)。
訓(xùn)練集中一共有175 431 條記錄,測(cè)試集中一共有82 332 條記錄。UNSW-NB15 數(shù)據(jù)集中標(biāo)簽數(shù)據(jù)如表2 所示。
首先要進(jìn)行數(shù)據(jù)處理,數(shù)據(jù)處理包括字符類型數(shù)字化、數(shù)據(jù)歸一化2 個(gè)步驟。
步驟1字符類型數(shù)字化
以NSL-KDD 數(shù)據(jù)集為例:在數(shù)據(jù)集的特征中,有3 個(gè)特征和類別標(biāo)識(shí)是字符類型的。在字符類型數(shù)字化的過(guò)程中,一共采取了2 種處理方式,分別是one-hot 方式和標(biāo)簽編碼的方式。協(xié)議類型的值有3 種,分別是TCP、UDP(user datagram protocol)和ICMP(Internet control message protocol),目標(biāo)主機(jī)的網(wǎng)絡(luò)服務(wù)類型有70 種,連接正?;蛘咤e(cuò)誤的狀態(tài)有11 種。在one-hot 方式下,協(xié)議類型被處理為[1,0,0]、[0,1,0]、[0,0,1]的形式,其他特征處理過(guò)程類似,最終每條數(shù)據(jù)的長(zhǎng)度為121 維。在標(biāo)簽編碼方式下,協(xié)議類型分別被處理為0、1、2,其他特征處理過(guò)程類似,最終數(shù)據(jù)被處理成為每條長(zhǎng)度為41 維。
步驟2歸一化處理
進(jìn)行數(shù)值化之后,由于數(shù)值之間的量綱不同,會(huì)產(chǎn)生較大的差異。通過(guò)歸一化處理后,可以消除不同特征之間的差異,對(duì)于離散型特征,采用最大最小歸一化的方法,對(duì)于連續(xù)型特征,采用Z-Score 的方式,將數(shù)值固定在[0,1],如式(14)~式(15)所示。
表2 UNSW-NB15 數(shù)據(jù)集標(biāo)簽數(shù)量
其中,x是原始數(shù)據(jù),xmin是同一特征中的最小值,xmax是同一特征中的最大值,σ是特征中的標(biāo)準(zhǔn)差,μ是樣本中的均值,xnorm和x*是原始數(shù)據(jù)標(biāo)準(zhǔn)歸一化后的結(jié)果。
本文使用準(zhǔn)確率AC、精確率P、召回率R和F1-score(如式(16)~式(19)所示)作為實(shí)驗(yàn)效果優(yōu)劣的評(píng)價(jià)標(biāo)準(zhǔn)[17],其中TN 是數(shù)據(jù)為正常且預(yù)測(cè)也為正常的數(shù)量,TP 是數(shù)據(jù)為異常且預(yù)測(cè)也為異常的數(shù)量,F(xiàn)N 是數(shù)據(jù)為異常但預(yù)測(cè)為正常的數(shù)量,F(xiàn)P 是數(shù)據(jù)為正常但預(yù)測(cè)為異常的數(shù)量。
在實(shí)驗(yàn)中本文發(fā)現(xiàn)在對(duì)字符特征進(jìn)行處理的時(shí)候,采取one-hot 編碼和標(biāo)簽編碼對(duì)實(shí)驗(yàn)結(jié)果影響不大。因此,本文使用標(biāo)簽編碼的方式。同時(shí)在實(shí)驗(yàn)過(guò)程中為了避免出現(xiàn)過(guò)擬合的現(xiàn)象,進(jìn)行5 折交叉驗(yàn)證。將訓(xùn)練集等分為5 份,其中4 份用于訓(xùn)練,1 份用于驗(yàn)證,驗(yàn)證集的最終結(jié)果取平均值。數(shù)據(jù)集劃分結(jié)果如圖5 所示。
圖5 數(shù)據(jù)集劃分結(jié)果
1)在NSL-KDD 數(shù)據(jù)集上的實(shí)驗(yàn)
在處理數(shù)據(jù)的同時(shí)刪除數(shù)值全為 0 的num_outbound_cmds 特征項(xiàng),產(chǎn)生每條數(shù)據(jù)長(zhǎng)度為40 的特征數(shù)組,由于數(shù)據(jù)存在著嚴(yán)重的類別不平衡現(xiàn)象,對(duì)數(shù)據(jù)進(jìn)行類別不平衡處理,對(duì)新生成的數(shù)據(jù)集重新劃分,其中訓(xùn)練集和測(cè)試集中的數(shù)據(jù)沒(méi)有重疊。同時(shí)使用了非神經(jīng)網(wǎng)絡(luò)算法:KPCA(kernel principal components analysis)+SVM(support vector machine)、KPCA+KNN(k-nearest neighbor)、GBT(gradient boosting tree)及神經(jīng)網(wǎng)絡(luò)算法Vanilla Capsule、CNN、CNN+LSTM 來(lái)進(jìn)行對(duì)比,各個(gè)模型的評(píng)價(jià)指標(biāo)如表3 所示。
在驗(yàn)證集中,所有的模型都達(dá)到了不錯(cuò)的效果,本文模型甚至達(dá)到了99.80%的準(zhǔn)確率。但是在測(cè)試集中,能看出明顯的差距。在非神經(jīng)網(wǎng)絡(luò)算法中,效果最好的模型準(zhǔn)確率達(dá)到了99.29%,本文模型則達(dá)到了99.49%。在神經(jīng)網(wǎng)絡(luò)算法中,CNN 和CNN-LSTM 的混合模型在測(cè)試集中的準(zhǔn)確率有了明顯的下降,原始膠囊網(wǎng)絡(luò)的準(zhǔn)確率也下降了1.89%。測(cè)試集中存在訓(xùn)練集不曾出現(xiàn)過(guò)的攻擊特征,經(jīng)過(guò)處理后的訓(xùn)練集和測(cè)試集的數(shù)據(jù)分布仍存在一定的差異。這說(shuō)明 CNN 和CNN-LSTM 只能夠很好地?cái)M合訓(xùn)練集中的數(shù)據(jù),并沒(méi)有很好的泛化能力。而膠囊網(wǎng)絡(luò)具有不錯(cuò)的泛化能力,并且通過(guò)改進(jìn),本文模型在測(cè)試集上的準(zhǔn)確率比原始膠囊網(wǎng)絡(luò)高了2.20%,有了明顯的提升。
表3 NSL-KDD 中不同模型的評(píng)價(jià)指標(biāo)
本文研究了動(dòng)態(tài)路由機(jī)制中的迭代次數(shù)、特征融合率和準(zhǔn)確率之間的關(guān)系,從圖6 迭代次數(shù)與準(zhǔn)確率的關(guān)系中可以得知,一開(kāi)始準(zhǔn)確率與迭代次數(shù)呈增長(zhǎng)趨勢(shì),但當(dāng)?shù)^(guò)4 次后,模型在測(cè)試集的準(zhǔn)確率開(kāi)始下降,這說(shuō)明模型出現(xiàn)了過(guò)擬合。迭代次數(shù)的選擇,對(duì)于模型檢測(cè)的效果也至關(guān)重要,過(guò)多的迭代次數(shù)會(huì)導(dǎo)致模型效率下降并降低準(zhǔn)確率,迭代次數(shù)不夠會(huì)出現(xiàn)欠擬合。
圖7 是在迭代次數(shù)為4 時(shí)融合率和準(zhǔn)確率之間的關(guān)系。從圖7 中可以看出,隨著準(zhǔn)確率的提高,融合率在不斷縮小,由式(5)可以得出,模型的關(guān)注內(nèi)容不斷趨向于全局特征。
圖6 迭代次數(shù)與準(zhǔn)確率的關(guān)系
圖7 融合率與準(zhǔn)確率的關(guān)系
為了進(jìn)一步驗(yàn)證動(dòng)態(tài)融合機(jī)制的有效性,本文與直接將局部特征和全局特征拼接的模型Random+Capsule 進(jìn)行了對(duì)比,2 個(gè)模型在測(cè)試集上的正確率如表4 所示。從表4 中可以看出,動(dòng)態(tài)融合機(jī)制的模型在測(cè)試集中有著更高的準(zhǔn)確率。
表4 模型對(duì)比的準(zhǔn)確率
本文還與傳統(tǒng)的Transformer 中的自注意力機(jī)制結(jié)合的膠囊網(wǎng)絡(luò)進(jìn)行比較,通過(guò)對(duì)比可以發(fā)現(xiàn),使用自注意力機(jī)制的模型過(guò)度關(guān)注了訓(xùn)練集的數(shù)據(jù)內(nèi)容,導(dǎo)致泛化能力明顯減弱。
表5 本文模型與膠囊網(wǎng)絡(luò)的對(duì)比
為了驗(yàn)證對(duì)壓縮函數(shù)猜想,本文對(duì)比了原壓縮函數(shù)和本文改進(jìn)的壓縮函數(shù),其準(zhǔn)確率和迭代次數(shù)關(guān)系如圖8 所示。
圖8 2 種函數(shù)迭代次數(shù)與準(zhǔn)確率
由圖8 可知,本文改進(jìn)的壓縮函數(shù)具有更高的準(zhǔn)確率和更快的收斂速度。
2) 在UNSW-NB15 數(shù)據(jù)集上的實(shí)驗(yàn)
數(shù)據(jù)處理的過(guò)程與NLS-KDD 數(shù)據(jù)集類似,各模型的評(píng)價(jià)指標(biāo)如表6 所示。
UNSW-NB15 數(shù)據(jù)集彌補(bǔ)了NSL-KDD 數(shù)據(jù)集中的不足。從結(jié)果中可知,與NLS-KDD 數(shù)據(jù)集中的結(jié)果相比較,非神經(jīng)網(wǎng)絡(luò)算法的準(zhǔn)確率有所下降,效果最好的模型達(dá)到了97.99%的準(zhǔn)確率;神經(jīng)網(wǎng)絡(luò)算法中,CNN 和CNN+LSTM 的準(zhǔn)確率仍然有所不足。本文模型在測(cè)試集中的準(zhǔn)確率,比原始的膠囊網(wǎng)絡(luò)高了1.13%,仍保持了較高的泛化能力。
表6 UNSW-NB15 中不同模型的評(píng)價(jià)指標(biāo)
本文分析了融合率在UNSW-NB15 數(shù)據(jù)集中的變化,結(jié)果如圖9 所示。
圖9 UNSW-NB15 中融合率與準(zhǔn)確率的關(guān)系
從圖9 中可以看到,在UNSW-NB15 數(shù)據(jù)集中融合率有了輕微的上升,說(shuō)明模型提高了關(guān)注局部特征的比重。
本文提出了可變?nèi)诤系碾S機(jī)注意力膠囊網(wǎng)絡(luò),對(duì)NSL-KDD 和UNSW-NB15 數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試。使用隨機(jī)注意力機(jī)制,獲得了全局特征,減少了模型的訓(xùn)練時(shí)間,通過(guò)動(dòng)態(tài)融合機(jī)制,將全局特征與局部特征按合適的比例進(jìn)行融合,能夠更好地把握全局與局部的關(guān)系,最后通過(guò)膠囊網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)。結(jié)果表明,本文模型的泛化能力明顯增強(qiáng),提高了入侵檢測(cè)的正確率,但與非神經(jīng)網(wǎng)絡(luò)算法相比,在運(yùn)行時(shí)間上有待提高。膠囊網(wǎng)絡(luò)的動(dòng)態(tài)路由機(jī)制仍是一個(gè)研究熱點(diǎn),今后可以通過(guò)對(duì)路由機(jī)制的改進(jìn),在進(jìn)一步增強(qiáng)模型對(duì)入侵檢測(cè)數(shù)據(jù)的泛化能力同時(shí)減少運(yùn)行時(shí)間以提高效率。