崔珂 付麗霞 張勇 毛劍琳 任玉潔

摘要:伴隨物聯網的迅速發展,網絡安全問題變得越來越重要。早期采用的傳統BP神經網絡算法存在一些致命缺點,如收斂速度較慢、無法跳出局部最優陷阱等。針對傳統BP神經網絡的問題,選用差分進化算法(DE),通過差分進化算法與神經網絡融合,優化BP神經網絡的權值、閾值,使BP神經網絡的學習能力和差分進化算法的全局搜索優勢都得到充分發揮,仿真實驗證明了該方法的有效性。
關鍵詞:入侵檢測;差分進化;BP神經網絡
DOI:10.11907/rjdk.173075
中圖分類號:TP319
文獻標識碼:A文章編號:1672-7800(2018)007-0173-03
Abstract:Withtherapiddevelopmentoftheinternetofthings,theissueofnetworksecurityhasbecomemoreandmoreimportant.theearlytraditionalBPneuralnetworkalgorithmsuffersfromsomefatalflaws,suchasslowconvergence,inabilitytojumpoutofthelocaloptimaltrapandotherdefects.Therefore,inthispaper,thedifferentialevolution(DE)algorithmischosentosolvetheproblemsatthetraditionalBPneuralnetwork.Bycombiningthedifferentialevolutionalgorithmwiththeneuralnetwork,theweightsandthresholdsoftheBPneuralnetworkareoptimizedsothatthelearningabilityanddifferenceoftheBPneuralnetworkandtheglobalsearchadvantageofevolutionaryalgorithmarefullyexerted,andthesimulationresultsshowtheeffectivenessofthismethod.
KeyWords:intrusiondetection;differentialevolution;BPneuralnetwork
0引言
隨著網絡的發展,網絡入侵事件越來越多,將人工神經網絡引入入侵檢測是近年研究的重點,相關研究較多。如:MansouriM、GolsefidMT等[1]提出了基于多層人工神經網絡和智能特征選擇的混合入侵檢測系統;JoS、SungH等[2]使用決策樹和人工神經網絡模型對入侵檢測性能進行分析;AmrutaM、TalharN等[3]使用人工神經網絡對有線局域網進行有效的拒絕服務攻擊檢測;徐振華[4]使用BP神經網絡對分布式入侵檢測模型進行了研究;沈夏炯、王龍等[5]使用人工蜂群對BP神經網絡在入侵檢測中的應用進行了研究。本文針對傳統BP人工神經網絡存在收斂速度慢、容易陷入局部極值等問題,使用差分進化算法(DE)對其進行改進,以解決傳統BP人工神經網絡存在的問題。
1BP人工神經網絡
BP人工神經網絡[6]是通過模仿人腦神經元細胞工作方式建立的一種仿生物學算法。BP神經網絡是由大量簡單元件——神經元相互聯接而成的自適應非線性動態系統。每個神經元結構和功能相對簡單,但大量神經元組合產生的系統行為非常復雜。因此,其在模式識別、故障診斷、圖像處理等領域得到了廣泛應用。
BP人工神經網絡工作過程為:工作信號正向傳播與誤差信號反向傳播。在BP神經網絡中一般采用輸入層、隱藏層、輸出層三層神經網絡結構,如圖1所示。工作信號正向傳播時,假設節點i和節點j之間的權值為ωij,節點j的閾值為bj,每個節點的輸出值為Sj,Sj是根據上層所有節點的輸出值、當前節點與上一層所有節點的權值和當前節點的閾值及激活函數實現的,計算公式如下:
其中f為S型激勵函數。誤差信號反向傳播時,將輸出誤差按原路反向傳遞計算,通過隱藏層反向,直至輸入層。在反向傳遞過程中將誤差分攤到各層單元,并將其作為修正各單元權值及閾值的依據。使用梯度下降法完成,從而對神經網絡的權值及閾值進行不斷調整,達到誤差精度要求。
2差分進化算法(DE)
差分進化[7-10]開始時,隨機產生一個初始種群,主要過程包括變異、交叉和選擇3個步驟。基本思想是從某一組隨機產生的初始種群開始,隨機選擇兩個不同的個體向量相減產生差分向量,將差分向量賦予權值后與第3個隨機選擇的個體向量相加,產生變異向量。然后將變異向量與預先確定的父代個體向量按一定規則交叉產生試驗向量。若試驗向量的適應度值優于父代個體向量的適應度值,則選用試驗向量進入下一代,否則保留父代個體向量。通過不斷進化,保留優勝個體,引導搜索過程向最優解逼近。
2.1差分進化算法步驟
(1)初始化種群。
3入侵檢測模型建立
差分算法主要控制種群規模NP、縮放因子F、交叉概率CR這3個參數[11-12]。若參數設置不合理,就有可能造成過度強調搜索能力導致搜索停滯,或者過度強調種群規模導致過早收斂,這些都不是所期望的。因此,根據前人經驗,參數選擇可使用經驗法。種群規模NP選擇一般為[5D,10D]之間,放縮因子F一般為[0.5,1]之間,交叉概率CR為[0.8,1]之間,這樣可以使尋優率和收斂速度都得到較高保證[13]。
本文對BP人工神經網絡使用差分進化算法優化,流程如圖2所示。偽代碼實現如下:
(4)得到最優的參考向量XG作為BP人工神經網絡的連接權值閾值參數
(5)訓練BP神經網絡,進行預測,計算誤差
4實驗結果分析
4.1數據預處理
本文選用KDD99數據作為數據源,數據集由500萬條記錄構成,提供了10%的訓練子集和測試子集[14],每條記錄都包含41個特征屬性,加上最后的標記(label)一共42項。這些特征屬性分為4大類,分別是:TCP連接基本特征(共9種)、TCP連接內容特征(共13種)、基于時間的網絡流量統計特征(共9種)、基于主機的網絡流量統計特征(共10種)。本文針對Dos攻擊和Probing攻擊,提取18個特征作為神經網絡的輸入特征向量,對于輸出向量以標志位判斷是否受到攻擊。這18個特征存在3個字符串特征向量,因此對這3個字符串特征向量進行數值化編碼。如對service這一特征中存在的66個不同類型的服務進行編碼時,令“http”為0,“smtp”為1,編碼方式如表1所示。
為了降低部分較大數據對較小數據的影響,加快梯度下降求解速度以及提高精度,有必要對數據進行歸一化處理。本文采用min—max標準歸一化方式,將數據結果映射到[0-1]之間[15]。轉換函數如下:
4.2仿真結果分析
BP人工神經網絡輸入層設置節點18個,隱含層節點37個,輸出層節點1個。因為所使用的數據量較大,所以隨機抽取部分樣本數據14822個作為訓練樣本,測試樣本4941個。先使用傳統BP人工神經網絡建立入侵檢測模型,之后引入差分進化算法優化入侵檢測模型并進行仿真實驗,分別得到仿真實驗的誤差均方差與迭代次數關系。從圖3和圖4可以看出,改進后的均方差誤差得到明顯降低,收斂速度明顯提高,在10次時快速收斂。
5結語
本文使用差分算法優化BP神經網絡的權值、閾值,克服了BP神經網絡陷入局部最優和收斂速度慢的問題,使BP神經網絡的學習能力得到充分發揮,同時使差分進化算法的全局搜索優勢得到體現,能較好地應用于入侵檢測問題。
參考文獻:
[1]MANSOURIM,GOLSEFIDMT,NEMATBAKHSHN.Ahybridintrusiondetectionsystembasedonmultilayerartificialneuralnetworkandintelligentfeatureselection[J].ArchivesofMedicalResearch,2015,44(4):266-272.
[2]JOS,SUNGH,AHNB.Acomparativestudyontheperformanceofintrusiondetectionusingdecisiontreeandartificialneuralnetworkmodels[J].InternationalJointConferenceSOCO′16-CISIS16-ICEUTE16,2016,11(4):33-45.
[3]AMRUTAM,TALHARN.Effectivedenialofserviceattackdetectionusingartificialneuralnetworkforwiredlan[C].InternationalConferenceonSignalProcessing,Communication,PowerandEmbeddedSystem.IEEE,2017:229-234.
[4]徐振華.基于BP神經網絡的分布式入侵檢測模型改進算法研究[J].網絡安全技術與應用,2016(2):77-78.
[5]沈夏炯,王龍,韓道軍.人工蜂群優化的BP神經網絡在入侵檢測中的應用[J].計算機工程,2016,42(2):190-194.
[6]周政.BP神經網絡的發展現狀綜述[J].山西電子技術,2008(2):90-92.
[7]劉波,王凌,金以慧.差分進化算法研究進展[J].控制與決策,2007,22(7):721-729.
[8]丁青鋒,尹曉宇.差分進化算法綜述[J].智能系統學報,2017(4):431-442.
[9]楊啟文,蔡亮,薛云燦.差分進化算法綜述[J].模式識別與人工智能,2008,21(4):506-513.
[10]劉波,王凌,金以慧.差分進化算法研究進展[J].控制與決策,2007,22(7):721-729.
[11]張春美,陳杰,辛斌.參數適應性分布式差分進化算法[J].控制與決策,2014,29(4):701-706.
[12]高岳林,劉軍民.差分進化算法的參數研究[J].黑龍江大學自然科學學報,2009,26(1):81-85.
[13]郭鵬.差分進化算法改進研究[D].天津:天津大學,2011.
[14]張新有,曾華燊,賈磊.入侵檢測數據集KDDCUP99研究[J].計算機工程與設計,2010,31(22):4809-4812.
[15]柳小桐.BP神經網絡輸入層數據歸一化研究[J].機械工程與自動化,2010(3):122-123.
(責任編輯:杜能鋼)