關(guān)鍵詞:網(wǎng)絡(luò)流量分類(lèi);開(kāi)集識(shí)別;增量學(xué)習(xí);支持向量機(jī)
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)志碼:A
0 引言(Introduction)
在網(wǎng)絡(luò)流量分類(lèi)(Network Traffic Classification,NTC)中,對(duì)于已經(jīng)訓(xùn)練好的分類(lèi)模型,在面對(duì)新類(lèi)出現(xiàn)時(shí)要解決兩個(gè)問(wèn)題,第一是如何使用現(xiàn)有模型分類(lèi)已知類(lèi)并進(jìn)行新類(lèi)檢測(cè)(New Class Detection,NewCD),即開(kāi)集識(shí)別(Open SetRecognition,OSR)問(wèn)題;第二是如何使用新樣本更新現(xiàn)有模型,即模型更新問(wèn)題。
對(duì)于OSR,目前在機(jī)器學(xué)習(xí)(Machine Learning,ML)領(lǐng)域已積累了豐富的研究成果。對(duì)于模型更新,因增量學(xué)習(xí)(Incremental Learning,IL)只需使用部分樣本增量更新現(xiàn)有模型而不需要全量重訓(xùn)練模型而廣受歡迎[1]。然而,當(dāng)前大多數(shù)IL方法僅考慮了閉集場(chǎng)景,無(wú)法實(shí)現(xiàn)NewCD。如果在此基礎(chǔ)上額外加入其他OSR方法,將會(huì)增加時(shí)間消耗,甚至?xí)盍言蟹椒ǖ耐暾浴?/p>
針對(duì)上述問(wèn)題,本文使用支持向量機(jī)(Support VectorMachine,SVM)設(shè)計(jì)了一種基于IL的開(kāi)集NTC方法(Open SetNetwork Traffic Classification Based on Incremental Learning,OSNTIL),可同時(shí)實(shí)現(xiàn)OSR和模型IL。
1 相關(guān)工作(Related work)
1.1 基于支持向量機(jī)的開(kāi)集識(shí)別
SVM在OSR中的應(yīng)用,可細(xì)分為約束已知類(lèi)空間檢測(cè)新類(lèi)和設(shè)定閾值檢測(cè)新類(lèi)兩個(gè)方面。
對(duì)于約束已知類(lèi)空間檢測(cè)新類(lèi),SCHEIRER等[2]首次基于該思想進(jìn)行NewCD,通過(guò)引入一個(gè)與現(xiàn)有已知類(lèi)分類(lèi)超平面平行的新超平面,進(jìn)一步約束已知類(lèi)所占空間,然后將落在兩個(gè)超平面約束空間之外的樣本識(shí)別為新類(lèi)。CEVIKALP等[3]也采用了類(lèi)似的方法,使用一系列準(zhǔn)線(xiàn)性“多面體圓錐”算子為已知類(lèi)構(gòu)建一個(gè)更加緊湊的球形空間,達(dá)到約束已知類(lèi)空間的目的。
對(duì)于設(shè)定閾值檢測(cè)新類(lèi),SCHEIRER等[4]在文獻(xiàn)[2]提出方法的基礎(chǔ)上又引入了非線(xiàn)性核函數(shù),并使用統(tǒng)計(jì)極值理論(Extreme Value Theory,EVT)與緊急衰減概率模型相結(jié)合的方式設(shè)定閾值檢測(cè)新類(lèi);JAIN等[5]通過(guò)在決策邊界處調(diào)用EVT對(duì)已知類(lèi)的非歸一化后驗(yàn)概率進(jìn)行建模,以實(shí)現(xiàn)NewCD。OSNTIL的OSR方法也是基于該思想,但為了解決單一SVM在NewCD時(shí)易將已知類(lèi)錯(cuò)分為新類(lèi)的問(wèn)題,又引入了K均值聚類(lèi)(K-means clustering algorithm,K-means)算法。
1.2 基于支持向量機(jī)的增量學(xué)習(xí)
SVM在IL中的應(yīng)用主要聚焦于如何使用支持向量。例如,SHERKI等[6]通過(guò)引入舊數(shù)據(jù)中距各分類(lèi)超平面α 范圍內(nèi)的支持向量樣本,解決在沒(méi)有完整舊數(shù)據(jù)情況下的類(lèi)增量問(wèn)題。然而,該方法并未明確給出α 值的設(shè)定方法,需要用戶(hù)自行定義。杜紅樂(lè)等[7]提出了一種基于相似度的增量SVM 方法,在模型更新時(shí),僅使用新數(shù)據(jù)中與支持向量相似性較大的樣本,以提高模型更新的精度和速度。
正如前文所述,這些方法雖然考慮了IL過(guò)程中新類(lèi)出現(xiàn)的情況,但是尚未提供具體的NewCD方法,僅提供了模型更新方法。
2 本文方法(The proposed method)
為便于閱讀,首先在表1列出了后續(xù)需要使用的主要參數(shù)的含義。OSNTIL的總體模型包括兩個(gè)模塊:模型訓(xùn)練和模型更新(圖1);模型訓(xùn)練為對(duì)原始數(shù)據(jù)集經(jīng)過(guò)特征提取(FeatureExtraction,F(xiàn)E)和特征選擇(Feature Selection,F(xiàn)S)后訓(xùn)練多分類(lèi)器C1 的過(guò)程;模型更新為使用第k(k=1,2,3,…)輪候選支持向量(Candidate Support Vectors,CSV)和經(jīng)過(guò)OSR后的第k+1輪新數(shù)據(jù)增量更新Ck 的過(guò)程。
2.1 模型訓(xùn)練
由于SVM是二分類(lèi)器,不能處理多分類(lèi)問(wèn)題。為了便于模型增量更新,OSNTIL采用一對(duì)多的方法實(shí)現(xiàn)多分類(lèi),即對(duì)于m1 個(gè)類(lèi)的多分類(lèi)問(wèn)題,共構(gòu)造m1 個(gè)B,第i個(gè)B以第i 類(lèi)樣本為正類(lèi)樣本,其余樣本為負(fù)類(lèi)樣本進(jìn)行訓(xùn)練,最終訓(xùn)練出的分類(lèi)器C1 由B1,1~B1,m1組成。分類(lèi)時(shí),將待分類(lèi)樣本x輸入C1 的m1 個(gè)B中求置信度,輸出置信度最大的B 對(duì)應(yīng)的正類(lèi)類(lèi)別,即x 的類(lèi)別y。
2.2 開(kāi)集識(shí)別
模型C1訓(xùn)練完成后,當(dāng)后續(xù)第k+1輪新數(shù)據(jù)到來(lái)時(shí),便需要對(duì)新數(shù)據(jù)進(jìn)行NewCD和已知類(lèi)分類(lèi),并進(jìn)行模型更新。設(shè)計(jì)的方法如圖2所示,其中,x 是第k+1輪新數(shù)據(jù)經(jīng)過(guò)FE和FS的未標(biāo)記樣本,y1是輸出的新類(lèi)樣本,y2 是輸出的已知類(lèi)樣本標(biāo)簽。對(duì)于x,先將其輸入第k 輪分類(lèi)器Ck 的mk 個(gè)B中求置信度,若所有B 輸出置信度均為負(fù)(表示為Ck 置信度lt;0),則x 被判為新類(lèi)。但是,少量已知類(lèi)樣本也可能會(huì)被錯(cuò)分為新類(lèi),為此使用K-means對(duì)識(shí)別為新類(lèi)的樣本進(jìn)行二次分類(lèi);由于此時(shí)新類(lèi)樣本數(shù)量遠(yuǎn)大于已知類(lèi)樣本數(shù)量,所以可將K-means預(yù)測(cè)結(jié)果中數(shù)量最多的一簇標(biāo)記為新類(lèi),其余簇標(biāo)記為已知類(lèi)。使用Ck對(duì)所有已知類(lèi)進(jìn)行細(xì)分類(lèi)。
2.3 模型更新
在檢測(cè)出的新類(lèi)樣本達(dá)到一定數(shù)量后,便可采用IL快速更新模型,但在真實(shí)NTC場(chǎng)景中,新到來(lái)數(shù)據(jù)中樣本和類(lèi)別分布通常是不平衡的,即每一輪新數(shù)據(jù)中可能并不會(huì)出現(xiàn)所有的已知類(lèi)。對(duì)于其中的新類(lèi)樣本,如果僅使用新數(shù)據(jù)中已知類(lèi)樣本作為負(fù)樣本構(gòu)建NewCB,那么NewCB會(huì)因負(fù)樣本不完整而導(dǎo)致分類(lèi)超平面偏向負(fù)類(lèi),最終導(dǎo)致模型的整體性能下降。
為此,通過(guò)篩選上一輪數(shù)據(jù)集中的樣本用于平衡本輪新數(shù)據(jù)集,可以緩解上述問(wèn)題[6]。從時(shí)間和存儲(chǔ)空間的角度考慮,保留上一輪樣本數(shù)量越少越好,這就要求篩選出的樣本盡可能代表更多舊樣本的分布信息。邊緣支持向量(Margin SupportVectors,MSV)和誤差支持向量(Error Support Vectors,ESV)是符合這一要求的樣本集合,MSV是指訓(xùn)練集中位于最大間隔邊界上的樣本點(diǎn),ESV是指訓(xùn)練集中被模型錯(cuò)誤分類(lèi)的樣本點(diǎn)。這些樣本點(diǎn)在上一輪模型訓(xùn)練中起到了決定性作用,它們反映了上一輪樣本分布特征和模型性能。除了MSV 和ESV,還可以保留訓(xùn)練集中距離分類(lèi)超平面較近的樣本點(diǎn)(Other Support Vectors,OSV),以提高本輪IL的效果,距離超平面越近的樣本點(diǎn),它們對(duì)后續(xù)輪次IL的貢獻(xiàn)度就越大。最終上一輪數(shù)據(jù)集中被篩選的樣本由MSV、ESV和OSV組成,本文稱(chēng)之為CSV。CSV中MSV和ESV樣本的數(shù)量只與模型有關(guān),OSV的數(shù)量需要人為確定,取決于α(保留距各個(gè)分類(lèi)超平面α 距離內(nèi)的樣本為OSV)值的設(shè)定。
上一輪CSV中的樣本數(shù)量將影響本輪模型IL后的分類(lèi)性能,可通過(guò)實(shí)驗(yàn)尋找二者之間的規(guī)律。使用ISCX(ISCXVPN-nonVPN)設(shè)計(jì)4輪IL實(shí)驗(yàn),從第二輪開(kāi)始,每輪將出現(xiàn)新類(lèi)并伴隨著已知類(lèi)不平衡現(xiàn)象,不斷增大α 使CSV樣本數(shù)量不斷增大,圖3統(tǒng)計(jì)了每輪IL后F1 分?jǐn)?shù)與上一輪CSV中樣本數(shù)量的關(guān)系。
分析圖4可知,不論IL輪次如何變化,10∶10權(quán)重分配雖然不一定是模型性能最佳的權(quán)重分配,但是其性能基本接近于最佳權(quán)重分配性能。為簡(jiǎn)化操作,“參數(shù)回放”新舊模型權(quán)重分配可設(shè)定為10∶10,即1∶1。如下算法2描述了在第k+1輪新數(shù)據(jù)到來(lái)后對(duì)模型的增量更新過(guò)程。
3 實(shí)驗(yàn)與分析(Experiments and analysis)
使用OSNTIL與文獻(xiàn)方法IOmSVM+KNN(簡(jiǎn)稱(chēng)ISK)[8]和DACS[9](a Double-layer Application Classification Schemefor Hybrid Zero-day Traffic)分別進(jìn)行了OSR和IL實(shí)驗(yàn),從分類(lèi)性能和時(shí)間性能的角度對(duì)各種方法做出評(píng)估。對(duì)比方法參數(shù)設(shè)定均采用相應(yīng)論文中的原設(shè)定。
3.1 數(shù)據(jù)集
實(shí)驗(yàn)使用兩個(gè)數(shù)據(jù)集,分別為公共數(shù)據(jù)集ISCX(表2)和混合數(shù)據(jù)集MixData,其中MixData由南京郵電大學(xué)校數(shù)據(jù)集(表3)和ISCX 組合而成;南京郵電大學(xué)校數(shù)據(jù)集是使用Wireshark軟件在南京郵電大學(xué)校園網(wǎng)采集得到的[10]。
3.3 開(kāi)集識(shí)別實(shí)驗(yàn)與分析
本節(jié)實(shí)驗(yàn)對(duì)比了3種方法性能在兩個(gè)數(shù)據(jù)集開(kāi)集環(huán)境中分類(lèi)已知類(lèi)的能力和NewCD的性能,實(shí)驗(yàn)結(jié)果如表4和表5所示。
表4和表5中的結(jié)果顯示,對(duì)于不同的數(shù)據(jù)集,OSNTIL與DACS相比,DACS的隨機(jī)森林(Random Forest,RF)和SVM 組成的級(jí)聯(lián)結(jié)構(gòu)在NewCD上表現(xiàn)出了不錯(cuò)的性能,基本能識(shí)別出全部新類(lèi),故其OSR的已知類(lèi)P 和新類(lèi)R 較高,但DACS容易把已知類(lèi)錯(cuò)判為新類(lèi),而OSNTIL通過(guò)K-means二次分類(lèi)較好地克服了此問(wèn)題,因此OSNTIL已知類(lèi)R 和新類(lèi)P 高于DACS。從整體指標(biāo)來(lái)看,與DACS相比OSNTIL的NA 在ISCX和MixData上分別高了1.6百分點(diǎn)和2.3百分點(diǎn)。與ISK相比,OSNTIL的NewCD性能均優(yōu)于ISK,其原因在于ISK僅依靠SVM進(jìn)行普拉特縮放后的概率輸出峰側(cè)比的固定閾值來(lái)區(qū)分已知類(lèi)和新類(lèi),然而單個(gè)固定閾值并不能有效地區(qū)分已知類(lèi)和新類(lèi)。
3.4 增量學(xué)習(xí)實(shí)驗(yàn)與分析
由于OSR過(guò)程存在誤分類(lèi),會(huì)影響后續(xù)IL方法的性能。為控制變量,IL實(shí)驗(yàn)分為開(kāi)集IL實(shí)驗(yàn)和閉集IL實(shí)驗(yàn)。同一實(shí)驗(yàn)二者使用相同的數(shù)據(jù)集和IL流程設(shè)定,唯一區(qū)別在于閉集IL每輪新到來(lái)的數(shù)據(jù),均使用已有標(biāo)簽樣本,略去了新類(lèi)檢測(cè)過(guò)程。為模擬真實(shí)NTC場(chǎng)景,每輪新到來(lái)數(shù)據(jù)均出現(xiàn)一個(gè)新類(lèi)并伴有已知類(lèi)不平衡出現(xiàn)。實(shí)驗(yàn)結(jié)果如圖5至圖8所示。
從閉集IL可看出,OSNTIL通過(guò)篩選舊數(shù)據(jù)CSV 補(bǔ)充N(xiāo)ewCB負(fù)樣本和新舊模型加權(quán)融合的方式,即使在有新類(lèi)和已知類(lèi)不平衡出現(xiàn)的IL場(chǎng)景中,OSNTIL分類(lèi)性能也沒(méi)有出現(xiàn)急劇下降的現(xiàn)象。對(duì)于開(kāi)集IL,得益于OSNTIL良好的NewCD能力,與閉集IL相比,在ISCX和Mixdata開(kāi)集IL中,F(xiàn)1 分?jǐn)?shù)也僅平均下降1.1百分點(diǎn)和1.9百分點(diǎn)。OSNTIL存在的不足是“樣本回放”方法需要在每輪引入上一輪舊樣本,而每輪NewCD過(guò)程存在誤分類(lèi),可能會(huì)有錯(cuò)分的樣本一直參與模型更新。
與ISK相比,與OSNTIL相同,ISK也是通過(guò)更新已知類(lèi)C 和構(gòu)建NewCB實(shí)現(xiàn)模型的更新,其中NewCB的負(fù)樣本是通過(guò)K近鄰算法(K-Nearest Neighbor,KNN)篩選出的與新類(lèi)最接近的已知類(lèi)樣本。但是,閉集IL中ISK的F1 分?jǐn)?shù)低于OSNTIL 1百分點(diǎn)至4百分點(diǎn),正如前文所述:由于新數(shù)據(jù)可能沒(méi)有包含所有已知類(lèi)樣本,所以?xún)H使用新數(shù)據(jù)構(gòu)建NewCB易出現(xiàn)分類(lèi)超平面偏向負(fù)類(lèi)的情況,這將導(dǎo)致大量已知類(lèi)被錯(cuò)分為新類(lèi)。與閉集IL相比,ISK開(kāi)集IL在ISCX和Mixdata上F1 分?jǐn)?shù)平均下降2.1百分點(diǎn)和4.7百分點(diǎn),這是因?yàn)镮SK的NewCD能力較差,導(dǎo)致在IL時(shí)用來(lái)構(gòu)建NewCB的樣本中存在較多的錯(cuò)誤樣本。
與DACS相比,對(duì)于閉集IL,DACS在更新模型時(shí)使用了3/4的舊數(shù)據(jù),有效地避免了因新數(shù)據(jù)不平衡而造成的模型性能下降問(wèn)題,而且由于DACS使用的是兩對(duì)SVM 和RF組成的模型組級(jí)聯(lián)結(jié)構(gòu),因此分類(lèi)性能優(yōu)于OSNTIL的單一SVM結(jié)構(gòu)。但是,DACS方法是將數(shù)據(jù)集一分為二,分別訓(xùn)練兩對(duì)模型組,而數(shù)據(jù)集不同的類(lèi)組合會(huì)對(duì)模型組性能產(chǎn)生顯著影響。在模型更新時(shí),新類(lèi)是隨機(jī)添加到一個(gè)模型組后重訓(xùn)練該模型組,此時(shí)可能會(huì)因新類(lèi)與原模型組不兼容導(dǎo)致模型性能急劇下降。從圖5至圖8模型更新后分類(lèi)性能(F1 分?jǐn)?shù))也可以看出,在模型更新的前些輪次,DACS性能優(yōu)于OSNTIL,但當(dāng)某一輪新類(lèi)被添加到不合適的模型組后,便會(huì)出現(xiàn)性能陡降現(xiàn)象?;谏鲜鲈颍瑥恼w看在閉集IL中OSNTIL的F1 分?jǐn)?shù)比DACS高了1百分點(diǎn)~2百分點(diǎn)。對(duì)于開(kāi)集IL,由于DACS的NewCD方法容易把已知類(lèi)錯(cuò)分為新類(lèi),導(dǎo)致DACS加入新類(lèi)重新訓(xùn)練模型組時(shí)會(huì)引入過(guò)多的錯(cuò)誤樣本。與閉集IL相比,在ISCX和Mixdata上F1 分?jǐn)?shù)平均下降1.5百分點(diǎn)和2.6百分點(diǎn)。
3.5 時(shí)間性能實(shí)驗(yàn)與分析
通過(guò)完整的一輪IL實(shí)驗(yàn)(包含模型訓(xùn)練,新樣本識(shí)別和模型更新過(guò)程),從時(shí)間方面對(duì)3種方法進(jìn)行評(píng)估。為控制變量,實(shí)驗(yàn)中每輪所使用數(shù)據(jù)集樣本數(shù)量均為5 600個(gè),類(lèi)間均勻分布。分別統(tǒng)計(jì)第一輪模型訓(xùn)練的總耗時(shí)、第二輪未標(biāo)記新樣本的每個(gè)樣本識(shí)別耗時(shí),以及模型更新總耗時(shí),具體結(jié)果如表6和表7所示。
對(duì)于訓(xùn)練總耗時(shí),由于OSNTIL使用線(xiàn)性SVM,ISK使用高斯核函數(shù)SVM,故OSNTIL的訓(xùn)練速度快于ISK的訓(xùn)練速度。DACS需要訓(xùn)練兩對(duì)SVM和RF模型組,因此所需時(shí)間最長(zhǎng)。
對(duì)于識(shí)別耗時(shí),ISK 僅需計(jì)算所有新樣本的峰側(cè)比,OSNTIL雖然額外引入了K-means,但是參與K-means訓(xùn)練的樣本僅有被C 分為新類(lèi)的樣本,并不需要所有新樣本參與訓(xùn)練,因此時(shí)間消耗基本與ISK相當(dāng)。DACS需要兩對(duì)SVM 和RF模型組對(duì)新樣本先預(yù)測(cè)后投票,而且還需計(jì)算所有新樣本的置信度最大值和方差,因此該方法OSR速度最慢。
對(duì)于更新總耗時(shí),盡管ISK使用的樣本數(shù)量最少,但是需要額外訓(xùn)練KNN,相比之下,OSNTIL不需要引入其他模型,因此模型更新速度更快。DACS更新時(shí)使用了3/4的舊數(shù)據(jù),并且需要重訓(xùn)練一對(duì)模型組,所以模型更新速度最慢。
對(duì)比ISCX和MixData,雖然兩個(gè)數(shù)據(jù)集每輪實(shí)驗(yàn)樣本總數(shù)相同,但是MixData類(lèi)的數(shù)量較ISCX 多了6 個(gè),因此MixData的所有時(shí)間消耗指標(biāo)均大于ISCX。綜合來(lái)看,在開(kāi)集IL場(chǎng)景中,DACS進(jìn)行一輪IL耗時(shí)最長(zhǎng),OSNTIL耗時(shí)與ISK相當(dāng),但分類(lèi)性能明顯優(yōu)于ISK。
4 結(jié)論(Conclusion)
本文提出了一種基于IL的開(kāi)集NTC方法,即OSNTIL。對(duì)于OSR,通過(guò)K-means對(duì)SVM識(shí)別為新類(lèi)的樣本進(jìn)行二次分類(lèi),較好地解決了單一SVM識(shí)別新類(lèi)時(shí),易將已知類(lèi)錯(cuò)分為新類(lèi)的問(wèn)題;對(duì)于模型更新,通過(guò)篩選舊數(shù)據(jù)CSV 平衡NewCB負(fù)樣本的“樣本回放”方法,以及更新前舊模型與更新后新模型加權(quán)融合的“參數(shù)回放”方法,較好地解決了IL過(guò)程中“有類(lèi)增量的災(zāi)難性遺忘”問(wèn)題。實(shí)驗(yàn)結(jié)果表明,OSNTIL在IL任意輪次的F1 分?jǐn)?shù)都高于92%;與文獻(xiàn)中的其他方法相比,OSNTIL在閉集IL中,F(xiàn)1 分?jǐn)?shù)比DACS高了1百分點(diǎn)~2百分點(diǎn),比ISK高了1百分點(diǎn)~4百分點(diǎn);并且,3種方法的開(kāi)集IL與閉集IL相比,OSNTIL的F1分?jǐn)?shù)降幅最小。在分類(lèi)速度方面,OSNTIL與ISK相當(dāng),但是明顯快于DACS。
作者簡(jiǎn)介:
崔夢(mèng)陽(yáng)(1998-),男,碩士生。研究領(lǐng)域:網(wǎng)絡(luò)流分類(lèi)與識(shí)別。
董育寧(1955-),男,博士,教授。研究領(lǐng)域:網(wǎng)絡(luò)流分類(lèi)與識(shí)別,圖像和視頻信息處理。本文通信作者。
邱曉暉(1968-),女,博士,教授。研究領(lǐng)域:現(xiàn)代通信的智能信號(hào)處理,圖像處理與模式識(shí)別。
田 煒(1970-),男,博士,副教授。研究領(lǐng)域:多媒體通信,無(wú)線(xiàn)網(wǎng)絡(luò),網(wǎng)絡(luò)流量識(shí)別。