廣東,珠海,無線數(shù)據(jù)集器設(shè)備供應(yīng)廠家-眾恒測控
摘要:針對無線傳感器網(wǎng)絡(luò)中的入侵檢測問題,為將網(wǎng)絡(luò)中的資源消耗保持在最低限度的同時實現(xiàn)高檢測率和低誤報率,提出了一種適用于無線傳感器網(wǎng)絡(luò)的基于時空壓縮的神經(jīng)自編碼模型,改進了傳統(tǒng)的節(jié)點感知數(shù)據(jù)處理方法,達到了實時提取數(shù)據(jù)特征的效果。實驗仿真使用NSL-KDD數(shù)據(jù)集,與支持向量機、主成分分析算法進行了對比實驗。結(jié)果表明,降維至16維時,該模型的入侵檢測正確率和 值分布分別提高了7.84%和15.3%。
正文內(nèi)容:
0 引言
隨著無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)的應(yīng)用領(lǐng)域愈加廣泛,WSNs中的入侵檢測問題開始倍受關(guān)注[1]。由于WSNs中的大部分能量被消耗在數(shù)據(jù)通信過程而非節(jié)點計算過程,面對WSNs中大面積的節(jié)點部署和實時數(shù)據(jù)感知,“數(shù)據(jù)災(zāi)難”問題無疑會導(dǎo)致傳輸能耗量大,甚至由于入侵檢測復(fù)雜度的增加而影響精確度。因此,傳感器節(jié)點在數(shù)據(jù)傳輸前進行處理、壓縮顯得尤為重要。由于WSNs自身時間、空間數(shù)據(jù)關(guān)聯(lián)度的特點,張鵬、李力等[2-3]提出了基于空間關(guān)聯(lián)性的檢測模型,但只是使用簡單的機器學(xué)習(xí)分類算法在傳感器節(jié)點進行異常檢測,不能解決傳感器中“數(shù)據(jù)災(zāi)難”的問題。目前,解決WSNs中“數(shù)據(jù)災(zāi)難”問題的主流方式是通過數(shù)據(jù)降維來減少數(shù)據(jù)傳輸量。傳統(tǒng)數(shù)據(jù)降維法主要以數(shù)據(jù)關(guān)聯(lián)的統(tǒng)計法[4-5]和近年流行的基于機器學(xué)習(xí)的主成分分析(Principal Com-ponent Analysis,PCA)[6-7]為主。統(tǒng)計法主要根據(jù)數(shù)據(jù)之間概率分布而推算數(shù)據(jù)關(guān)系再進行降維,因此計算復(fù)雜度高,而PCA不能解決非線性數(shù)據(jù)降維的問題。針對以上不足,本文將Hinton提出的非線性降維的自編碼神經(jīng)網(wǎng)絡(luò)(Autoencoder,AE)[8]應(yīng)用到WSNs中,提出了基于時空關(guān)聯(lián)的自編碼(Temporal-Spatial Autoencoder,TS-AE)神經(jīng)網(wǎng)絡(luò)模型進行特征降維,提取出了更能反映數(shù)據(jù)本質(zhì)的抽象特征以減小數(shù)據(jù)冗余,同時減小了節(jié)點前數(shù)據(jù)傳輸量,節(jié)約了能耗,增強了入侵檢測的預(yù)測能力。
1 入侵檢測系統(tǒng)模型
文中采用文獻[9]提出的基于簇的層次化無線傳感器網(wǎng)絡(luò)拓撲,如圖1所示。
單位時間內(nèi),上層傳感器節(jié)點(簇頭節(jié)點)從對應(yīng)的下層鄰居節(jié)點(簇內(nèi)子節(jié)點)收集發(fā)送的感知數(shù)據(jù)進行壓縮,并且相應(yīng)的下層鄰居節(jié)點將在傳輸前獨立壓縮自己的冗余數(shù)據(jù)。此外,假設(shè)網(wǎng)絡(luò)拓撲由一組時間同步的傳感器組成,拓撲中每個節(jié)點功能以及轉(zhuǎn)發(fā)下一跳的目標如表1所示。
無線傳感器網(wǎng)絡(luò)入侵檢測模型如圖2所示。
它主要包括以下三個步驟。
(1)時間壓縮:時間壓縮也稱為傳感器壓縮,是對特定位置單個簇內(nèi)子節(jié)點隨時間的測量形成的數(shù)據(jù)的壓縮。具體模型步驟中,簇內(nèi)各個傳感器子節(jié)點感知信息后,將單位時間內(nèi)感知的數(shù)據(jù)分批進行預(yù)處理,包括計算丟失值、歸一化處理等。之后,對預(yù)處理的數(shù)據(jù)進行數(shù)據(jù)壓縮,即時間壓縮。
(2)空間壓縮:空間壓縮也稱為傳感器間壓縮,是對特定時刻簇頭節(jié)點收集來自組內(nèi)多個傳感器節(jié)點空間數(shù)據(jù)的壓縮。具體模型步驟中,各簇內(nèi)傳感器子節(jié)點處理、壓縮感知信息并向簇頭發(fā)送感知內(nèi)容后,等待簇頭收集完簇內(nèi)節(jié)點數(shù)據(jù),并將數(shù)據(jù)融合后進行空間壓縮,最終將壓縮后的數(shù)據(jù)傳輸?shù)交尽?/span>
(3)入侵檢測:在基站處對各個簇頭節(jié)點壓縮處理后的子數(shù)據(jù)集使用由Vapnik[10]提出的支持向量機(Support Vector Machine,SVM)進行入侵檢測。文獻[11-12]曾證明了SVM可有效避免經(jīng)典學(xué)習(xí)方法中出現(xiàn)的過學(xué)習(xí)、易陷入局部極小點等問題。當檢測出入侵數(shù)據(jù)時,它可對網(wǎng)絡(luò)管理員進行警報,打印相應(yīng)數(shù)據(jù)包的時間、位置等傳感器節(jié)點信息,待管理員做進一步處理。
2 壓縮算法原理簡介
自動編碼器是一個典型的三層神經(jīng)網(wǎng)絡(luò),以無監(jiān)督模式通過特征提取來實現(xiàn)數(shù)據(jù)壓縮,特別是對大規(guī)模數(shù)據(jù)集有較好的優(yōu)化性能。
在網(wǎng)絡(luò)中第一層輸入。將其映射到中間的隱藏層表示為,然后“重建”得到。如圖3所示,向量滿足:
在每個輸入數(shù)據(jù)和重構(gòu)之間的誤差最小化來優(yōu)化該模型的參數(shù)的過程中,將自動編碼器的代價函數(shù)定義為:
最后,代價函數(shù)通過標準優(yōu)化算法如常見的L-BFGS訓(xùn)練出最優(yōu)參數(shù)。
多次組合自編碼神經(jīng)網(wǎng)絡(luò),即把網(wǎng)絡(luò)中當前層的輸出作為下一層的輸入,構(gòu)成堆棧自編碼神經(jīng)網(wǎng)絡(luò)的深度結(jié)構(gòu),如圖4所示。訓(xùn)練時,可以利用貪婪逐層訓(xùn)練算法初始化網(wǎng)絡(luò)參數(shù),并使用反向傳播算法微調(diào),優(yōu)化整體性能。該訓(xùn)練算法首先利用無標簽的樣本訓(xùn)練網(wǎng)絡(luò)第一隱層hl 得到其參數(shù)(W1,b1) ;然后,將該層的輸出作為第二隱層hl 的輸入,繼續(xù)訓(xùn)練得到(W2,b2) ;以此類推,直到完成預(yù)訓(xùn)練。最后,通過反向傳播算法調(diào)整所有層的參數(shù),對隱藏單元抽象的特征做進一步調(diào)整。當輸出層的輸出數(shù)據(jù)Z 和輸入層的輸入數(shù)據(jù)X 接近到一定程度時,將證明網(wǎng)絡(luò)保留了原始數(shù)據(jù)的大部分信息。此時,自動編碼神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成。
3 仿真實驗結(jié)果與分析
3.1 實驗數(shù)據(jù)集
KDD Cup 1999是無線傳感器網(wǎng)絡(luò)入侵檢測常用數(shù)據(jù)集[13-14]。本文實驗使用NSL-KDD數(shù)據(jù)集,是一種處理KDD Cup 1999過多冗余重復(fù)的數(shù)據(jù)記錄而導(dǎo)致分類結(jié)果誤差問題的數(shù)據(jù)集。數(shù)據(jù)中每個記錄包含各種連續(xù)、離散和符號類型的41維特征數(shù)據(jù)(含40個特征值和一個標簽)。訓(xùn)練數(shù)據(jù)集的攻擊類別分布如表2所示。
針對NSL-KDD公共數(shù)據(jù)集四種攻擊與Normal分別進行入侵檢測分類。考慮到數(shù)據(jù)總樣本數(shù)和平衡率,將數(shù)據(jù)集中的攻擊數(shù)據(jù)均標記為Abnormal。表3是分類組合后的樣本信息,其中攻擊類為正類,正常數(shù)據(jù)類為負類。
3.2 實驗與結(jié)果分析
實驗使用TensorFlow和Sklearn學(xué)習(xí)框架,在linux操作系統(tǒng)下使用3.40 GHz的Intel Core i7 CPU和8 GB RAM的機器運行。實驗設(shè)置稀疏自編碼神經(jīng)網(wǎng)絡(luò)為5層,隨機初始化網(wǎng)絡(luò)參數(shù)W1 和b1 ,學(xué)習(xí)速率設(shè)為0.01,采用十折交叉驗證法。神經(jīng)自編碼訓(xùn)練時采用L-BFGS優(yōu)化代價函數(shù),迭代次數(shù)設(shè)置為512次,且每層使用Sigmoid作為激活函數(shù)。在數(shù)據(jù)預(yù)處理后,分類模型SVM的懲罰因子C =1[15],徑向基(RBF)核函數(shù),并設(shè)核參數(shù)r=1/k ,其中k 是輸入數(shù)據(jù)的特征數(shù)。
為了驗證本文提出的TS-AE特征提取的性能,實驗主要與以下3個分類模型進行對比:
(1)直接使用SVM算法對未進行預(yù)處理的原始數(shù)據(jù)進行分類;
(2)先通過PCA進行特征提取,再由SVM算法進行分類;
(3)先使用TS-AE提取特征,再用SVM算法進行分類。
其中,每組實驗均分兩次壓縮,以此模擬基于時間和空間壓縮的概念模型。
3.2.1 實驗一:不同方法對比
為了驗證算法的有效性,表4列出了SVM、PCA+SVM和TS-AE+SVM這3種方法下的檢測正確率。實驗過程中使用試湊法先確定每個輸出層的節(jié)點個數(shù),同時設(shè)置隱藏層節(jié)點數(shù)初始值為35,并按照步長5依次遞減至10,初步判斷某個區(qū)域的檢測正確率。
由4中的正確率結(jié)果可以直觀看出,使用PCA或者TS-AE壓縮算法相對于直接使用SVM正確率均有明顯提高。同時,在相同維度變化下,使用TS-AE+SVM比PCA+SVM能取得更高的正確率,這也說明使用TS-AE壓縮算法比PCA算法效果好。
3.2.2 實驗二:最佳壓縮維度研究
在表3中發(fā)現(xiàn),當壓縮至35、30、25、20和10維時,雖然使用TS-AE壓縮算法正確率有所提高,但提高幅度并不樂觀,且維度在15維附近時正確率最高。為了更好地研究15維度附近的正確率和誤報率變化,找出最佳壓縮維度,表5主要列出了從20維開始,以步長2依次遞減至12維時使用PCA和TS-AE壓縮后的F1 變化,第二層維度以27作為中間維度變化來做參照值。
由表5可以看出,使用TS-AE相對于PCA具有更大的F1 值。特別當維度下降到16維時,F(xiàn)1 值明顯增高,相對于PCA壓縮算法增大了15.30%。同時,為進一步比較壓縮至16維時的正確率,實驗中分別計算壓縮到16維時的正確率,得到PCA+SVM下正確率為88.03%,TS-AE+SVM下正確率為93.01%。可見,后者比前者正確率提高了7.84%。
3.2.3 實驗三:最佳壓縮維度下ROC圖和二維可視化圖
當降維到16維時,實驗得到3種檢測模型的ROC曲線[16],如圖5所示。
從ROC曲線可知,當壓縮至16維時,在同一誤報率下,TS-AE相對于PCA降維方法、SVM分類模型有著較高的準確率。實驗中,數(shù)據(jù)壓縮前后入侵與正常節(jié)點分布的二維可視化效果圖如圖6所示。
根據(jù)所有實驗結(jié)果對比可以看出,提出的TS-AE模型相對于傳統(tǒng)特征提取模型,對網(wǎng)絡(luò)中的入侵檢測結(jié)果效果更好。雖然在壓縮節(jié)點數(shù)過高或者過低時,效果提升不明顯,但這可能是維度變化不大時對數(shù)據(jù)處理的效果起不到良好的效果,而當壓縮維度過低時,可能會導(dǎo)致數(shù)據(jù)失真。文中實驗最終得到,當壓縮至16維時,TS-AE模型有著最好的檢測效果。
4 結(jié) 語
本文針對無線傳感器網(wǎng)絡(luò)入侵數(shù)據(jù)檢測中“數(shù)據(jù)災(zāi)難”導(dǎo)致的一系列問題,提出了一種基于時空關(guān)聯(lián)的檢測模型,并使用神經(jīng)自編碼進行特征降維的入侵檢測算法。實驗表明,TS-AE算法在某個臨界維度可以有效提高入侵檢測的正確率,使得網(wǎng)絡(luò)性能更加穩(wěn)定。此外,由于數(shù)據(jù)傳輸量的減少,也降低了能耗。但是,由于臨界維度的限制,實際應(yīng)用中必須事先對整個網(wǎng)絡(luò)模型進行訓(xùn)練,以找到降低維度的最佳數(shù)目。