?

可變融合的隨機注意力膠囊網絡入侵檢測模型

2020-12-10 11:31
通信學報 2020年11期
關鍵詞:膠囊準確率注意力

(北京工業大學信息學部,北京 100022)

1 引言

隨著網絡技術的不斷發展,互聯網成了人們日常生活中的重要工具,社會的發展也越來越離不開網絡。但是,隨著人們在網絡上的互動增多,網絡安全問題層出不窮,網絡數據流量與日俱增,使入侵行為特征更加多樣化[1],網絡安全已成為影響網絡發展的重要因素。入侵檢測技術是網絡空間安全中最重要的防御手段之一。入侵檢測的本質是一種數據的分類任務,對于分類任務來說,在神經網絡算法中,已經有了非常明顯的效果[2]。文獻[3-6]提出了基于純深度神經網絡的模型,通過線性層來提取特征,取得了不錯的效果,但沒有考慮模型的泛化能力。文獻[7]提出了使用卷積神經網絡(CNN,convolutional neural network)的方式來進行特征提取,將數據處理成one-hot 的形式,通過數組重組形成CNN 可以處理的數據結構,最后通過Softmax函數來進行數據的分類操作。文獻[8]通過使用一維的卷積神經網絡配合數據歸一化的方式,解決了數據不平衡的問題,并取得了不錯的效果。文獻[9]提出了循環神經網絡(RNN,recurrent neural network)的方式來進行特征提取,也取得了不錯的效果。雖然CNN 可以通過簡單的方式來計算大量的數據,并且有著很強的特征提取能力,但是在池化操作時,會舍棄一些信息,在圖像處理方面,可能不會產生重要的影響,但是對于入侵數據而言,這些信息可能是至關重要的[10]。RNN 主要是處理具有時序關系的序列,然而入侵檢測數據的特征之間并沒有特定的先后順序,使用RNN 進行特征提取時會融入不必要的信息。

為了解決當前神經網絡模型中存在的一些缺陷,本文研究了2 種新的機制,即特征動態融合機制和隨機注意力機制,并在膠囊網絡的基礎上,提出了可變融合的隨機注意力膠囊網絡入侵檢測模型。在全局特征提取過程中,入侵檢測模型使用注意力機制來提取,但是傳統的注意力機制會依賴訓練數據本身,導致模型的泛化能力降低?;诖?,本文提出了隨機注意力機制來減少模型對訓練數據的依賴。另外,膠囊網絡中的特征提取是通過卷積實現的,為了補充在卷積操作中可能丟失的信息,通過可變的特征融合機制,建立了多特征提取通道,將通過隨機注意力機制提取到的特征與膠囊網絡卷積層提取到的特征進行動態融合,補充了卷積操作中丟失的信息,并且在最后優化了膠囊網絡中的壓縮函數,使其能夠更好地捕捉全局特征和局部特征的關系,減少噪聲的干擾,具有比原來的膠囊網絡更強的特征提取能力和檢測能力,并具有同時針對入侵檢測數據的特點,可以更好地檢測出數據細節的變化。

最后,本文將模型用在 NSL-KDD 和UNSW-NB15 入侵檢測數據的分類上,并與非神經網絡模型和傳統神經網絡模型進行對比。實驗結果表明,本文的模型在泛化能力方面高于其他模型,在UNSW-NB15 測試集上的準確率達到了98.60%;在NSL-KDD 訓練集的準確率可達99.49%,效率方面也有了提升。

2 相關理論

2.1 膠囊網絡

2017 年Hinton[11]首次提出了膠囊網絡模型,并且該模型被認為可能成為下一代重要的神經網絡模型。膠囊網絡是由膠囊組成的。膠囊是一組神經元的集合,與傳統的神經網絡不同,在膠囊中,神經元的集合是向量或者矩陣。每個神經元表示了圖像中出現的特定實體的各種屬性,比如圖片中物體的方向、所在的位置以及形態顏色,通過使用膠囊向量的模長來表示實體所存在的可能性大小。膠囊網絡是低級膠囊通過動態路由機制來向高級膠囊傳遞信息的[11-12],因此與傳統的神經網絡相比,膠囊是具有更強的特征提取能力的網絡,特別是對細節的提取。到目前為止,還沒有人使用膠囊網絡來處理入侵檢測數據類型的結構化數據。將入侵檢測與膠囊網絡結合,也是一個新的研究點。

