易 磊,潘志松,陶 蔚,楊海民
(中國人民解放軍理工大學 指揮信息系統學院,南京 210007)
網絡流量分類是現代網絡管理與安全系統中最基本的功能[1],在QOS服務質量控制,網絡應用趨勢分析,入侵檢測方面有重大作用.由于網絡技術的進步,網絡新型應用持續出現,復雜的網絡攻擊活動也不斷增加,網絡流量處在不斷演化的狀態.這使得如何對骨干網網絡流量進行準確、快速的分類識別成為了一個挑戰性的問題.
近年來,基于網絡流量統計特性的機器學習分類方法受到了研究者的極大關注[2].這類方法主要基于網絡流量的傳輸層統計特征,使用監督學習[3-5]或無監督學習[6-8]算法進行分類.在網絡日趨復雜的背景下,傳統的機器學習方法在面對骨干網網絡流量分類問題時存在分類器訓練速度慢、計算復雜度高的缺陷.在線學習(Online learning)與并行計算是處理大規模機器學習問題的有效途徑,已被初步應用于網絡流量分類研究領域.文獻[9]提出了一種Hadoop分布式環境下的網絡流量分類方法;文獻[10]提出了一個在線學習的流量分類框架,并應用了多種在線學習算法.這些研究初步解決了骨干網網絡流量分類場景下的高檢測效率的需求,但卻對網絡流量的演化特性缺乏深入探索.
網絡流量數據一個突出的特點就是其隨時間快速演化,存在概念漂移的現象.實際應用中,對高維網絡流量特征使用稀疏學習的方法提取關鍵特征,一方面可以減少需要提取的特征數量,提高運行效率,另一方面也可以去掉冗余特征,提高識別的效率與準確率.但由于網絡流量的演化特性,在一個網絡流上的特征選擇結果,推廣到其他時間或空間的網絡流時,會存在一定的局限.多任務學習方法通過任務之間的信息共享,可以有效解決這一問題.多任務學習是近年來機器學習與數據挖掘領域的研究熱點,一類典型的方法[11,12]是基于L1范數的變體,特別是諸如L2,1范數和L∞,1范數等矩陣范數.然而,上述方法是通過批處理的方式來訓練的.當數據按時序到達或訓練數據量過大無法同時將數據載入時,這些方法將不再適用.一個直觀的解決辦法是將在線學習方法與多任務學習方法相結合.
在線稀疏學習,特別是L1正則化的在線學習,是進行特征選擇的有效方法.Langford等人[13]提出了一種截斷梯度法來解決Lasso問題[14].Duichi與Singer等人[15]在正則化最小化框架下,提出了前向后向分割法(FOBOS)來解決各種凸問題,特別是Lasso問題.Xiao等人[16]提出了一種正則化對偶平均方法(RDA)來解決Lasso問題.截斷梯度法與FOBOS算法判別精度比較高,是基于梯度的算法.RDA算法則是從另一個方面來求解優化問題,更容易產生稀疏性,但會損失一定的精度.McMahan等人[17]提出了FTPRL(Follow the Proximal Regularized Leader)算法,包含了FOBOS算法與RDA算法的長處,在保證精度的情況下,能達到良好的稀疏性.
目前,已有相關研究將在線稀疏學習與多任務學習相結合.Yang等人[18]提出了一種基于RDA算法的在線多任務特征選擇算法,解決了多任務特征選擇方法批處理訓練方式效率低的問題.受其啟發,本文提出了一種在線多任務特征選擇算法——MT-FTPRL,并應用于骨干網網絡流量分類問題中,在多個網絡流中提取一組共同的特征子集,提高分類系統的魯棒性,更適應網絡流量動態演化的特點.本文的主要貢獻有:
1)基于FTPRL在線稀疏學習算法,提出了一種在線多任務特征選擇學習算法——MT-FTPRL.使用了Per-Coordinate學習率,對每個特征的學習率分別考慮,與全局學習率相比更具優勢.
2)提出了一個在線多任務學習的骨干網網絡流量分類框架,通過多個網絡流之間的信息共享,提取一組擁有良好判別能力的共同特征子集.
3)構造了一個基于真實的骨干網網絡流量的MAWI數據集,并通過對比實驗對提出的算法及分類框架進行驗證.
McMahan等人[17]提出的在線稀疏學習算法FTPRL,在保證高精度的同時,能獲得良好的稀疏性.本文以FTPRL算法為基礎,提出了一種在線多任務的特征選擇算法.本小節首先對FTPRL算法做簡要的介紹.
在線學習算法處理的數據是一種帶有時序性的樣本序列,其優化目標通常是最小化在整個樣本序列下產生的累計誤差.在線算法模型參數為wt.第t輪迭代時,接收一個特征向量為xt∈Rd的新樣本.隨后,模型給出該樣本的預測值,再接收真實的樣本標記.最后再對模型參數進行更新,得到wt+1.
與梯度下降類算法不同,FTPRL算法采用如下方式來更新模型參數:

