姚永生,董育寧,邱曉暉
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)視頻流在網(wǎng)絡(luò)通信中所占有的比例越來(lái)越高。種類不一樣的網(wǎng)絡(luò)應(yīng)用對(duì)網(wǎng)絡(luò)服務(wù)質(zhì)量(quality of service,QoS)的要求不一樣。視頻流業(yè)務(wù)的細(xì)分類是實(shí)現(xiàn)端到端QoS的前提?;ヂ?lián)網(wǎng)服務(wù)提供商為了給不同類型的視頻應(yīng)用分配合理的網(wǎng)絡(luò)資源,需要將網(wǎng)絡(luò)流應(yīng)用進(jìn)行細(xì)分類,更不能把所有網(wǎng)絡(luò)業(yè)務(wù)當(dāng)作同一個(gè)類型的類別區(qū)分。
近年來(lái),機(jī)器學(xué)習(xí)(machine learning,ML)方法在網(wǎng)絡(luò)數(shù)據(jù)流分類與識(shí)別中已得到廣泛應(yīng)用[1]。但遺憾的是經(jīng)典的ML面對(duì)下面問(wèn)題將無(wú)法很好地處理:首先,基于流特征的ML方法會(huì)隨著復(fù)雜的網(wǎng)絡(luò)環(huán)境發(fā)生變化導(dǎo)致網(wǎng)絡(luò)流分布動(dòng)態(tài)變化以及不同流特征間的差異引起網(wǎng)絡(luò)流概念漂移;之前由老數(shù)據(jù)流量建立的ML模型,由于不同種類的網(wǎng)絡(luò)流屬性漂移情況不一致,使得ML模型的識(shí)別準(zhǔn)確性下降。其次,互聯(lián)網(wǎng)技術(shù)處在發(fā)展變化中,幾年前采集的樣本可能過(guò)時(shí)并無(wú)法滿足現(xiàn)實(shí)需要,而再次采集并標(biāo)注新樣本會(huì)消耗不必要的成本。因此,該文提出一種基于相似性度量的分類模型來(lái)解決上述問(wèn)題。該模型能夠完成只有少量帶標(biāo)簽新樣本集與大量老樣本訓(xùn)練集,以及數(shù)據(jù)流概念漂移不相同的情況下,更好地實(shí)現(xiàn)網(wǎng)絡(luò)視頻流分類。
本研究的基本思路是基于以下事實(shí):通過(guò)采集的新老數(shù)據(jù)流對(duì)比發(fā)現(xiàn),某些類別網(wǎng)絡(luò)流在兩個(gè)不同數(shù)據(jù)集上比較相似,而其他類別則有較大的差異。訓(xùn)練好的ML對(duì)老數(shù)據(jù)集可以很好地進(jìn)行分類,而對(duì)于新數(shù)據(jù)集總體分類效果不理想。遷移學(xué)習(xí)(transfer learning,TL)可以利用有標(biāo)注的源領(lǐng)域知識(shí),來(lái)輔助目標(biāo)領(lǐng)域的知識(shí)獲取和學(xué)習(xí)。這樣TL就能夠利用之前學(xué)習(xí)到的知識(shí),遷移到新數(shù)據(jù)集中完成差異較大類別的分類。鑒于此,該文的目的是研究何時(shí)采用TL,何時(shí)采用ML。根據(jù)Jensen-Shannon(JS)距離[1]度量源域和目標(biāo)域之間的相似性,距離越小,兩者的相似性越大。通過(guò)相似性比較,選擇采用何種模型。一方面,TL可以解決數(shù)據(jù)集樣本標(biāo)注不足的問(wèn)題,充分利用了源域的相關(guān)知識(shí);另一方面,ML模型是之前訓(xùn)練好的網(wǎng)絡(luò)模型,對(duì)于相似性較大的后續(xù)流類別較適用,能夠提高分類準(zhǔn)確率和模型利用率。
特征選擇方法在數(shù)據(jù)預(yù)處理階段至關(guān)重要,通過(guò)選取出最優(yōu)特征子集,能夠有效降低后端分類算法的計(jì)算時(shí)間復(fù)雜度,同時(shí)可以更好地提高模型分類精度[2]。
該創(chuàng)新方法如下:
(1)結(jié)合JS距離、MultiTrAdaBoost[2]和Random Forest(RF)[1]算法提出了基于相似性度量的分類模型融合方法。該融合模型采用JS距離度量?jī)蓚€(gè)領(lǐng)域流分布的相似性,結(jié)合ML和TL,可以較好地利用過(guò)去的數(shù)據(jù),在節(jié)省標(biāo)記新樣本數(shù)據(jù)集成本的同時(shí)提高了模型的總體準(zhǔn)確率。
(2)探究數(shù)據(jù)集中類別與模型選擇之間的關(guān)系,不同種類的數(shù)據(jù)流特征發(fā)生漂移情況不一樣。采集新的數(shù)據(jù)流進(jìn)行特征提取,通過(guò)實(shí)驗(yàn)驗(yàn)證上述融合模型的有效性。
Yang等[3]根據(jù)不同類型的視頻具有不同的下行傳輸速率變化模型模式,提出了一種基于M值概率分布并使用支持向量機(jī)的網(wǎng)絡(luò)視頻流分類算法。Garcia等人[4]采用深度包檢測(cè)分類流量,在流量到達(dá)率非常高的場(chǎng)景中,分類結(jié)果較好。Wu等[5]針對(duì)種類不一致的網(wǎng)絡(luò)流分布的差異性,提出一種可以完成存儲(chǔ)低、延時(shí)小、準(zhǔn)確率高的流細(xì)分類算法,同時(shí)實(shí)現(xiàn)了現(xiàn)實(shí)網(wǎng)絡(luò)數(shù)據(jù)中較高分類識(shí)別率的效果。楊凌云等[6]應(yīng)用短網(wǎng)絡(luò)流包替代長(zhǎng)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)樣本流分類,有效地降低了網(wǎng)絡(luò)數(shù)據(jù)流算法時(shí)間復(fù)雜度并明顯地提升了網(wǎng)絡(luò)數(shù)據(jù)流分類準(zhǔn)確率。
王彥等[2]提出了一種基于SAMME[7]和TrAdaBoost[8]的TL分類算法,該算法能夠?qū)W(wǎng)絡(luò)中不同種類的視頻數(shù)據(jù)流進(jìn)行有效地識(shí)別與分類,并有效節(jié)約了新數(shù)據(jù)集標(biāo)記成本。Wang等[9]闡述了類內(nèi)遷移的思想,同時(shí)指出僅僅一個(gè)整體的特征遷移轉(zhuǎn)換學(xué)習(xí)是不夠的,當(dāng)加入類內(nèi)之間的相似性,類內(nèi)特征能夠用于類內(nèi)遷移,從而實(shí)現(xiàn)更好的遷移學(xué)習(xí)。劉振等[10]提出了一種基于多重相似性的多源TL算法,能夠從多個(gè)不同源域中挖掘更多的知識(shí)用于目標(biāo)域?qū)W習(xí),還可以根據(jù)域間的相似性有選擇地進(jìn)行遷移。當(dāng)分布不同時(shí),Cai等人[11]運(yùn)用TL來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)視頻流量的兩類分類,并改進(jìn)了算法同時(shí)節(jié)約了計(jì)算時(shí)間成本。劉三民等[12]基于TL方法,應(yīng)用過(guò)去老數(shù)據(jù)集有用知識(shí)來(lái)幫助目標(biāo)域新模型知識(shí)學(xué)習(xí),能夠有效緩解新數(shù)據(jù)集標(biāo)記樣例的缺失。
(1)
JS距離[1]可以用來(lái)描述源域和目標(biāo)域之間的距離,進(jìn)而衡量?jī)蓚€(gè)數(shù)據(jù)域之間的差異。該距離公式如下:
(2)
其中,
(3)
N為源域和目標(biāo)域中特征向量的維數(shù)。
RF算法是Bagging方法和決策樹方法結(jié)合的集成ML算法。RF通過(guò)隨機(jī)建立多個(gè)決策樹,每個(gè)決策樹都是一個(gè)分類器,并將其合并到一起以投票的方式獲得更準(zhǔn)確和穩(wěn)定的預(yù)測(cè)。
MultiTrAdaBoost算法[2]繼承了TrAdaBoost的遷移思想,并結(jié)合SAMME來(lái)實(shí)現(xiàn)多分類,是一種通過(guò)訓(xùn)練多個(gè)弱基礎(chǔ)學(xué)習(xí)器,最終生成強(qiáng)分類器的集成學(xué)習(xí)算法。該算法最終輸出的函數(shù)為:
(4)
其中,N為循環(huán)的最大次數(shù),ht為弱學(xué)習(xí)器預(yù)設(shè)函數(shù),βt=γt/(K-1)?!鞘且粋€(gè)指示函數(shù),假設(shè)ht(x)=k,那么其值為1,否則為0。
MSGA[2]是一種基于MultiSURF[15]和GA(genetic algorithm)[16]的混合式特征選擇算法。MultiSURF是一種過(guò)濾式特征選擇方法,可以實(shí)現(xiàn)特征尺寸的快速降維;GA可以降低特征的冗余度,兩者相結(jié)合可以選擇出更優(yōu)的特征子集。
GA算法是一種全局性和自適應(yīng)性的進(jìn)化搜索算法,呈現(xiàn)了在自然選擇過(guò)程中學(xué)習(xí)知識(shí)的不斷主動(dòng)獲取和空間知識(shí)的不斷自動(dòng)搜索,能夠加以對(duì)搜索過(guò)程的整體性進(jìn)行有效地自適應(yīng)調(diào)整并求得最佳解。在ML領(lǐng)域中,是一種過(guò)濾式的特征提取方法,去除冗余特征,得到最優(yōu)特征子集。
在網(wǎng)絡(luò)流特征集提取過(guò)程中,首先依據(jù)MultiSURF算法計(jì)算出每個(gè)屬性(例如:下行包大小均值)的權(quán)重值,按其權(quán)重進(jìn)行排序,選擇前m個(gè)屬性。其次,用m個(gè)屬性(特征)隨機(jī)初始化原始種群(選取的特征數(shù)組成原始種群),并計(jì)算每一個(gè)個(gè)體的適應(yīng)度函數(shù)值(選取分類學(xué)習(xí)算法CART[2]的準(zhǔn)確率用作適應(yīng)度函數(shù))。然后,利用GA算法,對(duì)個(gè)體進(jìn)行選擇、變異、交叉(選擇適應(yīng)度值較高的個(gè)體,交叉即是進(jìn)行特征的互換,變異在一定程度上增加種群多樣性),將新生成的后代加入到種群中,形成新的種群。當(dāng)個(gè)體的適應(yīng)度函數(shù)值不再變化,或算法達(dá)到最大的迭代次數(shù),此時(shí)輸出結(jié)果為最佳個(gè)體。在進(jìn)行分類實(shí)驗(yàn)之前,使用MSGA特征選擇算法從25個(gè)原始特征(見表1)篩選出8個(gè)特征,如表2所示。
表1 原始數(shù)據(jù)集25個(gè)特征
表2 MSGA選出的8個(gè)特征
首先利用MSGA算法篩選出8個(gè)特征,用老數(shù)據(jù)訓(xùn)練ML模型,再用老數(shù)據(jù)集加上一定比例的新數(shù)據(jù)訓(xùn)練TL模型。在訓(xùn)練TL模型過(guò)程中,不同比例的新樣本數(shù)據(jù)的增加,經(jīng)過(guò)每一輪的不斷迭代學(xué)習(xí),進(jìn)而將老樣本集中獲取的有用知識(shí)應(yīng)用到訓(xùn)練TL模型中,進(jìn)一步提高融合模型分類精度。通過(guò)JS距離,衡量新老流特征之間的相似性,相似性越大,說(shuō)明新老流之間的流屬性發(fā)生概念漂移較小,采用已訓(xùn)練好的ML模型;反之新老流之間的相似性較小,采用TL模型,利用源域中學(xué)習(xí)的知識(shí),進(jìn)行分類預(yù)測(cè)。采用融合模型的分類準(zhǔn)確率較單一TL模型有一定的提高。
提出的混合式分類方法JSD-MTAB-RF結(jié)合JS距離、MultiTrAdaBoost和RF模型,其分類的計(jì)算過(guò)程如下:
(1)使用MSGA算法從原始數(shù)據(jù)集25個(gè)特征中篩選出8個(gè)特征。包含8個(gè)特征子集的數(shù)據(jù)集劃分為老數(shù)據(jù)集Ta(訓(xùn)練集),a%Tb(0≤a≤100)的新數(shù)據(jù)集(訓(xùn)練集),(1-a%)Tb的測(cè)試集(S)。
(2)用老數(shù)據(jù)集Ta訓(xùn)練ML模型,Ta+a%Tb訓(xùn)練TL模型。
(3)比較新老流之間JS距離大小。
(4)當(dāng)JS-distance(S,D(Ta)) (5)模型預(yù)測(cè)輸出結(jié)果。 算法框圖如圖1所示。 圖1 JSD-MTAB-RF算法流程 具體實(shí)現(xiàn)算法的偽程序見算法1。 算法1:JSD-MTAB-RF。 Input:帶標(biāo)簽訓(xùn)練樣本Ta和Tb和測(cè)試集S、應(yīng)用類型數(shù)量K、弱基礎(chǔ)分類器、循環(huán)次數(shù)最大值N和舊模型Rf(x)。 Output:類別預(yù)測(cè)結(jié)果。 2.fort=1,2,…,Ndo 4.使用弱基礎(chǔ)分類器,輸入組合訓(xùn)練樣本T(Ta∪Tb)、權(quán)重分布pt和測(cè)試集S,獲得在測(cè)試集S上的弱學(xué)習(xí)器ht:X→Y。 5.得出ht在Tb上的錯(cuò)誤率εt: 6.βt=εt/((1-εt)(K-1)) 8.最終分類器: 9.foriin range(len(S)-1)do 12. if dis(S[i],Avg(Ta)) 13.output=Rf(S[i]) 14.else output=Hg(S[i]) 15.return output 16.end 在本實(shí)驗(yàn)中,由Wireshark抓包軟件采集兩個(gè)網(wǎng)絡(luò)流數(shù)據(jù)集,實(shí)驗(yàn)中所抓取的網(wǎng)絡(luò)視頻流樣本的時(shí)長(zhǎng)均為10分鐘。第一個(gè)數(shù)據(jù)集為收集790個(gè)樣本的老數(shù)據(jù)集,于2013年6月在南京郵電大學(xué)校園網(wǎng)采集。第二個(gè)數(shù)據(jù)集為收集458個(gè)樣本的新數(shù)據(jù)集,于2019年9月在南京郵電大學(xué)校園網(wǎng)采集。這兩個(gè)數(shù)據(jù)集都包含6個(gè)視頻應(yīng)用類別:非對(duì)稱式視頻流:點(diǎn)播超高清視頻(CD/1080p)、點(diǎn)播高清視頻(HD/720p)與點(diǎn)播標(biāo)清視頻(SD/480p);以及對(duì)稱式視頻流:即時(shí)通信類視頻(IVC)、網(wǎng)絡(luò)類視頻(P2P)和在線直播視頻(ILV)。數(shù)據(jù)集中每一個(gè)樣本均提取25個(gè)流特征(見表1)和一個(gè)類標(biāo)簽。 對(duì)老數(shù)據(jù)集而言一些特征屬性有用信息已過(guò)時(shí),將其看作Ta。新數(shù)據(jù)集可以劃分成以下兩塊:一塊用于模型訓(xùn)練的樣本集Tb,另一塊用于模型的測(cè)試樣本S,同時(shí)兩塊樣本集同分布。實(shí)驗(yàn)中,從新數(shù)據(jù)集中分別提取20%,40%和60%(即a=20、40和60)的數(shù)據(jù)參與訓(xùn)練集,其余為測(cè)試集S。 硬軟件平臺(tái)是具有Inter(R)Core(TM) i7-9750H、2.60 GHz CPU和16.0 GB RAM的PC機(jī),Win10操作系統(tǒng),運(yùn)行Python編程語(yǔ)言(Python3.7版本),在集成開發(fā)環(huán)境Pycharm中編寫代碼。 文中方法與文獻(xiàn)[2]方法進(jìn)行性能比較,后者將Ta和Tb組合形成訓(xùn)練集。實(shí)驗(yàn)采用5折交叉驗(yàn)證方法,測(cè)試指標(biāo)給出均值和標(biāo)準(zhǔn)差。 實(shí)驗(yàn)使用四個(gè)性能評(píng)估指標(biāo),分別為準(zhǔn)確率 (A)、查準(zhǔn)率(P)、查全率(R)和F1-測(cè)度(F1)。 (1)準(zhǔn)確率:它是分類器準(zhǔn)確分類的樣本數(shù)與樣本總數(shù)的比率。 (5) (2)查準(zhǔn)率:計(jì)算全部正確的項(xiàng)目(TP)與全部實(shí)際的項(xiàng)目(TP+FP)的比例。 (6) (3)查全率:計(jì)算全部正確的樣本(TP)與應(yīng)檢索的全部樣本(TP+FN)之比。 (7) (4)F1-測(cè)度:是查準(zhǔn)率和查全率的加權(quán)平均值。 (8) 表3給出了文中方法與文獻(xiàn)[2]方法的總體準(zhǔn)確率比較。以Tb占比20%為例,文中方法的總體準(zhǔn)確率為95.4%,而文獻(xiàn)[2]方法為94.6%。究其原因,文中方法是利用JS距離度量新老流分布之間的相似性,根據(jù)距離的大小,判斷相似程度,選擇合適的學(xué)習(xí)模型;相比于文獻(xiàn)[2]方法只使用TL模型,提高了總體性能。隨著帶標(biāo)簽的新數(shù)據(jù)集Tb在訓(xùn)練集中所占比例的提高,分類總體準(zhǔn)確率有所提高。不過(guò)由于計(jì)算JS距離和模型的加載耗時(shí),文中方法比文獻(xiàn)[2]計(jì)算量略有增加。其中,訓(xùn)練時(shí)間增加0.13 s,識(shí)別時(shí)間增加0.03 s。因訓(xùn)練階段只運(yùn)行一次,主要關(guān)注的是識(shí)別時(shí)間。 表3 兩種方法的總體準(zhǔn)確率(均值±標(biāo)準(zhǔn)差)和 運(yùn)行(訓(xùn)練+識(shí)別)時(shí)間對(duì)比 表4顯示了文獻(xiàn)[2]與文中融合模型JSD-MTAB-RF方法在種類不一樣的網(wǎng)絡(luò)數(shù)據(jù)流中的預(yù)測(cè)結(jié)果。在新老樣本數(shù)據(jù)中,數(shù)據(jù)樣本差異性大小是影響性能的根本原因。隨著時(shí)間的變化,新老數(shù)據(jù)集中流之間的屬性會(huì)發(fā)生概念漂移;不同種類的流漂移的情況不一樣,某些流特性漂移波動(dòng)較大,而某些流特性漂移波動(dòng)較小;TL對(duì)于相似性較小的流類別適用,對(duì)于相似性較大的流類別不適用。在ILV類別,文中方法的F1測(cè)度、查準(zhǔn)率、查全率都有所提高,是因?yàn)樵擃愋吕蠑?shù)據(jù)相似性較大,采用了訓(xùn)練好的ML模型,較只采用TL模型性能有所提升。同時(shí),隨著帶標(biāo)簽的新數(shù)據(jù)集Tb在模型訓(xùn)練中占比越高(a=40、60)時(shí),文中方法對(duì)部分視頻類型分類評(píng)價(jià)指標(biāo)有所提升。 表4 兩種方法對(duì)網(wǎng)絡(luò)視頻流的分類性能(均值± 標(biāo)準(zhǔn)差)對(duì)比(Tb占比20%、40%、60%) 查看實(shí)驗(yàn)數(shù)據(jù)集中,六種類別的樣本分別采用了何種學(xué)習(xí)模型。統(tǒng)計(jì)結(jié)果得出,IVL類別樣本全部采用了ML模型;因?yàn)?,該類別的流特性概念漂移較小,新老流之間的相似性較大;而其他五個(gè)類別的樣本幾乎全部采用了TL模型,因?yàn)檫@些類別的流特性概念漂移較大,新老流之間的相似性較小。 為了驗(yàn)證上述結(jié)論的正確性,作者于2020年9月采集了100條ILV類別的樣本,利用本實(shí)驗(yàn)組成員編寫的NetFlowAnaLab平臺(tái)從5元組數(shù)據(jù)流中提取出25個(gè)原始特征和標(biāo)注類別標(biāo)簽。之后用MSGA算法提取出8個(gè)特征(見表2)用于實(shí)驗(yàn)。結(jié)果得出,對(duì)于新采集的100條ILV類別樣本,采用ML模型分類準(zhǔn)確率為100%,而采用TL模型僅為97.6%。 該文提出了一種結(jié)合JS距離、MultiTrAdaBoost和RF的混合式分類方法JSD-MTAB-RF,能夠?qū)崿F(xiàn)多種不同網(wǎng)絡(luò)應(yīng)用視頻流識(shí)別與分類。實(shí)驗(yàn)結(jié)果表明,在新數(shù)據(jù)集和老數(shù)據(jù)集特征分布不完全相同的情況下,即網(wǎng)絡(luò)流特征屬性發(fā)生了概念漂移,提出的基于相似性度量的混合模型,相對(duì)于現(xiàn)有方法,盡管耗時(shí)略有增加,但準(zhǔn)確率更高。未來(lái)依然有一些地方需進(jìn)一步實(shí)驗(yàn)探討。下一步的研究工作在具有不同特征空間分布的TL方法,可以通過(guò)特征變換,將兩域之間的數(shù)據(jù)特征有效地轉(zhuǎn)換到相同標(biāo)準(zhǔn)的特征空間中去,從而實(shí)現(xiàn)基于特征的TL方法。4 實(shí)驗(yàn)結(jié)果及分析
4.1 數(shù)據(jù)集簡(jiǎn)介
4.2 實(shí)驗(yàn)設(shè)置
4.3 分類評(píng)價(jià)指標(biāo)
4.4 實(shí)驗(yàn)結(jié)果
4.5 實(shí)驗(yàn)探究與驗(yàn)證
5 結(jié)束語(yǔ)