洪 彥
(漳州職業(yè)技術學院,福建 漳州 363000)
網絡通信異常流量、網絡通信干擾、網絡通信錯誤等帶來許多麻煩[1]。其中,網絡通信流量異常問題給人們造成的影響較大,尤其是降低了網絡用戶體驗評價。部分用戶反映網絡通信中流量使用過多,超出了正常使用標準,導致計費增加[2]。為了幫助用戶解決此類網絡通信問題,研發(fā)一套網絡通信流量異常檢測方法顯得尤為重要。由于網絡異常流量類型繁多,可能導致流量異常的因素較多,加大了檢測難度[3]。目前,神經網絡模型應用較多,但是該模型存在運行效率低、訓練耗時較長、陷入局部最優(yōu)解等問題[4-5]。為了彌補該模型的不足,本文嘗試對該模型進行優(yōu)化,使得檢測算法的性能得以改善。
模型在BP神經網絡模型的基礎上,選取遺傳算法作為優(yōu)化工具,構建新的網絡通信異常檢測模型,模型描述如式(1):
(1)
關于神經網絡的實際輸出的計算,采用的計算公式如式(2):
(2)
公式(2)中,g代表位于隱含層的神經元激勵函數;f代表輸出神經元激勵函數;φt代表輸出神經元閾值;λi代表過程神經元閾值;vij代表位于輸出層與隱含層節(jié)點之間的連接權值;wij代表神經網絡隱含層、輸入層節(jié)點之間的連接權值。
對連接權值采取修正處理,涉及到的計算公式如式(3):
Δwij(n)=-φg(n)+αΔwij(n-1)
(3)
公式(3)中,g(n)代表誤差函數對權值對應的梯度;φ代表自適應學習率;n代表迭代次數;α代表動量因數。
關于神經網絡優(yōu)化模型在網絡通信異常檢測模型開發(fā)中的應用,首先創(chuàng)建BP神經網絡,而后對該網絡的結構參數采取初始化處理,同時創(chuàng)建相應函數[6]。其次,優(yōu)化網絡模型參數。此操作環(huán)節(jié)使用到的方法為遺傳算法,生產初始種群,而后對這個種群采取優(yōu)化、交叉、變異等一系列處理,使得網絡模型的閾值、權值得以優(yōu)化[7]。最后,將優(yōu)化處理后的閾值、權值帶入神經網絡模型中,形成完整的檢測模型。
按照上述網絡通信異常檢測模型開發(fā)思路,設計如圖1所示的網絡通信異常檢測流程。
第一步:對網絡拓撲結構采取初始化處理;
第二步:對神經網絡權值、閾值長度兩個參數采取初始化處理;
第三步:通過GA初始化編碼,形成初始種群;
第四步:計算當前種群當中所有的個體適應值;
第五步:選擇適應度較高的個體作為保存對象,完成符合標準的個體保存;
第六步:運行算法,完成數據交叉處理;
第七步:運行算法,完成數據變異處理;
第八步:判斷當前是否完成了所有網絡流量檢測對象的識別與種群處理,如果已經達到終止標準,則執(zhí)行第九步,反之,返回第四步;
第九步:從眾多個體中挑選出最佳個體;
第十步:根據最佳個體信息,獲取最優(yōu)閾值、權值;
第十一步:計算誤差;
第十二步:更新閾值和權值;
第十三步:判斷當前所有閾值和權值均得以更新,如果未能滿足終止條件,則返回第十一步,反之,輸出神經網絡。
雖然上述神經網絡模型已經采取一系列措施得以優(yōu)化,但是生產適應度較強的個體在神經網絡模型檢測運行期間,容易對遺傳算法造成影響。所以,對該問題進行改進。選取混合編碼方式作為改進工具,以多個參數作為優(yōu)化修正處理對象,對算法進行改進。其中,涉及到的參數包括變異概率Pm,交叉概率Pc,變異算子、交叉算子等。
研究選取兩種算法作為研究支撐,分別是實數編碼、二進制編碼解碼,將這兩種方法結合到一起,充分發(fā)揮各自的優(yōu)點,形成新的基于遺傳算法的網絡通信異常檢測模型[8]。
改進算法將遺傳算法的搜索目標作為優(yōu)化對象,以網絡權值作為計算指標,通過計算各個權值的網絡誤差平方和,從中挑選數值最小的網絡權值作為搜索目標。利用圖1中的檢測方法,獲取閾值和權值,經過計算,得到神經網絡誤差平方和。其中,運用到的函數為適應度函數,該函數的表示方法為適應誤差的倒數。關于個體適應值的計算如(4):
f(Xi)=E(Xi)-1
(4)
式(4)中,E(Xi)為網絡目標函數,計算公式如(5):
(5)
算法采用排序法,對個體序列進行調整,使其降低對遺傳算法的影響。該方法的應用,是根據個體適應度的差異,采取不同的轉換處理,從而完成序列的排序。其中,被選取概率較大的個體適應度較大。完成排序后,按照以下算法計算個體選取概率如(6),(7):
Pi=q′(1-Pmax)n(i)-1
(6)
(7)
公式(6),(7)中,n(i)代表種群編號為i的染色體適應值排序;Pmax代表眾多染色體中選取最優(yōu)的概率。
接下來,計算每一個個體累計選取概率,生成序列后,按照升序排列。其中,序號為i的個體將直接轉入下一代中。二進制編碼期間,采用單點交叉法,隨機抽取父代串交叉點,將該交叉點與對應的子串交換,從而形成新的交叉算子。
為了保證種群的多樣性,采用變異處理方法,使得種群的基本位得以變異。其中,實數部分的變異,采用的方法為非均勻變異方法。對于變異概率和交叉概率的確定,是根據種群陷入局部實際情況,對兩種概率參數做出合理調整。
為了檢驗提出的算法可靠性,研究開展網絡異常流量數據檢測實驗??紤]到異常流量種類較多,僅選取一種異常流量作為檢測對象,所得結果存在片面性,實驗選取6種類型異常流量作為檢測對象。如表1所示為異常網絡流量類型及相應特征信息。
表1 異常網絡流量類型及相應特征信息表
實驗選取未優(yōu)化前的BP神經網絡作為對照組,以提出的算法作為實驗組,控制網絡通信環(huán)境相同,采用不同的方法,分別開展網絡通信異常流量檢測實驗。
實驗共計6組,每組實驗檢測對象分別為Flash Crowd異常流量,Network Scan異常流量,Alpha Anomaly異常流量,Worms異常流量,Port Scan異常流量,DDos異常流量。按照實驗測試方案,分別統(tǒng)計兩種神經網絡模型應用下的網絡通信異常流量測試結果,如表2所示。
表2 誤報率與準確率測試統(tǒng)計結果
表1中測試結果顯示,與BP神經網絡模型相比,研究提出的網絡通信異常流量檢測方法測試準確率更高,6組實驗檢測結果準確度皆在92.4%以上,滿足網絡通信異常流量檢測精度要求。而BP神經網絡模型在Worms異常流量檢測中所得精準度最高,僅有88.6%。由此看來,研究提出的檢測算法能夠有效改善網絡通信異常流量檢測精確度,可以作為異常流量檢測工具。
圍繞網絡通信異常問題中的異常流量作為研究對象,引入BP神經網絡模型,構建異常流量檢測模型。該模型在傳統(tǒng)檢測模型基礎上進行了優(yōu)化,利用遺傳算法構建初始種群,經過優(yōu)化、交叉、變異等一系列處理,調整網絡模型的閾值、權值,達到模型優(yōu)化的目的。實驗測試結果顯示,該研究提出的算法支持多種類型異常流量檢測,檢測精度在92.4%以上,符合異常流量檢測需求。