一种基于梯度的网络流量分类方法及系统

文档序号:31468134发布日期:2022-09-09 22:15阅读:132来源:国知局
一种基于梯度的网络流量分类方法及系统

1.本发明属于网络测量与行为分析领域,涉及一种基于rectified-arcface层(改进的加性角度间隔损失层)梯度兼顾解决已知类别流量分类和未知类别流量识别问题的新型网络流量分类方法及系统,具体涉及一种带有rectified-arcface层的基于梯度的新型网络流量分类方法及系统。


背景技术:

2.网络流量分类技术,是一种对网络上的应用或行为产生的流量进行分类的技术。网络流量分类技术作为增强网络可控性的基础技术之一,有助于网络的智能化运维和管理、维护网络安全等。此外,网络流量分类对提供差异化网络服务质量、网络入侵检测、流量整形、资源分配等具有重要意义。
3.现有的网络分类的方法大致可以分为三类,传统基于端口和基于有效载荷的方法、基于机器学习的方法和基于深度学习的方法。
4.传统的基于端口的方法,包括基于端口号的方法和基于有效载荷的方法。基于端口号的方法,通过识别固定的网络协议端口号来识别网络流量的类别,如80端口为http流量、25端口为smtp流量。基于有效载荷的方法,如深度包检测技术,通过有效载荷中的签名来识别应用类型。
5.基于机器学习的方法,利用流量数据包的特征(包括数据包到达时间间隔、数据包长度等)和机器学习方法来进行流量分类。这些方法包括有监督的机器学习算法(如:支持向量机)和无监督的机器学习算法(如:k-means)。
6.基于深度学习的方法,利用经典的深度学习网络结构,如:cnn、lstm、sae和mlp进行流量分类。近来一些端到端的深度学习模型相继提出,如fs-net、app-net等。
7.目前,网络流量呈现加密化的趋势,传统的流量分类方法已不适用。现有的机器学习方法和深度学习的方法存在的问题:
8.(1)现有的研究大都基于所有流量都是由已知应用程序产生的假设来对流量进行分类,因此它们只能对先前采样和标记的现有类进行分类。而真实的网络环境中每时每刻都有可能有新的应用产生,同时已有的应用也会进行更新和迭代。这些未知类别的流量会大大降低利用已知类别训练的分类器的准确性。将未被分类器学习过的流量类别称为未知流量。
9.(2)现有的深度学习方法基于softmax损失,没有显示优化特征向量,使得相同类别的样本的特征向量更相似,而不同类别的样本更具有区分性。
10.(3)现有的方法大都没有考虑到类别不平衡的问题。但在真实的网络环境中,类别不平衡的问题不可避免,会影响分类器的分类性能。
11.因此,为加强网络流量监管和增强网络安全可控性,需要一种有效的网络流量分类方法,可以在真实的网络环境中,识别出未知流量,同时,可以准确分类已知类别流量。


技术实现要素:

12.针对真实网络环境中存在未知类别流量以及流量类别数目不平衡带来的分类性能下降的问题,本发明的目的在于提供一种基于梯度的网络流量分类方法及系统。
13.本发明的技术方案为:
14.一种基于梯度的网络流量分类方法,其步骤包括:
15.利用类别标注的网络流量样本集训练用于获取流量特征的深度学习网络;其中,训练方法为:将类别标注的网络流量样本输入所述深度学习网络,得到对应的流量特征;将网络流量样本的标注类别及对应的流量特征分别输入到rectified-arcface层计算预测损失值,使得类别和流量特征之间的角度间隔最大化;将所述损失值反向传播并提取反向传播过程中rectified-arcface层网络权重的梯度,根据所提取梯度通过梯度下降算法对rectified-arcface层网络权重进行更新优化;
16.将一验证数据集输入训练后的所述深度学习网络,得到一用于区分已知类别流量与未知类别流量的rectified-arcface层网络权重的梯度阈值;
17.将待识别网络流量输入训练后的深度学习网络,得到对应的流量特征并输入rectified-arcface层,得到待识别网络流量的候选类别;将所得候选类别反向传播到rectified-arcface层并计算rectified-arcface层网络权重的梯度h,如果该梯度h大于所述梯度阈值,则将待识别网络流量的类别为未知类别。
18.进一步的,所述深度学习网络的数据处理单元依次为基础块、全连接块;所述基础块的数据处理单元依次为卷积单元、批标准化层、最大池化层和激活层,所述全连接块的数据处理单元依次为全连接层、批归一化层和激活层。
19.进一步的,所述深度学习网络的数据处理单元依次为连续多个基础块、连续多个全连接块;所述基础块的卷积单元为连续多个卷积层。
20.进一步的,所述深度学习网络的数据处理单元依次为连续两个基础块、连续六个全连接块;所述基础块的卷积单元为连续三个卷积层。
21.进一步的,将l
arcface
层中的交叉熵损失函数替换为类别平衡焦点损失函数,得到rectified-arcface层计算预测损失值的损失函数。
22.进一步的,rectified-arcface层利用损失函数计算预测损失值;其中,n表示分批处理的网络流量样本数,xi表示第i个网络流量样本的流量特征,yi为第i个网络流量样本的标注类别,s为设定的缩放因子,α为平衡因子,γ为焦点放缩系数,m为流量特征xi与yi的权重向量之间的角度间隔,ny表示类别y的数目,θj为第j个网络流量样本的权重wj和流量特征xi之间的夹角,为权重wj中的每一行(即类别yi的权重向量)和特征xi之间的夹角。
23.一种基于梯度的网络流量分类系统,其特征在于,包括
24.深度学习网络,用于获取输入网络流量的流量特征;
25.rectified-arcface层,用于根据网络流量样本的标注类别及对应的流量特征计算预测损失值,使得类别和流量特征之间的角度间隔最大化;将所述损失值反向传播并提
取反向传播过程中rectified-arcface层网络权重的梯度,根据所提取梯度通过梯度下降算法对rectified-arcface层网络权重进行更新优化;
26.阈值选取模块,用于将一验证数据集输入训练后的所述深度学习网络,得到一用于区分已知类别流量与未知类别流量的rectified-arcface层网络权重的梯度阈值;
27.流量识别模块,用于将待识别网络流量输入训练后的深度学习网络,得到对应的流量特征并输入rectified-arcface层,得到待识别网络流量的候选类别;将所得候选类别反向传播到rectified-arcface层并计算rectified-arcface层网络权重的梯度h,如果该梯度h大于所述梯度阈值,则将待识别网络流量的类别为未知类别。
28.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。
29.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行上述方法的步骤。
30.一种带有rectified-arcface层基于梯度的新型网络流量分类方法和系统,包括以下步骤:
31.s1:流量特征表示。
32.s2:角度间隔最大化。
33.s3:梯度提取。
34.s4:未知流量过滤。
35.下面分别对每个步骤进行详细阐述。
36.步骤s1的特征表示,通过设计一个深度学习网络架构来得到流量的特征表示。这个深度学习框架基础块(重复两次)和全连接块(重复六次)构成。具体地,基础块由卷积层、批标准化层、最大池化层、激活层组成,全连接块由全连接层组成。每个基础块包含三个卷积层,批标准化层或激活层,并添加最大池层。基本数据的输出块输入到全连接块中,通过批标准化保持每层输入的分布。之后,利用激活函数进行非线性处理。基础块的重复是为了更好地提取更深层次、携带更多流量特征信息的、人更不可直接识别的深度特征,全连接块的重复是为了将基础块得到的高维流量特征逐步压缩为一个较低维(与类别数目相同)的特征,避免一次降低维度带来有用信息的缺失的问题。
37.s1-1:卷积层主要负责特征表示,有利于获得包含更多流量深层特征信息的高维表示,从而更好地表示流量。它主要由一组滤波器组成,对输入进行卷积运算。考虑到流量的序列化特征,采用一维的卷积神经网络。
38.s1-2:批归一化层可以对训练样本的数据分布做标准化的操作,使得神经网络每一层输入的均值和方差是固定的,从而可以克服神经网络层数加深而难以训练的问题。
39.s1-3:最大池化层对卷积后的数据进行最大池化的非线性操作,保留主要特征的同时减少了参数和计算量,可以避免过度拟合问题的发生,并且加快了运算的速度。
40.s1-4:激活层由elu函数组成,elu函数保留了负数,从而保存了更多有用的特征信息。
41.s1-5:重复6次的全连接块中的全连接层将经过基础块过后得到的高维特征逐步降低为一个低维向量的形式,最终得到一个与类别数目相同的向量表示。
42.步骤s2的角度间隔最大化,在s1得到的深度学习网络架构最后一层之后增加rectified-arcface层,使得类别和特征之间的角度间隔最大化,从而使得s1得到的流量特征表示更具有类别区分性。rectified-arcface损失是对softmax损失的改进,具体地,对特征向量归一化,增加了一个角度间隔,在角度空间上最大化分类界限,从而提高了类内可分性和类间的差异性。
43.原始的softmax损失是结合softmax函数和交叉熵损失函数的公式可得到表示如下:
[0044][0045]
其中,n表示分批处理的数据量,xi表示第i个样本的特征表示,其属于第yi类,b
yi
为偏置项,为简化运算过程,设为0。
[0046]
s2-1:对s1中得到特征表示和权重向量进行归一化操作。
[0047]
将带入上式,其中wj的第j行,即使用l2正则方法,固定每一个权重||wj||=1和特征||xi||=1。从而得到:其中,θj为权重wj和特征xi之间的夹角,具体地,为权重wj中的每一行(即类别yi的权重向量)和特征xi之间的夹角。此时可以将l
softmax
改写如下式:
[0048][0049]
其中,s为缩放因子,一般设为30,可根据实际情况调整。
[0050]
s2-2:在特征表示xi和权重向量之间增加一个额外的角度间隔m(通常取0.5,可根据实际情况调整)。从l