2.2 注意力機制

注意力機制被廣泛運用在深度學習中的各種任務中,其目標是從雜亂的信息中選取對當前任務有關的信息,減少噪聲對結果的影響。在傳統的注意力機制中,基本上都是通過單詞之間的交互來確定最終的注意力分數,比如在自注意力機制中,序列中的每個單詞參與注意力的運算,能夠對較遠距離的依賴關系進行建模。自注意力機制提供了強大的建模能力,但是需要進行所有單詞之間的兩兩交互。雖然可以獲得更多的交互信息,但所得結果會非常依賴所給訓練集的內容,使模型缺少了泛化的能力。文獻[13]提出了合成注意力機制,減少了對訓練數據的依賴和模型的訓練時間,并取得了與自注意力機制相差不多的效果,在特定任務中甚至要優于自注意力機制。

3 模型分析

可變融合的隨機注意力膠囊網絡的框架結構如圖1 所示。模型首先將數據處理成矩陣的形式,然后進行特征提取,將得到的特征矩陣進行融合,融合后的特征矩陣被包裹成膠囊的形式送到初級膠囊層中,通過動態路由機制后輸出結果,送到輸出層中。本文的目的是對流量數據進行分類。

3.1 隨機注意力的特征提取

注意力機制對減少數據噪聲有著十分重要的作用,但是自注意力在某些時候并不能取得理想的效果,反而會增加運算成本,降低效率。并且,自注意力機制會過多地依賴訓練集本身,導致模型的泛化能力下降。為此,本文提出了一種全新的注意力模型,此模型不依賴序列中的特征,而是利用隨機注意力的方式,通過模型的最終目的來自動地進行調整,減少了模型對訓練集的過度依賴,并且隨機注意力矩陣會根據預測值與真實值的誤差,通過反向傳播進行調整,以達到最好的分類效果。隨機注意力省去了特征之間的交互,對于包含多個特征的序列來講,極大地縮減了模型的運算時間。

圖1 模型框架

通過隨機注意力機制,獲得數據的注意力矩陣AAttention。初始矩陣是使用2 個隨機初始化矩陣的乘積來生成隨機矩陣R,如圖2 所示。

圖2 隨機注意力機制

通過接收輸入X∈Rl×d并輸出特征矩陣A∈Rn×n。其中,l是序列的長度,d是特征的維度,n是模型的維度。首先通過參數化矩陣W將輸入從d維映射到n維的B。隨機初始化2 個可學習的矩陣R1,R2∈Rn×n,并相乘,得到矩陣R,矩陣R用于注意力分數的計算。對于,經過Softmax 函數后得到分數矩陣,并與B相乘,得到最后的特征矩陣AAttention∈Rn×n。具體如式(1)~式(4)所示。

將獲得的AAttention復制M次,形成M個n×n的矩陣AAttention,并與膠囊網絡提取到的局部特征進行融合。在膠囊網絡中,原始數據通過卷積層進行卷積操作,產生M個n×n的矩陣。

3.2 可變融合

一些特征融合過程會直接將全局特征和局部特征相結合,但是這種操作在某些情況下會降低模型的準確率。在入侵檢測的任務下,因為某些攻擊類型是由某幾個特定的特征來決定的,這時如果盲目地增加全局特征的信息,會產生許多噪聲,使模型對此類攻擊檢測的準確率下降。同樣,有些攻擊是被所有特征控制的,這時局部特征就不能很好地給模型充分的信息,使模型檢測出這一類的攻擊。所以,尋找局部特征和全局特征融合的界限,對模型的檢測準確率有著重要的影響?;诖?,本文提出了可變融合機制。

通過特征提取得到了2 個特征矩陣,為了使模型能夠根據任務的目的來動態地融合全局特征和局部特征,本文提出了可變融合機制的方式,通過設定一個可學習的參數,將2 個部分的特征矩陣按可變的比例進行融合得到最終的特征矩陣H∈Rn×n。

其中,⊕是元素連接符,即兩組特征矩陣進行堆疊,對應位置的元素對齊,最終形成2×M個n×n的特征矩陣H;α是一個可學習的參數,數值被初始化為0.5;f(x)是一個范圍函數,保證每次α更新后的值始終在[0,1],如式(6)所示。

