王振東 徐振宇 李大海 王俊嶺
網(wǎng)絡(luò)技術(shù)高速發(fā)展的同時(shí),計(jì)算機(jī)病毒、網(wǎng)絡(luò)入侵紛至沓來(lái),給網(wǎng)絡(luò)安全帶來(lái)極大挑戰(zhàn)[1].對(duì)此,國(guó)內(nèi)外相關(guān)學(xué)者對(duì)入侵檢測(cè)技術(shù)進(jìn)行了深入研究,提出了機(jī)器學(xué)習(xí)、數(shù)理統(tǒng)計(jì)、神經(jīng)網(wǎng)絡(luò)等[2-5]多種檢測(cè)算法.然而,傳統(tǒng)機(jī)器學(xué)習(xí)方法普遍強(qiáng)調(diào)對(duì)特征的選擇和參數(shù)訓(xùn)練,且運(yùn)行時(shí)間成本較高;而數(shù)據(jù)挖掘算法對(duì)噪聲較為敏感,面對(duì)噪聲數(shù)據(jù)較多的數(shù)據(jù)集時(shí)易出現(xiàn)過(guò)擬合現(xiàn)象[6];深度學(xué)習(xí)方法擅長(zhǎng)從海量、高維數(shù)據(jù)中提取特征信息,降低噪聲對(duì)算法性能的影響,深度學(xué)習(xí)技術(shù)已在圖像識(shí)別、圖像分割、文本分析等領(lǐng)域得到了廣泛的應(yīng)用[7-9].通過(guò)設(shè)計(jì)合理的網(wǎng)絡(luò)結(jié)構(gòu),深度神經(jīng)網(wǎng)絡(luò)可有效控制神經(jīng)網(wǎng)絡(luò)的參數(shù)量,確保網(wǎng)絡(luò)性能的同時(shí),降低神經(jīng)網(wǎng)絡(luò)的運(yùn)行成本[10].
目前,多位學(xué)者使用深度神經(jīng)網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)、長(zhǎng)短期記憶網(wǎng)絡(luò)(Long short-term memory,LSTM)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural network,RNN)設(shè)計(jì)了一系列入侵檢測(cè)算法.CNN 方法將一維入侵?jǐn)?shù)據(jù)轉(zhuǎn)換為二維 “圖像數(shù)據(jù)”,再利用CNN 對(duì)入侵?jǐn)?shù)據(jù)進(jìn)行處理.該方法考慮了卷積神經(jīng)網(wǎng)絡(luò)中卷積核內(nèi)各特征間的相互作用[11],特征數(shù)據(jù)不再孤立.如文獻(xiàn)[12]借鑒了Google 團(tuán)隊(duì)提出的Inception結(jié)構(gòu),設(shè)計(jì)了一種具有多種不同尺寸卷積核的卷積神經(jīng)網(wǎng)絡(luò);文獻(xiàn)[13]基于LeNet-5 設(shè)計(jì)了一種具有不同尺寸卷積核的深度卷積神經(jīng)網(wǎng)絡(luò).上述兩種基于CNN 的入侵檢測(cè)算法均可通過(guò)不同尺寸卷積核提取特征間的相互關(guān)系,但存在如下缺點(diǎn): 1) CNN僅能處理歐氏空間數(shù)據(jù),難以挖掘任意兩個(gè)特征數(shù)據(jù)間的復(fù)雜圖結(jié)構(gòu)關(guān)系;2)大多數(shù)經(jīng)典CNN 模型(如VGG[14]、GoogLeNet[15]、ResNet[16]等)結(jié)構(gòu)復(fù)雜、參數(shù)量大、運(yùn)行時(shí)間成本高,將經(jīng)典CNN 模型引入入侵檢測(cè)領(lǐng)域需要著重考慮運(yùn)行成本.RNN 與基于RNN 改進(jìn)的LSTM 神經(jīng)網(wǎng)絡(luò)算法將各樣本特征數(shù)據(jù)視為序列數(shù)據(jù),并按照序列順序輸入LSTM與RNN.LSTM 與RNN 方法同樣能夠挖掘特征數(shù)據(jù)間的依賴關(guān)系,文獻(xiàn)[17-19]均利用LSTM/RNN挖掘出網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)特征值之間的相互關(guān)系,均在入侵檢測(cè)領(lǐng)域取得不錯(cuò)效果,由于按照入侵檢測(cè)數(shù)據(jù)集中特征數(shù)據(jù)排列順序進(jìn)行輸入,因此難以準(zhǔn)確建立樣本特征數(shù)據(jù)間的聯(lián)系,且此類算法同樣只能處理歐氏空間數(shù)據(jù),同樣難以挖掘任意兩個(gè)特征數(shù)據(jù)間的復(fù)雜圖結(jié)構(gòu)關(guān)系.
事實(shí)上,入侵檢測(cè)數(shù)據(jù)集的各條樣本均存在多個(gè)特征數(shù)據(jù),而不同特征數(shù)據(jù)間可能存在強(qiáng)弱關(guān)聯(lián),該關(guān)聯(lián)無(wú)法在歐氏空間進(jìn)行精準(zhǔn)的數(shù)學(xué)描述.以NSL_KDD 數(shù)據(jù)集為例,該數(shù)據(jù)集樣本中存在連接持續(xù)時(shí)間、協(xié)議類型、目標(biāo)主機(jī)的網(wǎng)絡(luò)服務(wù)類型、連接正常或錯(cuò)誤的狀態(tài)、數(shù)據(jù)的字節(jié)數(shù)、訪問(wèn)系統(tǒng)敏感文件和目錄的次數(shù)、登錄嘗試失敗的次數(shù)等41個(gè)特征數(shù)據(jù).其中,連接持續(xù)時(shí)間與數(shù)據(jù)的字節(jié)數(shù)存在強(qiáng)關(guān)聯(lián)關(guān)系,而協(xié)議類型與目標(biāo)主機(jī)的網(wǎng)絡(luò)服務(wù)類型存在弱關(guān)聯(lián)關(guān)系.數(shù)據(jù)特征間的強(qiáng)弱關(guān)聯(lián)構(gòu)成非歐氏空間的圖結(jié)構(gòu)關(guān)系,對(duì)該圖結(jié)構(gòu)的深入挖掘并將挖掘結(jié)果用于輔助神經(jīng)網(wǎng)絡(luò)的分類決策,可有效提高神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)性能.目前,處理非歐氏空間數(shù)據(jù)的深度學(xué)習(xí)典型方法為圖神經(jīng)網(wǎng)絡(luò)(Graph neural network,GNN)[20-23],但GNN 只能處理樣本間的已知圖結(jié)構(gòu)關(guān)系[20-23],而對(duì)樣本內(nèi)部特征的圖結(jié)構(gòu)關(guān)系未知的場(chǎng)景無(wú)能為力.
對(duì)此,本文設(shè)計(jì)了一種能夠挖掘、處理樣本數(shù)據(jù)間未知關(guān)聯(lián)關(guān)系的新型神經(jīng)網(wǎng)絡(luò) — 元圖神經(jīng)網(wǎng)絡(luò)(Meta graph neural network,MGNN),并將其應(yīng)用于網(wǎng)絡(luò)入侵檢測(cè).MGNN 重新定義了網(wǎng)絡(luò)內(nèi)部的運(yùn)算方式,在樣本的特征數(shù)據(jù)間圖結(jié)構(gòu)關(guān)系未知的前提下,建立單條樣本特征數(shù)據(jù)內(nèi)部的圖結(jié)構(gòu)關(guān)系,并實(shí)現(xiàn)對(duì)該圖結(jié)構(gòu)關(guān)系的深入挖掘.在挖掘過(guò)程中,利用梯度下降算法對(duì)圖結(jié)構(gòu)進(jìn)行優(yōu)化,并根據(jù)祖孫節(jié)點(diǎn)間的圖信息傳播(Multi-generation graph information propagate between nodes,MPS)過(guò)程對(duì)圖結(jié)構(gòu)關(guān)系進(jìn)行處理.針對(duì)MPS 過(guò)程可能出現(xiàn)的信息湮滅現(xiàn)象,提出一種反信息湮滅策略.為了更加精確地刻畫(huà)特征數(shù)據(jù)間的強(qiáng)弱關(guān)聯(lián),設(shè)計(jì)了注意力損失函數(shù),并通過(guò)影響圖結(jié)構(gòu)鄰接矩陣實(shí)現(xiàn)對(duì)圖結(jié)構(gòu)關(guān)聯(lián)關(guān)系的加強(qiáng)或削弱.
為了深入闡述MGNN 的運(yùn)行原理,本文在第1 節(jié)介紹了MGNN 對(duì)特征數(shù)據(jù)未知圖結(jié)構(gòu)關(guān)系的處理方式,并解釋了未知圖結(jié)構(gòu)關(guān)系如何影響樣本初代特征數(shù)據(jù);第2 節(jié)對(duì)基于MGNN 搭建的神經(jīng)網(wǎng)絡(luò)的消息前向傳播過(guò)程和梯度信息反向傳播過(guò)程進(jìn)行了詳細(xì)分析;第3 節(jié)指出了MGNN 對(duì)樣本特征數(shù)據(jù)的圖結(jié)構(gòu)關(guān)系處理中存在的不足,并使用注意力函數(shù)機(jī)制與反信息湮滅策略進(jìn)行改進(jìn);第4 節(jié)設(shè)計(jì)了多種基于MGNN 搭建的神經(jīng)網(wǎng)絡(luò),并利用上述網(wǎng)絡(luò)對(duì)UNSW_NB15、NSL_KDD、CICDoS 2019 三種入侵檢測(cè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)測(cè)試,驗(yàn)證MGNN在入侵檢測(cè)領(lǐng)域的優(yōu)越性能.最后,對(duì)全文進(jìn)行了總結(jié),并對(duì)MGNN 的下一步研究進(jìn)行了展望.
MGNN 的處理流程如圖1 所示.圖1 中,MGNL(Meta graph network layer)為元圖網(wǎng)絡(luò)層(詳見(jiàn)第1.1 節(jié)和第1.2 節(jié)),NN (Neural network)為經(jīng)典神經(jīng)網(wǎng)絡(luò),例如深度神經(jīng)網(wǎng)絡(luò)(Deep neural network,DNN)、CNN、RNN、LSTM,本文采用DNN.圖1 中MPS 過(guò)程在元圖網(wǎng)絡(luò)層MGNL 中完成,本文在第1.2.3 節(jié)中將有詳細(xì)介紹.由圖1 可知,樣本數(shù)據(jù)進(jìn)入MGNN 后樣本的特征值首先被元圖網(wǎng)絡(luò)層(MGNL)隨機(jī)組織為一個(gè)圖結(jié)構(gòu)(詳見(jiàn)第1.1 節(jié)和第1.2 節(jié)),然后利用該圖結(jié)構(gòu)進(jìn)行MPS 過(guò)程,獲得聚合了子孫節(jié)點(diǎn)信息的特征數(shù)據(jù),再將聚合了子孫節(jié)點(diǎn)信息后的特征數(shù)據(jù)傳入下層神經(jīng)網(wǎng)絡(luò)進(jìn)行更深層次的特征提取,通過(guò)多次MGNL 對(duì)特征數(shù)據(jù)內(nèi)部圖結(jié)構(gòu)挖掘、整合,獲得考慮了特征數(shù)據(jù)之間相互關(guān)聯(lián)關(guān)系的特征值,最后利用這些特征值對(duì)網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)進(jìn)行分類.
圖1 MGNN 結(jié)構(gòu)與處理流程Fig.1 Structure and processing flow of MGNN
圖2 MGNL 中單代父子結(jié)點(diǎn)間信息傳遞結(jié)構(gòu)Fig.2 Information transfer process of parent-child node between single generation in MGNL
傳統(tǒng)全連接神經(jīng)網(wǎng)絡(luò)的核心為線性層,其運(yùn)行過(guò)程為
其中,X表示輸入,W表示權(quán)值,B表示偏置,f(·)為激活函數(shù).由式(1)可知在線性層中,神經(jīng)網(wǎng)絡(luò)將樣本的特征數(shù)據(jù)視為相互獨(dú)立,并單獨(dú)為各個(gè)特征數(shù)據(jù)分配權(quán)值.
MGNN 的核心為元圖網(wǎng)絡(luò)層(MGNL),MGNL的功能在于對(duì)樣本特征數(shù)據(jù)內(nèi)部隱藏的圖結(jié)構(gòu)關(guān)系進(jìn)行挖掘與處理,具體流程詳見(jiàn)第1.2 節(jié).MGNL相對(duì)于其他神經(jīng)網(wǎng)絡(luò)層而言,僅在于內(nèi)部運(yùn)算方式不同,核心仍為矩陣運(yùn)算,因此MGNL 能夠兼容其他各種網(wǎng)絡(luò),與其組成結(jié)構(gòu)各異的復(fù)雜神經(jīng)網(wǎng)絡(luò).為了更好地展現(xiàn)MGNN 的特點(diǎn),說(shuō)明MGNN 對(duì)原始神經(jīng)網(wǎng)絡(luò)性能提升的作用,減少其他網(wǎng)絡(luò)層對(duì)特征數(shù)據(jù)內(nèi)部關(guān)系的影響,本文采用MGNL 與全連接層組合構(gòu)建MGNN.
1.2.1 MGNL 初始化
網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)樣本特征數(shù)據(jù)的圖結(jié)構(gòu)關(guān)系未知,為了能夠考慮樣本特征間的相互影響,需先獲取一個(gè)能夠反映樣本特征間圖結(jié)構(gòu)關(guān)系的表達(dá)方式,在數(shù)據(jù)結(jié)構(gòu)中通常使用鄰接矩陣表示圖結(jié)構(gòu)關(guān)系.據(jù)此,首先定義一個(gè)隨機(jī)初始化的矩陣Mg,并將Mg視為特征數(shù)據(jù)內(nèi)部圖結(jié)構(gòu)的鄰接矩陣,如式(2),其中,n為入侵?jǐn)?shù)據(jù)樣本中特征數(shù)據(jù)的個(gè)數(shù),a1i為樣本的1 號(hào)特征項(xiàng)與第i號(hào)特征項(xiàng)間的聯(lián)系權(quán)值,其值越大表示兩個(gè)特征項(xiàng)聯(lián)系越緊密.同理,ani表示樣本的第n號(hào)特征項(xiàng)與第i號(hào)特征項(xiàng)間的聯(lián)系權(quán)值,Mg中其余元素的含義依此類推.
隨后,定義一個(gè)大小與Mg相同的對(duì)稱矩陣Mf,在Mf中對(duì)角線元素均為0,其余位置元素為1,如式(3)所示.
將Mg矩陣與Mf矩陣中對(duì)應(yīng)位置的元素相乘,得到消息傳遞矩陣Mp.如式(4)所示,Mp中對(duì)角線元素為0,其余位置元素與Mg矩陣保持一致.
其中,⊙表示哈達(dá)瑪積.
1.2.2 單代父子結(jié)點(diǎn)間的圖信息傳播
為了將入侵樣本中的所有特征數(shù)據(jù)按照式(5)定義的規(guī)則進(jìn)行更新,定義一種矩陣運(yùn)算公式,即
其中,F0為數(shù)據(jù)樣本的所有特征值的向量表示,F1為該樣本的特征數(shù)據(jù)經(jīng)過(guò)SPS 融合后的值.
1.2.3 多代祖孫結(jié)點(diǎn)間的圖信息傳播
同樣,每次只考慮某個(gè)樣本內(nèi)的特征數(shù)據(jù)fi,根據(jù)圖結(jié)構(gòu)鄰接矩陣Mg,對(duì)fi使用廣度優(yōu)先搜索遍歷,建立以fi為根節(jié)點(diǎn)、深度為1 的搜索樹(shù).然后,對(duì)fi的所有子節(jié)點(diǎn)使用廣度優(yōu)先搜索遍歷,建立以各子節(jié)點(diǎn)為根節(jié)點(diǎn)、深度為1 的搜索樹(shù).重復(fù)上述過(guò)程n次,將最終得到的所有搜索樹(shù)組合成如圖3所示的樹(shù)結(jié)構(gòu),并以此作為MGNL 多代祖孫結(jié)點(diǎn)間的信息傳遞結(jié)構(gòu)圖.為了能夠順利進(jìn)行多代節(jié)點(diǎn)間的消息傳遞,在MGNN 中指定最底層消息為某數(shù)據(jù)樣本的原始特征值.圖3 中樣本的特征數(shù)據(jù)由底層向上融合,并影響根節(jié)點(diǎn)fi的值,此過(guò)程定義為樣本特征數(shù)據(jù)祖孫結(jié)點(diǎn)間的圖信息傳播(MPS).
圖3 MGNN 祖孫結(jié)點(diǎn)間信息傳遞結(jié)構(gòu)Fig.3 Information transfer process between grandparents and grandchildren in MGNN
分析圖3 可知,MGNN 中樣本所有特征數(shù)據(jù)執(zhí)行完MPS 過(guò)程的數(shù)學(xué)描述為
式中,F0為某數(shù)據(jù)樣本的所有特征數(shù)據(jù)的向量表示,Fn-1為經(jīng)過(guò)n-1 代MPS 過(guò)程后的樣本數(shù)據(jù),Fn為經(jīng)過(guò)n代MPS 過(guò)程后的樣本數(shù)據(jù).Fn-1×表示將第n-1 層結(jié)點(diǎn)信息聚合至第n層結(jié)點(diǎn),該部分并不包括第n層結(jié)點(diǎn)的初代信息,故在進(jìn)行第n代MPS 過(guò)程時(shí)需加上其初代信息F0.
MGNN 中只有矩陣Mg參與網(wǎng)絡(luò)訓(xùn)練過(guò)程,需要訓(xùn)練的參數(shù)量為N×N,其中,N為一個(gè)樣本中特征數(shù)據(jù)的數(shù)量.在相同緯度映射條件下,相對(duì)于傳統(tǒng)線性層而言MGNN 可以省略偏置項(xiàng),可減少N個(gè)待訓(xùn)練的參數(shù),并且能夠?qū)崿F(xiàn)數(shù)據(jù)樣本內(nèi)部特征數(shù)據(jù)中未知復(fù)雜圖結(jié)構(gòu)關(guān)系的挖掘、分析與處理.
在只有單層MGNL 的MGNN 中,為了完成分類任務(wù),需要將數(shù)據(jù)按照分類目標(biāo)進(jìn)行維度轉(zhuǎn)換,因此需在MGNL 后鏈接全連接層,全連接層之后接sigmoid 或softmax 函數(shù),并將全連接層輸出的數(shù)值轉(zhuǎn)化為概率值,信息的前向傳播過(guò)程描述為
其中,F0為輸入至神經(jīng)網(wǎng)絡(luò)中的樣本特征值,Fn-1為經(jīng)歷了n-1代MPS 過(guò)程后的樣本特征值,Fn為經(jīng)歷了n代MPS 過(guò)程后的樣本特征值,W為全連接層中的權(quán)值,B為全連接層中的偏置,神經(jīng)網(wǎng)絡(luò)輸出值a與標(biāo)簽值y之間的損失值為L(zhǎng).
依據(jù)式(8)和式(9),利用鏈?zhǔn)角髮?dǎo)法則可知,針對(duì)W的信息反向傳播過(guò)程為
由式(8)可知,在MGNL 中信息的前向傳播過(guò)程為遞歸嵌套過(guò)程.利用鏈?zhǔn)椒▌t,對(duì)Mp進(jìn)行梯度信息反向傳播時(shí)需要同時(shí)考慮Fn-1與Mp.將式(8)展開(kāi)得式(11)~ (13):
重復(fù)使用式(8),直到式(12)中所有的上標(biāo)均變成0,得到
在式(13)和式(14)中,Fn表示經(jīng)過(guò)n代MPS過(guò)程后的樣本特征數(shù)據(jù),(Mp)n和(Mp)n-1為矩陣Mp的n次方、n-1 次方.
現(xiàn)有研究表明,在一定范圍內(nèi)增加神經(jīng)網(wǎng)絡(luò)的層數(shù)可以提高神經(jīng)網(wǎng)絡(luò)的辨識(shí)能力.實(shí)際使用中,可以堆疊多層MGNL,從而獲得表達(dá)能力更強(qiáng)的多層MGNN.由第1 節(jié)的分析可知,MGNL 并不具備數(shù)據(jù)維度變換能力,故在多層MGNL 條件下,需要在MGNL 中間添加一層或多層線性層,以實(shí)現(xiàn)數(shù)據(jù)維度的改變.因此,MGNL 與線性層穿插方式的不同可演化出豐富的網(wǎng)絡(luò)結(jié)構(gòu),下面以MGNL 與線性層交替排列的網(wǎng)絡(luò)結(jié)構(gòu)為例,展示多層MGNN中信息的前向傳播過(guò)程:
對(duì)式(15)~ (25)依據(jù)鏈?zhǔn)角髮?dǎo)法則,得到整個(gè)神經(jīng)網(wǎng)絡(luò)中線性層的權(quán)值W進(jìn)行反向傳播過(guò)程.
為方便描述,將第j個(gè)線性層與第j個(gè)MGNL層的組合,稱為第j層.
依據(jù)式(25),可知第m層內(nèi)的線性層權(quán)值梯度信息的反向傳播過(guò)程為
其中,神經(jīng)網(wǎng)絡(luò)輸出值a與標(biāo)簽值y之間損失值為L(zhǎng).
依據(jù)式(23)~ (25),可知線性層權(quán)值的梯度信息在由m層傳遞至m-1 層的過(guò)程為
根據(jù)式(28),有
將式(29)代入式(27),有
式(30)闡述了線性層權(quán)值的梯度信息由最后一層傳遞至第m-1 層的傳遞過(guò)程.
同理,依據(jù)式(21),(22)和(30)可繼續(xù)推導(dǎo)線性層權(quán)值的梯度信息由最后一層向第m-2 層傳遞的過(guò)程為
線性層權(quán)值的梯度信息由最后一層傳遞至第m-3層的傳遞過(guò)程為
線性層梯度信息由最后一層傳遞至第j層的傳遞過(guò)程為
線性層中偏置B的梯度信息反向傳播過(guò)程與線性層權(quán)值W的反向傳播過(guò)程原理一致,此處不再贅述.在此給出線性層偏置B的梯度信息由最后一層傳遞至任意j層的傳遞過(guò)程,即
下面對(duì)多層MGNN 中Mp的梯度信息反向傳播過(guò)程進(jìn)行分析.
依據(jù)式(24)和式(25),可知Mp梯度信息由損失函數(shù)傳遞至第m層的傳遞過(guò)程為
依據(jù)式(22)~ (24)和式(35)可知,Mp梯度信息在由m層傳遞到m-1 層的過(guò)程為
同理,可以得到Mp梯度信息由最后一層傳遞到任意j層的傳遞過(guò)程為
在MGNL 執(zhí)行過(guò)程中,由于Mp矩陣中元素被隨機(jī)初始化且參與神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程,因此在神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成之前無(wú)法得知其中元素值的大小.為了分析MGNL 運(yùn)行過(guò)程中MPS 過(guò)程對(duì)根節(jié)點(diǎn)原始特征信息產(chǎn)生的影響,取以下兩種特殊情況進(jìn)行討論:
情形1.Mp矩陣中所有數(shù)據(jù)均為0 時(shí),表示樣本中的特征數(shù)據(jù)之間不存在任何關(guān)系,即相互獨(dú)立,此時(shí),式(39)退化為
情形2.當(dāng)Mp矩陣中除對(duì)角線以外的所有數(shù)據(jù)均為1 時(shí),表示樣本中的任意兩個(gè)特征數(shù)據(jù)之間都存在關(guān)系,即樣本的特征數(shù)據(jù)依據(jù)其圖結(jié)構(gòu)關(guān)系,組成一個(gè)強(qiáng)連通圖,此時(shí)有
分析式(46)~ (51)可知,隨著消息傳播代數(shù)的增多,子孫節(jié)點(diǎn)傳遞到根節(jié)點(diǎn)的信息量將遠(yuǎn)超根節(jié)點(diǎn)自身的信息量,即初代節(jié)點(diǎn)自身信息將堙滅于海量的子孫節(jié)點(diǎn)信息.而通過(guò)情形1和情形2 的分析,可知MGNL 運(yùn)行過(guò)程中的確存在根節(jié)點(diǎn)信息堙滅的可能.
由式(52)可知,反信息堙滅因子可將初代節(jié)點(diǎn)信息值成倍數(shù)的擴(kuò)大,防止初代信息被堙滅.實(shí)際應(yīng)用中α的取值隨著信息傳播代數(shù)n的增加而增加.
圖消息傳播過(guò)程中需要關(guān)注作用較大的節(jié)點(diǎn)信息,忽視作用較小的節(jié)點(diǎn)信息.基于此種考慮,研究人員于2017 年提出圖注意力網(wǎng)絡(luò)(Graph attention network,GAT)[24-26],其基本原理是各節(jié)點(diǎn)更新隱藏層輸出時(shí),通過(guò)對(duì)其相鄰節(jié)點(diǎn)進(jìn)行注意力計(jì)算,為每個(gè)相鄰節(jié)點(diǎn)分配不同的權(quán)重,權(quán)重高的節(jié)點(diǎn)視為神經(jīng)網(wǎng)絡(luò)注意力集中點(diǎn).為了獲得每個(gè)節(jié)點(diǎn)的權(quán)重,首先需要根據(jù)輸入的特征值進(jìn)行至少一次的線性變換得到輸出的特征值,因此,需要對(duì)所有節(jié)點(diǎn)訓(xùn)練一個(gè)權(quán)值矩陣Wa,其中Wa為n×n的方陣.實(shí)踐過(guò)程中,為了加強(qiáng)注意力機(jī)制的處理能力,會(huì)在線性變換之后附加一個(gè)非線性激活變換,如使用ReLU激活函數(shù)進(jìn)行非線性激活變換,最后將變換后的數(shù)據(jù)通過(guò)softmax 激活函數(shù)獲得為每個(gè)相鄰節(jié)點(diǎn)所分配的不同權(quán)重.
分析GAT 中的注意力機(jī)制可以發(fā)現(xiàn),整個(gè)過(guò)程需要經(jīng)歷線性變換以及softmax 函數(shù)的激活,待訓(xùn)練參數(shù)量多,計(jì)算過(guò)程復(fù)雜.為了降低注意力機(jī)制的實(shí)現(xiàn)成本,本文在損失函數(shù)中加入對(duì)Mp的L2正則化,組成注意力損失函數(shù)AL,AL描述為
AL由兩部分構(gòu)成,L(a,y) 為網(wǎng)絡(luò)最終預(yù)測(cè)值a與目標(biāo)值y之間的損失值,L(·) 為損失函數(shù),一般為均方差損失函數(shù)或者交叉熵?fù)p失函數(shù)等;0.5λ‖Mp‖2為注意力限制條件,實(shí)際性質(zhì)類似于L2正則化,其中,λ為注意力限制系數(shù),0<λ <1.
由第1 節(jié)分析可知,Mp是將Mg對(duì)角線元素全部設(shè)置為0 后得到,Mp中除對(duì)角線元素外,里面每一個(gè)值代表了邊的權(quán)值,樣本特征數(shù)據(jù)依據(jù)Mp進(jìn)行MPS 過(guò)程.通過(guò)式(5)可知,在圖消息傳遞過(guò)程中,邊的權(quán)值決定了子節(jié)點(diǎn)向父節(jié)點(diǎn)傳遞消息的多寡,故在MGNL 中可以通過(guò)約束邊的權(quán)值實(shí)現(xiàn)與GAT 相同的注意力機(jī)制.
在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中,利用梯度下降法不斷減小AL值,為了突出闡述AL在網(wǎng)絡(luò)訓(xùn)練過(guò)程中如何產(chǎn)生注意力效果,主要進(jìn)行針對(duì)Mp梯度下降的過(guò)程分析.
依據(jù)鏈?zhǔn)角髮?dǎo)法則與第2 節(jié)中信息反向傳播分析可知,由AL決定的針對(duì)Mp的反向傳播梯度為
對(duì)Mp進(jìn)行梯度下降更新
在MGNN 的損失函數(shù)中添加對(duì)Mp的L2正則化,結(jié)合梯度下降法可以使Mp對(duì)自身元素進(jìn)行篩選,即將連接關(guān)系不緊密的特征值之間邊的權(quán)值進(jìn)行削弱,保留連接緊密的邊的權(quán)值,并對(duì)其加強(qiáng).由式(5)可知,邊上權(quán)值的大小決定了子節(jié)點(diǎn)向父節(jié)點(diǎn)傳遞信息的多少,權(quán)值越大,則子節(jié)點(diǎn)向父節(jié)點(diǎn)傳播的信息越多,即父節(jié)點(diǎn)對(duì)子節(jié)點(diǎn)的關(guān)注度越高;邊上權(quán)值越小,則表示子節(jié)點(diǎn)向父節(jié)點(diǎn)傳播的信息量越少,即父節(jié)點(diǎn)對(duì)子節(jié)點(diǎn)的關(guān)注度減弱,由此實(shí)現(xiàn)MGNN 的注意力機(jī)制.
AL通過(guò)改變損失函數(shù)的結(jié)構(gòu)實(shí)現(xiàn)原本需要通過(guò)復(fù)雜線性變換與激活變換才能實(shí)現(xiàn)的注意力機(jī)制,在實(shí)現(xiàn)注意力機(jī)制的同時(shí),降低網(wǎng)絡(luò)的復(fù)雜程度,同時(shí)減少了神經(jīng)網(wǎng)絡(luò)中待訓(xùn)練的參數(shù)量.
為了更加直觀清晰地對(duì)MGNN 進(jìn)行整體性的描述,基于上述各部分的分析,給出MGNN 運(yùn)行流程圖,如圖4 所示.
圖4 MGNN 運(yùn)行流程圖Fig.4 Operation flow chart of MGNN
本節(jié)設(shè)計(jì)了3 組對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)中所使用的數(shù)據(jù)集為UNSW_NB15、NSL_KDD和CICDoS2019數(shù)據(jù)集.
各組實(shí)驗(yàn)的目的分別為: 第1 組驗(yàn)證MGNN的有效性以及探索MPS 過(guò)程中子孫消息傳播代數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)性能的影響;第2 組驗(yàn)證反信息堙滅因子α的重要性;第3 組實(shí)驗(yàn)驗(yàn)證注意力損失函數(shù)的重要性.
在第1 組和第2 組實(shí)驗(yàn)中,MGNN 所使用的損失函數(shù)為AL,其余神經(jīng)網(wǎng)絡(luò)所使用的損失函數(shù)均為交叉熵?fù)p失函數(shù).
由于圖神經(jīng)網(wǎng)絡(luò)(GNN)只能處理樣本間的已知圖結(jié)構(gòu)關(guān)系,而入侵檢測(cè)數(shù)據(jù)集中樣本間的圖結(jié)構(gòu)關(guān)系均未知,因此無(wú)法應(yīng)用于網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域,目前也未發(fā)現(xiàn)有將GNN 用于入侵檢測(cè)的文獻(xiàn),因此未將MGNN 與GNN 進(jìn)行性能對(duì)比.
實(shí)驗(yàn)中使用的深度學(xué)習(xí)框架為T(mén)ensorflow 2.1.0 (CPU 版),機(jī)器學(xué)習(xí)庫(kù)為scikit-learn 0.23.2,操作系統(tǒng)為Windows10,編程語(yǔ)言為Python 3.7.4.
在本部分中,主要對(duì)比了深度MGNN 與經(jīng)典深度學(xué)習(xí)算法(DNN/CNN/RNN/LSTM)、經(jīng)典機(jī)器學(xué)習(xí)算法(DT (Decision tree)/SVM (Support vector machine)/KNN (K-nearest neighbor)/RF(Random forest)/LR (Logistic regression))在入侵檢測(cè)數(shù)據(jù)集上的性能表現(xiàn),以此驗(yàn)證MGNN 的有效性,同時(shí)探索MGNL 中子孫節(jié)點(diǎn)消息傳播代數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)性能的影響.其中,基于MGNN 的神經(jīng)網(wǎng)絡(luò)又依據(jù)其子孫消息傳播代數(shù)不同劃分為: MGNN1、MGNN3、MGNN5、MGNN7、MGNN9.本節(jié)中各神經(jīng)網(wǎng)絡(luò)的搭建均為序列化結(jié)構(gòu),深度MGNN 由MGNNSB 按順序串聯(lián)堆疊而成,MGNNSB 的結(jié)構(gòu)如圖5 所示.
圖5 MGNNSB 描述Fig.5 Description of MGNNSB structure
在MGNNSB 中,MGNL 層的Nn為樣本特征值的圖結(jié)構(gòu)中節(jié)點(diǎn)的個(gè)數(shù),在第1 層MGNNSB 中為輸入樣本的特征數(shù)據(jù)的維度,其后各層MGNNSB中,MGNL 層的Nn由上一個(gè)MGNNSB 輸出數(shù)據(jù)的維度決定;Pn為子孫節(jié)點(diǎn)消息傳播的代數(shù),在MGNN1 中Pn為1,MGNN2 中為2,以此類推.α為反信息堙滅因子,在本組實(shí)驗(yàn)中,α均設(shè)置為1,即不考慮反信息堙滅措施.實(shí)驗(yàn)中MGNN 具體參數(shù)設(shè)置詳見(jiàn)表1 所示.
表1 MGNN1~ MGNN9 網(wǎng)絡(luò)各參數(shù)設(shè)置Table 1 Various parameter settings in the MGNN1~ MGNN9 networks
在表1 中,MGNNSB 表示組成MGNN 中MGNNSB 的編號(hào),Nn表示MGNNSB 中MGNL層設(shè)置的圖結(jié)構(gòu)中節(jié)點(diǎn)個(gè)數(shù),Pn表示MGNNSB中MGNL 層內(nèi)子孫節(jié)點(diǎn)消息傳播的代數(shù),Units 表示MGNNSB 中線性層所設(shè)置的神經(jīng)元個(gè)數(shù).
圖6~ 9 分別為MGNN1~ MGNN9和DNN對(duì)UNSW_NB15、NSL_KDD 數(shù)據(jù)集進(jìn)行二分類、多分類時(shí)神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中的損失值、準(zhǔn)確率隨迭代次數(shù)變化的折線圖.
圖6 各神經(jīng)網(wǎng)絡(luò)對(duì)UNSW_NB15 進(jìn)行二分類Fig.6 Each neural network performs a binary classification experiment on the UNSW_NB15
圖7 各神經(jīng)網(wǎng)絡(luò)對(duì)NSL_KDD 進(jìn)行二分類Fig.7 Each neural network performs a binary classification experiment on the NSL_KDD
圖8 各神經(jīng)網(wǎng)絡(luò)對(duì)UNSW_NB15 進(jìn)行多分類Fig.8 Each neural network performs multiclassification experiments on the UNSW_NB15
Accuracy_1 表示MGNN1 訓(xùn)練過(guò)程中的準(zhǔn)確率變化趨勢(shì)圖,Accuracy_3 表示MGNN3 訓(xùn)練過(guò)程中的準(zhǔn)確率變化趨勢(shì)圖,以此類推;Accuracy_linear 表示由線性層堆疊而成的DNN 訓(xùn)練過(guò)程中準(zhǔn)確率變化趨勢(shì)圖.
通過(guò)圖6~ 9 可知,MGNN1、MGNN3、MGNN5、MGNN7、MGNN9 最終準(zhǔn)確率普遍高于DNN,只有在對(duì)NSL_KDD 數(shù)據(jù)集進(jìn)行二分類與多分類的訓(xùn)練過(guò)程中,MGNN9 的準(zhǔn)確率低于DNN,尤其是在對(duì)NSL_KDD 數(shù)據(jù)集進(jìn)行多分類的過(guò)程中,MGNN9 的準(zhǔn)確率僅為0.5 左右.通過(guò)第3.1 節(jié)的分析可知,主要是由于本節(jié)實(shí)驗(yàn)中未啟用反信息堙滅策略,子孫信息將父代信息堙滅所導(dǎo)致,由于本節(jié)實(shí)驗(yàn)重點(diǎn)并不在于分析反信息堙滅策略的作用,故后續(xù)分析將不考慮對(duì)NSL_KDD 數(shù)據(jù)集進(jìn)行二分類和多分類任務(wù)時(shí)MGNN9 的性能.
通過(guò)圖6 可知,MGNN1、MGNN3、MGNN5、MGNN7、MGNN9 在對(duì)UNSW_NB15 進(jìn)行二分類實(shí)驗(yàn)時(shí),前期準(zhǔn)確率經(jīng)過(guò)一個(gè)短暫且非常明顯的不穩(wěn)定振蕩過(guò)程,對(duì)NSL_KDD 進(jìn)行二分類實(shí)驗(yàn)時(shí),振蕩過(guò)程相對(duì)平緩;而圖9 顯示MGNN1~ MGNN9網(wǎng)絡(luò)在對(duì)NSL_KDD 進(jìn)行多分類實(shí)驗(yàn)過(guò)程中,準(zhǔn)確率收斂過(guò)程也較UNSW_NB15 多分類實(shí)驗(yàn)平穩(wěn),這主要是因?yàn)槌跏蓟臉颖咎卣鲾?shù)據(jù)圖結(jié)構(gòu)并不能很好地反映隱藏于樣本特征數(shù)據(jù)中的真實(shí)圖結(jié)構(gòu),隨著訓(xùn)練過(guò)程的持續(xù),神經(jīng)網(wǎng)絡(luò)將不斷接近真實(shí)樣本特征數(shù)據(jù)的圖結(jié)構(gòu),訓(xùn)練過(guò)程趨于平穩(wěn).上述現(xiàn)象也從側(cè)面反映了隱藏于NSL_KDD 樣本特征數(shù)據(jù)背后的圖結(jié)構(gòu)比隱藏在UNSW_NB15 樣本特征數(shù)據(jù)背后的圖結(jié)構(gòu)簡(jiǎn)單.而實(shí)際上UNSW_NB15 數(shù)據(jù)集是澳大利亞安全實(shí)驗(yàn)室于2015 年在真實(shí)網(wǎng)絡(luò)環(huán)境下采集得到的,相比于NSL_KDD數(shù)據(jù)集更能體現(xiàn)實(shí)際網(wǎng)絡(luò)數(shù)據(jù)特征,也更加復(fù)雜,這也從側(cè)面反映了本文所設(shè)計(jì)的MGNN 的有效性.
圖9 各神經(jīng)網(wǎng)絡(luò)對(duì)NSL_KDD 進(jìn)行多分類Fig.9 Each neural network performs multiclassification experiments on the NSL_KDD
進(jìn)一步分析圖6~ 9 可知,在不考慮父輩信息堙滅的前提下,隨著子孫節(jié)點(diǎn)消息傳播代數(shù)的增加,MGNN1、MGNN3、MGNN5、MGNN7、MGNN9的性能均逐步提升,同樣驗(yàn)證了本文所提出的樣本特征數(shù)據(jù)內(nèi)部隱藏的圖結(jié)構(gòu)信息有助于神經(jīng)網(wǎng)絡(luò)性能提升的理論分析.
表2~ 5 詳細(xì)描述了MGNN1、MGNN3、MGNN5、MGNN7、MGNN9 與DNN、CNN、RNN、LSTM、RF、LR、KNN、DT、SVM 等經(jīng)典深度學(xué)習(xí)算法、機(jī)器學(xué)習(xí)算法對(duì)NSL_KDD、UNSW_NB15數(shù)據(jù)集進(jìn)行二分類和多分類任務(wù)時(shí)的準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1-score 值.其中,RF、LR、KNN、DT、SVM 的相關(guān)指標(biāo)數(shù)據(jù)來(lái)源于文獻(xiàn)[27],實(shí)驗(yàn)中使用的CNN 為Inception v1 分類模型;由于缺少能直接用于入侵檢測(cè)領(lǐng)域的經(jīng)典RNN,LSTM,DNN 模型,故實(shí)驗(yàn)中使用的RNN、LSTM、DNN 為自行搭建的神經(jīng)網(wǎng)絡(luò)模型,搭建以每層網(wǎng)絡(luò)中神經(jīng)元個(gè)數(shù)與MGNN相接近為原則,其中,RNN 具有8 層循環(huán)神經(jīng)網(wǎng)絡(luò)層,每層分別有42,64,64,128,128,268,268,268個(gè)神經(jīng)元,并返回全部序列數(shù)據(jù);LSTM 同樣具有8 層長(zhǎng)短期記憶網(wǎng)絡(luò)層,每層同樣分別有42,64,64,128,128,268,268,268 個(gè)神經(jīng)元,并返回全部序列數(shù)據(jù);DNN 由8 層全連接層所組成,分別具有42,64,64,128,128,268,268,268 個(gè)神經(jīng)元.
表2 各算法對(duì)UNSW_NB15 數(shù)據(jù)集二分類測(cè)試的結(jié)果Table 2 The experimental results of the binary classification test of each algorithm on the UNSW_NB15 dataset
表3 各算法對(duì)UNSW_NB15 數(shù)據(jù)集多分類測(cè)試的結(jié)果Table 3 The experimental results of the multi-classification test of each algorithm on the UNSW_NB15 dataset
表4 各算法對(duì)NSL_KDD 數(shù)據(jù)集二分類測(cè)試的結(jié)果Table 4 The experimental results of the binary classification test of each algorithm on the NSL_KDD dataset
表5 各算法對(duì)NSL_KDD 數(shù)據(jù)集多分類測(cè)試的結(jié)果Table 5 The experimental results of the multi-classification test of each algorithm on the NSL_KDD dataset
由表2~ 5 可知,相對(duì)于經(jīng)典深度學(xué)習(xí)算法和機(jī)器學(xué)習(xí)算法,能夠挖掘并利用特征值之間隱藏的圖結(jié)構(gòu)關(guān)系的MGNN 在處理網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)時(shí)更具有優(yōu)勢(shì),有效地證實(shí)了本文所提出MGNN 的有效性.
為了進(jìn)一步證實(shí)MGNN 的有效性,本節(jié)將MGNN 與LSTM-RESNET[28]、NDAE[29]、文獻(xiàn)[30]的算法、DCCNet[5]、IGAN-IDS[31]、ELM[32]、OS_ELM[33]、LSTM-RNN[34]、TSDL[35]等近年來(lái)基于深度學(xué)習(xí)的優(yōu)秀入侵檢測(cè)算法進(jìn)行性能對(duì)比,圖10反映了MGNN 與上述算法對(duì)NSL_KDD、UNSW_NB15 數(shù)據(jù)集進(jìn)行測(cè)試時(shí)準(zhǔn)確率的對(duì)比.
圖10 MGNN 與最新入侵檢測(cè)算法對(duì)比Fig.10 Performance comparison between MGNN and the latest intrusion detection algorithms on different datasets
由圖10 可知,相對(duì)于目前較新的基于深度學(xué)習(xí)的入侵檢測(cè)算法而言,在對(duì)NSL_KDD、UNSW_NB15 數(shù)據(jù)集進(jìn)行測(cè)試時(shí),元圖神經(jīng)網(wǎng)絡(luò)MGNN 具有最高的準(zhǔn)確率,由此可以證明在基于深度學(xué)習(xí)的入侵檢測(cè)算法中,本文所提出的MGNN 具有一定的應(yīng)用價(jià)值.
為了更進(jìn)一步驗(yàn)證MGNN 的有效性,本文使用CICDoS2019 數(shù)據(jù)集對(duì)MGNN 性能進(jìn)行測(cè)試,并與樸素貝葉斯算法(Naive Bayes,NB)、決策樹(shù)算法(DT)、邏輯回歸算法(LR)、隨機(jī)森林算法(Random forest,RF)、Booster、SVM、DDoSNet[36]等算法進(jìn)行性能指標(biāo)對(duì)比(上述算法在CICDoS2019數(shù)據(jù)集上的各項(xiàng)性能指標(biāo)均來(lái)自文獻(xiàn)[36]).MGNN為MGNN12 (12 代表樣本特征值的圖結(jié)構(gòu)中節(jié)點(diǎn)的個(gè)數(shù)),實(shí)驗(yàn)結(jié)果詳見(jiàn)表6.
表6 各算法對(duì)CICDoS2019 數(shù)據(jù)集測(cè)試Table 6 Test results of each algorithm on the CICDoS2019 dataset
由表6 可知,在使用CICDoS2019 數(shù)據(jù)集對(duì)MGNN12 進(jìn)行測(cè)試時(shí),MGNN12 的性能優(yōu)于NB、DT、RF 與Booster 算法,在Accuracy 方面,MGNN12 的性能表現(xiàn)相對(duì)于NB、DT、LR、RF、Booster、SVM、DDosNet 算法處于中等水平.在Precision方面,MGNN12 對(duì)Attack 類型數(shù)據(jù)檢測(cè)的Precision 值為0.99,與DDosNet 算法相一致,僅次于NB、RF 算法,DT、Booster 算法在對(duì)Attack 類型數(shù)據(jù)進(jìn)行檢測(cè)時(shí)的Precision 值最低,分別比MGNN12低0.29、0.23;MGNN12 在對(duì)Benign 類型數(shù)據(jù)進(jìn)行檢測(cè)時(shí)的Precision 值為1.00,與DDosNet 算法相同,二者在該指標(biāo)上并列最高,均高出NB 算法0.47.在Recall 方面,MGNN12 對(duì)Attack 類型數(shù)據(jù)進(jìn)行檢測(cè)時(shí)的Recall 值為0.79,相對(duì)于表6 中其他算法而言,僅高于NB 算法與RF 算法;在對(duì)Benign 類型數(shù)據(jù)進(jìn)行檢測(cè)時(shí),MGNN12 的Recall 值為0.93,僅高于DT、Booster算法.由上述分析可知,MGNN12 在Precision 指標(biāo)方面相對(duì)于表6 中其他算法處于較優(yōu)水平,但在Recall 指標(biāo)方面MGNN12 相對(duì)于其他算法并沒(méi)有明顯優(yōu)勢(shì),當(dāng)精確率和召回率發(fā)生沖突時(shí),很難對(duì)模型進(jìn)行比較.而F1-score 值同時(shí)兼顧了精確率和召回率,可以看作是精確率和召回率的一種調(diào)和平均,能夠更好地評(píng)價(jià)模型.仔細(xì)分析表6 中F1-score 一列可知,MGNN12在面對(duì)Attack 類型數(shù)據(jù)時(shí),F1-score 值為0.88,僅次于LR、SVM、Booster 算法;面對(duì)Benign類型數(shù)據(jù)時(shí),F1-score 值為0.96,僅次于DDosNet算法.由上述分析可知,MGNN12 的整體性能低于LR、SVM、DDosNet 算法,高于NB、DT、RF、Booster算法,整體性能處于中等偏上水平,這主要是由于CICDoS2019 數(shù)據(jù)集特征數(shù)目較多(87 個(gè)),本文提出的MGNN 在處理該數(shù)據(jù)集時(shí)并未采用其他輔助降維措施與特征選擇算法,使得MGNN 在挖掘隱藏于特征數(shù)據(jù)后的圖結(jié)構(gòu)關(guān)系時(shí)較為困難.
綜上所述,在進(jìn)行網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)二分類與多分類的任務(wù)中,在不考慮父代信息堙滅的情況下,在一定范圍內(nèi),MGNN 的性能隨著MPS 中子孫信息傳播代數(shù)的增加而提升,MGNN 的性能表現(xiàn)相對(duì)于經(jīng)典深度學(xué)習(xí)算法和機(jī)器學(xué)習(xí)算法具有明顯優(yōu)勢(shì),同時(shí)相對(duì)于目前新型基于深度學(xué)習(xí)的入侵檢測(cè)算法仍具有較明顯優(yōu)勢(shì);并且MGNN 在面對(duì)3 種入侵檢測(cè)數(shù)據(jù)集時(shí)都具有不錯(cuò)的性能表現(xiàn),說(shuō)明MGNN 具有較強(qiáng)的泛化能力,能夠同時(shí)適用于多種不同數(shù)據(jù)集,能夠有效地提升入侵檢測(cè)精度,具有優(yōu)越的檢測(cè)性能.
通過(guò)對(duì)第4.1 節(jié)中圖6~ 9、表2~ 5 的分析可知,MGNN1~ MGNN5 隨子代信息傳播代數(shù)的增加,其分類性能逐步提高,但是隨著MPS 過(guò)程次數(shù)的增多,MGNN 的性能卻出現(xiàn)了下降的現(xiàn)象.由第3.1 節(jié)的理論分析可以推斷,MGNN9 出現(xiàn)了父代信息堙滅現(xiàn)象,為了驗(yàn)證第3.1 節(jié)的理論分析結(jié)論,設(shè)置本實(shí)驗(yàn).
在本實(shí)驗(yàn)中,將繼續(xù)使用第4.1 節(jié)中MGNN9的網(wǎng)絡(luò)結(jié)構(gòu),唯一不同在于本實(shí)驗(yàn)將MGNN9 的反信息堙滅因子α設(shè)置為2.8,為了便于區(qū)分,本實(shí)驗(yàn)記MGNN9 為MGNN9_alpha.
圖11~ 14 分別展示了MGNN1~ MGNN9、DNN 以及MGNN9_alpha 在對(duì)UNSW_NB15、NSL_KDD 數(shù)據(jù)集進(jìn)行二分類和多分類時(shí)神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中Accuracy 值隨迭代次數(shù)變化的折線圖.
圖11 各神經(jīng)網(wǎng)絡(luò)對(duì)UNSW_NB15 進(jìn)行二分類Fig.11 Each neural network performs a binary classification experiment on the UNSW_NB15
分析圖11~ 14 可知,引入反信息堙滅因子α后,MGNN 神經(jīng)網(wǎng)絡(luò)在分類準(zhǔn)確率上均有提升,并且訓(xùn)練收斂速度也較大程度加快.
單獨(dú)分析MGNN9_alpha和MGNN9 可以更加明顯地看出,在使用反信息堙滅因子α后,元圖神經(jīng)網(wǎng)絡(luò)的性能具有明顯提升,由此可以證實(shí)本文提出的反信息堙滅策略的有效性,該效果在圖12和圖14 中表現(xiàn)得尤為明顯,可以看出MGNN9_alpha 相對(duì)于MGNN9 的優(yōu)越性.
圖12 各神經(jīng)網(wǎng)絡(luò)對(duì)NSL_KDD 進(jìn)行二分類Fig.12 Each neural network performs a binary classification experiment on the NSL_KDD
圖13 各神經(jīng)網(wǎng)絡(luò)對(duì)UNSW_NB15 進(jìn)行多分類Fig.13 Each neural network performs multiclassification experiments on the UNSW_NB15
圖14 各神經(jīng)網(wǎng)絡(luò)對(duì)NSL_KDD 進(jìn)行多分類Fig.14 Each neural network performs multiclassification experiments on the NSL_KDD
為了量化MGNN9_alpha 相對(duì)于MGNN9 的性能提升幅度,表7~ 10 展示了MGNN9_alpha、MGNN9 分別對(duì)UNSW_NB15 與NSL_KDD 進(jìn)行二分類和多分類時(shí)迭代50 次后的準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1-score 值.
表7 MGNN9、MGNN9_alpha 網(wǎng)絡(luò)對(duì)UNSW_NB15數(shù)據(jù)集二分類測(cè)試的結(jié)果Table 7 MGNN9,MGNN9_alpha networks on the UNSW_NB15 dataset binary classification test results
表8 MGNN9、MGNN9_alpha 網(wǎng)絡(luò)對(duì)UNSW_NB15數(shù)據(jù)集多分類測(cè)試的結(jié)果Table 8 MGNN9,MGNN9_alpha networks on the UNSW_NB15 dataset multi-classification test results
表9 MGNN9、MGNN9_alpha 網(wǎng)絡(luò)對(duì)NSL_KDD數(shù)據(jù)集二分類測(cè)試的結(jié)果Table 9 MGNN9,MGNN9_alpha networks on the NSL_KDD dataset binary classification test results
表10 MGNN9、MGNN9_alpha 網(wǎng)絡(luò)對(duì)NSL_KDD數(shù)據(jù)集多分類測(cè)試的結(jié)果Table 10 MGNN9,MGNN9_alpha networks on the NSL_KDD dataset multi-classification test results
本實(shí)驗(yàn)驗(yàn)證了反信息堙滅因子α在提升MGNN性能方面的重要性,同時(shí)也驗(yàn)證了第3.1 節(jié)理論分析的正確性.實(shí)驗(yàn)證實(shí),引入α后的確能夠有效提升MGNN 入侵檢測(cè)的精度,同時(shí)也能夠顯著地降低誤報(bào)率.
本文在第3.2 節(jié)詳細(xì)論述了注意力損失函數(shù)的作用,為了驗(yàn)證注意力損失函數(shù)的有效性,本文設(shè)置了兩組元圖神經(jīng)網(wǎng)絡(luò),其中一組為MGNN1~MGNN9 使用注意力損失函數(shù),另一組為MGNN1~MGNN9 不使用注意力損失函數(shù),使用這兩組MGNN對(duì)NSL_KDD、UNSW_NB15 數(shù)據(jù)集進(jìn)行二分類和多分類實(shí)驗(yàn),并將各項(xiàng)評(píng)價(jià)指標(biāo)的實(shí)驗(yàn)結(jié)果繪制成折線圖,詳見(jiàn)圖15 所示.
圖15 注意力損失函數(shù)對(duì)MGNN 的影響Fig.15 The effect of attention loss function on MGNN
由圖15 可知,在使用了注意力損失函數(shù)后,MGNN 的各項(xiàng)評(píng)價(jià)指標(biāo)都有明顯提高,由此可以證實(shí),本文所提出的注意力損失函數(shù)對(duì)MGNN 的重要性.
本文針對(duì)網(wǎng)絡(luò)入侵檢測(cè)場(chǎng)景設(shè)計(jì)了一種元圖神經(jīng)網(wǎng)絡(luò),對(duì)圖信息傳播過(guò)程中出現(xiàn)的信息湮滅與注意力機(jī)制進(jìn)行了理論分析.MGNN 能夠有效挖掘出入侵樣本數(shù)據(jù)內(nèi)特征數(shù)據(jù)間隱藏的復(fù)雜聯(lián)系,并利用上述聯(lián)系輔助神經(jīng)網(wǎng)絡(luò)對(duì)入侵?jǐn)?shù)據(jù)進(jìn)行檢測(cè).實(shí)驗(yàn)結(jié)果證明了相對(duì)于現(xiàn)有的深度學(xué)習(xí)算法及傳統(tǒng)機(jī)器學(xué)習(xí)算法,MGNN 具有更加優(yōu)越的入侵檢測(cè)性能.作為一種新型的神經(jīng)網(wǎng)絡(luò),MGNN 在其他領(lǐng)域的應(yīng)用尚未涉及,基于MGNN 的各種復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)尚處于開(kāi)發(fā)狀態(tài).未來(lái)將繼續(xù)研究基于MGNN的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),嘗試將MGNN 與深度強(qiáng)化學(xué)習(xí)等新技術(shù)結(jié)合[37-38],開(kāi)發(fā)出更有效的深度學(xué)習(xí)算法,完善MGNN 的相關(guān)理論,擴(kuò)大MGNN 的應(yīng)用范圍.