中进一步得到arcface损失的表达式为:
[0051][0052]
s2-3:结合类别平衡焦点损失函数来应对类别数目不平衡以及难易样本数不平衡的问题。在原始的交叉熵基础上引入平衡因子α和焦点放缩系数γ,根据每一轮预测表现调整样本损失的权重,使分类器的注意力更加集中于难样本。具体公式如下:
[0053]
l
focalloss
(y,p)=-α(1-p)
γ
(ylogp)
[0054]
类别平衡焦点损失函数进一步解决了类别不平衡的问题,其公式如下:
[0055][0056]
其中,y代表类别标签,p表示样本属于对应类别的概率,ny表示训练集中类别y的数目。
[0057]
本发明将原始计算l
arcface
中利用到的交叉熵损失函数替换为类别平衡焦点损失函数,最终可以得到rectified-arcface损失函数的公式如下:
[0058][0059]
步骤s3反向传播由s2-3最终的损失函数计算得到的误差,并提取rectified-arcface层权重的梯度(该梯度根据误差反向传播算法由神经网络自动计算,网络权重梯度通过梯度下降算法对网络权重进行更新优化)。rectified-arcface层的权重通过训练后携带了最多的有关已知类别样本的关键信息。假设模型正向推理是正确的,接着进行一个(假的)训练过程:(1)评估模型输出的标签;(2)将此标签认为是真实的标签,计算其误差反向传播过程中rectified-arcface层网络权重的梯度的变化,需要注意的是,此时回传梯度,但不改变网络的参数,只是关注于rectified-arcface层网络权重梯度。其中,反向传播过程中rectified-arcface层的权重的梯度的计算如下:
[0060][0061]
其中,wj为rectified-arcface层网络权重。
[0062]
通过验证集中网络权重梯度的大小来设定一个未知类别流量的阈值。
[0063]
步骤s4的未知流量过滤,通过训练网络得到的梯度的阈值,来过滤掉未知类别的流量。利用这个阈值对在线网络流量进行判断,如果其网络反传的权重梯度大于设定的阈值,即判断为未知类别的样本。
[0064][0065]
δ
l-1
指的是l-1层的梯度,即arcface层的梯度。
[0066]
阈值的计算采用l1正则、l2正则和先求和再平均的方法。
[0067]
本发明的优点如下:
[0068]
(1)优于现有先进的三种开集方法(df-pr/open-cnn/cnn-gr)。
[0069][0070]
(2)随着未知类别数目的增多,本发明依旧保持较好的性能。
附图说明
[0071]
图1为本发明一实施例中在存在未知类别流量的情况下对流量进行分类的步骤流
程图。
[0072]
图2为本发明一实施例中在真实的网络环境下对流量进行分类的系统模块组成示意图。
具体实施方式
[0073]
下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0074]
以网络应用产生的流量为对象,按步骤s1所述,对收集到的每条数据流进行特征表示。
[0075]
按照步骤s2所述,对s1生成的权重向量表示和特征向量表示之间的角度间隔最大化,从而得到更具有区分性的特征向量。
[0076]
按步骤s3所述,计算得到s2中的损失函数生成的更具有区分性特征向量在第一次反向传播过程中arcface层权重的梯度。
[0077]
按步骤s4所述,通过步骤s1和s2得到流量类别的预测标签,步骤s3将预测的类别标签输入到损失函数中,计算误差(即损失值),将其反向传播,通过验证集中不同样本在rectified-arcface层权重的梯度大小来设定一个阈值,此步骤利用这个阈值对测试集中的样本或在线网络流量进行判断,如果其网络反传的权重梯度大于设定的阈值,即判断为未知类别的流量。从而过滤出未知类别的流量。
[0078]
该实施例中的流量分类系统包括以下模块:
[0079]
流量特征表示模块,用于对输入的流量进行特征表示。
[0080]
角度间隔最大化模块,用于最大化类别和流量特征之间的间隔,从而得到更具区分性的特征向量。
[0081]
反向传播梯度提取模块,用于提取反向传播过程中rectified-arcface层权重的梯度,并设置未知流量的过滤阈值。
[0082]
未知流量过滤模块,用于过滤在线网络流量中的未知类别流量。
[0083]
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1