3.3 動態路由機制及輸出層

特征矩陣被傳到初級膠囊層中。下層膠囊需要將該層膠囊存儲的計算結果傳遞給上層膠囊,其中傳遞過程是通過動態路由機制來實現的。文獻[7]中的動態路由機制如式(7)~式(11)所示。

一個膠囊的輸出向量的長度表示實體出現的概率,因此需要一個非線性函數Squashing 確保輸出在[0,1],vj是膠囊j的輸出,sj是膠囊j的總輸入。輸入向量u與權重矩陣W相乘,通過這一步實現了低級特征與高級特征之間關系的編碼。然后通過動態路由機制,來動態更新L層膠囊i到L+1 層膠囊j的概率。bij的初始值為0,cij為耦合系數,是低級膠囊到高級膠囊的權重、兩層膠囊之間的相關性,值越大表示相關性越強。根據動態路由機制更新bij,以達到更新cij的目的。迭代完成后,上層膠囊中的所有向量u乘以對應的權重cij得到sj,最后通過激活函數Squashing 得到最后的輸出vj,激活函數Squashing 在保留向量方向的同時,將向量模的大小壓縮到[0,1]。vj的模長就代表對應類別的概率。

本文中的動態路由機制的與文獻[11]中相似,但是為了使動態過程更加接近入侵檢測的數據,本文對壓縮函數Squashing 進行了修改,如圖3 所示。使用x和y分別代表壓縮函數中的sj和vj,x和y都是標量,在二維坐標系下研究函數的性質。從圖3中可以發現,原始的壓縮函數在處理模長較短的膠囊時,會把數值壓縮到0 附近,這樣的全局壓縮會導致在迭代更新時丟失部分膠囊的重要信息,同時函數增長速率過緩,對于模長比較短和模長比較長的膠囊會有明顯的區分,但卻不能很好地區分中間長度的膠囊,并且影響迭代速度。

圖3 原始Squashing 函數圖像

為了解決這個問題,本文對原來的壓縮方法進行了調整,改進的壓縮方法如式(12)所示,函數圖像如圖4 所示。此壓縮函數的特點是在模長接近0時起到了放大作用,不像原來函數一樣進行全局壓縮,導致部分信息被忽略。

圖4 改進的壓縮函數圖像

在輸出層部分,本文并沒有采用原始膠囊網絡中的重構操作,因為在特征提取過程中融合了全局特征,重構后將會帶來一定的誤差,分類的預測結果依舊采用vj模長的形式來表示,在損失函數部分,本文只使用了如式(13)所示的Margin Loss 函數。

當預測的類c出現時,Tc=1,并且m+=0.9,m?=0.1,λ=0.5,最后的損失是所有膠囊損失的總和。

4 實驗及分析

4.1 數據集與數據處理

公開的網絡入侵檢測數據并不多,本文采用的是NSL-KDD 入侵檢測數據集[14-15]和UNSW-NB15入侵檢測數據集[16]。

NSL-KDD 是對KDD CUP99 數據集的優化。NSL-KDD 數據集解決了原數據集中的一些問題,但是NSL-KDD 數據集仍然存在著另一些問題,同時,雖然該數據集也不是目前真實網絡環境下入侵數據的代表,但它仍然可以作為有效的基準數據集來檢測模型的能力。NSL-KDD 數據集包括4 個子數據集:KDDTrain+、KDDTrain+_20Precent、KDDTest+、KDDTest+21。本文使用KDDTrain+來進行訓練,KDDTest+來進行測試,數據集中含有4 種異常類型,被細分為39 種攻擊類型,其中有17 種未知攻擊類型出現在測試集中。每一條記錄包括41 個特征和1 個類別標識。其中41 個特征中是由TCP(transmission control protocol)連接基本特征(9 種)、TCP 連接內容特征(13 種)、基于時間的網絡流量統計特征(9 種)和基于主機的網絡流量統計特征(10 種)組成。NSL-KDD 數據集標簽數量如表1 所示。

表1 NSL-KDD 數據集標簽數量

