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