王勇,周慧怡,俸皓,葉苗,柯文龍
?
基于深度卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量分類方法
王勇1,2,3,周慧怡2,3,俸皓1,葉苗3, 4,柯文龍2
(1. 桂林電子科技大學(xué)計(jì)算機(jī)與信息安全學(xué)院,廣西 桂林 541004;2. 桂林電子科技大學(xué)信息與通信學(xué)院,廣西 桂林 541004;3. 桂林電子科技大學(xué)認(rèn)知無線電與信息處理省部共建教育部重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004;4.桂林理工大學(xué)信息科學(xué)與工程學(xué)院,廣西 桂林 541004)
針對(duì)傳統(tǒng)基于機(jī)器學(xué)習(xí)的流量分類方法中特征選取環(huán)節(jié)的好壞會(huì)直接影響結(jié)果精度的問題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的流量分類算法。首先,通過對(duì)數(shù)據(jù)進(jìn)行歸一化處理后映射成灰度圖片作為卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù),然后,基于LeNet-5深度卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)適于流量分類應(yīng)用的卷積層特征面及全連接層的參數(shù),構(gòu)造能夠?qū)崿F(xiàn)流量的自主特征學(xué)習(xí)的最優(yōu)分類模型,從而實(shí)現(xiàn)網(wǎng)絡(luò)流量的分類。所提方法可以在避免復(fù)雜顯式特征提取的同時(shí)達(dá)到提高分類精度的效果。通過公開數(shù)據(jù)集和實(shí)際數(shù)據(jù)集的系列仿真實(shí)驗(yàn)測(cè)試結(jié)果表明,與傳統(tǒng)分類方法相比所提算法基于改進(jìn)的CNN流量分類方法不僅提高了流量分類的精度,而且減少了分類所用的時(shí)間。
流量分類;卷積神經(jīng)網(wǎng)絡(luò);歸一化;特征選擇
隨著大數(shù)據(jù)時(shí)代的到來,新型網(wǎng)絡(luò)應(yīng)用不斷興起,網(wǎng)絡(luò)的組成越來越復(fù)雜。如何從日益增長(zhǎng)的流量數(shù)據(jù)中獲得更有價(jià)值的信息已經(jīng)成為各大運(yùn)營(yíng)商制訂發(fā)展規(guī)劃不可或缺的評(píng)估指標(biāo)之一。網(wǎng)絡(luò)流量分類作為網(wǎng)絡(luò)管理與網(wǎng)絡(luò)安全的關(guān)鍵技術(shù)之一,不但能夠優(yōu)化網(wǎng)絡(luò)配置,降低網(wǎng)絡(luò)安全隱患,而且能夠根據(jù)用戶的行為分析提供更好的服務(wù)質(zhì)量。目前,基于機(jī)器學(xué)習(xí)的流量分類方法一直是研究者關(guān)注的熱點(diǎn),應(yīng)用在網(wǎng)絡(luò)流量分類領(lǐng)域的機(jī)器學(xué)習(xí)算法可以分為淺層學(xué)習(xí)和深度學(xué)習(xí)[1]2種。
淺層學(xué)習(xí)主要包括:支持向量機(jī)、決策樹[2,3]、貝葉斯[4]和-means[5]等。文獻(xiàn)[6]創(chuàng)建了一個(gè)跨越多天的WLAN數(shù)據(jù)集,包括多種流量類型和應(yīng)用程序,從數(shù)據(jù)中提取63個(gè)特征并用于訓(xùn)練6種不同的機(jī)器學(xué)習(xí)算法。文獻(xiàn)[7]提出了使用流程級(jí)特征實(shí)現(xiàn)在線流量分類的算法和架構(gòu)。首先,設(shè)計(jì)了基于C4.5決策樹算法和熵MDL(minimum description length)離散化算法的流量分類器對(duì)8個(gè)主要應(yīng)用進(jìn)行分類,總體精度達(dá)到97.92%。其次,將離散化算法和FPGA(現(xiàn)場(chǎng)可編程門陣列)以及多核平臺(tái)分類器進(jìn)行合并的方法,實(shí)現(xiàn)分類器的優(yōu)化。無論文獻(xiàn)[6]還是文獻(xiàn)[7]均是通過人工選擇和組合特征的方法實(shí)現(xiàn)最終的流量分類,增加了網(wǎng)絡(luò)流量分類的工作量。文獻(xiàn)[8]使用小波領(lǐng)導(dǎo)者多分形式主義(WLMF, wavelet leaders multifractal formalism)從網(wǎng)絡(luò)流中提取多重分形特征來描述網(wǎng)絡(luò)流量,然后,將基于主成分分析(PCA, principal component analysis)的特征選擇方法應(yīng)用于這些多重分形特征以消除不相關(guān)和冗余特征。實(shí)驗(yàn)結(jié)果表明與現(xiàn)有的基于機(jī)器學(xué)習(xí)的方法中研究的傳輸層數(shù)據(jù)特征相比,支持向量機(jī)(SVM, support vector machine)的分類準(zhǔn)確性顯著提高。文獻(xiàn)[9]提出了一種SPP-SVM的實(shí)時(shí)精確SVM訓(xùn)練模型。該模型首先通過PCA對(duì)數(shù)據(jù)進(jìn)行特征提取,降低原有特征的維度,然后,通過采用一種改進(jìn)的粒子群優(yōu)化算法自動(dòng)搜索核函數(shù)的最優(yōu)工作參數(shù),使其與傳統(tǒng)的SVM相比,可以通過少量的訓(xùn)練樣本就能顯著的提高流量分類的精度。文獻(xiàn)[9]還通過同時(shí)對(duì)所有數(shù)據(jù)進(jìn)行數(shù)值縮放操作來減小工作計(jì)算量。文獻(xiàn)[8,9]均采用了PCA降維的方法對(duì)網(wǎng)絡(luò)流量數(shù)據(jù)的特征進(jìn)行降維后再實(shí)現(xiàn)網(wǎng)絡(luò)流量分類,本文也采用了PCA算法對(duì)Moore數(shù)據(jù)集進(jìn)行特征降維操作后與本文算法進(jìn)行了對(duì)比。
近年來,深度學(xué)習(xí)在圖像識(shí)別[10]、語(yǔ)音識(shí)別[11]、音頻處理[12]和自然語(yǔ)音處理[13]等各大領(lǐng)域均有應(yīng)用并取得了很好的成績(jī)。深度學(xué)習(xí)主要包括深度置信網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)等。文獻(xiàn)[14]通過使用WK-ELM算法中的GA技術(shù)來獲取神經(jīng)網(wǎng)絡(luò)最合適的參數(shù)值,以及使用極端學(xué)習(xí)機(jī)的優(yōu)化方法所提供隱含層的單元數(shù)量,來增加正確分類的準(zhǔn)確率。該方法很好地解決了神經(jīng)網(wǎng)絡(luò)中參數(shù)選取的問題,針對(duì)Moore數(shù)據(jù)集進(jìn)行流量分類達(dá)到了96.57%的準(zhǔn)確率。但是該分類方法是一個(gè)靜態(tài)的分類過程,需要根據(jù)當(dāng)前樣本人工選取節(jié)點(diǎn)數(shù)和參數(shù),即只能一次性地完成訓(xùn)練,一旦訓(xùn)練過程樣本發(fā)生變化,就要重新開始訓(xùn)練,無法動(dòng)態(tài)更新參數(shù)和訓(xùn)練樣本。面對(duì)動(dòng)態(tài)的批量的分類過程,會(huì)浪費(fèi)大量的時(shí)間來更新參數(shù)和樣本。文獻(xiàn)[15]針對(duì)P2P流量分類準(zhǔn)確率較低的問題,提出一種基于深度學(xué)習(xí)結(jié)構(gòu)、半監(jiān)督的深度置信網(wǎng)絡(luò)(DBN, deep belief networks)流量分類方法,構(gòu)造P2P流量合適的特征空間,建立基于DBN的網(wǎng)絡(luò)流量分類模型,并對(duì)模型的隱含節(jié)點(diǎn)個(gè)數(shù)和隱含層個(gè)數(shù)進(jìn)行選擇,提高DBN模型對(duì)P2P流量的分類準(zhǔn)確率。但是該方法在構(gòu)造數(shù)據(jù)集的階段就需要進(jìn)行特征提取,且采用DBN模型進(jìn)行流量分類計(jì)算過于復(fù)雜,難以滿足實(shí)際應(yīng)用中的實(shí)時(shí)性需求。文獻(xiàn)[14,15]在實(shí)驗(yàn)中取得的成功,證明了深度學(xué)習(xí)在流量分類上的可行性。相對(duì)于經(jīng)典的機(jī)器學(xué)習(xí)方法,在訓(xùn)練數(shù)據(jù)發(fā)生變化的時(shí)候,基于深度學(xué)習(xí)的分類模型可以在其原有最優(yōu)模型的基礎(chǔ)上進(jìn)行微調(diào),生成新的最優(yōu)分類模型完成流量分類。而基于機(jī)器學(xué)習(xí)的分類模型需要對(duì)變化的訓(xùn)練數(shù)據(jù)重新進(jìn)行特征提取和訓(xùn)練學(xué)習(xí),完成對(duì)新數(shù)據(jù)的流量分類。
針對(duì)以上研究中出現(xiàn)的問題,本文提出了基于離差標(biāo)準(zhǔn)化的卷積神經(jīng)網(wǎng)絡(luò)(MMN-CNN,min-max normalization convolutional neural network),該方法可以隱性地從訓(xùn)練數(shù)據(jù)中進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)并提取特征,不僅避免了人工特征選取的麻煩,很好地解決了不同分類算法對(duì)特征選取的差異性,而且提高了流量分類的精度。
網(wǎng)絡(luò)流量分類的總體流程包括網(wǎng)絡(luò)數(shù)據(jù)的采集,帶有準(zhǔn)確背景信息數(shù)據(jù)集的生成,數(shù)據(jù)集的預(yù)處理,流量特征的提取以及分類。為了驗(yàn)證所提算法的可行性,本文分別采用現(xiàn)有的數(shù)據(jù)集和通過網(wǎng)絡(luò)協(xié)議數(shù)據(jù)分析工具(Microsoft Network Monitor)采集的流量數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。目前,針對(duì)數(shù)據(jù)集進(jìn)行分類的方法,常用的特征選擇方法的基本流程如圖1所示,根據(jù)不同的搜索策略對(duì)原始特征集生成特定的特征子集后依據(jù)某種約定進(jìn)行特征子集評(píng)估,最終得到最優(yōu)的特征子集。這種方法不僅需要額外的計(jì)算開銷而且需要根據(jù)分類應(yīng)用的特點(diǎn)來選取合適的特征。針對(duì)上述方法存在的問題,本文采用卷積神經(jīng)網(wǎng)絡(luò)對(duì)原始數(shù)據(jù)集進(jìn)行特征的自主學(xué)習(xí),通過多隱含層的深層結(jié)構(gòu)來構(gòu)造特征空間,對(duì)大量數(shù)據(jù)的自主學(xué)習(xí)發(fā)現(xiàn)數(shù)據(jù)的特征表示來構(gòu)造合適的特征空間。該方法不僅解決了特征子集選取的困難而且提高了分類的效率,為網(wǎng)絡(luò)流量進(jìn)行實(shí)時(shí)分類奠定了基礎(chǔ)。
卷積神經(jīng)網(wǎng)絡(luò)的輸入形式一般為二維矩陣,如何設(shè)計(jì)較優(yōu)的數(shù)據(jù)集預(yù)處理方法將影響整個(gè)分類的效果。本文選取了2種不同數(shù)據(jù)集作為輸入數(shù)據(jù),第一種為Moore數(shù)據(jù)集[16],一共包括12個(gè)流量類別,每條流量中包含249流量特征,其中,最后一個(gè)特征是每條流量相對(duì)應(yīng)的類別,應(yīng)用類型為WWW的具體數(shù)據(jù)格式如圖2所示。
第二種為實(shí)際數(shù)據(jù)集,一共包括4類,每條流量包含784位流量數(shù)據(jù),其中每條流量的最后一位是對(duì)應(yīng)的應(yīng)用類別,應(yīng)用類型為通信類的具體數(shù)據(jù)格式如圖3所示。
圖1 特征選擇的基本流程
圖2 應(yīng)用類型為WWW的數(shù)據(jù)格式
圖3 應(yīng)用類型為通信類的數(shù)據(jù)格式
首先,對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理將網(wǎng)絡(luò)流量數(shù)據(jù)轉(zhuǎn)化為灰度圖片,然后,將灰度圖片作為卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)進(jìn)行學(xué)習(xí)?;贛MN-CNN的分類方法是將數(shù)據(jù)集中所有的數(shù)據(jù)進(jìn)行歸一化處理,然后,根據(jù)數(shù)據(jù)集中每條數(shù)據(jù)的長(zhǎng)度構(gòu)造合適的二維矩陣維度,將每一位數(shù)據(jù)對(duì)應(yīng)為二維矩陣中的一個(gè)元素,進(jìn)而完成灰度圖片映射。
采用MMN-CNN對(duì)網(wǎng)絡(luò)流量進(jìn)行分類的核心思想是通過對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,再利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行自主特征學(xué)習(xí),從而完成對(duì)流量的分類。其整體架構(gòu)如圖4所示。
帶有標(biāo)簽數(shù)據(jù)集是保證深度學(xué)習(xí)性能的一個(gè)關(guān)鍵因素,為此本節(jié)先對(duì)需要處理的原始網(wǎng)絡(luò)流量數(shù)據(jù)及標(biāo)簽的標(biāo)注工作做簡(jiǎn)單介紹,為了驗(yàn)證后面所設(shè)計(jì)的基于深度學(xué)習(xí)的流量分類方法的性能,使用了公開數(shù)據(jù)集和實(shí)際流量數(shù)據(jù)集,其采集和標(biāo)注工作如下。
圖4 網(wǎng)絡(luò)流量分類整體架構(gòu)
1) Moore 數(shù)據(jù)集
Moore數(shù)據(jù)集是由1 000個(gè)用戶通過一條千兆全雙工以太網(wǎng)鏈路連接到互聯(lián)網(wǎng),使用網(wǎng)絡(luò)監(jiān)測(cè)器采集24 h的網(wǎng)絡(luò)流量,然后采用抽樣算法在24 h的流量中得到377 526個(gè)網(wǎng)絡(luò)樣本,并根據(jù)應(yīng)用類型分為12種類型。Moore數(shù)據(jù)集中每條網(wǎng)絡(luò)流樣本都是從一條完整的TCP雙向流抽象出來,包含249項(xiàng)屬性,其中,最后一項(xiàng)屬性是每條網(wǎng)絡(luò)流相對(duì)應(yīng)的類別。Moore流量數(shù)據(jù)集統(tǒng)計(jì)信息如表1所示。
表1 Moore流量數(shù)據(jù)統(tǒng)計(jì)信息
2) 實(shí)際數(shù)據(jù)集
本文所采用的實(shí)際數(shù)據(jù)集是通過微軟發(fā)布的一款網(wǎng)絡(luò)協(xié)議數(shù)據(jù)分析工具M(jìn)icrosoft Network Monitor 對(duì)校園網(wǎng)流量常用的10種應(yīng)用軟件進(jìn)行數(shù)據(jù)采集得到679 207個(gè)網(wǎng)絡(luò)樣本,并根據(jù)10種應(yīng)用軟件的相關(guān)性分為4種類型,分別為網(wǎng)頁(yè)類(Chrome、FireFox和360)、通信類(QQ)、下載類(Thunder和BaiduNetDisk)以及視頻類(IQIYI、mgtv、YOUKU和QQLive)。其中,一條具體應(yīng)用類型為BaiduNetDisk的數(shù)據(jù)采集結(jié)果如圖5所示,實(shí)驗(yàn)中構(gòu)造的數(shù)據(jù)集主要由應(yīng)用標(biāo)簽和圖5中的十六進(jìn)制的流量數(shù)據(jù)組成。首先,將流量數(shù)據(jù)進(jìn)行固定長(zhǎng)度的截取,本文將流量數(shù)據(jù)分為784個(gè)字段,每一個(gè)字段由8 bit構(gòu)成,轉(zhuǎn)化為十進(jìn)制即為0~255之間的數(shù)值。然后,將每條數(shù)據(jù)流最后一個(gè)字段加上對(duì)應(yīng)的應(yīng)用標(biāo)簽,即采用第一欄捕獲的流量的應(yīng)用類型。
圖5 一條應(yīng)用類型為BaiduNetDisk的采集數(shù)據(jù)
由Microsoft Network Monitor采集的實(shí)際網(wǎng)絡(luò)流量數(shù)據(jù)統(tǒng)計(jì)信息如表2所示。
表2 實(shí)際流量數(shù)據(jù)統(tǒng)計(jì)信息
本文首先將數(shù)據(jù)集分成訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集2個(gè)部分,這2個(gè)數(shù)據(jù)集中每一種類別的比例與原流量數(shù)據(jù)保持一致,隨機(jī)選取100 000條數(shù)據(jù)作為測(cè)試數(shù)據(jù)集,其他為訓(xùn)練數(shù)據(jù)集。
本文根據(jù)卷積神經(jīng)網(wǎng)絡(luò)能夠隱性地訓(xùn)練數(shù)據(jù)中進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)的特點(diǎn),對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理的過程設(shè)計(jì)如下。
為了消除網(wǎng)絡(luò)流量之間的量綱關(guān)系,使數(shù)據(jù)之間具有可比性,本文首先對(duì)數(shù)據(jù)集中的每一條相對(duì)應(yīng)的特征進(jìn)行數(shù)值歸一化。具體過程如下。
假設(shè)數(shù)據(jù)集可以表示為行列矩陣
那么根據(jù)特征來劃分可以將該矩陣表示為
那么量化后的矩陣可以表示為
以Moore數(shù)據(jù)集為例,介紹以上設(shè)計(jì)的數(shù)據(jù)預(yù)處理過程。根據(jù)數(shù)據(jù)集中的特征數(shù)量,構(gòu)建適合卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的矩陣維度。根據(jù)Moore數(shù)據(jù)集具有的249位特征,構(gòu)建一個(gè)16×16的矩陣,由于特征維數(shù)少于矩陣元素個(gè)數(shù),故在矩陣的末位進(jìn)行相應(yīng)的補(bǔ)0操作。
將構(gòu)建好的矩陣中的每個(gè)元素作為一個(gè)像素點(diǎn),矩陣中的值作為像素的灰度。元素值越大灰度越大,圖片越接近白色;反之,則灰度越小越接近黑色。每一條網(wǎng)絡(luò)流量均將轉(zhuǎn)換成對(duì)應(yīng)的一張灰度圖片,圖6為Moore數(shù)據(jù)集中比例較高的4類應(yīng)用類型所對(duì)應(yīng)的灰度圖片。圖7為實(shí)際數(shù)據(jù)集中應(yīng)用類型所對(duì)應(yīng)的灰度圖片。
卷積神經(jīng)網(wǎng)絡(luò)[17]的基本結(jié)構(gòu)由輸入層、卷積層、池化層、全連接層、輸出層構(gòu)成。一般會(huì)設(shè)計(jì)成若干個(gè)卷積層和池化層交替模型,即一個(gè)卷積層連接一個(gè)池化層,池化層后再連接一個(gè)卷積層,依此類推。全連接層常用于連接最后2層節(jié)點(diǎn),用于輸出最終結(jié)果。
圖6 不同Moore流量數(shù)據(jù)對(duì)應(yīng)的灰度圖片
圖7 實(shí)際數(shù)據(jù)對(duì)應(yīng)的灰度圖片
1) 卷積層
卷積層是卷積神經(jīng)網(wǎng)絡(luò)中最重要的一部分,又被稱為過濾器或內(nèi)核,由多個(gè)特征面組成,每個(gè)特征面由多個(gè)神經(jīng)元組成。卷積層中每一個(gè)節(jié)點(diǎn)的輸入只是上一層神經(jīng)網(wǎng)絡(luò)的一個(gè)小塊,這個(gè)小塊的長(zhǎng)和寬都是人為指定,叫作卷積核,常用的卷積核大小有3×3或5×5。卷積層試圖將神經(jīng)網(wǎng)絡(luò)中的每一小塊進(jìn)行更加深入地分析從而得到抽象程度更高的特征。卷積層的形式為
2) 池化層
池化層也稱為采樣層,緊跟在卷積層之后,同樣由多個(gè)特征面組成,它的每一個(gè)特征面唯一對(duì)應(yīng)于上一層的一個(gè)特征面。池化層神經(jīng)網(wǎng)絡(luò)不會(huì)改變上一層特征面的個(gè)數(shù),但是它可以縮小每一個(gè)特征面的大小。通過池化層,可以進(jìn)一步縮小最后全連接層中節(jié)點(diǎn)的個(gè)數(shù),從而達(dá)到減少整個(gè)神經(jīng)網(wǎng)絡(luò)中參數(shù)的目的。池化層的形式為
3) 全連接層
全連接層通常位于卷積神經(jīng)網(wǎng)絡(luò)模型的最后位置,作用是計(jì)算網(wǎng)絡(luò)的最終輸出結(jié)果。分類任務(wù)中通常在這一層中訓(xùn)練一個(gè)分類器,將學(xué)習(xí)到的高層特征作為分類器的輸入,輸出結(jié)果為分類的結(jié)果。
MMN-CNN模型的訓(xùn)練過程主要涉及網(wǎng)絡(luò)的前向傳播和反向傳播,前向傳播用于得到預(yù)測(cè)值,體現(xiàn)了特征信息的傳遞,而反向傳播則是用于更新變量,體現(xiàn)了誤差信息對(duì)模型參數(shù)的矯正。
1) 前向傳播
卷積神經(jīng)網(wǎng)絡(luò)的前向傳播與普通神經(jīng)網(wǎng)絡(luò)的前向傳播過程一樣。卷積層的前向傳播形式為
其中,本文中使用激活函數(shù)為ReLU函數(shù)。
2) 反向傳播
卷積神經(jīng)網(wǎng)絡(luò)的反向傳播算法和BP神經(jīng)網(wǎng)絡(luò)類似。首先,本文使用的總體代價(jià)函數(shù)定義為
其中,右邊第1項(xiàng)為常規(guī)的交叉熵的表達(dá)式,第2項(xiàng)為正則化項(xiàng),使用一個(gè)正則化參數(shù)對(duì)權(quán)重的平方和進(jìn)行量化調(diào)整,本文使用的正規(guī)化參數(shù)為0.01。反向傳播算法是根據(jù)定義好的損失函數(shù)優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù)的取值,從而使卷積神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練數(shù)據(jù)集上的損失函數(shù)達(dá)到一個(gè)較小值。
權(quán)值參數(shù)的調(diào)整方向?yàn)?/p>
偏置參數(shù)的調(diào)整方向?yàn)?/p>
隨著人工智能和大數(shù)據(jù)時(shí)代的到來以及計(jì)算能力的飛速發(fā)展,深度學(xué)習(xí)已經(jīng)成為各界研究的熱點(diǎn)。作為深度學(xué)習(xí)的一種重要模型——卷積神經(jīng)網(wǎng)絡(luò),最初是為解決圖像識(shí)別等問題而設(shè)計(jì)并取得了很好的效果,但在網(wǎng)絡(luò)流量分類上卻少有人涉及。因?yàn)闊o論是圖像還是流量數(shù)據(jù)均是由數(shù)值構(gòu)成,故本文選取卷積神經(jīng)網(wǎng)絡(luò)作為特征學(xué)習(xí)及分類的方法,用于對(duì)網(wǎng)絡(luò)流量進(jìn)行分類。
LeNet-5模型是文獻(xiàn)[18]在1998年設(shè)計(jì)的用于手寫數(shù)字識(shí)別的卷積神經(jīng)網(wǎng)絡(luò),是早期卷積神經(jīng)網(wǎng)絡(luò)中最有代表性的實(shí)驗(yàn)系統(tǒng)之一。LeNet-5模型總共有7層,包括輸入層、卷積層、池化層、卷積層、池化層、全連接層和輸出層。針對(duì)網(wǎng)絡(luò)流量數(shù)據(jù)的特點(diǎn),本文對(duì)傳統(tǒng)的LeNet-5模型進(jìn)行了以下改進(jìn)。
1) 根據(jù)對(duì)數(shù)據(jù)集的分析得到合適大小的灰度圖片,將網(wǎng)絡(luò)的輸入層設(shè)計(jì)為16×16的矩陣。
2) 網(wǎng)絡(luò)流量分類的目的是將數(shù)據(jù)集中不同的流量應(yīng)用類型進(jìn)行分類,其中,包括12種不同的應(yīng)用類型。因此,將傳統(tǒng)的LeNet-5模型的輸出層由10個(gè)神經(jīng)元改為12個(gè)神經(jīng)元。
3) 根據(jù)網(wǎng)絡(luò)流量數(shù)據(jù)的特點(diǎn),設(shè)計(jì)了6種具有不同結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)。具體所設(shè)計(jì)的6種不同網(wǎng)絡(luò)結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)如表3所示。
針對(duì)設(shè)計(jì)過程所遇到的問題有以下說明。1) 由于輸入層的數(shù)據(jù)樣本大小為16×16,計(jì)算量難度不大,為避免圖像的邊緣信息丟失得太快,在當(dāng)前層矩陣的邊界加入全0填充,使卷積前后的圖像尺寸保持相同,可以保持邊界的信息,且本文中卷積核的移動(dòng)步長(zhǎng)為1。2) 對(duì)于一個(gè)5層的卷積神經(jīng)網(wǎng)絡(luò)而言,當(dāng)卷積核的特征面大于64時(shí),容易出現(xiàn)局部最優(yōu)的情況,故所設(shè)計(jì)的特征面均不大于64。
表3 6種不同網(wǎng)絡(luò)結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)
將所設(shè)計(jì)的6種不同卷積層結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)分別采用2種不同池化層進(jìn)行性能對(duì)比,常用的池化層主要有2種,一種是最大池化,另一種是平均池化。其實(shí)驗(yàn)檢測(cè)結(jié)果如表4和表5所示。基于MMN-CNN流量分類方法,分為訓(xùn)練和測(cè)試2個(gè)階段,對(duì)于后期開展實(shí)時(shí)流量分類工作,由于訓(xùn)練階段可以進(jìn)行離線分析,并不影響最后的分類效果,因此,本文只針對(duì)各種算法的測(cè)試時(shí)間進(jìn)行對(duì)比分析。
表4 采用最大池化方法時(shí)的檢測(cè)結(jié)果
表5 采用平均池化時(shí)的檢測(cè)結(jié)果
實(shí)驗(yàn)結(jié)果表明,總體而言,逐層增加特征面的數(shù)量,分類準(zhǔn)確率變化不大,而測(cè)試時(shí)間增大的特別明顯。在采用最大池化方法時(shí),編號(hào)為1的模型陷入了局部最優(yōu),而隨著特征面的減少,分類準(zhǔn)確率得到了很好的提升。對(duì)比以上2種檢測(cè)結(jié)果,編號(hào)為6的模型不僅在分類準(zhǔn)確率上而且在測(cè)試時(shí)間上均取得了很好的效果,故本文選取采用最大池化方法編號(hào)為6的模型為最優(yōu)的卷積神經(jīng)網(wǎng)絡(luò)。該卷積神經(jīng)網(wǎng)絡(luò)模型的總體準(zhǔn)確率和測(cè)試時(shí)間分別為99.30%和6.03 s。
根據(jù)上述實(shí)驗(yàn)結(jié)果選取的編號(hào)為6的最優(yōu)MMN-CNN模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。C1層為卷積層,采用全0填充后使用感知階段預(yù)訓(xùn)練得到的8個(gè)3×3大小的卷積核對(duì)輸入數(shù)據(jù)進(jìn)行卷積,得到8張16×16的特征面。S2層為池化層,使用2×2大小的窗口對(duì)C1層的8張?zhí)卣髅娉鼗玫?張8×8的特征面。C3層為卷積層,采用全0填充后使用預(yù)訓(xùn)練得到的16個(gè)5×5大小的卷積核對(duì)輸入數(shù)據(jù)進(jìn)行卷積,得到16張8×8的特征面。S4層為池化層,使用2×2大小的窗口對(duì)C3層的16張?zhí)卣髅娉鼗玫?6張4×4的特征面。F5層為全連接層,利用128個(gè)4×4大小的卷積核將16張4×4的特征面映射為一個(gè)128×1的向量。輸出層利用soft-max分類器,輸出結(jié)果為12類。
為了驗(yàn)證MMN-CNN算法的可行性,本文實(shí)驗(yàn)環(huán)境參數(shù)如表6所示。
表6 實(shí)驗(yàn)環(huán)境參數(shù)
圖8 本文設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
常用降維方法有主成分分析(PCA)、高斯隨機(jī)映射(GRP, Gaussian random projection)和稀疏隨機(jī)映射(SRP, sparse random projection)等。相比于高斯隨機(jī)映射,稀疏隨機(jī)映射更能保證降維的質(zhì)量,并提高內(nèi)存的使用效率和運(yùn)算效率。為了驗(yàn)證所提出的MMN-CNN算法在流量分類問題上的優(yōu)勢(shì),因此,針對(duì)Moore數(shù)據(jù)集,采用了PCA和SRP對(duì)流量數(shù)據(jù)降維至16個(gè)特征。接著使用文獻(xiàn)[20]采用的數(shù)據(jù)預(yù)處理方法將選取網(wǎng)絡(luò)流量數(shù)據(jù)的特征并生成特征向量,然后將流特征向量標(biāo)準(zhǔn)化,進(jìn)而利用特征之間的歐拉距離將流特征向量轉(zhuǎn)換為歐拉矩陣并可視化為灰度圖片。本文將針對(duì)這2種不同灰度圖片的映射方法,使用3.4節(jié)中選取的最優(yōu)卷積神經(jīng)網(wǎng)絡(luò)模型,分別根據(jù)評(píng)價(jià)指標(biāo)的各個(gè)參數(shù)進(jìn)行實(shí)驗(yàn)對(duì)比,具體實(shí)驗(yàn)結(jié)果如表7~表9所示。
表7 采用不同算法的總體準(zhǔn)確率和測(cè)試時(shí)間
表8 采用不同算法的類準(zhǔn)確率
表9 采用不同算法的類可信度
從上述實(shí)驗(yàn)結(jié)果可以得出,本文所提MMN-CNN算法,直接對(duì)Moore數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理后轉(zhuǎn)換成灰度圖片,相較于采用PCA和SRP降維方法,無論在總體準(zhǔn)確率還是針對(duì)不同應(yīng)用類型的準(zhǔn)確率和可信度進(jìn)行比較,均有大幅度提升。且相較于文獻(xiàn)[14]對(duì)Moore數(shù)據(jù)集進(jìn)行流量分類的準(zhǔn)確率96.57%,本文提出的MMN-CNN算法的總體準(zhǔn)確率提高了2.73%。因此,卷積神經(jīng)網(wǎng)絡(luò)自主進(jìn)行特征選取不僅減少了工作量而且提高了分類的準(zhǔn)確率。從類準(zhǔn)確率和類可信度的實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),INTERACTIVE和GAME這2種類型的準(zhǔn)確率均為0,說明了卷積神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)量少的應(yīng)用類型分類效果并不理想。但是,隨著網(wǎng)絡(luò)技術(shù)的日新月異,網(wǎng)絡(luò)流量呈EB級(jí)增長(zhǎng),所以針對(duì)實(shí)際網(wǎng)絡(luò)流量分析,這個(gè)問題能得到很好解決。
為了進(jìn)一步驗(yàn)證MMN-CNN自主特征學(xué)習(xí)的優(yōu)越性,本文采用微軟發(fā)布的Microsoft Network Monitor對(duì)校園網(wǎng)流量進(jìn)行應(yīng)用層數(shù)據(jù)抓取,并根據(jù)相應(yīng)的類型打上應(yīng)用標(biāo)簽。由于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入格式大小是固定的,故對(duì)所抓取的流量數(shù)據(jù)進(jìn)行固定大小的截?cái)?,其次輸入?shù)據(jù)中每個(gè)元素有由0~255之間的數(shù)值組成。本文針對(duì)實(shí)際流量數(shù)據(jù)的特點(diǎn)將每一條數(shù)據(jù)流量構(gòu)造為28×28的二維矩陣,然后采用MMN-CNN對(duì)其進(jìn)行自主特征學(xué)習(xí)完成流量的分類,具體實(shí)驗(yàn)結(jié)果如表10所示。
表10 實(shí)際流量數(shù)據(jù)的分類結(jié)果
通過實(shí)驗(yàn)可以看出,使用MMN-CNN對(duì)未經(jīng)過特征提取的流量數(shù)據(jù)進(jìn)行學(xué)習(xí),總體正確率可以達(dá)到90.68%,并且每一種應(yīng)用類型的分類準(zhǔn)確率均取得了較好的效果。MMN-CNN方法在流量分類上取得的成功為接下來實(shí)時(shí)流量分類奠定了基礎(chǔ)。
本文首先介紹了常用的網(wǎng)絡(luò)流量分類方法,然后在基于相關(guān)研究的基礎(chǔ)上,給出了一種流量數(shù)據(jù)預(yù)處理的MMN-CNN算法,應(yīng)用于對(duì)網(wǎng)絡(luò)流量數(shù)據(jù)的特征學(xué)習(xí)過程,提取出更加抽象的特征,然后通過設(shè)計(jì)不同的特征面及全連接層的參數(shù)完成最優(yōu)分類模型的選取,從而實(shí)現(xiàn)流量分類。為了驗(yàn)證該算法的可行性,分別通過對(duì)現(xiàn)有的流量數(shù)據(jù)集和抓包軟件對(duì)所采集的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析,將原始數(shù)據(jù)直接輸入到MMN-CNN網(wǎng)絡(luò)中,避免了人工特征提取導(dǎo)致的誤差積累,提高了流量分類的效果。實(shí)際網(wǎng)絡(luò)流量數(shù)據(jù)愈發(fā)的呈現(xiàn)多源異構(gòu),深度學(xué)習(xí)應(yīng)用于網(wǎng)絡(luò)流量分類問題的研究還處于起步階段。在將來的工作中,本文將針對(duì)以下3個(gè)方面進(jìn)行更進(jìn)一步的研究:1) 利用深度學(xué)習(xí)的其他算法解決網(wǎng)絡(luò)流量數(shù)據(jù)大小不一致的分類方法研究;2) 利用大數(shù)據(jù)分析平臺(tái)實(shí)現(xiàn)算法的分布式計(jì)算,提高流量分類的效率;3) 增加卷積神經(jīng)網(wǎng)絡(luò)的層數(shù),比較實(shí)際網(wǎng)絡(luò)流量分類的效果。
[1] LENCUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 512:436-444.
[2] DING J, HUANG L, YUPNEG T, et al. A flow nature classification method based on multi-features of-gram[J]. Computer Applications & Software, 2017.
[3] GUANG L, RONGHUA G. Cascaded classifier for improving traffic classification accuracy[J]. IET Communications,2017,11: 1751-1758.
[4] SCHMIDT B, AL-FUQAHA A, GUPTA A. Optimizing an artificial immune system algorithm in support of flow-based internet traffic classification[J]. Applied Soft Computing, 2017,54: 1-22.
[5] DONG Y N, ZHAO J J, JIM J. Novel feature selection and classification of Internet video traffic based on a hierarchical scheme[J]. Computer networks, 2017,119: 102-111.
[6] KORNCKY J, ABDUL-HAMEED O, KONDOZ A. Radio frequency traffic classification over WLAN[J]. IEEE-ACM Transactions on Networking, 2017,25: 56-68.
[7] TONG D, QU Y R, PRASANNA V K. Accelerating decision tree based traffic classification on FPGA and multicore platforms[J]. IEEE Transactions on Parallel & Distributed Systems, 2017:1.
[8] Shi H, Li H, Zhang D, et al. Efficient and robust feature extraction and selection for traffic classification[J]. Computer Networks the International Journal of Computer & Telecommunications Networking, 2017, 119(C):1-16.
[9] CAO J, FANG Z Y, QU G N, et al. An accurate traffic classification model based on support vector machines[J]. Networks, 2017,27.
[10] HE K M, ZHANG X Y, REN S Q. Delving deep into rectifiers: surpassing human-level performance on imagenet classification[C]//IEEE International Conference on Computer Vision. 2015: 1026-1034.
[11] SUN S N, ZHANG B B, XIE L, et al. An unsupervised deep domain adaptation approach for robust speech recognition[J]. Neurocomputing, 2017,257: 79-87.
[12] WILLIAMSON D S, WANG D L. Time-frequency masking in the complex domain for speech dereverberation and denoising[J]. IEEE/ ACM Transactions on Audio Speech & Language Processing, 2017, 25: 1492-1501.
[13] ZHANG Y, MARSHALL I, WALLACE B C. Rationale-augmented convolutional neural networks for text classification[C]//Conf Empir Methods Nat Lang Process. 2016:795.
[14] ERTAM F, AVCI E. A new approach for internet traffic classification: GA-WK-ELM[J]. Measurement, 2017, 95:135-142.
[15] 白雪. 基于DBN的網(wǎng)絡(luò)流量分類的研究[D]. 呼和浩特: 內(nèi)蒙古大學(xué), 2015. BAI X. Research on Internet traffic classification using DBN[D]. Hohehot: Inner Mongolia University, 2015.
[16] MOORE A W, ZUEV D. Discriminators for use in flow-based classification[R]. Technical report, Intel Research, Cambridge, 2005.
[17] 周飛燕, 金林鵬, 董軍. 卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J]. 計(jì)算機(jī)學(xué)報(bào), 2017, 40(6): 1-23. ZHOU F Y, JIN L P, DONG J. Review of convolutional neural network[J]. Chinese Journal of Computers, 2017, 40(6): 1-23.
[18] LENCUN Y, BOTTOU L, BENGIO Y. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 862: 2278-2324.
[19] 徐鵬, 林森. 基于C4.5決策樹的流量分類方法[J]. 軟件學(xué)報(bào), 2009, 20(10):2692-2704.
XU P, LIN S. Internet traffic classification using C4.5 decision tree[J]. Journal of Software, 2009, 20(10):2692-2704.
[20] 寇廣, 湯光明, 王碩, 等. 深度學(xué)習(xí)在僵尸云檢測(cè)中的應(yīng)用研究[J]. 通信學(xué)報(bào), 2016, 37(11):114-128. KOU G, TANG G M, WANG S, et al. Using deep learning for detecting BotCloud[J]. Journal on Communications, 2016, 37(11):114-128.
Network traffic classification method basing on CNN
WANG Yong1,2,3, ZHOU Huiyi2,3, FENG Hao1, YE Miao3,4, KE Wenlong2
1. School of Computer Science and Information Security, Guilin University of Electronic Technology, Guilin 541004, China 2. School of Information and Communication, Guilin University of Electronic Technology, Guilin 541004, China 3. Key Laboratory of Cognitive Radio and Information Processing, Guilin University of Electronic Technology, Guilin 541004, China 4. Information Science and Technology, Guilin University of Industrial Technology, Guilin 541004, China
Since the feature selection process will directly affect the accuracy of the traffic classification based on the traditional machine learning method, a traffic classification algorithm based on convolution neural network was tailored. First, the min-max normalization method was utilized to process the traffic data and map them into gray images, which would be used as the input data of convolution neural network to realize the independent feature learning. Then, an improved structure of the classical convolution neural network was proposed, and the parameters of the feature map and the full connection layer were designed to select the optimal classification model to realize the traffic classification. The tailored method can improve the classification accuracy without the complex operation of the network traffic. A series of simulation test results with the public data sets and real data sets show that compared with the traditional classification methods, the tailored convolution neural network traffic classification method can improve the accuracy and reduce the time of classification.
network traffic classification, convolutional neural network, normalized, feature selection
TP393
A
10.11959/j.issn.1000-436x.2018018
王勇(1964-),男,四川閬中人,博士,桂林電子科技大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)樵朴?jì)算、網(wǎng)絡(luò)流量分析、信息安全。
周慧怡(1993-),女,湖南永州人,桂林電子科技大學(xué)碩士生,主要研究方向?yàn)榇髷?shù)據(jù)分析。
俸皓(1978-),男,廣西桂林人,博士,桂林電子科技大學(xué)副教授,主要研究方向?yàn)闊o線傳感器網(wǎng)絡(luò)、嵌入式系統(tǒng)。
葉苗(1977-),男,廣西桂林人,博士,桂林電子科技大學(xué)教授、碩士生導(dǎo)師,主要研究方向?yàn)榫W(wǎng)絡(luò)計(jì)算、無線傳感器網(wǎng)絡(luò)、模式識(shí)別與圖像處理。
柯文龍(1989-),男,安徽銅陵人,桂林電子科技大學(xué)博士生,主要研究方向?yàn)榇髷?shù)據(jù)分析。
2017-10-12;
2017-12-19
俸皓,fengh@guet.edu.cn
國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61662018, No.61661015);中國(guó)博士后科學(xué)基金資助項(xiàng)目(No.2016M602922XB);廣西自然科學(xué)基金資助項(xiàng)目(No.2016GXNSFAA380153);桂林電子科技大學(xué)研究生教育創(chuàng)新計(jì)劃基金資助項(xiàng)目(No.2018YJCX53, No.2018YJCX20);桂林理工大學(xué)科研啟動(dòng)基金資助項(xiàng)目(No.GUTQDJJ20172000019)
: The National Natural Science Foundation of China (No.61662018, No.61661015), Project Funded by China Postdoctoral Foundation (No.2016M602922XB), The Natural Science Foundation of Guangxi Autonomous Region (No.2016GXNSFAA380153), Innovation Project of Guest Graduate Education (No.2018YJCX53, No.2018YJCX20), Foundation of Guilin University of Technology (No.GUTQDJJ20172000019)