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