UNSW-NB15 數據集中包含6 個文件,其中UNSWNB15_1.csv、UNSW-NB15_2.csv、UNSW-NB1 5_3.csv 和UNSW-NB15_4.csv 包含了數據集中的所有記錄,每個文件中含有正常數據和攻擊數據。本文使用的是 UNSW_NB15_training-set.csv 和UNSW_NB15_testing-set.csv,它將數據集分為了測試集和訓練集,共有9 種類型的攻擊:Namely、Fuzzers、Analysis、Backdoors、DoS、Exploits、Generic、Reconnaissance、Shellcode 和Worms。數據集中的每條數據包含49 個特征,其中包括Flow Features(1~5)、Base Features(6~18)、Content Features(19~26)、Time Features(27~35)。1~35 的特征是從數據包中搜集的綜合信息,大多數特征是從報頭中生成的。在此基礎上,數據又增加了General Purpose Features(36~40)和 Connection Features(41~49)。

訓練集中一共有175 431 條記錄,測試集中一共有82 332 條記錄。UNSW-NB15 數據集中標簽數據如表2 所示。

首先要進行數據處理,數據處理包括字符類型數字化、數據歸一化2 個步驟。

步驟1字符類型數字化

以NSL-KDD 數據集為例:在數據集的特征中,有3 個特征和類別標識是字符類型的。在字符類型數字化的過程中,一共采取了2 種處理方式,分別是one-hot 方式和標簽編碼的方式。協議類型的值有3 種,分別是TCP、UDP(user datagram protocol)和ICMP(Internet control message protocol),目標主機的網絡服務類型有70 種,連接正?;蛘咤e誤的狀態有11 種。在one-hot 方式下,協議類型被處理為[1,0,0]、[0,1,0]、[0,0,1]的形式,其他特征處理過程類似,最終每條數據的長度為121 維。在標簽編碼方式下,協議類型分別被處理為0、1、2,其他特征處理過程類似,最終數據被處理成為每條長度為41 維。

步驟2歸一化處理

進行數值化之后,由于數值之間的量綱不同,會產生較大的差異。通過歸一化處理后,可以消除不同特征之間的差異,對于離散型特征,采用最大最小歸一化的方法,對于連續型特征,采用Z-Score 的方式,將數值固定在[0,1],如式(14)~式(15)所示。

表2 UNSW-NB15 數據集標簽數量

其中,x是原始數據,xmin是同一特征中的最小值,xmax是同一特征中的最大值,σ是特征中的標準差,μ是樣本中的均值,xnorm和x*是原始數據標準歸一化后的結果。

4.2 實驗結果及分析

本文使用準確率AC、精確率P、召回率R和F1-score(如式(16)~式(19)所示)作為實驗效果優劣的評價標準[17],其中TN 是數據為正常且預測也為正常的數量,TP 是數據為異常且預測也為異常的數量,FN 是數據為異常但預測為正常的數量,FP 是數據為正常但預測為異常的數量。

在實驗中本文發現在對字符特征進行處理的時候,采取one-hot 編碼和標簽編碼對實驗結果影響不大。因此,本文使用標簽編碼的方式。同時在實驗過程中為了避免出現過擬合的現象,進行5 折交叉驗證。將訓練集等分為5 份,其中4 份用于訓練,1 份用于驗證,驗證集的最終結果取平均值。數據集劃分結果如圖5 所示。

圖5 數據集劃分結果

1)在NSL-KDD 數據集上的實驗

在處理數據的同時刪除數值全為 0 的num_outbound_cmds 特征項,產生每條數據長度為40 的特征數組,由于數據存在著嚴重的類別不平衡現象,對數據進行類別不平衡處理,對新生成的數據集重新劃分,其中訓練集和測試集中的數據沒有重疊。同時使用了非神經網絡算法:KPCA(kernel principal components analysis)+SVM(support vector machine)、KPCA+KNN(k-nearest neighbor)、GBT(gradient boosting tree)及神經網絡算法Vanilla Capsule、CNN、CNN+LSTM 來進行對比,各個模型的評價指標如表3 所示。