(1)

(2)

學習率ηt的選擇,對算法的效果有很大的影響.在文獻[19]中,McMahan等人介紹了FTPRL算法的工程化實現.從這篇文章開始,FTPRL算法受到工業界的關注,被廣泛應用于CTR預估等領域.在這篇文章的實現中,FTPRL算法使用了Per-Coordinate學習率,對模型參數的每一維i均有一個單獨的學習率:
(3)
其中,α與β的選擇通過交叉驗證來確定.
作為后文提出在線多任務特征選擇算法MT-FTPRL的基礎,本節將對多任務學習框架作簡要介紹.

在多任務學習過程中,第q個任務的判別函數fq是一個由模型權重向量wq參數化而來的超平面,也就是:
fq(x)=wqTx,q=1,…,Q
(4)
因此,多任務學習的完整模型參數是一個d×Q的矩陣.為了使符號整潔,我們在下面將學習的權重矩陣表示為列向量和行向量,如下所示.
(5)
多任務特征選擇的學習權重W通過最小化經驗風險與正則化約束學習而來.
(6)

l(w,z)=log(1+exp(-y(wTx)))
(7)
在公式(3)中,Ωλ(W)表示正則化約束項.許多混合范數可以用來獲得稀疏性,以進行特征選擇.本文使用了L2,1范數.該范數是模型權重矩陣上列向量的L2范數之和,對于多個不同的任務可以提取出一組共同的特征集:
(8)

為了解決現有多任務特征選擇算法的批處理訓練方式的不足,從在線稀疏學習算法FTPRL出發,提出了一種在線多任務特征選擇算法MT-FTPRL.
在算法的每一輪工作中,每一個任務會接收一個樣本,形成一個d×Q的矩陣.相應的模型的權重W也是一個d×Q的矩陣.與FTPRL算法相似,MT-FTPRL算法采用如下方式來更新模型參數:

(9)
使用了L2,1范數作為正則化約束以產生稀疏解.本文將網絡流量分類簡化為一個二分類問題,因此,使用了Logit損失作為損失函數,其次梯度可通過如下公式計算:
(10)
(11)
MT-FTPRL算法每輪迭代,W的更新方式如定理4.1所示.
定理4.1 給定記錄了所有輪迭代的梯度值的梯度序列G1:t,MT-FTPRL算法模型權重矩陣W按照如下方式更新:
對于每一維特征j=1,…,d,
(Wj·)t+1=
(12)

證明:公式(9)要解決的優化問題中,對W使用了L2,1范數約束,可以拆分成對W每行計算L2范數再進行求和.因此,可以將問題轉化為對W的每一行Wj分別進行優化求解.為了簡化表示,將Wj·記為w,將Gj·記為gt.上述優化問題可以轉換為:
(13)
將上式改寫為:
(14)
(15)
上述優化問題的解應為wt+1=k·zt,其中k≤0.此結論可用反證法證明:(1)若解為wt+1=k·zt+v,k∈R,且v在zt的零空間,則很容易驗證v應為零向量;(2)k>0不是最優解.當k>0時,可以很容易的驗證,令k=-k可以獲得更低的目標函數值.因此,問題進一步簡化為:
(16)
上式的拉格朗日函數形式為:
(17)
由KKT條件可知,問題的最優解必須滿足:
=0,v·k=0
(18)
上式可推導出:
(19)
代入wt+1=k·zt中,得到:
(20)
由于v·k=0以及k≤0,當λ<‖zt‖2時,k<0.如果λ>‖zt‖2,則v必須為正,k取值為0.所以wt+1的更新方式為:
(21)

(22)
定理1證畢.

在實際應用中,不能保證每次迭代時所有的任務都會接收一個樣本.為此,可以將沒有新樣本的任務接收一個全0的特征向量,并在該輪不更新權重向量.
本文將MT-FTPRL算法應用于流量分類場景下,提出了一種在線多任務的網絡流量分類框架,如圖1所示.該框架可將多個網絡流量作為多個任務同時進行處理,通過多個任務之間的信息共享來學習一組共同的稀疏特征表示,達到特征選擇的效果.

