写在前面:
本文翻译供个人研究学习之用,不保证严谨与准确
github链接:https://github.com/WithHades/network_traffic_classification_paper
本文原文:S. Rezaei and X. Liu, “Multitask learning for network traffic classification”, arXiv:1906.05248, 2019
文章目录
网络流量分类中的多任务学习
摘要
流量分类在当今互联网上有着各种各样的应用,从ISP中的资源分配、计费和QoS,到客户端中的防火墙和恶意软件检测。经典的机器学习算法和深度学习模型被广泛应用于解决流量分类问题。然而,训练这样的模型需要大量的标记数据。在构建分类器时,标记数据通常是最困难和最耗时的过程。为了解决这一难题,我们将流量分类重新构造为一个多任务学习框架,在该框架中,流量的带宽需求和持续时间将与流量类别一起预测。这种方法的动机有两个:首先,带宽需求和持续时间在许多应用中都很有用,包括路由、资源分配和QoS。其次,这两个值可以很容易地从每个流中获得,而无需在受控和隔离的环境中对流进行人工标记或捕获。结果表明,在带宽和持续时间预测任务中,使用大量容易获得的数据样本,而在流量分类任务中只使用少量的数据样本,可以获得较高的精度。因此,我们提出的多任务学习框架避免了对大标记流量数据集的需求。我们使用ISCX和QUIC公共数据集进行了两个实验,并展示了我们的方法的有效性。
关键词: 多任务学习,监督学习,网络流量分类,QUIC协议分类
I. 介绍
网络流量分类在当今Internet上有着广泛的应用,如资源分配、QoS、isp计费、异常检测等。最早的解决网络流量分类的方法是使用端口号或未加密的包有效负载。这些方法依靠人工不断地在未加密的有效载荷或匹配的端口号中寻找模式。由于效率低、精度低,出现了基于经典机器学习算法的新方法,如随机森林(RF)和k近邻(KNN)。
多年来,经典的机器学习算法在流量分类任务中取得了最先进的精度。然而,这些相对简单的方法无法捕获当今互联网流量中存在的更复杂的模式,因此,它们的准确性已经下降。近年来,深度学习模型在流量分类方面取得了最新的成果。它们学习复杂模式和执行自动特征提取的能力使它们成为流量分类的理想选择。
虽然深度学习方法可以达到很高的精度,但它们需要大量的标记训练数据。在网络流量分类任务中,标记是一项耗时且繁琐的任务。为了正确地标记每个流,研究人员通常在一个背景流量很小的受控环境中单独捕获每个类的流。这一过程费时费力。此外,在受控环境中观察到的流量模式可能与实际流量存在显著差异,这使得推断不准确。
为了减少对大量标记训练样本的需求,我们提出了一种多任务学习方法,它可以执行三个预测(任务),其中只有一个预测需要人工努力,标记的环境是受控的。分别是带宽、持续时间和流量类预测任务。对于任何捕获的数据,无论它是否在隔离的受控环境中捕获,都可以轻松地计算每个流的总带宽和持续时间,而无需人为标记。因此,在一个多任务学习框架中,通过将大量模型参数共享到所有任务中,可以训练出带宽和持续时间任务数据量大,而流量等级预测任务只有少量标记样本的模型。此外,对于各种应用,例如资源分配或QoS,带宽和持续时间预测是非常有用的。
II. 相关工作
在深度学习模型广泛出现之前,经典的机器学习方法已经被广泛应用于网络流量分类[1]。这些方法通常依赖于有监督的学习方法,如支持向量机(SVM)[2]、[3]、C4.5[4]、[5]、朴素贝叶斯[6]、[7]、k近邻[8]、[9]等,或无监督的聚类方法,如k均值[10]、[11]或高斯混合模型[12]。然而,由于简单、手动特征提取(在当今高度加密的流量下变得更加困难)以及缺乏捕获更复杂模式的高学习能力,它们的准确性最近有所下降。
近年来,随着图像分类、语音识别、翻译等多种问题的深入学习方法取得了可喜的成功,网络研究人员最近将这些方法应用于流量分类中[13]。在文献[14]中,1998年设计的用于手写体数字识别的LeNet-5卷积神经网络(CNN)模型被用于流量类型分类。许多统计特征被重新排列成二维图像作为模型的输入。他们报告的准确性很高,但该模型不能用于在线应用程序[15],因为它需要观察整个流才能获得统计特征。在文献[16]中,作者使用统计特征和有效载荷数据对QUIC协议进行流量分类。他们首先使用统计特征和随机森林算法来区分聊天和语音呼叫与其他类。如果检测到其他类,它们将有效负载数据与CNN模型一起用于对视频流、文件传输和Google音乐进行分类。它们的第一个阶段需要观察整个流程,因此,它只适用于离线应用程序。有效载荷信息虽然是加密的,但也被用于其他论文中。在[17]中,CNN和堆叠自动编码器(SAE)一起用于ISCX数据集,以分类流量类型和应用。这些方法使用深层神经网络作为黑盒,而不需要识别人类可理解的特征。
在文献[18]中,利用Reproducing Kernel Hilbert
Space(RKHS)将每个流的时间序列特征转化为二维图像。生成的图像用作CNN模型的输入。他们比较了CNN模型和经典的机器学习方法,包括支持向量机、决策树和朴素贝叶斯。CNN模型的精度达到99%以上,优于经典的机器学习方法。在[19]中,卷积神经网络、长短期记忆(LSTM)模型和各种组合被用于对多种服务(如YouTube和Office365)进行分类。当时间序列特征和标题特征与CNN/LSTM体系结构一起使用时,它们的准确率达到96%左右。在[20]中,CNN和CNN+LSTM模型用于识别80个移动应用程序。它们使用原始数据包头和有效负载,并对大量类实现高精度。他们首次使用阻塞分析来阐明深度学习模型如何对加密流量进行分类。研究表明,SSL/TLS协议中的未加密握手字段可以有效地用于应用程序的识别。然而,他们使用在运营ISP捕获的大型数据集来训练这样的大型模型。
在[15]中,提出了一个通用框架,为任何流量分类任务提供了直接的指导和方向。以前的大多数工作都是在一般框架下进行的。然而,这些方法都依赖于监督学习,需要大量的标记数据进行训练。对于深度模型来说,这变得更加困难,因为它们需要比经典机器学习方法多得多的训练数据。
唯一一项研究解决了对大型标记数据集的需求是[21]。该方法由一种半监督学习方法组成,其中CNN模型是从采样数据包中预测多个统计特征的预先训练方法。它们使用采样包的时间序列特征。然后,它们用新的层替换最后几层,然后用一个标记的小数据集重新训练。这种方法的优点是不需要人为地标记预先训练的数据集,因为当整个流可用时,统计特征可以很容易地计算出来。然而,他们的方法采用采样数据包,这意味着在执行不适合在线应用的分类之前,它需要观察流的很大一部分。在本文中,我们提出了一个多任务学习的方法,它优于单一任务学习和迁移学习。
III. 深度学习背景
A. 卷积神经网络(CNNs)
卷积神经网络(CNNs)是一类由若干层卷积运算构成的深度学习模型。CNN模型的结构灵感来自于动物视觉皮层的组织。CNNs由几个卷积层、池化层和全连接(FC)层组成,如图1所示。在卷积层中,使用一组具有少量可学习参数的小内核来从前一层的输出捕获模式。为了生成输出,卷积层在整个输入上使用相同的内核集。通过在一个层中使用相同的内核集,可学习参数的数量大大减少。此外,在整个输入上使用这些内核有助于模型更容易地捕获移位不变的特征。例如,在图像分类任务中,无论老虎在图像中的位置如何,捕获虎皮图案的内核都可以检测到该图案。这对于具有固有的移位不变性的任务尤其有用,包括网络流量分类,其中一些模式可能出现在流的前几个包、流的末尾或可能出现在流的任何部分。CNN模型中通常使用的另一层是池化层,它主要负责子采样。在卷积和池化层集合的末尾,通常使用一组全连接层来捕获输入的高级特征。
B. 多任务学习(MTL)
多任务学习(Multi-task learning,MTL)的目标是在任务不完全独立、可以提高学习效率的前提下,同时完成多个学习任务。例如,检测危险目标和基于距离的危险评估是自动驾驶的两项重要任务。由于这两个任务是相关的,并且可以从共享表示中受益,因此可以定义多任务学习方法来共同学习这些任务[22]。
最常见的多任务学习方法是硬参数共享,其中一些深度学习模型的参数在任务之间共享,一些参数保持任务特定[23]。我们的硬参数共享模型在第4-D节中进行了说明。多任务学习模型比多个单任务学习模型更有效,因为在MTL数据集中,所有任务都可以帮助更好地学习所有其他任务。在本文中,我们将证明,使用多任务学习方法可以提高流量分类任务的准确性,在这种方法中,其他任务的数据很容易获得,即预测流量的带宽和持续时间。因此,在训练MTL框架时,当使用大量其他任务的数据时,流量分类任务的准确性显著提高。
IV. 方法
A. 动机
本文的研究动机是:首先,流量分类任务很难获得足够的标记训练数据。同时,还有其他的预测任务需要进行资源分配,具有易于获取的标签,可以用来提高流量分类任务的准确性。因此,我们有动机通过多任务学习来共同解决这两个问题。
首先,捕获一个足够大的标记数据集用于流量分类以训练深层模型是一项耗时且繁琐的任务[15]。此外,正确标记捕获的数据也是一项挑战,特别是在捕获期间存在背景流量或多个流量类时。另一方面,未标记的数据通常非常丰富,而且容易捕获。因此,希望能够使用大量未标记的数据来显著减少训练所需的标记数据的数量。本文在一个多任务学习框架中,使用一个大的未标记数据集和一个小的标记数据集来解决这个问题。
我们方法的第二个动机是,ISP或数据中心经常执行流量分类,以进行计费、资源分配或QoS目的。因此,流量类别和其他流量特征,如带宽需求和持续时间,可以显著改善ISPs的资源分配、QoS等决策。本文提出了一种多任务学习方法,该方法利用流的前几个时间序列特征,执行三个预测任务:带宽、服务质量和服务质量,持续时间和流量等级。不仅带宽和持续时间预测是有用的,它们不需要人工标注,而且可以捕获大量流,然后轻松计算它们的带宽和持续时间。
B. 数据集
1. QUIC数据集
QUIC数据集[21]是在加州大学戴维斯分校捕获的。它包含5个Google服务的QUIC流量:Google Doc(1251个流量)、Google Drive(1664个流量)、Google Music(622个流量)、Youtube(1107个流量)、Google Search(1945个流量)。数据集包含时间序列特性:数据包长度、相对时间和方向。数据集已预处理。根据[21],所有少于100个包的短流都被删除。注意,数据集中的所有流都被标记。然而,为了评估我们的多任务学习方法,我们只在训练期间使用一小部分的类标签。
2. ISCX VPN-nonVPN 数据集
ISCX数据集[24]在新不伦瑞克大学捕获,它包含几个流量类型的原始pcap文件。数据集提供细粒度的标签,允许不同的分类:基于应用程序(如AIM chat、Gmail、Facebook等)、基于流量类型(如聊天、流媒体、VoIP等)和VPN/非VPN。在本文中,我们将数据集分为5类,它们具有不同的QoS要求和带宽/持续时间特性:聊天、电子邮件、文件传输、流和VoIP。数据集中同时存在UDP和TCP通信。对于TCP流,我们寻找FIN包来标识TCP流的结束。对于UDP流,我们使用15秒的流超时来标记UDP流的结束。与QUIC数据集类似,所有流都与一个流量类型标签相关联,但我们只使用一小部分标签来预测多任务学习的流量类。
C. 输入特征和预测输出
一般来说,现代网络流量分类器使用一种或四种输入特征的组合:时间序列、报头、有效载荷和统计特征[15]。由于报头信息的准确性不高,目前很少使用。统计特征是从整个流中获得的,因此,不适合于当流量出现时需要预测的在线分类。当资源分配、QoS或路由决策依赖于预测输出时,在线分类是必要的。有效载荷数据已被证明对一些数据集、特殊业务类型和加密方法有用[17]、[26]。这些方法的成功源于TLS 1.2握手阶段的未加密字段[21]。然而,现代加密方法,如QUIC和TLS 1.3,尽可能减少未加密字段的数量。因此,对于新的和更强大的加密协议,有效载荷信息本身可能没有那么有用。注意,许多接近的流量分类使用了整个流量流的统计特征。流的带宽需求和持续时间也可以看作是通过观察整个流而获得的统计特征。然而,在我们提出的方法中,我们预测带宽和持续时间,因为我们只能观察前几个包,而不能观察整个流。因此,我们将带宽和持续时间作为单独的任务作为输出,而不是使用这些值作为输入的常见流量分类方法。
在本文中,我们使用了前k个包的三个时间序列特征,即包长度、到达间隔时间和方向。我们的模型的输入是一个长度为k的向量,有两个通道。第一信道包含第一k个分组的到达时间,第二信道包含长度和方向的组合。如[21]所示,对于第二信道,正值表示正向(从客户端到服务器)的分组长度,负值表示反向的分组长度。此外,我们通过假设长度的最大值为1434字节来规范化数据。
流量分类的常用方法通常侧重于预测流量类型、应用程序、操作系统、用户操作等。除了此类类标签之外,我们还旨在预测可用于资源分配、路由或QoS目的的流量的持续时间和带宽需求。本文将带宽和持续时间预测问题描述为分类问题,而不是回归问题。在我们的实验中,当带宽和持续时间任务被定义为回归问题时,该模型需要很长时间才能收敛,并且表现不好。此外,粗粒度预测通常足以用于路由或QoS目的。因此,我们将这些任务重新定义为分类任务。
带宽和持续时间类定义的标签如表1所示。我们将带宽和持续时间值分为五个类。我们称之为
[
b
w
1
,
.
.
.
,
b
w
4
]
[b_{w1}, ..., b_{w4}]
[bw1,...,bw4]和
[
d
1
,
.
.
.
,
d
4
]
[d_1, ..., d_4]
[d1,...,d4]带宽和持续时间分配器。例如,如果流的带宽介于
b
w
1
b_{w1}
bw1和
b
w
2
b_{w2}
bw2之间,则将类编号2指定为该流的标签。带宽和持续时间预测任务的类数可以不同于流量类数。它们可能取决于应用程序、场景和ISP的需求。例如,仅考虑短期流和长期流之间差异的ISP只能定义两个持续时间类。我们在评估部分的实验表明,如果定义的类使得带宽和持续时间类与每个业务类的平均值相对应,则所有任务的准确性都会提高。然而,我们发现在所提出的多任务框架中,即使选择一个任意的值来分类带宽和持续时间,也比单一的任务分类器要好。
为了更好地了解带宽和持续时间的分布,我们分别在图2和图3中说明QUIC数据集类的带宽和持续时间直方图。对于带宽,一个类(G音乐)相当消耗更多的带宽,并且大多大于1mbps,而其他类在1kbps到1mbps之间变化。G音乐带宽之所以大得多,是因为它在播放时试图下载整个曲目。通过观察图3中G音乐流的持续时间,这一点更加明显,图3显示了G音乐流的非常短暂的性质。尽管在某些地区存在重叠,但不同类的持续时间是相对不同的。请注意,根据数据集、应用程序和ISP的需要,带宽和持续时间分类可能会从一种方案更改为另一种方案。
为了找到
[
d
1
,
.
.
.
,
d
4
]
[d_1, ..., d_4]
[d1,...,d4]的最优值,我们首先找到每个类的平均持续时间。然后,我们对平均值进行排序,然后找到两个连续平均值之间的中间点
[
d
1
,
.
.
.
,
d
4
]
[d_1, ..., d_4]
[d1,...,d4]。例如,在QUIC数据集中,G Music、G Search、G Drive、Y ouTube和G Doc的平均持续时间为[2.77、9.83、32.08、56.44、114.10]秒。因此,持续时间分割器是[6.30、20.96、44.26、85.27]。类似的方法也被用来获得带宽分配器阵列。请注意,这些值是从整个数据集获得的最佳值。然而,我们的假设是只有少量的标记数据可用。因此,在我们的评估中,我们得到了基于少量标记样本的分割器。因此,分隔值与最佳值略有不同。但是,我们在评估部分显示,使用这些分隔值仍然可以显著提高性能。
在本文中,我们使用带宽和持续时间作为任务,这些任务不需要人工标注,并且可以很容易地大量获得。对于这样的任务,还可以使用其他统计特征,例如平均分组长度、到达间隔时间的标准差等,这些特征也在[21]中的迁移学习方法中使用。这样的任务也可以改进模型训练。然而,这些预测任务并没有直接的用途,因此应该被视为辅助任务。
D. 多任务模型构架
本文将一维卷积神经网络(CNN)应用于多任务学习模型体系结构中。CNN体系结构首先被引入并用于视觉识别任务。然而,在过去的几年中,它被广泛地用于其他领域的各种任务。CNN模型最重要的特征之一是其平移不变性,这一特性适用于具有时间序列特征的流量分类任务,因为每个类别的流量模式不一定出现在流的同一位置。
我们的方法的总体架构如图4所示。模型参数详见表2。我们使用最大池化,因为它通常比其他池方法更受欢迎。修正线性单元(ReLU)激活在整个模型中用作激活函数,除了包含Softmax的最后一层。
假设带宽、持续时间和流量类别预测任务分别用B、D和T表示。另外,我们有N个训练数据,
x
i
x_i
xi表示第i个数据样本的输入,
y
i
B
y_i^B
yiB、
y
i
D
y_i^D
yiD和
y
i
T
y_i^T
yiT表示带宽、持续时间和流量类别预测任务的相应输出。多任务学习法的目标可以表述为
a
r
g
m
i
n
W
B
,
W
D
,
W
T
∑
i
=
1
N
[
L
(
y
i
B
,
f
(
x
i
;
W
B
)
)
+
L
(
y
i
D
,
f
(
x
i
;
W
D
)
)
+
λ
L
(
y
i
T
,
f
(
x
i
;
W
T
)
)
]
arg min_{W^B, W^D, W^T} \sum_{i=1}^N[L(y_i^B, f(x_i;W^B)) + L(y_i^D, f(x_i;W^D)) + \lambda L(y_i^T, f(x_i;W^T))]
argminWB,WD,WTi=1∑N[L(yiB,f(xi;WB))+L(yiD,f(xi;WD))+λL(yiT,f(xi;WT))]
其中L是交叉熵损失函数。 λ \lambda λ是表示流量类别预测任务重要性的权重。由于此任务的训练数据样本比其他两个任务少得多,我们可以增加 λ \lambda λ来稍微补偿标记数据的不足。请注意,对于所有训练数据,都可以使用带宽和持续时间标签。但是,只有一小部分数据样本具有流量类标签。在训练过程中,我们将流量类softmax层的输入乘以掩码向量,以防止没有流量类标签的数据样本从该任务中反向传播。
V. 评估
A. 实现细节
我们使用python和Keras包来实现我们的多任务学习方法。我们使用的服务器有Nvidia Titan Xp GPU和Intel Xeon W-2155和Ubuntu 16.04。我们对ISCX和QUIC数据集进行了实验。在我们所有的实验中,训练阶段只用了不到几分钟。我们使用批处理优化和Adam优化器进行训练。损失函数和模型结构在第4节D中进行了说明。
B. QUIC数据集
在这一部分中,我们比较了我们的多任务学习方法与迁移学习和单任务学习方法的准确性。表3显示了QUIC数据集所有方法的准确性。对于单任务学习方法,我们使用了两个成功的模型,即具有统计特征的随机森林(RF)[26]和在[19]中提出的CNN+RNN模型。我们从零开始为每项任务训练模型三次。对于带宽和持续时间预测,我们使用整个数据集进行训练,因为它不需要人工标注。这就是为什么当表3中的标记样本增加时,准确度保持不变。注意[26]中的RF方法以整个流的统计特征作为输入。由于带宽和持续时间是统计特征,因此如果整个流是可访问的,则可以获得它们。因此,如果分类器能够观察整个流,就不需要预测带宽和持续时间。这就是我们不在这两个任务上训练射频模型的原因。对于迁移学习,我们采用了类似于[21]的方法,其源任务略有不同。我们首先用整个数据集训练模型以预测带宽/持续时间元组。注意,对于这个任务,我们使用整个训练集的两个标签。在对模型进行训练之后,我们移除最后一层并用一个新层替换它并初始化权重,类似于[21]。然后,对模型进行重新训练,完成流量流类别预测任务。最后一个模型只预测流量类别。这就是为什么表3没有包含迁移学习方法的带宽和持续时间精度的原因。注意,我们使用的迁移学习方法和[21]中提出的方法之间还有另一个区别。在[21]中,该模型以采样的时间序列特征作为输入,不适合用于资源分配、路由或QoS所需的在线分类。因此,我们将前k个包作为模型的输入,而不进行采样。对于多任务学习方法,我们使用所有的训练数据训练整个模型。我们使用整个训练数据样本的带宽和持续时间标签,而我们只为流量类任务提供有限数量的标签(在第一列中指定)。在这个实验中,我们将 λ \lambda λ设为1,以同样地强调所有三个任务。此外,我们使用前60个包作为输入(k=60)。
如表3所示,我们使用的多任务学习方法比迁移学习和单任务学习的准确率要高很多,因为我们只有有限的标记样本。事实上,可用于带宽和持续时间任务的大量数据来训练模型参数,显著改善了训练过程。尽管迁移学习方法也能在训练前获得大数据集的好处,但它更容易发生灾难性遗忘[27],失去执行先前任务的能力,或过度拟合,失去通过与训练数据集紧密拟合来概括的能力,特别是当目标任务具有少量训练样本。
在我们的实验中,我们发现当使用所有类标签的整个数据集时,单任务学习的准确率为97.67%。对于流量类预测任务,仅使用100个标记样本的多任务学习方法与使用整个标记数据集的单任务学习方法达到了几乎相同的精度。因此,多任务学习方法可以大大减少标记数据的数量。对于带宽和持续时间预测任务,单任务学习和多任务学习没有显著的性能差异,因为这些任务有大量的数据样本。
图5示出了当使用不同数量的包作为输入时,所有三个任务的多任务学习方法的准确性。有趣的是,带宽和持续时间可以用30个包来预测,而增加包的数量并不能显著提高准确性。对于流量分类任务,从30个数据包到60个数据包有显著的性能改进。然而,通过观察更多的数据包,流量分类预测并不能得到更准确的结果。
图6示出了具有不同 λ \lambda λ的三个任务的预测精度。直观地说,在多任务学习中,当一个任务的训练样本数明显小于其他任务时,在训练过程中,数据丰富的任务对deep模型的共享参数影响较大。因此,用较少的数据增加任务损失函数的权重,如第4节-D所述,可以补偿训练过程中的数据不足,并增加此任务对训练过程的影响。如图6所示,增加 λ \lambda λ有助于模型适应流量类预测任务,直到达到最大精度。然而,进一步增加 λ \lambda λ将降低所有任务的准确性。这是因为当 λ \lambda λ很大时,该模型对流量分类训练数据的拟合度很高,因而对所有任务的测试数据的拟合度较差。此外,当 λ \lambda λ很大时,与其他任务相比,梯度更新对于流量流类别预测的作用变得很大,这使得训练过程在没有微调学习率的情况下很难收敛到局部最小值。
这种现象会影响所有任务的执行。因此,对于多任务学习方法,应该找到合适的
λ
\lambda
λ值作为超参数。一个好的起点是将带宽和持续时间任务的样本数与流量分类任务的样本数之比设置为
λ
\lambda
λ。
表4显示了带宽和持续时间划分器对带宽、持续时间和流量类任务性能的影响。第一行显示了从第IV-C节所述的训练集获得的最优分割器。在本实验中,我们仅使用每个类的20个标记样本来训练流量类任务。如图所示,最优分割器在流量类任务中达到了最高的精度。通过改变划分器的值,流量类任务的精度略有下降。然而,流量类任务的准确率仍然远远高于表三所示的单任务学习(66.67%)和迁移学习(87.33%)。换句话说,即使使用非最优分割,使用多任务学习仍然是有益的,并且优于其他方法。
因为对于某些应用和场景,例如在ISP和资源分配中,ISP可能需要定义一个自定义带宽类来满足其需求,这可能不同于基于训练数据获得的最佳分割。因此,不仅可以使用多任务学习方法来预测带宽和持续时间,这对于资源分配或QoS提供都是有用的,而且还可以提高流量类预测的准确性,而不必考虑分割器的选择。换句话说,多任务学习方法可以一石二鸟。请注意,如表4的最后一行所示,分区器的任意错误选择可能导致带宽和持续时间任务的精度较低。但是,它仍然可以提高流量类的精度,因为它有助于模型在数据丰富的情况下学习模型的共享参数。因此,如果计划将带宽和持续时间任务用作辅助任务以提高流量类任务的准确性,则最好选择最优的分割器,如第IV-C节所述。如果带宽和持续时间预测计划用于资源分配或QoS,则在多任务框架中定义问题还提高了流量分类任务的准确性。
C. ISCX数据集
在本节中,我们使用ISCX数据集,并将所有类组合成5种不同的流量类型,如第IV-B节所述。尽管已经表明,以有效载荷信息为输入的CNN模型对此数据集实现了更高的精度[17],我们使用ISCX数据集进行了实验,结果表明我们的多任务学习方法比一般的单任务学习和迁移学习方法的性能有所提高。
表5显示了ISCX数据集的带宽、持续时间和流量类任务的准确性。无论采用何种学习方法,ISCX数据集(表5)中的流量类任务的准确性都低于QUIC数据集(表3)。类似于V-B部分,我们将
λ
\lambda
λ设置为1,将k设置为60个包。如表5所示,对于多任务学习和单任务学习方法,带宽和持续时间任务的准确性是相似的。这表明适合带宽预测的模式和卷积滤波器也适用于持续时间预测,因为在多任务学习方法中,它们共享相同的模型参数,并且获得相同的精度。流量类任务的准确性不如其他任务,但与其他方法相比,多任务学习方法的准确性有了显著的提高。
图7说明了这三个任务相对于数据包数量k的准确性。与QUIC数据集不同,持续任务需要观察更多的数据包才能进行准确的预测。在QUIC数据集中,对于不同数量的数据包,任务的持续时间精度几乎相同。然而,对于ISCX数据集,k=30导致比k>=40低得多的精度。带宽和流量类别预测任务显示出与QUIC数据集相同的趋势。有趣的是,ISCX和QUIC数据集几乎都能在大约60个输入包的情况下实现其所有任务的最大精度。
图8显示了使用不同 λ \lambda λ时所有任务的准确性。在这个实验中,我们使用每个类20个标记数据样本(用于流量类预测)和整个数据集进行带宽和持续时间任务。与QUIC数据集(图6)类似,流量类别预测的最大精度达到了 λ = 10 \lambda = 10 λ=10左右。类似地,在V-B部分,通过进一步增加 λ \lambda λ,该模型更适合于降低所有任务性能的流量分类任务。
VI. 讨论
在本文中,我们使用带宽和持续时间预测作为具有多训练数据的任务。如前所述,这两个任务具有潜在的用途。然而,对于这些预测不重要且仅用于提高流量分类精度的场景,也可以使用其他预测任务(例如平均到达间隔时间或突发次数)作为辅助任务。辅助任务应具有两个特点:一是与流量分类任务高度相关。第二,标签应该容易获得。在这种情况下,寻找一组最佳的辅助任务来提高流量类别预测应该像超参数调整一样处理。对各种辅助任务的研究和分析不在本文的讨论范围之内,将作为今后的工作。
在我们的实验中,我们的多任务学习方法比迁移学习方法有更好的表现,或者表现得和迁移学习方法一样精确。然而,在许多情况下,迁移学习是唯一的选择。例如,如果预先训练的模型没有训练数据,我们只能使用迁移学习。此外,如果训练过程的时间或计算复杂度很重要,则可能需要避免多任务学习,因为它需要使用未标记数据和标记数据来训练整个模型。如果有一个预先训练的模型可用,迁移学习可以非常快地训练一个模型,尽管使用公共预先训练的模型会暴露安全威胁[28]。另外,多任务学习框架比迁移学习方法更有效。
VII. 总结
本文提出了一种多任务学习方法,该方法可以预测网络流量的类别、带宽和持续时间。由于带宽和持续时间任务不需要人工操作,也不需要控制和隔离的环境进行标记,因此可以很容易地捕获大量数据并用于这两个任务的训练。研究表明,通过为带宽和持续时间任务提供足够大的数据集,只需少量的样本就可以训练出流量类别预测任务。因此,它避免了对大量标记数据样本进行流量分类的需要。此外,带宽和持续时间预测可用于ISP中的资源分配、路由和QoS目的。我们对两个公共数据集进行了实验:QUIC和ISCX VPN-nonVPN。我们证明我们的多任务学习方法明显优于单任务和迁移学习方法。
本文提出了一种多任务学习框架用于网络流量分类,通过预测带宽、持续时间和流量类别,减少了对大量标记数据的需求。研究发现,利用带宽和持续时间的大量无标记数据能显著提高流量分类的准确性,适用于资源分配、QoS决策等场景。实验结果显示,该方法在QUIC和ISCX数据集上优于单任务和迁移学习方法。
6438

被折叠的 条评论
为什么被折叠?



