本发明涉及深度学习、网络流量分析和网络空间安全应用的,具体涉及一种基于多任务学习的et-bert流量分类方法、存储介质及设备。
背景技术:
1、网络流量分类在当今internet中有着广泛的应用,如资源分配、qos提供、isp计费、异常检测等。这些方法依赖于人类劳动来不断地在未加密的有效载荷中寻找模式或匹配端口号。由于效率低和准确性差,在经典机器学习算法的基础上出现了新的方法,如随机森林(rf)和k-最近邻(knn)。
2、几年来,经典的机器学习算法在流量分类任务中实现了最先进的准确性。但是,这些相对简单的方法无法捕获当今internet流量中存在的更复杂的模式,因此它们的准确性已经下降。最近,深度学习模型在流量分类方面取得了最先进的性能。它们学习复杂模式和执行自动特征提取的能力使它们成为流量分类的理想选择。
3、尽管深度学习方法可以实现很高的准确性,但它们需要大量带标签的训练数据。在网络流量分类任务中,标注是一项耗时且繁琐的工作。为了正确标记每个流,研究人员通常隔离且在具有最小背景流量的受控环境中捕获每个类的流。这个过程既费时又费力。此外,在受控环境中观察到的流量模式可能与实际流量有很大不同,这使得推断不准确。
技术实现思路
1、为了克服上述技术缺陷,本发明提供一种基于多任务学习的et-bert流量分类方法、存储介质及设备,其能减轻网络流量分类任务中对大量标记训练样本的需求。
2、为了解决上述问题,本发明按以下技术方案予以实现:
3、第一方面,本发明提供基于多任务学习的et-bert流量分类方法,包括步骤:
4、获取流量数据集,并对流量数据集进行预处理;
5、获取数据集的时间序列特征;
6、根据所述时间序列特征,将预测带宽和持续时间作为辅助任务,对et-bert模型预训练;
7、获取带宽和持续时间分频器的最佳值,并将所述最佳值转换为令牌进行批处理优化和adam优化器进行训练;
8、对预训练的et-bert模型中参数进行微调,采用微调参数后的et-bert模型进行主任务流量类别预测。
9、作为上述方案的改进,所述对et-bert模型预训练,还包括将流量类softmaxlayer的输入乘以掩码向量。
10、作为上述方案的改进,所述获取带宽和持续时间分频器的最佳值包括步骤:
11、将带宽和持续时间值分为五类,并找到每个类的平均持续时间;
12、将带宽每个类的平均值从高到底排序,得到每两个连续带宽平均值之间的带宽中间点,所述带宽中间点为带宽数据集获得的最佳值;
13、将持续时间每个类的平均值从高到底排序,得到两个连续持续时间平均值之间的持续时间中间点,所述持续时间中间点为持续时间数据集获得的最佳值。
14、作为上述方案的改进,采用token3embedding嵌入方法所述将所述最佳值转换为令牌进行批处理优化和adam优化器进行训练,包括步骤:
15、将所述带宽和持续时间分频器的最佳值先转换为十六进制序列,并对序列进行编码;
16、采用字节对编码表示令牌,将令牌的特殊标记添加进编码序列中。
17、作为上述方案的改进,所述时间序列特征为数据包的数据包长度、到达时间和有效载荷。
18、作为上述方案的改进,所述et-bert模型中多任务学习的调参公式表示为:
19、
20、其中,相当于普通线性回归里面的权重,l为损失函数的权重λ为主流量类别预测任务重要性的权重,ρ为正则化权重因子,减小模型系数,减小模型复杂度,防止过拟合现象w=[w1,w2,...,wk]nxk是多任务学习下的权重矩阵,wi=[wi,1,wi,2,…,wi,k],ai代表第ii个数据样本的输入,和代表带宽、持续时间和流量类别预测任务的相应输出,带宽、持续时间和流量类别预测任务分别用b,d和t表示。
21、第二方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如第一方面所述的基于多任务学习的et-bert流量分类方法。
22、第三方面,本发明提供一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现如第一方面所述的基于多任务学习的et-bert流量分类方法。
23、与现有技术相比,本发明具有以下有益效果:
24、本申请根据获取的时间序列特征,将带宽和持续时间作为辅助任务对et-bert模型预训练,并微调et-bert模型参数,用et-bert模型进行主任务流量类别预测,可改善流量类别预测并且减少人工来标记数据集目的,减轻网络流量分类任务中对大量标记训练样本的需求。
1.一种基于多任务学习的et-bert流量分类方法,其特征在于,包括步骤:
2.根据权利要求1所述的基于多任务学习的et-bert流量分类方法,其特征在于,所述对et-bert模型预训练,还包括将流量类softmax layer的输入乘以掩码向量。
3.根据权利要求1所述的基于多任务学习的et-bert流量分类方法,其特征在于,所述获取带宽和持续时间分频器的最佳值包括步骤:
4.根据权利要求1所述的基于多任务学习的et-bert流量分类方法,其特征在于,采用token3embedding嵌入方法所述将所述最佳值转换为令牌进行批处理优化和adam优化器进行训练,包括步骤:
5.根据权利要求1至4任一项所述的基于多任务学习的et-bert流量分类方法,其特征在于,所述时间序列特征为数据包的数据包长度、到达时间和有效载荷。
6.根据权利要求5所述的基于多任务学习的et-bert流量分类方法,其特征在于,所述et-bert模型的多任务学习目标公式表示为:
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的基于多任务学习的et-bert流量分类方法。
8.一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的基于多任务学习的et-bert流量分类方法。