圖1 在線多任務流量分類框架Fig.1 Online multitask traffic classification framework
在離線訓練階段,首先對多個網絡流量數據進行采集并提取248維統計特征,然后使用在線多任務特征選擇算法MT-FTPRL進行訓練,獲得稀疏的特征集合以及多任務學習模型.在實時在線分類階段,不再需要對實時網絡流量提取完整的248維統計特征,僅需要根據得到的稀疏解提取少量的關鍵特征.接著線多任務分類器對樣本特征進行判別,得到預測的分類結果.
在此框架中,任務的數量根據實際應用場景的需求來確定.一般來說,每個流量采集點采集的網絡流量作為一個任務.但最優任務數量的確定還需要后續進一步研究.
采用此框架,可以大幅減少進行實時網絡流量分類時特征提取過程的計算量,可以提高同等硬件條件下的處理能力.同時,去掉冗余特征后,也能獲得更好的分類效果.
本文實驗采用了基于真實的骨干網網絡流量的MAWI數據集以及經典的Moore數據集以及作為實驗數據集.
MAWI數據集是本文基于WIDE流量數據[21]構造的骨干網網絡流量數據集.WIDE流量數據包含了美國和日本之間跨太平洋骨干網的自2006年以來每天14:00至14:15的網絡流量.我們選用了2010年中的6天流量數據來構造了MAWI數據集,設置的間隔時間為2個月.使用較長的間隔時間,可以較好地保留網絡流量演變發展的一些趨勢.MAWI數據集同樣提取了248維統計特征,并使用開源深度包檢測工具——nDPI進行樣本標記,識別了多達70余種網絡協議類型.本文實驗中,將MAWI數據集轉換為一個二分類數據集,使用2種占比最大的協議類型:HTTP與SMB,分別作為正負樣本.
Moore數據集[3]發布于2004年,采集了某實驗室網絡出口24h內10個時間段的雙向流量數據,每個時間段的平均抽樣時間約為1680s.該數據集共包含10中類別的377 526個網絡流量樣本.每個樣本均是由一條完整的雙向TCP流提取248維流量統計特征而來.本文中,將Moore數據集轉換為一個二分類數據集,使用WWW流量作為正樣本,使用其他流量作為負樣本.
兩個數據集的詳細信息如表1所示,可以看出:MAWI數據集規模要遠大于Moore數據集,更適用于大規模骨干網網絡流量分類研究.
實驗中所有算法均使用MATLAB 2015a實現.
實驗主要從準確性與稀疏性兩個方面對算法進行評價.準確性方面采用了準確率、精度、召回率和F-measure作為評價指標.在稀疏性方面,采用稀疏度(Sparsity)作為評價指標.稀疏度定義為模型權重向量中非零元素所占比例.在準確性與稀疏性之間還存在著一個平衡問題,在獲得較高稀疏性時勢必會犧牲一定的準確性.因此,實驗還對比了不同算法在相同稀疏性下的分類準確性差異.
為了評估我們提出的在線多任務特征選擇算法MT-FTPRL,實驗中采用的對比算法包括:Yang等人[18]提出了一種基于RDA算法的在線多任務特征選擇算法——DA-aMTFS,在本文中記為MT-RDA算法,以及2種單任務特征選擇算法RDA[16]與FTPRL[17].其中,MT-RDA算法與RDA算法使用了全局學習率,MT-FTPRL算法余FTPRL算法使用了Per-Coordinate學習率.實驗使用了Moore數據集與MAWI數據集.多任務算法MT-FTPRL與MT-RDA算法將數據集中每個子集作為一個任務,訓練一個統一的模型;單任務算法FTPRL與RDA將兩個數據集中的每個子集作為一個單獨的任務去分別訓練模型.其中,使用每個數據集的前 90%的樣本作為訓練集訓練模型,使用后 10%的樣本作為測試集模擬模型實時分類.在實驗中,我們使用網格搜索的方法來尋找最優參數.MT-FTPRL算法與FTPRL算法需要調節的參數有3個:α,β,λ,試驗中我們發現參數β對實驗結果影響較小,因此,我們沿用文獻[19]中的做法將β固定取值為0.5,僅對參數α,β進行搜索.MT-RDA算法與RDA算法需要調節的參數有2個:γ,λ.
實驗結果及分析如下:
表2給出了4種算法在2個數據集上,經過參數搜索后所得到的最優結果的5個評價指標的值.進行特征選擇的目的是使用盡量少的特征來獲取更優的分類精度.因此,表中的最有結果是指在保證精度在一定范圍內,稀疏度最小的結果.
由表2所示,使用Moore數據集時,MT-FTPRL算法在大部分指標上都優于或與其他算法一致,僅在召回率上略遜于MT-RDA算法.反映了本文所提出的MT-FTPRL算法在稀疏度與準確度上都能取得更好的效果,比對比的基準MT-RDA算法更優.另一方面,通過對比兩種多任務算法與兩種單任務算法的差異可以發現,多任務算法在分類準確度與特征稀疏度上都優于單任務算法.這說明了通過任務之間共享信息有助于學習到更好的模型,得到更優的特征選擇結果.在使用MAWI數據集進行實驗時也能得出相似結論,這里不再贅述.
圖2給出了在Moore數據集上參數λ的變化對分類準確率與模型稀疏度的影響.由于RDA與FTPRL有著不同的參數設置,無法直接比較,圖2中分別給出了FTPRL算法與MT-FTPRL算法的對比結果以及RDA算法與MT-RDA算法的對比結果.

