本發(fā)明屬于深度學(xué)習(xí),更具體地說,涉及一種基于lstm-ewc的網(wǎng)絡(luò)流量異常檢測(cè)分類方法。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)流量呈現(xiàn)出指數(shù)級(jí)增長(zhǎng),導(dǎo)致網(wǎng)絡(luò)環(huán)境變得越來越復(fù)雜和多樣化。面對(duì)日益復(fù)雜的網(wǎng)絡(luò)威脅,實(shí)施有效的異常檢測(cè)和分類策略,是確保網(wǎng)絡(luò)系統(tǒng)安全穩(wěn)定運(yùn)行的關(guān)鍵。傳統(tǒng)異常檢測(cè)方法依賴于手工特征提取和規(guī)則匹配,難以應(yīng)對(duì)日益復(fù)雜的攻擊手段和多樣化的網(wǎng)絡(luò)環(huán)境。深度學(xué)習(xí)技術(shù),尤其是基于神經(jīng)網(wǎng)絡(luò)的方法,為處理和分析大規(guī)模網(wǎng)絡(luò)流量數(shù)據(jù)提供了新的解決方案。
2、1997年,sepp?hochreiter和jürgen?schmidhuber提出了基于長(zhǎng)短期記憶網(wǎng)絡(luò)(long?short-term?memory,lstm)的異常檢測(cè)方法。lstm能夠有效捕捉時(shí)序數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系,廣泛應(yīng)用于處理具有時(shí)序關(guān)系的網(wǎng)絡(luò)流量數(shù)據(jù)的檢測(cè)中。然而,單純使用lstm模型,在訓(xùn)練新任務(wù)時(shí),通常沒有舊任務(wù)的數(shù)據(jù)來幫助模型保存舊任務(wù)的特征,或者因?yàn)檫^度適應(yīng)新任務(wù)的數(shù)據(jù),會(huì)產(chǎn)生災(zāi)難性遺忘等問題,即在學(xué)習(xí)新模式時(shí),模型會(huì)遺忘之前學(xué)到的知識(shí)。此外,在網(wǎng)絡(luò)流量異常檢測(cè)中,lstm模型可能需要頻繁更新以適應(yīng)不斷變化的數(shù)據(jù)類型,這可能導(dǎo)致模型忘記先前學(xué)習(xí)的正常和異常流量特征。因此,引入一定的模型參數(shù)固化機(jī)制以防止lstm模型出現(xiàn)災(zāi)難遺忘問題成為當(dāng)前機(jī)器學(xué)習(xí)的一個(gè)研究重點(diǎn)。
3、因此,亟需一種新的基于lstm-ewc的網(wǎng)絡(luò)流量異常檢測(cè)分類方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明為了克服現(xiàn)有技術(shù)的不足,提供了一種基于lstm-ewc的網(wǎng)絡(luò)流量異常檢測(cè)分類方法,擬引入彈性權(quán)重固化(elastic?weight?consolidation,ewc)算法解決lstm模型在數(shù)據(jù)類型動(dòng)態(tài)變化情況下可能出現(xiàn)的災(zāi)難性遺忘問題。ewc算法是由kirkpatrick等人于2017年提出的。ewc通過在損失函數(shù)中添加正則化項(xiàng),保護(hù)重要參數(shù),防止模型在更新過程中遺忘舊知識(shí)。本發(fā)明利用ewc算法在一定范圍內(nèi)固化lstm模型參數(shù),開發(fā)一種能夠持續(xù)學(xué)習(xí)網(wǎng)絡(luò)流量特征的高效lstm-ewc模型,實(shí)現(xiàn)對(duì)特征動(dòng)態(tài)變化的網(wǎng)絡(luò)數(shù)據(jù)流的高效檢測(cè)分類。
2、實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是提供一種基于lstm-ewc的網(wǎng)絡(luò)流量異常檢測(cè)分類方法,包括以下步驟:
3、s1.數(shù)據(jù)預(yù)處理,獲取原始網(wǎng)絡(luò)流量數(shù)據(jù)集xoriginal,原始網(wǎng)絡(luò)流量數(shù)據(jù)集xoriginal包含網(wǎng)絡(luò)流量的特征,標(biāo)記網(wǎng)絡(luò)流量的類型標(biāo)簽;對(duì)原始網(wǎng)絡(luò)流量數(shù)據(jù)集xoriginal進(jìn)行數(shù)據(jù)清洗,并對(duì)網(wǎng)絡(luò)流量的特征數(shù)據(jù)進(jìn)行歸一化處理,得到新數(shù)據(jù)集xnew;
4、s2.特征選擇,構(gòu)建cart決策樹,從網(wǎng)絡(luò)流量特征列表feature中選擇對(duì)網(wǎng)絡(luò)流量異常識(shí)別影響程度較大的前p個(gè)特征,構(gòu)建目標(biāo)數(shù)據(jù)集xtarget,并將目標(biāo)數(shù)據(jù)集xtarget劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集;
5、s3.模型搭建和訓(xùn)練,構(gòu)建用于網(wǎng)絡(luò)流量異常檢測(cè)分類的lstm-ewc模型;對(duì)lstm模型采用訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練,保存最終模型的參數(shù)集θ′;對(duì)ewc模型進(jìn)行初始化,并用驗(yàn)證集調(diào)整lstm-ewc模型的參數(shù),得到新的參數(shù)集更新lstm模型;
6、s4.模型性能評(píng)估,采用測(cè)試集數(shù)據(jù)對(duì)lstm-ewc模型的檢測(cè)分類性能進(jìn)行評(píng)估,計(jì)算分類評(píng)價(jià)指標(biāo)。
7、其中,s1具體包括如下步驟:
8、s11.獲取網(wǎng)絡(luò)流量數(shù)據(jù);
9、選取原始網(wǎng)絡(luò)流量數(shù)據(jù)集xoriginal=[x1,x2,…,xn,…,xn]t,其中xn=[xn,1,xn,2,…,xn,k,…,xn,k]t表示第n條長(zhǎng)度為k的數(shù)據(jù)向量,xn,k表示第n條數(shù)據(jù)向量中的第k個(gè)特征值,n=1,2,…,n,k=1,2,…,k,數(shù)據(jù)向量總數(shù)為n,每條數(shù)據(jù)向量的特征數(shù)為k,標(biāo)記每條網(wǎng)絡(luò)流量的類型,zn表示第n條數(shù)據(jù)的類型標(biāo)簽;
10、令數(shù)據(jù)特征集合feature={f1,f2,…,fk,…,fk,flabel},其中,fk表示網(wǎng)絡(luò)流量數(shù)據(jù)的第k個(gè)特征名,flabel表示網(wǎng)絡(luò)流量標(biāo)簽;網(wǎng)絡(luò)流量數(shù)據(jù)的類別標(biāo)簽集合為label={l1,l2,…,lm,…,lm},其中l(wèi)m表示網(wǎng)絡(luò)流量數(shù)據(jù)的第m種類型標(biāo)簽,類型標(biāo)簽總數(shù)為m,zn∈label;
11、s12.數(shù)據(jù)清洗;采用pycharm工具中的duplicated函數(shù)、isnull函數(shù)以及z-score函數(shù)檢查原始網(wǎng)絡(luò)流量數(shù)據(jù)集xoriginal的數(shù)據(jù)向量中是否存在重復(fù)數(shù)據(jù)、缺失數(shù)據(jù)、異常數(shù)據(jù),若存在,則刪除該條數(shù)據(jù)向量;使用標(biāo)簽編碼對(duì)離散的類別特征和標(biāo)簽數(shù)據(jù)進(jìn)行數(shù)值化處理;
12、s13.數(shù)據(jù)歸一化;
13、對(duì)清洗后的數(shù)據(jù)集進(jìn)行最小-最大歸一化處理,以便將數(shù)據(jù)值縮放到[0,1]區(qū)間。
14、其中,s2具體包括如下步驟:
15、s21.初始化cart決策樹;
16、s22.選擇當(dāng)前節(jié)點(diǎn)的最優(yōu)分裂特征和分裂點(diǎn);
17、s23.根據(jù)最優(yōu)分裂特征和分裂點(diǎn)劃分?jǐn)?shù)據(jù)集,生成子節(jié)點(diǎn);
18、s24.判斷cart決策樹的節(jié)點(diǎn)分支是否停止;
19、s25.選擇特征,構(gòu)建目標(biāo)數(shù)據(jù)集;
20、基于特征重要性進(jìn)行特征選取。
21、優(yōu)選的,s21具體包括如下步驟:令cart決策樹的根節(jié)點(diǎn)數(shù)據(jù)集為歸一化后的新數(shù)據(jù)集xnew;決策樹的最大深度為hmax,子節(jié)點(diǎn)數(shù)據(jù)集樣本數(shù)目最小值為qmin,節(jié)點(diǎn)標(biāo)號(hào)為d;
22、初始化cart決策樹的深度為h=1,根節(jié)點(diǎn)標(biāo)號(hào)為d=0,根節(jié)點(diǎn)的數(shù)據(jù)集為x0=xnew。
23、優(yōu)選的,s22具體包括如下步驟:令當(dāng)前節(jié)點(diǎn),即標(biāo)號(hào)為d的數(shù)據(jù)集為其中,第條數(shù)據(jù)的類型標(biāo)簽為特征集合feature={f1,f2,…,fk,flabel},標(biāo)簽集合label={l1,l2,…,lm,…,lm},表示當(dāng)前節(jié)點(diǎn)數(shù)據(jù)集中第個(gè)長(zhǎng)度為k數(shù)據(jù)樣本。
24、優(yōu)選的,,s23具體包括如下步驟:根據(jù)最佳分裂特征f*和分裂點(diǎn)α*將當(dāng)前節(jié)點(diǎn)的數(shù)據(jù)集xd分裂為兩個(gè)子集xleft和xright,分別作為當(dāng)前節(jié)點(diǎn)的下層左右子節(jié)點(diǎn)的數(shù)據(jù)集,左節(jié)點(diǎn)標(biāo)號(hào)dleft=2×d+1,右節(jié)點(diǎn)的標(biāo)記為dright=2×d+2;令cart決策樹的深度為h=h+1。
25、優(yōu)選的,s24具體包括如下步驟:檢查cart樹的深度h是否達(dá)到預(yù)設(shè)最大值hmax:
26、若是,節(jié)點(diǎn)分支停止,cart決策樹構(gòu)建完成;
27、若否,進(jìn)一步檢查子兩個(gè)子節(jié)點(diǎn)數(shù)據(jù)集xleft和xright的數(shù)據(jù)樣本數(shù)目是否少于預(yù)設(shè)的最小值qmin;
28、若是,節(jié)點(diǎn)分支停止,cart決策樹構(gòu)建完成;
29、若否,根據(jù)式(4)計(jì)算兩個(gè)子節(jié)點(diǎn)數(shù)據(jù)集xleft和xright的基尼指數(shù),判斷其是否為正值;
30、若否,節(jié)點(diǎn)分支停止,cart決策樹構(gòu)建完成;
31、若是,分別以數(shù)據(jù)集xleft和xright作為新的當(dāng)前節(jié)點(diǎn),重復(fù)步驟2-2到2-4,繼續(xù)進(jìn)行節(jié)點(diǎn)分裂,直至cart決策樹構(gòu)建完成。
32、其中,s3具體包括如下步驟:
33、s31.構(gòu)建lstm模型;
34、s32.初始化lstm模型參數(shù);
35、s33.訓(xùn)練lstm模型;
36、s34.構(gòu)建ewc模型;
37、s35.利用ewc模型對(duì)lstm模型參數(shù)進(jìn)行修正,形成新lstm模型。
38、根據(jù)本發(fā)明的另一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明的基于lstm-ewc的網(wǎng)絡(luò)流量異常檢測(cè)分類方法中的步驟。
39、根據(jù)本發(fā)明的又一方面,提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)本發(fā)明的基于lstm-ewc的網(wǎng)絡(luò)流量異常檢測(cè)分類方法中的步驟。
40、相比于現(xiàn)有技術(shù),本發(fā)明至少具有如下有益效果:
41、本發(fā)明利用ewc算法在一定范圍內(nèi)固化lstm模型參數(shù),開發(fā)一種能夠持續(xù)學(xué)習(xí)網(wǎng)絡(luò)流量特征的高效lstm-ewc模型,實(shí)現(xiàn)對(duì)特征動(dòng)態(tài)變化的網(wǎng)絡(luò)數(shù)據(jù)流的高效檢測(cè)分類。
42、本發(fā)明既能學(xué)習(xí)網(wǎng)絡(luò)流量數(shù)據(jù)的長(zhǎng)期依賴關(guān)系,也能使模型在連續(xù)學(xué)習(xí)多個(gè)任務(wù)時(shí),保留之前學(xué)到的知識(shí)。本發(fā)明方法建立在傳統(tǒng)lstm模型的基礎(chǔ)上,首先對(duì)原始數(shù)據(jù)集進(jìn)行預(yù)處理,并建立cart決策樹模型選擇對(duì)網(wǎng)絡(luò)流量類型影響較大的特征,構(gòu)建目標(biāo)數(shù)據(jù)集,劃分為第一個(gè)任務(wù)(訓(xùn)練集)、第二個(gè)任務(wù)(驗(yàn)證集)和測(cè)試集;然后建立lstm模型,使用訓(xùn)練集數(shù)據(jù)訓(xùn)練模型,保留模型的參數(shù);再建立lstm-ewc模型,用舊模型的參數(shù)初始化ewc模型,用驗(yàn)證集訓(xùn)練,得到最終的模型;最后,使用測(cè)試集數(shù)據(jù)評(píng)估該模型的性能。本發(fā)明方法通過cart決策樹降低了傳統(tǒng)lstm模型的計(jì)算和通信開銷。同時(shí),結(jié)合lstm和ewc的方法,保護(hù)了重要參數(shù),在防止模型遺忘的同時(shí),提升了整體檢測(cè)性能。