在驗證集中,所有的模型都達到了不錯的效果,本文模型甚至達到了99.80%的準確率。但是在測試集中,能看出明顯的差距。在非神經網絡算法中,效果最好的模型準確率達到了99.29%,本文模型則達到了99.49%。在神經網絡算法中,CNN 和CNN-LSTM 的混合模型在測試集中的準確率有了明顯的下降,原始膠囊網絡的準確率也下降了1.89%。測試集中存在訓練集不曾出現過的攻擊特征,經過處理后的訓練集和測試集的數據分布仍存在一定的差異。這說明 CNN 和CNN-LSTM 只能夠很好地擬合訓練集中的數據,并沒有很好的泛化能力。而膠囊網絡具有不錯的泛化能力,并且通過改進,本文模型在測試集上的準確率比原始膠囊網絡高了2.20%,有了明顯的提升。

表3 NSL-KDD 中不同模型的評價指標

本文研究了動態路由機制中的迭代次數、特征融合率和準確率之間的關系,從圖6 迭代次數與準確率的關系中可以得知,一開始準確率與迭代次數呈增長趨勢,但當迭代超過4 次后,模型在測試集的準確率開始下降,這說明模型出現了過擬合。迭代次數的選擇,對于模型檢測的效果也至關重要,過多的迭代次數會導致模型效率下降并降低準確率,迭代次數不夠會出現欠擬合。

圖7 是在迭代次數為4 時融合率和準確率之間的關系。從圖7 中可以看出,隨著準確率的提高,融合率在不斷縮小,由式(5)可以得出,模型的關注內容不斷趨向于全局特征。

圖6 迭代次數與準確率的關系

圖7 融合率與準確率的關系

為了進一步驗證動態融合機制的有效性,本文與直接將局部特征和全局特征拼接的模型Random+Capsule 進行了對比,2 個模型在測試集上的正確率如表4 所示。從表4 中可以看出,動態融合機制的模型在測試集中有著更高的準確率。

表4 模型對比的準確率

本文還與傳統的Transformer 中的自注意力機制結合的膠囊網絡進行比較,通過對比可以發現,使用自注意力機制的模型過度關注了訓練集的數據內容,導致泛化能力明顯減弱。

表5 本文模型與膠囊網絡的對比

為了驗證對壓縮函數猜想,本文對比了原壓縮函數和本文改進的壓縮函數,其準確率和迭代次數關系如圖8 所示。

圖8 2 種函數迭代次數與準確率

由圖8 可知,本文改進的壓縮函數具有更高的準確率和更快的收斂速度。

2) 在UNSW-NB15 數據集上的實驗

數據處理的過程與NLS-KDD 數據集類似,各模型的評價指標如表6 所示。

UNSW-NB15 數據集彌補了NSL-KDD 數據集中的不足。從結果中可知,與NLS-KDD 數據集中的結果相比較,非神經網絡算法的準確率有所下降,效果最好的模型達到了97.99%的準確率;神經網絡算法中,CNN 和CNN+LSTM 的準確率仍然有所不足。本文模型在測試集中的準確率,比原始的膠囊網絡高了1.13%,仍保持了較高的泛化能力。

表6 UNSW-NB15 中不同模型的評價指標

本文分析了融合率在UNSW-NB15 數據集中的變化,結果如圖9 所示。

圖9 UNSW-NB15 中融合率與準確率的關系

從圖9 中可以看到,在UNSW-NB15 數據集中融合率有了輕微的上升,說明模型提高了關注局部特征的比重。

5 結束語

本文提出了可變融合的隨機注意力膠囊網絡,對NSL-KDD 和UNSW-NB15 數據集進行訓練和測試。使用隨機注意力機制,獲得了全局特征,減少了模型的訓練時間,通過動態融合機制,將全局特征與局部特征按合適的比例進行融合,能夠更好地把握全局與局部的關系,最后通過膠囊網絡進行預測。結果表明,本文模型的泛化能力明顯增強,提高了入侵檢測的正確率,但與非神經網絡算法相比,在運行時間上有待提高。膠囊網絡的動態路由機制仍是一個研究熱點,今后可以通過對路由機制的改進,在進一步增強模型對入侵檢測數據的泛化能力同時減少運行時間以提高效率。

猜你喜歡
膠囊準確率注意力
讓注意力“飛”回來
時光膠囊
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
時光膠囊
如何培養一年級學生的注意力
A Beautiful Way Of Looking At Things
聚焦“毒膠囊”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合