读论文:Self-attentive deep learning method for online traffic classification and its interpretability

在线流量分类的自注意力深度学习方法及其可解释性

0.摘要

目前关于流量分类的机器学习或者深度学习方法大多数都以流级数据作为输入,这需要观察在整个或大部分流,并且违反了在线分类的限制。此外,基于深度学习的方法很少讨论可解释性。在本文中,我们提出了一种基于用于流量分类的自注意方法self-attentive method(SAM),并设计了一个神经网络其输入可以更细粒度(即数据包级别)该神经网络输出分类结果(每个数据包约 2 毫秒),从而满足在线分类的要求。此外,一种称为自注意力机制的新技术被用于可解释性探索。通过为输入的不同部分分配注意力权重,自注意力机制使我们能够了解深度学习模型如何从输入中学习判别性特征。根据实验结果,SAM 优于当前最先进的方案,将分类精度提高了约 8%(协议分类)、约 5%(应用程序分类)和约 13%(流量类型分类)。该代码可从 https://github.com/xgr19/SAM-for-Traffic-Classification 获取。
关键词:在线流量分类、深度学习、自注意力机制、可解释性

1.介绍

SAM主要有四个主要组件,包括embedding,the self-attention,the 1D-CNN,和the classifier
利用embedding来丰富数据包级输入的表示。
然后,使用自注意力机制为输入的每个部分分配不同的注意力权重,以指示每个输入部分的重要性。
应用1D-CNN进行进一步的特征表示。
最后,在分类器中,将softmax应用于特征并输出预测的类别概率。

  • 数据包级输入选择。数据包包含足够的字段,但某些字段(例如,IP校验和,IP地址)是无用的常量或偏差,可能会误导分类。选择了14个标头字段以及一些有意义的字节(即有效负载的有限字节)作为输入。
  • 自注意力机制适应
    本文主要贡献
  • 证明可以在数据包级别执行流量分类以满足限制在线流量分类
  • 引入自注意力机制用于可解释性探索。发现当分类任务发生变化时,神经网络的注意力会被赋予到不同的输入字节上。例如,在协议分类中,关注特征是byte#8、byte#10、byte#11、byte#35,而在应用分类中,关注特征变为byte#44、byte#48等。
  • 提出一种用于流量分类的自注意力深度学习方法SAM

3.方法

3.1 input type

调查的机器学习和基于深度学习的方法所输入的是数据类型可以大致分类两类:

(1)从流程中得出的统计特征
专家在数据包到达时进行一些统计分析,并通过他们的领域知识提取特征。一些统计特征包括数据包数量、数据包的最大/最小/平均/标准大小、每秒流字节数等。
(2)流的前n个原始字节
这种情况适用于基于 DL 的方案(参见第 2.3 节)。在这些方案中,馈送到神经网络的数据以字节方式排列,即每个输入元素都是流的原始字节,因此在 [0, 255] 范围内。例如,在[20]中,流的前 784 个字节被馈送到 1D-CNN,而在[27]中,通过向 SAE 输入 1000 个字节来做出类似的选择。
(3)多种输入方式
它允许深度学习模型将流的不同方面作为输入(例如,[29]中的前 576 个字节以及前 12 个数据包的四个信息字段)。
然而,这些输入类型大多都是流级的,无法满足在线分类的要求。一方面,为了获得统计特征,必须观察流的很大一部分甚至整个部分。另一方面,有些流只有很少的字节或很少的数据包,为了获得足够的输入,仍然需要观察大部分流。因此,分类器仅在流运行一段时间甚至结束后才使用这些输入类型输出结果。这违反了一些对延迟敏感的网络管理任务,例如路由和调度。因此,本工作提出了一种细粒度(即数据包级)输入。
在这里插入图片描述

3.2 self-attention mechanism

在这里插入图片描述
数据表示和嵌入
选择IP数据包的初始L字节(具有零掩码的不相关数据字段)进行分类。在SAM中,这些字节被表示为字节向量byte和位置向量pos,字节向量存储所选的L个字节。位置向量包含字节向量中每个字节的索引信息。对于每个字节,它们被转换为 [0, 255] 范围内的整数,并且它们的索引在 [0, L − 1] 范围内。例如,对于字节向量{4,0,0,80},其对应的位置向量为{0,1,2,3}。然后这两个向量被输入到嵌入中以进行进一步的表示学习。嵌入在学习机器翻译中单个单词的语义表示方面非常强大,在这里我们利用它来丰富字节向量和位置向量的表示。
self-attention
自注意力机制的输入Query(Q)、Key(K)和Value(V)是相同的。在SAM中,它们都是相同的嵌入输出。
注意力权重较低的部分将被视为不相关信息,并被后续的神经操作忽略。相反,注意力权重高的部分将在最终的分类结果中发挥重要作用。与其他没有自注意力机制的基于深度学习的方法相比,跟踪这些注意力权重的变化在研究深度学习组件的可解释性方面具有多个优势。例如,它可以帮助我们找出不同分类任务中最具区分性的特征。它还说明了不同输入部分的不同重要性。

4.实验

数据集:
Protocol classification(WIDE)
Application classification(UNIBS)
Traffic type classfication(ISCX)

4.1. 对比试验

DT、1D-CNN
KNN、CNN+RNN
RF、SAM
指标:accuracy,F1-score, Precision, recall, average performance, confusion matrix

4.2. different batch size effects of training performance

在这里插入图片描述

4.3. Time and GPU memory consumption during the validation

在这里插入图片描述

4.4. 可解释性实验

在测试阶段提取SAM中自注意力权重。从表中可以看到,当改变任务时,神经网络将学会调整其注意力,而不是固定注意力特征。
在这里插入图片描述

4.5. 进一步讨论

在实验过程中,SAM进行了5个epoch的训练,相比于常使用的epoch数(例如1D-CNN训练40epoch,CNN与RNN训练90epoch)要小的多。为了寻找训练差异,文中比较了训练精度和交叉熵损失。
在这里插入图片描述

5.总结

主要针对目前机器学习与深度学习所存在的问题-无法满足在线分类的限制,此外,深度学习很少讨论神经网络的可解释性。
本文提出了一种自注意力深度学习方法SAM,首先其输入可以实现更加细粒度(即数据包级原始字节);其次,利用一种自注意力机制的新技术,通过为输入的不同部分分配注意力权重,它也可以帮助我们理解神经网络凑够输入中学到什么。
最后实验结果表明SAM在协议、应用程序和流量类型分类任务上具有更好的性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值