圖2 不同參數設置準確率與稀疏度變化Fig.2 Accuracy and sparseness of different parameters
由圖2分析可得:在稀疏度指標上,在參數λ取值相同時,單任務算法稀疏度要優于多任務算法.但隨著參數λ取值增大,二者稀疏度差異將逐步減小.在準確率指標上,多任務算法的分類準確率要優于單任務算法,且隨著參數λ取值增大,二者差異將逐步拉大.這表明在稀疏性要求較高的情況下,多任務算法比單任務算法更加具有優勢.另一方面,在對比MT-FTPRL算法與MT-RDA算法取λ值增大時,分類準確率的變化趨勢可以發現,MT-RDA算法的分類準確率會在λ取值較大時,呈現出快速下降的趨勢,而MT-FTPRL算法則能保存準確率穩定在一個較高水平.這進一步說明了MT-FTPRL算法相較MT-RDA算法更具優勢.

圖3 4種算法在相同稀疏度下的準確度差異Fig.3 Accuracy of 4 algorithms in the same sparsity
為了更直觀地比較算法在網絡流量分類任務上效果的優劣,圖3給出了4種算法在相同稀疏度上的分類準確度差異.由圖3可知:在稀疏度較高時,FTPRL類算法普遍優于RDA類算法,甚至單任務的FTPRL算法要優于多任務的MT-RDA算法.但隨著稀疏度的降低,MT-RDA算法的準確率很快提高,超過FTPRL算法,與MT-FTPRL算法并駕齊驅.但是,從整體上看MT-FTPRL算法要優于MT-RDA算法.另一方面,每一類算法的多任務算法要優于單任務算法,這也與圖2結論相吻合.此外,還可以看出使用Per-Coordinate學習率的算法,相較于使用全局學習率的算法,在分類準確度上更具優勢.
圖4給出了四種算法在Moore數據集上使用表2中結果的參數設置下,學習得到的權重矩陣的示意圖.圖中橫坐標代表特征序列,縱坐標代表任務序列,整個圖像代表一個d×Q的權重矩陣.為了使圖形更簡潔,去掉了部分在所有算法上權值均為0的特征.圖中淺色部分代表權值為0,深色部分代表權重值不為0.

圖4 特征選擇結果Fig.4 Feature selection results
由圖4分析可知:單任務特征算法在不同任務上的特征選擇結果不盡相同,而多任務特征選擇算法在所有任務上能學習出一個統一的特征選擇結果,且較單任務特征選擇算法產生的結果稀疏性更好.在2種在線多任務特征選擇算法中,MT-FTPRL算法也比MT-RDA算法產生的結果更加稀疏,分類時所需要的特征也更少.MT-FTPRL算法在稀疏性上有著最好的表現.
綜合上述實驗結果可知,在線多任務特征選擇算法較在線單任務特征選擇算法有更好的稀疏性與準確性.使用Per-Coordinate學習率的算法,相較于使用全局學習率的算法,在分類準確度上更具優勢.本文提出的在線多任務特征選擇算法MT-FTPRL在網絡流量分類應用中,較其他3種算法有更好的應用前景,產生的特征選擇結果可以簡化網絡流量特征提取的過程,提高網絡流量分類的效率.
本文針對高速骨干網上網絡流量高速性與演化特性,基于FTPRL在線稀疏學習算法,提出了一種使用Per-Coordinate學習率的在線多任務特征選擇學習算法——MT-FTPRL.本文還提出了一個在線多任務學習的網絡流量分類框架,構造了一個基于真實的骨干網網絡流量的MAWI數據集.實驗表明,本文算法有著優秀的分類準確性和檢測效率,且能在不同的網絡流分類任務中提取一組共同的特征子集,提高分類系統的魯棒性,更適應網絡流量動態演化的特點.然而,本文僅針對二分類問題進行了研究,如何把算法擴展到多分類問題是下一步研究的重點.