APP下载

在线多任务学习的骨干网网络流量分类研究

2018-07-27潘志松杨海民

小型微型计算机系统 2018年7期
关键词:骨干网网络流量多任务

易 磊,潘志松,陶 蔚,杨海民

(中国人民解放军理工大学 指挥信息系统学院,南京 210007)

1 引 言

网络流量分类是现代网络管理与安全系统中最基本的功能[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数据集,并通过对比实验对提出的算法及分类框架进行验证.

2 相关工作

2.1 FTPRL算法

McMahan等人[17]提出的在线稀疏学习算法FTPRL,在保证高精度的同时,能获得良好的稀疏性.本文以FTPRL算法为基础,提出了一种在线多任务的特征选择算法.本小节首先对FTPRL算法做简要的介绍.

在线学习算法处理的数据是一种带有时序性的样本序列,其优化目标通常是最小化在整个样本序列下产生的累计误差.在线算法模型参数为wt.第t轮迭代时,接收一个特征向量为xt∈Rd的新样本.随后,模型给出该样本的预测值,再接收真实的样本标记.最后再对模型参数进行更新,得到wt+1.

与梯度下降类算法不同,FTPRL算法采用如下方式来更新模型参数:

(1)

(2)

2.2 Per-Coordinate学习率

学习率ηt的选择,对算法的效果有很大的影响.在文献[19]中,McMahan等人介绍了FTPRL算法的工程化实现.从这篇文章开始,FTPRL算法受到工业界的关注,被广泛应用于CTR预估等领域.在这篇文章的实现中,FTPRL算法使用了Per-Coordinate学习率,对模型参数的每一维i均有一个单独的学习率:

(3)

其中,α与β的选择通过交叉验证来确定.

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)

4 在线多任务特征选择

4.1 MT-FTPRL算法

为了解决现有多任务特征选择算法的批处理训练方式的不足,从在线稀疏学习算法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的特征向量,并在该轮不更新权重向量.

4.2 MT-FTPRL算法

本文将MT-FTPRL算法应用于流量分类场景下,提出了一种在线多任务的网络流量分类框架,如图1所示.该框架可将多个网络流量作为多个任务同时进行处理,通过多个任务之间的信息共享来学习一组共同的稀疏特征表示,达到特征选择的效果.

图1 在线多任务流量分类框架Fig.1 Online multitask traffic classification framework

在离线训练阶段,首先对多个网络流量数据进行采集并提取248维统计特征,然后使用在线多任务特征选择算法MT-FTPRL进行训练,获得稀疏的特征集合以及多任务学习模型.在实时在线分类阶段,不再需要对实时网络流量提取完整的248维统计特征,仅需要根据得到的稀疏解提取少量的关键特征.接着线多任务分类器对样本特征进行判别,得到预测的分类结果.

在此框架中,任务的数量根据实际应用场景的需求来确定.一般来说,每个流量采集点采集的网络流量作为一个任务.但最优任务数量的确定还需要后续进一步研究.

采用此框架,可以大幅减少进行实时网络流量分类时特征提取过程的计算量,可以提高同等硬件条件下的处理能力.同时,去掉冗余特征后,也能获得更好的分类效果.

5 实 验

5.1 实验数据集

本文实验采用了基于真实的骨干网网络流量的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数据集,更适用于大规模骨干网网络流量分类研究.

5.2 实验环境及评价指标

实验中所有算法均使用MATLAB 2015a实现.

实验主要从准确性与稀疏性两个方面对算法进行评价.准确性方面采用了准确率、精度、召回率和F-measure作为评价指标.在稀疏性方面,采用稀疏度(Sparsity)作为评价指标.稀疏度定义为模型权重向量中非零元素所占比例.在准确性与稀疏性之间还存在着一个平衡问题,在获得较高稀疏性时势必会牺牲一定的准确性.因此,实验还对比了不同算法在相同稀疏性下的分类准确性差异.

5.3 实验与分析

为了评估我们提出的在线多任务特征选择算法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种算法有更好的应用前景,产生的特征选择结果可以简化网络流量特征提取的过程,提高网络流量分类的效率.

6 总 结

本文针对高速骨干网上网络流量高速性与演化特性,基于FTPRL在线稀疏学习算法,提出了一种使用Per-Coordinate学习率的在线多任务特征选择学习算法——MT-FTPRL.本文还提出了一个在线多任务学习的网络流量分类框架,构造了一个基于真实的骨干网网络流量的MAWI数据集.实验表明,本文算法有着优秀的分类准确性和检测效率,且能在不同的网络流分类任务中提取一组共同的特征子集,提高分类系统的鲁棒性,更适应网络流量动态演化的特点.然而,本文仅针对二分类问题进行了研究,如何把算法扩展到多分类问题是下一步研究的重点.

猜你喜欢

骨干网网络流量多任务
数字时代的注意困境:媒体多任务的视角*
大数据驱动和分析的舰船通信网络流量智能估计
结合自监督学习的多任务文本语义匹配方法
基于双向长短期记忆循环神经网络的网络流量预测
面向多任务的无人系统通信及控制系统设计与实现
基于大数据分析的非线性网络流量组合预测模型*
加快新基建 200G骨干网呼之欲出,400G还有多远?
魏加宁:智能物流骨干网保证基础设施不落伍
中国广电网络成为互联网骨干网单位
阿里云发布“云骨干网”