任偉
(中國(guó)電信股份有限公司廣東分公司,廣東 廣州 510627)
隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,應(yīng)用安全從傳統(tǒng)桌面進(jìn)入移動(dòng)應(yīng)用時(shí)代。移動(dòng)應(yīng)用風(fēng)險(xiǎn)為業(yè)務(wù)安全帶來大量的不確定因素,移動(dòng)應(yīng)用安全也成為移動(dòng)互聯(lián)網(wǎng)發(fā)展的焦點(diǎn)。企業(yè)在享用移動(dòng)互聯(lián)網(wǎng)帶來便利的同時(shí)也面臨著各種各樣的網(wǎng)絡(luò)入侵。當(dāng)前,入侵檢測(cè)研究備受業(yè)界人士的關(guān)注,互聯(lián)網(wǎng)的安全防范技術(shù)不斷涌現(xiàn)并被廣泛應(yīng)用:(1)數(shù)據(jù)加密和殺毒軟件等被動(dòng)防范技術(shù);(2)對(duì)網(wǎng)絡(luò)安全狀態(tài)進(jìn)行實(shí)時(shí)檢測(cè)的主動(dòng)防范技術(shù)。上述兩種技術(shù)都是采用數(shù)據(jù)庫匹配技術(shù)實(shí)現(xiàn)入侵行為的識(shí)別。但是在實(shí)際的生產(chǎn)環(huán)境中,黑客或惡意軟件的入侵行為并不是一成不變的,當(dāng)出現(xiàn)新的入侵行為時(shí),上述的入侵檢測(cè)方法就顯得無能為力了。為了應(yīng)付新的入侵威脅,采用一定的規(guī)則對(duì)入侵網(wǎng)絡(luò)行為進(jìn)行分析與挖掘,構(gòu)造入侵行為的分類器以實(shí)現(xiàn)網(wǎng)絡(luò)入侵的檢測(cè)成為當(dāng)前網(wǎng)絡(luò)安全研究領(lǐng)域的重要方向。KENNEDY[1]等人采用神經(jīng)網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)入侵行為的檢測(cè),但是由于神經(jīng)網(wǎng)絡(luò)是基于一定規(guī)模的訓(xùn)練樣本進(jìn)行模型構(gòu)建,在訓(xùn)練樣本足夠多的情況下才能保證模型的精度,而入侵行為本來就是小概率事件,因此該方法的入侵檢測(cè)結(jié)果不穩(wěn)定,檢測(cè)正確率也不如人意。隨著機(jī)器學(xué)習(xí)研究的深入,不少學(xué)者[2-3]采用支持向量機(jī)來構(gòu)建入侵檢測(cè)的模型,支持向量機(jī)對(duì)訓(xùn)練樣本的要求沒有神經(jīng)網(wǎng)絡(luò)那么苛刻,但是其也存在致命的缺陷:參數(shù)的確定和在高維特征空間的“維數(shù)災(zāi)難”的難題。隨著人工智能技術(shù)的不斷成熟,半監(jiān)督的入侵檢測(cè)方法[4]被提出,采用半監(jiān)督的方法訓(xùn)練少量標(biāo)記的數(shù)據(jù)獲得大規(guī)模的數(shù)據(jù)集,引用信息增益率從定量的角度來衡量不同網(wǎng)絡(luò)入侵行為特征對(duì)入侵檢測(cè)預(yù)測(cè)結(jié)果的影響,能夠在一定程度上提高未知攻擊檢測(cè)的性能,但是該方法的精度與選取的半監(jiān)督方法有密切的關(guān)系。本文在借鑒上述學(xué)者研究成果的基礎(chǔ)上,提出一種無監(jiān)督的網(wǎng)絡(luò)入侵檢測(cè)方法——基于稀疏自編碼深度神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)方法,采用非監(jiān)督學(xué)習(xí)自動(dòng)提取入侵行為特征用于入侵行為的檢測(cè)。
利用IDS(Intrusion Detection System,入侵檢測(cè)系統(tǒng))可以通過識(shí)別計(jì)算機(jī)、網(wǎng)絡(luò)系統(tǒng)或者信息系統(tǒng)中非法入侵者的惡意攻擊或者合法用戶的越權(quán)行為,以保證網(wǎng)絡(luò)安全。當(dāng)前的入侵檢測(cè)系統(tǒng)的檢測(cè)技術(shù)分為2種:基于誤用和基于異常兩類[5]?;谡`用的IDS是將待檢測(cè)行為與預(yù)先設(shè)定的誤用模式進(jìn)行匹配,其對(duì)已有類型的攻擊行為具有較低的誤報(bào)率,但無法識(shí)別網(wǎng)絡(luò)上新的或者未知的攻擊類型?;诋惓5腎DS的入侵檢測(cè)則通過提取異常行為的特征,結(jié)合監(jiān)督學(xué)習(xí)算法來檢測(cè)網(wǎng)絡(luò)中的未知攻擊,因此能夠檢測(cè)新的或者未知的網(wǎng)絡(luò)攻擊行為,但其性能穩(wěn)定性常常受到分類器的影響。
非機(jī)器學(xué)習(xí)的入侵檢測(cè)方案是通過對(duì)存在的攻擊行為采用人工的方式進(jìn)行特征提取并生成相應(yīng)的規(guī)則進(jìn)行檢測(cè)。Jeffrey等人[6]提出基于云系統(tǒng)安全的網(wǎng)絡(luò)攻擊博弈框架:基于信號(hào)博弈挖掘云和設(shè)備之間的關(guān)聯(lián)性,融合博弈模型構(gòu)建攻防之間的博弈模型。Fronimos等人[7]通過分析LIHs(Low Interaction Honeypots,低交互蜜罐)的網(wǎng)絡(luò)早期攻擊特征,采用可用性和性能標(biāo)準(zhǔn)評(píng)估來檢測(cè)入侵行為。Guo等人[8]基于無線傳感網(wǎng)絡(luò)的已知攻擊行為提出一種多協(xié)議的中間入侵檢測(cè)系統(tǒng)。基于非機(jī)器學(xué)習(xí)的入侵檢測(cè)方案大多采用人工方式提取相關(guān)的特征進(jìn)行檢測(cè),因此對(duì)于海量數(shù)據(jù),該方法有些力不從心。
基于機(jī)器學(xué)習(xí)的入侵檢測(cè)是通過機(jī)器學(xué)習(xí)的方法提取數(shù)據(jù)的特征并進(jìn)行入侵檢測(cè)。Taeshik等人[9]針對(duì)SVM(Support Vector Machine,支持向量機(jī))的“維數(shù)災(zāi)難”問題,提出一種非監(jiān)督學(xué)習(xí)的改進(jìn)SVM方法,結(jié)果表明該方法降低了誤報(bào)率。許勐璠等人[10]針對(duì)現(xiàn)有方法檢測(cè)精度過低的問題,采用半監(jiān)督學(xué)習(xí)方法學(xué)習(xí)入侵特征,利用信息增益衡量數(shù)據(jù)特征對(duì)檢測(cè)性能的影響程度,提高了模型對(duì)未知攻擊類型的檢測(cè)性能。賈凡等人[11]利用卷積核提取網(wǎng)絡(luò)中正常的行為和異常的行為特征,最后采用多層感知機(jī)進(jìn)行分類。高妮等人[12]提出一種基于自編碼網(wǎng)絡(luò)的SVM檢測(cè)模型,采用自編碼網(wǎng)絡(luò)提取網(wǎng)絡(luò)數(shù)據(jù)的特征,再采用SVM對(duì)特征進(jìn)行分類。
上述方案大多從定性角度結(jié)合專家知識(shí)選取未知攻擊行為的特征,在一定程度上忽略一些重要的特征從而限制了模型精度的提升。除此之外,目前大多數(shù)機(jī)器學(xué)習(xí)算法都是基于公開的數(shù)據(jù)集KDD99或者NSLKDD,因此在實(shí)際網(wǎng)絡(luò)攻擊場(chǎng)景中的應(yīng)用性很有限。為了降低網(wǎng)絡(luò)入侵的漏報(bào)率和誤報(bào)率,本文借用人工智能算法中的自編碼網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行特征提取;然后,借助上一步獲得的向量初始化深度神經(jīng)網(wǎng)絡(luò)隱含層的參數(shù),并將處理后的原始數(shù)據(jù)放進(jìn)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試,構(gòu)建網(wǎng)絡(luò)入侵檢測(cè)模型。
自編碼網(wǎng)絡(luò)是Hinton[13]于2006提出的一種無監(jiān)督學(xué)習(xí)的算法,它使用了反向傳播的方法,讓目標(biāo)值等于輸入值,對(duì)高維的輸入數(shù)據(jù)進(jìn)行重構(gòu)并得出輸入數(shù)據(jù)的低維表示,從而實(shí)現(xiàn)數(shù)據(jù)降維的目標(biāo)。自編碼網(wǎng)絡(luò)實(shí)質(zhì)上是一種非線性學(xué)習(xí)雙向映射的網(wǎng)絡(luò),采用編碼器和解碼器實(shí)現(xiàn)數(shù)據(jù)的高低維度的轉(zhuǎn)換和重構(gòu)。
圖1是自編碼網(wǎng)絡(luò)的工作原理圖。自編碼網(wǎng)絡(luò)的核心結(jié)構(gòu)是編碼器和解碼器,編碼器的作用是實(shí)現(xiàn)高維數(shù)據(jù)的降維,解碼器的作用是實(shí)現(xiàn)低維數(shù)據(jù)的重構(gòu),這個(gè)“一高一低”,完美地演繹了高維數(shù)據(jù)空間和低維數(shù)據(jù)空間的雙向映射。編碼器和解碼器中間存在一個(gè)代碼層,其作用是將高維數(shù)據(jù)輸入到編碼器中被壓縮后的低維表示。
圖1 自編碼網(wǎng)絡(luò)的工作原理
自動(dòng)編碼網(wǎng)絡(luò)作為一種無監(jiān)督逐層貪婪學(xué)習(xí)系統(tǒng)參數(shù)的神經(jīng)網(wǎng)絡(luò),能夠從無標(biāo)簽、非線性、高維度的輸入數(shù)據(jù)中提取數(shù)據(jù)不同層次的特征,并實(shí)現(xiàn)原始高維數(shù)據(jù)的低維特征表示。自動(dòng)編碼網(wǎng)絡(luò)由輸入層、隱含層以及輸出層表示。隱含層的主要任務(wù)是對(duì)輸入數(shù)據(jù)進(jìn)行編碼,輸出層的任務(wù)則是對(duì)隱含層的低維表示進(jìn)行解碼重構(gòu),使得重構(gòu)的數(shù)據(jù)與原始輸入的數(shù)據(jù)誤差最小。
從圖2可知,如果隱含層的矢量h(i)通過解碼器得到重構(gòu)的矢量x(i),與原始的輸入誤差較小,則可認(rèn)為編碼器保留了大部分的信息。但是由于網(wǎng)絡(luò)底層連接記錄數(shù)據(jù)往往包含一定的噪音,因此,需要對(duì)自編碼器的隱含層加入稀疏的限制,也就是針對(duì)激活函數(shù)進(jìn)行控制,實(shí)現(xiàn)隱含層大多數(shù)的神經(jīng)元處于“非活躍”狀態(tài),少數(shù)神經(jīng)元處于“活躍”狀態(tài)。
圖2 自編碼網(wǎng)絡(luò)的模型結(jié)構(gòu)
假設(shè)網(wǎng)絡(luò)底層連接記錄數(shù)據(jù)為X={x(1), x(2), x(3),…, x(n)},其中n為無標(biāo)簽樣本數(shù)據(jù)的個(gè)數(shù)。由于網(wǎng)絡(luò)入侵的類型有多種,但其最終可反映到底層網(wǎng)絡(luò)連接記錄數(shù)據(jù)的變化。因此,在對(duì)網(wǎng)絡(luò)底層連接記錄數(shù)據(jù)進(jìn)行編碼之前,對(duì)網(wǎng)絡(luò)底層連接記錄數(shù)據(jù)進(jìn)行歸一化處理,以減少特征的重要程度受到數(shù)值的影響,本文采用的歸一化方案采用最小-最大值標(biāo)準(zhǔn)法,將網(wǎng)絡(luò)底層連接記錄數(shù)據(jù)的大小范圍縮小到[0,1]之間。
對(duì)網(wǎng)絡(luò)底層連接記錄數(shù)據(jù)進(jìn)行編碼的過程就是通過隱含層將每一個(gè)無標(biāo)簽訓(xùn)練樣本k維矢量x(i)'映射成m維的編碼矢量h(i)。假設(shè)表示連接第l層第j個(gè)神經(jīng)元和第l+1層第i個(gè)神經(jīng)元權(quán)重系數(shù),表示第i個(gè)神經(jīng)元的偏置,表示第l+1層第i個(gè)神經(jīng)元的輸入值加權(quán)和,那么的表達(dá)式為:
根據(jù)自編碼網(wǎng)絡(luò)的模型結(jié)構(gòu)可知,輸入層到隱含層的轉(zhuǎn)換一般通過sigmoid函數(shù)實(shí)現(xiàn),而隱含層到輸出層的轉(zhuǎn)換則通過線性函數(shù)或者sigmoid函數(shù)進(jìn)行數(shù)據(jù)重構(gòu),重構(gòu)的誤差函數(shù)表示為:
對(duì)于稀疏函數(shù)sigmoid,如果隱含層某個(gè)神經(jīng)元輸出的值接近1,則該單元處于“活躍”狀態(tài),相反,則處于“非活躍”狀態(tài)。為了實(shí)現(xiàn)“稀疏”的目的,通過抑制隱含層的大多數(shù)神經(jīng)元并讓其處于“非活躍”的狀態(tài),假設(shè)aj(x)是第j個(gè)單元的激活量,那么n個(gè)無標(biāo)簽網(wǎng)絡(luò)底層連接記錄數(shù)據(jù)樣本的平均激活量為:
為了使大多數(shù)神經(jīng)元處于“非激活”的狀態(tài),需要讓?duì)裗逼近一個(gè)接近于0的常數(shù)ρ,ρ一般稱為系數(shù)常數(shù)。為了實(shí)現(xiàn)網(wǎng)絡(luò)神經(jīng)元的“稀疏”的目的,傳統(tǒng)的做法是在自編碼器代價(jià)函數(shù)加入系數(shù)懲罰項(xiàng),以此來懲罰偏離ρ。選KL離散度函數(shù)[14]作為PN的表達(dá)式:
其中,s2代表隱含層的單數(shù)數(shù)量,與ρ間的相對(duì)熵,相對(duì)熵測(cè)量?jī)蓚€(gè)分布之間的差異性。由于相對(duì)熵是凸函數(shù),當(dāng)時(shí),KL達(dá)到最小值。KL的值隨著偏離ρ逐漸增大。
為了實(shí)現(xiàn)稀疏性的限制,定義代價(jià)目標(biāo)函數(shù)為:
其中,n為樣本的數(shù)量,nl為自編碼神經(jīng)網(wǎng)絡(luò)的層數(shù),λ為規(guī)則化系數(shù),x(i)''為第i組樣本在深度神經(jīng)網(wǎng)絡(luò)輸出層的輸出值,β為稀疏性限制懲罰項(xiàng)的系數(shù)。上述公式由三部分組成,分別是均方差項(xiàng)、規(guī)則化項(xiàng)、懲罰項(xiàng)。其中凸函數(shù)的表達(dá)式如下:
公式(6)均方差項(xiàng)和規(guī)則化項(xiàng)為非凸函數(shù),通常采用批量梯度下降的方法對(duì)其進(jìn)行求解。采用BP算法的原理,自編碼網(wǎng)絡(luò)(其中激活函數(shù)采用sigmoid函數(shù))各層的殘差向量的計(jì)算方式為:
當(dāng)解碼器使用線性函數(shù)時(shí)得到a3=z3,a3(1-a3)=1,那么,σ3=-(x-a3)。那么自編碼神經(jīng)網(wǎng)絡(luò)的權(quán)重向量和偏置向量的梯度下降方向?yàn)椋?/p>
其中l(wèi)=1, 2。在算法滿足一定的準(zhǔn)確率或者達(dá)到指定迭代次數(shù)時(shí),隱含層神經(jīng)元獲得高維數(shù)據(jù)的學(xué)習(xí)特征,那就意味著稀疏自編碼深度神經(jīng)網(wǎng)絡(luò)已經(jīng)訓(xùn)練好對(duì)應(yīng)的權(quán)值向量w和偏置向量b。
為了實(shí)現(xiàn)網(wǎng)絡(luò)入侵的監(jiān)測(cè),將具有無監(jiān)督學(xué)習(xí)特點(diǎn)的稀疏自編碼網(wǎng)絡(luò)和具有監(jiān)督學(xué)習(xí)的深度神經(jīng)網(wǎng)絡(luò)相結(jié)合。稀疏自編碼神經(jīng)網(wǎng)絡(luò)采用非監(jiān)督學(xué)習(xí)的方法學(xué)習(xí)到網(wǎng)絡(luò)入侵的特征,并學(xué)習(xí)到特征參數(shù)——權(quán)值向量w和偏置向量b;然后把上一步獲得的特征參數(shù)作為深度神經(jīng)網(wǎng)絡(luò)的初始化參數(shù),并通過帶有標(biāo)簽的訓(xùn)練樣本對(duì)特征參數(shù)進(jìn)行微調(diào),完成深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,獲得入侵網(wǎng)絡(luò)行為的有效特征表達(dá)。需要指出的是,本文模型的分類結(jié)果并不是傳統(tǒng)的logistic解決的二分類結(jié)果,而是基于softmax的多分類結(jié)果,也就是模型不僅能夠診斷入侵行為,還能給出入侵的類型。這樣做的目的是能夠在一定程度上精細(xì)化分類標(biāo)簽,有利于模型的更新學(xué)習(xí)。本文的深度學(xué)習(xí)網(wǎng)絡(luò)流程圖如圖3所示。
根據(jù)圖3將步驟總結(jié)如下:
(1)采集網(wǎng)絡(luò)連接記錄,一般來說,網(wǎng)絡(luò)的連接記錄統(tǒng)計(jì)了網(wǎng)絡(luò)連接的基本信息、連接內(nèi)容和連接流量信息。上述的連接記錄包括40多個(gè)特征,比如:IP信息、連接次數(shù)、連接日期等等。
(2)在原始帶標(biāo)簽樣本中隨機(jī)選擇30%作為訓(xùn)練樣本,剩余的70%作為測(cè)試樣本,然后對(duì)訓(xùn)練樣本和測(cè)試樣本進(jìn)行歸一化的預(yù)處理。
圖3 深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的流程圖
(3)對(duì)預(yù)處理的訓(xùn)練樣本采用無監(jiān)督學(xué)習(xí)的方法進(jìn)行訓(xùn)練,采用批量訓(xùn)練和梯度下降的方法獲得權(quán)重和偏置。
(4)將訓(xùn)練好的稀疏自編碼網(wǎng)絡(luò)得到的最優(yōu)隱含層的參數(shù)w和b用于初始化深度神經(jīng)網(wǎng)絡(luò)隱含層的參數(shù)。
(5)根據(jù)網(wǎng)絡(luò)入侵的類型,選用softmax分類器作為深度神經(jīng)網(wǎng)絡(luò)的輸出。
(6)用帶標(biāo)簽的訓(xùn)練樣本以及學(xué)習(xí)好的特征,采用監(jiān)督學(xué)習(xí)的方法,利用BP算法微調(diào)整個(gè)深度神經(jīng)網(wǎng)絡(luò)的參數(shù),得到一個(gè)最佳的w和b,完成整個(gè)深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。
(7)將帶標(biāo)簽的測(cè)試樣本輸入到已經(jīng)訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)模型,利用神經(jīng)網(wǎng)絡(luò)的多分類器輸出網(wǎng)絡(luò)入侵的類型,實(shí)現(xiàn)網(wǎng)絡(luò)入侵檢測(cè)。
本文利用稀疏自編碼深度神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)絡(luò)入侵的檢測(cè)。首先,利用非監(jiān)督學(xué)習(xí)的方法自動(dòng)提取網(wǎng)絡(luò)底層連接記錄數(shù)據(jù)的學(xué)習(xí)特征并得到深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)初始化參數(shù);然后將學(xué)習(xí)好的特征參數(shù)對(duì)帶有標(biāo)簽的訓(xùn)練集進(jìn)行訓(xùn)練,采用BP算法微調(diào)整個(gè)深度神經(jīng)網(wǎng)絡(luò)的參數(shù);最后,將測(cè)試樣本輸入到已經(jīng)訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)網(wǎng)絡(luò)入侵的監(jiān)測(cè)。
在實(shí)際應(yīng)用場(chǎng)景中,黑客可能利用系統(tǒng)框架、lib漏洞進(jìn)行攻擊,非法獲取系統(tǒng)權(quán)限,獲取私密信息。利用獲取到的用戶訪問Token,向服務(wù)器提交非法數(shù)據(jù),或者提交非常大的數(shù)據(jù),拖垮系統(tǒng)服務(wù),導(dǎo)致服務(wù)不可用。本文基于電信政企專線開通透明化系統(tǒng),利用稀疏自編碼深度神經(jīng)網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)連接記錄數(shù)據(jù)(重點(diǎn)是輸入流量)進(jìn)行學(xué)習(xí)和特征分析,并采用深度神經(jīng)網(wǎng)絡(luò)對(duì)學(xué)習(xí)到的特征進(jìn)行分類??偣蔡崛【W(wǎng)絡(luò)連接記錄8 326條,其中無標(biāo)簽數(shù)據(jù)1 126條,有標(biāo)簽訓(xùn)練集5 065條,有標(biāo)簽測(cè)試集2 135條。實(shí)驗(yàn)數(shù)據(jù)集合如表1所示。
實(shí)驗(yàn)數(shù)據(jù)包括了4種常見的網(wǎng)絡(luò)入侵行為(包括Dos、R2L、U2R以及Root權(quán)限訪問以及Probing端口監(jiān)視或掃描)和正常的網(wǎng)絡(luò)行為的三種不同類型的數(shù)據(jù)。其中,無標(biāo)簽數(shù)據(jù)集用于稀疏自編碼網(wǎng)絡(luò)的特征學(xué)習(xí),學(xué)習(xí)到5個(gè)類別(4種異常和1種正常)的網(wǎng)絡(luò)行為數(shù)據(jù)之間的相關(guān)性;有標(biāo)簽的訓(xùn)練集用于深度神經(jīng)網(wǎng)絡(luò)softmax分類器的訓(xùn)練,得到一個(gè)經(jīng)過微調(diào)的權(quán)值向量和偏置向量;有標(biāo)簽測(cè)試集是用來測(cè)試已經(jīng)訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確率。
表1 實(shí)驗(yàn)數(shù)據(jù)集合
首先,通過python工具構(gòu)建傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)和稀疏自編碼深度神經(jīng)網(wǎng)絡(luò),其中BP神經(jīng)網(wǎng)絡(luò)隱含層的神經(jīng)元數(shù)量分別為200和400。同理,自編碼深度神經(jīng)網(wǎng)絡(luò)的輸入層和輸出層的神經(jīng)元數(shù)量均為200,隱含層e神經(jīng)元數(shù)量為400。本文試驗(yàn)重復(fù)進(jìn)行共10次,每次試驗(yàn)迭代次數(shù)為100次。實(shí)驗(yàn)對(duì)比結(jié)果如圖4所示:
圖4 多種算法試驗(yàn)重復(fù)實(shí)驗(yàn)10次的準(zhǔn)確率
從圖4可知,在BP神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元數(shù)量(192個(gè))等于稀疏深度神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元數(shù)量的情況下,稀疏深度神經(jīng)網(wǎng)絡(luò)在進(jìn)行10次試驗(yàn)后的平均準(zhǔn)確率高于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)。在BP神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元數(shù)量(400個(gè))等于稀疏深度神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元數(shù)量的情況下,稀疏深度神經(jīng)網(wǎng)絡(luò)在進(jìn)行10次試驗(yàn)后的平均準(zhǔn)確率同樣高于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)。而且,隱含層的神經(jīng)元不是越多越好,在大多數(shù)情況下會(huì)產(chǎn)生過擬合的現(xiàn)象。
同時(shí),本文模型的損失函數(shù)和迭代次數(shù)的關(guān)系圖如圖5所示,在設(shè)置的100次迭代次數(shù)的訓(xùn)練中,當(dāng)模型迭代到第8次時(shí),損失函數(shù)已經(jīng)接近于0。
圖5 損失函數(shù)與迭代次數(shù)的關(guān)系
本文建立的基于稀疏自編碼深度神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域,該網(wǎng)絡(luò)利用稀疏自編碼網(wǎng)絡(luò)的優(yōu)勢(shì),采用非監(jiān)督學(xué)習(xí)的系數(shù)自編碼網(wǎng)絡(luò)提取網(wǎng)絡(luò)連接記錄數(shù)據(jù)的特征,并在自編碼網(wǎng)絡(luò)的隱含層得出深度學(xué)習(xí)網(wǎng)絡(luò)的初始化參數(shù),然后將學(xué)習(xí)好的特征參數(shù)對(duì)有標(biāo)簽的訓(xùn)練集,采用BP算法微調(diào)整個(gè)深度神經(jīng)網(wǎng)絡(luò)的參數(shù),構(gòu)建深度神經(jīng)網(wǎng)絡(luò)多分類模型。實(shí)驗(yàn)結(jié)果顯示,本文提出的算法較傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)具有較高的準(zhǔn)確率。該實(shí)驗(yàn)結(jié)果將有利于降低網(wǎng)絡(luò)監(jiān)測(cè)的誤報(bào)率。實(shí)驗(yàn)證明,基于稀疏自編碼深度神經(jīng)網(wǎng)絡(luò)模型可以取代傳統(tǒng)的機(jī)器學(xué)習(xí)方法,為未來的入侵檢測(cè)系統(tǒng)的研究提供了一種新的方法和設(shè)計(jì)思路。