王佳妮,王云峰,夏振飛,趙力強(qiáng)
(西安電子科技大學(xué),陜西 西安 710071)
網(wǎng)絡(luò)業(yè)務(wù)識(shí)別問(wèn)題由來(lái)已久。傳統(tǒng)的業(yè)務(wù)識(shí)別在獲取特征時(shí)較困難,影響業(yè)務(wù)識(shí)別的精準(zhǔn)度,而現(xiàn)有的特征選擇與提取方法需要研究者付出大量的時(shí)間和精力。因此簡(jiǎn)化業(yè)務(wù)識(shí)別特征的提取方法是本文的研究重點(diǎn)。
文獻(xiàn)[1-4]使用支持向量機(jī)、樸素貝葉斯等方法對(duì)流量特征、有效載荷特征和混合特征進(jìn)行分類(lèi)。針對(duì)軟件定義網(wǎng)絡(luò)(Software Defiend Network,SDN)網(wǎng)絡(luò),大多數(shù)業(yè)務(wù)識(shí)別方案主要運(yùn)用人工提取特征的方法或者直接使用公開(kāi)的數(shù)據(jù)集[5-6],但是存在特征提取較為復(fù)雜,特征提取工程的設(shè)計(jì)嚴(yán)重影響識(shí)別的精度等問(wèn)題。深度學(xué)習(xí)則可以避免這類(lèi)問(wèn)題,在業(yè)務(wù)識(shí)別中具有許多優(yōu)勢(shì)[7]。文獻(xiàn)[8]提出在業(yè)務(wù)識(shí)別中引入卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)模型的方法,把分組序列轉(zhuǎn)化成圖像,獲得了較高的分類(lèi)準(zhǔn)確率。但考慮到實(shí)際情況下網(wǎng)絡(luò)采集到的樣本數(shù)有限,不利于模型的訓(xùn)練,文獻(xiàn)[9]充分利用生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)數(shù)據(jù)擴(kuò)充的優(yōu)勢(shì),為樣本較少的類(lèi)生成流量數(shù)據(jù)。因此,本文針對(duì)上述問(wèn)題,研究了一種基于CNN的業(yè)務(wù)識(shí)別。
傳統(tǒng)的封閉式網(wǎng)絡(luò)架構(gòu)無(wú)法同物聯(lián)網(wǎng)業(yè)務(wù)和垂直行業(yè)的差異化需求相適配。SDN作為一種新的網(wǎng)絡(luò)技術(shù),在體系架構(gòu)、運(yùn)行方式上發(fā)生了很大變化。因此,本文利用SDN集中式控制的特點(diǎn),在SDN的3層網(wǎng)絡(luò)架構(gòu)中引入了CNN和GAN,設(shè)計(jì)了如圖1所示的基于CNN的業(yè)務(wù)識(shí)別系統(tǒng)模型。
圖1 系統(tǒng)模型Fig.1 System model
基礎(chǔ)設(shè)施層主要由交換機(jī)等組成,它們具有轉(zhuǎn)發(fā)功能。該層主要完成網(wǎng)絡(luò)中業(yè)務(wù)數(shù)據(jù)的轉(zhuǎn)發(fā)和原始數(shù)據(jù)包的采集,并將采集的數(shù)據(jù)包通過(guò)南向接口上傳到控制層。
控制層主要由控制器組成,完成網(wǎng)絡(luò)管理、網(wǎng)絡(luò)狀態(tài)獲取以及原始數(shù)據(jù)預(yù)處理等功能。控制層采用解析、截?cái)?填充、圖像生成、規(guī)范化以及業(yè)務(wù)標(biāo)簽等功能模塊將原始數(shù)據(jù)預(yù)處理,轉(zhuǎn)換成二維的灰度圖像,從而構(gòu)建樣本集,并通過(guò)北向接口上傳到應(yīng)用層。
應(yīng)用層包括面向用戶的許多業(yè)務(wù)和應(yīng)用,業(yè)務(wù)識(shí)別與分類(lèi)應(yīng)用也部署在該層。其中一部分樣本集輸入到GAN模型中完成數(shù)據(jù)的增強(qiáng)產(chǎn)生生成樣本,再將混合樣本(即剩余的實(shí)測(cè)樣本與生成樣本的集合)共同輸入到CNN模型中完成模型的訓(xùn)練。訓(xùn)練后的業(yè)務(wù)識(shí)別模型可以直接通過(guò)北向接口進(jìn)行調(diào)用。
本文依托于SDN網(wǎng)絡(luò),設(shè)計(jì)了具有3種特征明顯且特征相差較大的業(yè)務(wù)應(yīng)用場(chǎng)景。業(yè)務(wù)1是高帶寬的視頻業(yè)務(wù);業(yè)務(wù)2是對(duì)網(wǎng)絡(luò)要求低,數(shù)據(jù)量較少的萬(wàn)維網(wǎng)業(yè)務(wù);業(yè)務(wù)3是要求低時(shí)延的游戲業(yè)務(wù)。終端可以通過(guò)交換機(jī)接入到SDN網(wǎng)絡(luò)中,隨時(shí)享受3種業(yè)務(wù)的服務(wù),交換機(jī)也可以獲取到業(yè)務(wù)數(shù)據(jù)流的原始數(shù)據(jù)信息。將數(shù)據(jù)預(yù)處理的過(guò)程部署在SDN控制層,充分利用了控制器集中管控的功能,使不同業(yè)務(wù)數(shù)據(jù)流的分流過(guò)程更方便,便于樣本集的建立。
2.1.1 CNN
CNN[10-11]是一種有深度學(xué)習(xí)能力的,可以深層次前向傳播的神經(jīng)網(wǎng)絡(luò),主要應(yīng)用于計(jì)算機(jī)視覺(jué)等領(lǐng)域。二維CNN基本組成結(jié)構(gòu)分為輸入層、卷積層、池化層、全連接層和輸出層,可以利用卷積核和池化層實(shí)現(xiàn)圖像特征的自動(dòng)提取。CNN在減少學(xué)習(xí)參數(shù)數(shù)量方面有明顯的優(yōu)勢(shì),從而優(yōu)化了反向傳播(Back Propagation,BP)算法,實(shí)現(xiàn)的方式主要有局部感知、參數(shù)共享及池化等[12]。
2.1.2 基于CNN的業(yè)務(wù)識(shí)別與分類(lèi)模型
針對(duì)傳統(tǒng)的基于流統(tǒng)計(jì)特征的分類(lèi)方法,特征選擇與獲取過(guò)程較為困難,且特征提取工程的設(shè)計(jì)過(guò)于復(fù)雜等問(wèn)題,本文采用CNN模型自動(dòng)完成特征的提取,業(yè)務(wù)識(shí)別與分類(lèi)模型如圖2所示。
圖2 基于CNN的業(yè)務(wù)識(shí)別與分類(lèi)模型Fig.2 Traffic identification and classification model based on CNN
在數(shù)據(jù)處理階段,為了使采集到的數(shù)據(jù)可以直接被CNN模型讀取,需要對(duì)其進(jìn)行預(yù)處理,該過(guò)程主要包括原數(shù)據(jù)的解析、截?cái)?填充、規(guī)范化、圖像生成和業(yè)務(wù)標(biāo)簽的標(biāo)注。其中,解析是將采集到的數(shù)據(jù)按照會(huì)話標(biāo)準(zhǔn)進(jìn)行劃分,再刪除數(shù)據(jù)包中多余的信息,如數(shù)據(jù)鏈路層數(shù)據(jù)、IP地址等;截?cái)?填充是將數(shù)據(jù)包中的字節(jié)數(shù)進(jìn)行統(tǒng)一,多余的部分進(jìn)行截?cái)?,否則進(jìn)行補(bǔ)零操作;圖像生成采用進(jìn)制轉(zhuǎn)換的方式將數(shù)據(jù)包中的內(nèi)容轉(zhuǎn)換成二維灰度圖像像素點(diǎn)的取值,從而得到帶有業(yè)務(wù)特征信息的灰度圖像;規(guī)范化是對(duì)圖像中像素點(diǎn)的數(shù)值進(jìn)行歸一化,使CNN模型的處理更加方便;業(yè)務(wù)標(biāo)簽通過(guò)提取包含業(yè)務(wù)類(lèi)型名稱(chēng)的字段對(duì)樣本進(jìn)行標(biāo)注。經(jīng)過(guò)此過(guò)程,將原始數(shù)據(jù)轉(zhuǎn)換成帶有業(yè)務(wù)特征信息的二維灰度圖像,之后采用十折交叉驗(yàn)證法[13],將生成的圖像數(shù)據(jù)集劃分成訓(xùn)練集和測(cè)試集。
在訓(xùn)練階段,將劃分后的訓(xùn)練集輸入到業(yè)務(wù)識(shí)別模型中自動(dòng)完成特征的提取,并根據(jù)提取的特征進(jìn)行模型的訓(xùn)練,不斷調(diào)整模型參數(shù),生成業(yè)務(wù)識(shí)別模型。在此階段,CNN的層數(shù)設(shè)定、卷積層和池化層的連接順序、卷積核的大小與數(shù)量以及激活函數(shù)等的選擇等都會(huì)影響模型的訓(xùn)練效果。
在應(yīng)用階段,利用測(cè)試集對(duì)訓(xùn)練階段得到的業(yè)務(wù)識(shí)別模型進(jìn)行測(cè)試,驗(yàn)證模型的可靠性,并將此模型實(shí)際部署到應(yīng)用場(chǎng)景中。
2.1.3方案測(cè)試與結(jié)果分析
表1為3種業(yè)務(wù)的平均準(zhǔn)確率,視頻業(yè)務(wù)的準(zhǔn)確率相對(duì)Web和在線游戲來(lái)說(shuō)較高,由于3種業(yè)務(wù)的樣本集不平衡,導(dǎo)致識(shí)別的準(zhǔn)確率有一定的差距。在采集原數(shù)據(jù)時(shí),視頻業(yè)務(wù)傳輸?shù)臄?shù)據(jù)包相對(duì)較多,可以用來(lái)構(gòu)建的樣本數(shù)較多,模型訓(xùn)練相對(duì)其他兩種較好。
表1 3種業(yè)務(wù)類(lèi)型準(zhǔn)確率
CNN模型訓(xùn)練集與測(cè)試集平均準(zhǔn)確率如圖3所示。由圖3可以看出,在數(shù)據(jù)集樣本數(shù)小于10 000時(shí),利用訓(xùn)練樣本集測(cè)試的結(jié)果在90%以上,但是利用測(cè)試樣本集測(cè)試的結(jié)果在80%以下。原因主要是模型訓(xùn)練過(guò)程出現(xiàn)過(guò)擬合的現(xiàn)象,使模型可以很好地契合訓(xùn)練集,但在測(cè)試集上效果不佳,而隨著數(shù)據(jù)集樣本數(shù)量的不斷增大,模型在測(cè)試集上準(zhǔn)確率明顯有所提高。由此可以看出在業(yè)務(wù)識(shí)別的研究中,亟待解決的問(wèn)題是缺少足夠的數(shù)據(jù)集。下一節(jié)將針對(duì)這一問(wèn)題給出解決方案并進(jìn)行展開(kāi)敘述。
圖3 CNN 模型訓(xùn)練集與測(cè)試集平均準(zhǔn)確率Fig.3 Average accuracy of training set and testing set of CNN model
2.2.1 GAN
GAN是一種生成式深度模型,主要采用反向傳播的思想,不需要馬爾科夫計(jì)算過(guò)程,在無(wú)監(jiān)督學(xué)習(xí)或者半監(jiān)督學(xué)習(xí)中應(yīng)用廣泛[14]。它由生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)組成[15]。
將隨機(jī)噪聲輸入生成網(wǎng)絡(luò)中,經(jīng)過(guò)計(jì)算輸出一組數(shù)據(jù);判別網(wǎng)絡(luò)接收輸出的數(shù)據(jù),并根據(jù)之前學(xué)習(xí)的真實(shí)數(shù)據(jù)分布狀況,判斷接收數(shù)據(jù)是否是真實(shí)的數(shù)據(jù),同時(shí)輸出一個(gè)概率,生成網(wǎng)絡(luò)學(xué)習(xí)真實(shí)樣本的分布狀況,生成盡可能逼近真實(shí)的數(shù)據(jù);判別網(wǎng)絡(luò)也在提升自己與生成網(wǎng)絡(luò)的博弈能力,盡可能地識(shí)別出真假。
2.2.2 基于CNN-GAN的業(yè)務(wù)識(shí)別與分類(lèi)模型
針對(duì)過(guò)擬合和數(shù)據(jù)不均衡的問(wèn)題,在上一節(jié)的基礎(chǔ)上設(shè)計(jì)了如圖4所示的業(yè)務(wù)識(shí)別與分類(lèi)模型?;贕AN的數(shù)據(jù)增強(qiáng)可以學(xué)習(xí)實(shí)測(cè)樣本數(shù)據(jù)的分布,生成一定數(shù)量的無(wú)限逼近實(shí)測(cè)樣本集的生成樣本集,再將混合樣本集輸入到CNN中進(jìn)行模型的訓(xùn)練與調(diào)整,即可構(gòu)建出業(yè)務(wù)分類(lèi)模型。
數(shù)據(jù)增強(qiáng)的具體過(guò)程如下:在GAN網(wǎng)絡(luò)中,隨機(jī)噪聲經(jīng)過(guò)生成網(wǎng)絡(luò)生成輸出樣本,并輸入到判別網(wǎng)絡(luò)中進(jìn)行判別,而判別網(wǎng)絡(luò)盡可能將生成樣本集與實(shí)測(cè)樣本集區(qū)分開(kāi),最后生成網(wǎng)絡(luò)與判別網(wǎng)絡(luò)之間不斷進(jìn)行對(duì)抗博弈得到一個(gè)最優(yōu)解,即生成網(wǎng)絡(luò)獲得實(shí)測(cè)樣本集的分布規(guī)律并生成了無(wú)限逼近于實(shí)測(cè)樣本集的數(shù)據(jù),而判別網(wǎng)絡(luò)最終也無(wú)法對(duì)數(shù)據(jù)的真假做出判斷。
圖4 基于CNN-GAN的業(yè)務(wù)識(shí)別與分類(lèi)模型Fig.4 Traffic identification and classification model based on CNN-GAN
2.2.3基于GAN的數(shù)據(jù)增強(qiáng)
本節(jié)中增強(qiáng)的樣本集是經(jīng)過(guò)預(yù)處理得到的包含業(yè)務(wù)特征的二維灰度圖像組成的樣本集。GAN在本質(zhì)上是由2個(gè)神經(jīng)網(wǎng)絡(luò)組成,因此在使用GAN模型時(shí),采用CNN搭建生成網(wǎng)絡(luò)與判別網(wǎng)絡(luò)。生成網(wǎng)絡(luò)由全連接層和反卷積層組成,先將噪聲輸入到模型中,經(jīng)過(guò)全連接層的計(jì)算,使噪聲在維度上發(fā)生了變化,然后經(jīng)過(guò)反卷積層得到輸出的結(jié)果,也就是生成圖像的樣本。判別網(wǎng)絡(luò)由卷積層和全連接層組成,卷積層提取圖像樣本特征,經(jīng)過(guò)全連接層之后得到判別結(jié)果。
2.2.4 方案測(cè)試與結(jié)果分析
GAN模型根據(jù)實(shí)測(cè)的樣本,產(chǎn)生一定數(shù)量的生成樣本,樣本數(shù)量如表2所示。由表2可以看出,增加了生成樣本數(shù)量之后,樣本間的不平衡現(xiàn)象有所改善,業(yè)務(wù)識(shí)別的準(zhǔn)確率有所提升。
表2 樣本集數(shù)目及準(zhǔn)確率
如圖5所示,采用混合樣本之后,數(shù)據(jù)集樣本數(shù)達(dá)到了26 000多,每種業(yè)務(wù)的識(shí)別準(zhǔn)確率提高到了96%左右。由此可見(jiàn),在采用CNN-GAN模型使樣本數(shù)據(jù)增強(qiáng)的同時(shí),也很好地解決了過(guò)擬合的問(wèn)題,提高了業(yè)務(wù)識(shí)別的準(zhǔn)確率。
圖5 數(shù)據(jù)集樣本數(shù)與準(zhǔn)確率折線圖Fig.5 Line chart of data scale and accuracy
本文主要研究了一種基于CNN的業(yè)務(wù)識(shí)別方案。首先,對(duì)基于CNN的業(yè)務(wù)識(shí)別系統(tǒng)模型和實(shí)現(xiàn)場(chǎng)景進(jìn)行了描述,提出一種基于CNN模型的業(yè)務(wù)識(shí)別方案,簡(jiǎn)化了業(yè)務(wù)流特征的提取過(guò)程。為了更好地提高業(yè)務(wù)識(shí)別的準(zhǔn)確率,在之前建立的系統(tǒng)模型基礎(chǔ)上,綜合考慮CNN與GAN各自的特性,將二者相互結(jié)合,探究了基于CNN-GAN的業(yè)務(wù)識(shí)別方案,有效解決了業(yè)務(wù)識(shí)別過(guò)程中出現(xiàn)的過(guò)擬合以及樣本數(shù)據(jù)不平衡等問(wèn)題,為業(yè)務(wù)識(shí)別準(zhǔn)確率的提升提供了一種可選方案。