CN118013201A - 基于改进bert融合对比学习的流量异常检测方法及系统 - Google Patents
基于改进bert融合对比学习的流量异常检测方法及系统 Download PDFInfo
- Publication number
- CN118013201A CN118013201A CN202410258967.3A CN202410258967A CN118013201A CN 118013201 A CN118013201 A CN 118013201A CN 202410258967 A CN202410258967 A CN 202410258967A CN 118013201 A CN118013201 A CN 118013201A
- Authority
- CN
- China
- Prior art keywords
- flow
- data
- bert model
- improved
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 39
- 230000004927 fusion Effects 0.000 title claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 49
- 238000012549 training Methods 0.000 claims abstract description 37
- 238000007781 pre-processing Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 47
- 238000009826 distribution Methods 0.000 claims description 36
- 230000002159 abnormal effect Effects 0.000 claims description 25
- 238000010276 construction Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000004140 cleaning Methods 0.000 claims description 12
- 238000011156 evaluation Methods 0.000 claims description 8
- 230000000873 masking effect Effects 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于改进BERT融合对比学习的流量异常检测方法及系统,该方法包括下述步骤:获取流量数据并进行数据预处理;构建改进BERT模型,包括嵌入层和12个Transformer的编码器网络,对前6个Transformer的编码器和后6个Transformer的编码器网络分别进行权值共享操作;构建分类网络;基于交叉熵损失和对比损失构建总损失函数;改进BERT模型进行无监督预训练;改进BERT模型进行微调训练;通过反向传播更新模型参数,得到训练后的改进BERT模型;将待测试的流量数据输入训练后的改进BERT模型,得到流量检测结果。本发明能有效提升模型的泛化能力,同时保持稳定准确率。
Description
技术领域
本发明涉及设备流量检测技术领域,具体涉及一种基于改进BERT融合对比学习的流量异常检测方法及系统。
背景技术
随着物联网技术的广泛应用,创造了更智能、更高效、更便捷的生活和工作环境,然而,物联网技术的发展也为网络安全带来了严峻挑战,物联网设备的计算和存储资源通常比较有限,因此难以部署如防病毒软件、防火墙等传统防御措施。物联网设备受攻击后,不仅其自身的功能会受到影响,还可能会成为攻击者的跳板,进一步攻击其他设备。因此,通过流量异常检测技术,及时发现网络中的异常行为,提升安全管理能力是当下迫切需求。在过去,基于深度学习的异常流量检测方法主要包括基于CNN的方法和基于RNN的方法,但这两类方法都有一定局限性。网络流量数据通常具有复杂的时空动态特性,基于CNN的方法难以挖掘流量数据全局时序特征,基于RNN的方法可以挖掘全局时序特征,但是无法实现并行计算。近年来,基于BERT的方法能够捕捉流量数据中的长距离依赖关系,因此能取得优异的检测性能,但其需要较多的计算资源和内存,无法在资源受限的环境中使用。
发明内容
为了克服现有技术存在的缺陷与不足,本发明提供一种基于改进BERT融合对比学习的流量异常检测方法及系统,本发明对BERT模型进行改进,利用权值共享,解决了使用BERT模型资源消耗过大的问题,有效提升模型的泛化能力,同时保持稳定准确率。
为了达到上述目的,本发明采用以下技术方案:
本发明提供一种基于改进BERT融合对比学习的流量异常检测方法,包括下述步骤:
获取流量数据,对流量数据进行数据预处理,得到字节序列;
构建改进BERT模型,所述改进BERT模型包括嵌入层和12个Transformer的编码器网络,所述字节序列输入嵌入层,将字节序列作为一段文本,每个字节作为一个词,提取词的Token Embedding、Segment Embedding、Position Embedding表示并相加得到对应向量,对前6个Transformer的编码器和后6个Transformer的编码器网络分别进行权值共享操作,改进BERT模型输出每个字节含流量上下文特征信息的向量表示;
构建分类网络;
基于交叉熵损失和对比损失构建总损失函数;
对所述字节序列进行掩码处理后输入改进BERT模型进行无监督预训练,前向计算被掩码位置的字节的概率分布,基于交叉熵损失函数计算预测的概率分布与真实标签之间的差异;
将改进BERT模型第12层Transformer的编码器网络输出向量传递给分类网络,分类网络输出与类别标签数量相同的概率分布,基于对比损失,根据改进BERT模型第10层Transformer的编码器网络输出向量计算对比损失;
通过反向传播更新模型参数,得到训练后的改进BERT模型;
获取待测试的流量数据,将待测试的流量数据输入训练后的改进BERT模型,得到流量检测结果。
作为优选的技术方案,所述对流量数据进行数据预处理,包括切分数据、扩充词表、数据清洗、统一数据长度;
在切分数据的步骤中,将原始流量数据集以网络会话作为分割条件,将数据集分割,得到数据流集合,其中,数据流是由多个数据包组成的序列,数据流中的每个数据包具有相同五元组{源IP、目的IP、源端口、目的端口、网络协议},且按时间顺序排列,数据包是由多个字节组成的序列;
在扩充词表的步骤中,往BERT词表内添加新词;
在数据清洗的步骤中,删除不满足设定条件的信息;
所述统一数据长度包括统一数据流长度步骤和统一数据包长度步骤。
作为优选的技术方案,所述分类网络包括若干个全连接层和softmax层;
将改进BERT模型输出的向量表示输入分类网络,通过若干个全连接层生成流量分类的数值分布列表;
所述softmax层对数值分布列表进行softmax计算,转化为流量分类的概率分布。
作为优选的技术方案,所述基于交叉熵损失和对比损失构建总损失函数,具体表示为:
Loss=λ·CELoss+(1-λ)·SCLoss
其中,CELoss表示交叉熵损失,SCLoss表示对比损失,λ表示用于控制交叉熵损失和对比损失之间的权重,t为网络流的真实标签,y为softmax层计算得到的概率结果,σ表示sigmoid函数,x表示改进BERT模型输出的隐层向量的第10层向量,S表示求衡量xi、xj之间的相似度函数,y表示xi、xj是否属于同一个类别的判定结果,τ是超参数。
作为优选的技术方案,在得到训练后的改进BERT模型步骤之后,还包括模型评估步骤,采用准确率、召回率、精确度以及F1分数评估模型性能,具体表示为:
其中,Accuracy表示准确率,Recall表示召回率,Precision表示精确度,F1_score表示F1分数,TP表示改进BERT模型正确地将实际异常流量正确预测为异常流量,TN表示改进BERT模型正确地将实际正常流量正确预测为正常流量,FP表示改进BERT模型错误地将实际正常流量错误预测为异常流量,FN表示改进BERT模型错误地将实际异常流量错误预测为正常流量。
本发明还提供一种基于改进BERT融合对比学习的流量异常检测系统,包括:流量数据获取模块、数据预处理模块、改进BERT模型构建模块、分类网络构建模块、总损失函数构建模块、无监督预训练模块、微调训练模块、流量检测结果输出模块;
所述流量数据获取模块用于获取流量数据;
所述数据预处理模块用于对流量数据进行数据预处理,得到字节序列;
所述改进BERT模型构建模块用于构建改进BERT模型,所述改进BERT模型包括嵌入层和12个Transformer的编码器网络,所述嵌入层将字节序列作为一段文本,每个字节作为一个词,提取词的Token Embedding、Segment Embedding、Position Embedding表示并相加得到对应向量,所述改进BERT模型前6个Transformer的编码器和后6个Transformer的编码器网络分别进行权值共享操作,所述改进BERT模型输出每个字节含流量上下文特征信息的向量表示;
所述分类网络构建模块用于构建分类网络;
所述总损失函数构建模块用于基于交叉熵损失和对比损失构建总损失函数;
所述无监督预训练模块用于将所述字节序列进行掩码处理后输入改进BERT模型进行无监督预训练,前向计算被掩码位置的字节的概率分布,基于交叉熵损失函数计算预测的概率分布与真实标签之间的差异;
所述微调训练模块用于将改进BERT模型第12层Transformer的编码器网络输出向量传递给分类网络,分类网络输出与类别标签数量相同的概率分布,基于对比损失,根据改进BERT模型第10层Transformer的编码器网络输出向量计算对比损失;
通过反向传播更新模型参数,得到训练后的改进BERT模型;
所述流量检测结果输出模块用于将待测试的流量数据输入训练后的改进BERT模型,得到流量检测结果。
作为优选的技术方案,所述数据预处理模块用于对流量数据进行数据预处理,得到字节序列,具体包括切分数据、扩充词表、数据清洗、统一数据长度;
在切分数据中将原始流量数据集以网络会话作为分割条件,将数据集分割,得到数据流集合,其中,数据流是由多个数据包组成的序列,数据流中的每个数据包具有相同五元组{源IP、目的IP、源端口、目的端口、网络协议},且按时间顺序排列,数据包是由多个字节组成的序列;
在扩充词表中往BERT词表内添加新词;
在数据清洗中删除不满足设定条件的信息;
所述统一数据长度包括统一数据流长度步骤和统一数据包长度步骤。
作为优选的技术方案,所述分类网络包括若干个全连接层和softmax层;
所述若干个全连接层将改进BERT模型输出的向量转化成流量分类的数值分布列表;
所述softmax层对数值分布列表进行softmax计算,转化为流量分类的概率分布。
作为优选的技术方案,所述总损失函数构建模块用于基于交叉熵损失和对比损失构建总损失函数,总损失函数具体表示为:
Loss=λ·CELoss+(1-λ)·SCLoss
其中,CELoss表示交叉熵损失,SCLoss表示对比损失,λ表示用于控制交叉熵损失和对比损失之间的权重,t为网络流的真实标签,y为softmax层计算得到的概率结果,σ表示sigmoid函数,x表示改进BERT模型输出的隐层向量的第10层向量,S表示求衡量xi、xj之间的相似度函数,y表示xi、xj是否属于同一个类别的判定结果,τ是超参数。
作为优选的技术方案,还包括模型评估模块,采用准确率、召回率、精确度以及F1分数评估模型性能,具体表示为:
其中,Accuracy表示准确率,Recall表示召回率,Precision表示精确度,F1_score表示F1分数,TP表示改进BERT模型正确地将实际异常流量正确预测为异常流量,TN表示改进BERT模型正确地将实际正常流量正确预测为正常流量,FP表示改进BERT模型错误地将实际正常流量错误预测为异常流量,FN表示改进BERT模型错误地将实际异常流量错误预测为正常流量。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明对BERT模型进行改进,利用权值共享,解决了使用BERT模型资源消耗过大的问题,有效提升模型的泛化能力,同时保持稳定准确率。
(2)由于字节码之间组合具有多样性,现有的模型比较容易出现健壮性较差的问题,本发明融入对比学习思想,有效提高模型的健壮性和准确率。
附图说明
图1为本发明基于改进BERT融合对比学习的流量异常检测方法的流程示意图;
图2为本发明数据预处理的框架流程示意图;
图3为本发明数据流层次示意图;
图4为本发明BERT模型嵌入层结构示意图;
图5为本发明BERT模型编码器网络结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,本实施例提供一种基于改进BERT融合对比学习的流量异常检测方法,包括下述步骤:
S1:数据预处理:数据预处理是对流量数据进行预处理的过程,将流量数据集处理成模型输入所要求的格式,主要步骤包括切分数据、扩充词表、数据清洗、统一数据长度,统一数据长度包括统一数据流长度和统一数据包长度;
如图2所示,步骤S1的数据预处理,具体步骤包括:
S11:切分数据:
将原始流量数据集以网络会话作为分割条件,将数据集分割,得到数据流集合S={数据流1,数据流2,数据流3,...},其中,任意数据流i是由多个数据包组成的序列,数据流i={数据包1,数据包2,数据包3,...},数据流中的每个数据包具有相同五元组{源IP、目的IP、源端口、目的端口、网络协议},且按时间顺序排列;而任意数据包j是由多个字节组成的序列,其中,数据包j={字节1,字节2,字节3,...},所有字节以其十六进制的文本形式保存,如图3所示,得到数据流层次;
S12:扩充词表:
往BERT词表内添加新词,即1字节能取到的所有十六进制表示的字符串形式,例如:′0x00′,′0x01′,...,′0xfe′,′0xff′;
S13:数据清洗:
删除对训练无用的信息,例如只有IP头部信息但是没有载荷的数据包;同时将每个数据包的IP地址以及MAC地址所在的字节用特殊字符替换;
S14:统一数据流长度:
由于后续模型训练需要统一的输入格式,故设定数据流长度(即数据包个数)阈值为N,设定数据包(即字节个数)长度阈值为K字节。将长度大于N的数据流截断到N;如果数据流中数据包个数小于N,则使用由特殊字符组成的长度为K的数据包来补齐到N个数据包,由于BERT模型的输入长度为512,所以N乘以K的乘积需小于512;
S15:统一数据包长度:
对照步骤S14操作,将长度大于K字节的数据包截断到K,对于所有长度没达到K字节的数据包,同样使用特殊字符填充到K字节;
S2:构建改进BERT模型:改进BERT模型包括嵌入层和12个Transformer的编码器网络。输入为经步骤S1预处理后的字节序列,输出为字节序列对应的向量表示序列。其中,对前6个编码器网络和后6个编码器网络分别进行权值共享操作,减少参数数量的同时,提升模型的泛化能力;
在本实施例中,BERT层网络包括嵌入层和BERT的编码器网络;
S21:如图4所示,嵌入层具体为:
以步骤S1的输出,即字节序列的文本表示作为输入,将字节序列视为一段文本,每个字节视为一个词,词向量维度为768。提取词的Token Embedding、Segment Embedding、Position Embedding表示,将它们相加得到768维向量。
S22:如图5所示,BERT的编码器网络具体为:
构建改进编码器网络,使前6个编码器共享一份参数,后6个编码器共享一份参数。将步骤S21的输出依次经过12个编码器,每个编码器的输入输出维度均为768维,因此,最后得到每个字节含流量上下文特征信息的768维向量表示。
S3:构建分类网络:以步骤S22输出的隐层向量的最后一层的768维[CLS]向量作为输入,通过若干个全连接层,再通过softmax层。
S31:全连接层:以步骤S22输出的特征向量作为输入,通过若干个全连接层生成流量分类的数值分布列表。
S32:softmax层:对步骤S31输出的数值分布列表进行softmax计算,将其转化为流量分类的概率分布。
S4:构建改进的损失函数:将对比学习融入到模型微调训练中,基于改进损失函数使得同一类别的网络流样本在嵌入空间中更加相似,不同类别的网络流样本更加不相似,提升模型的泛化能力和鲁棒性,最终的总损失函数Loss包括交叉熵损失和对比损失两部分:
Loss=λ·CELoss+(1-λ)·SCLoss
其中,λ用于控制交叉熵损失和对比损失之间的权重。
交叉熵损失CELoss函数公式如下:
其中,t为网络流的真实标签,y为softmax层计算得到的概率结果。
对比损失SCLoss公式如下:
其中,σ表示sigmoid函数;x是步骤改进BERT模型输出的隐层向量的第10层768维的[CLS]向量;S是求衡量xi、xj之间的相似度函数;y表示xi、xj是否属于同一个类别的判定结果(0或1),τ是超参数。
S5:模型训练评估:将预处理好的数据划分为训练集、验证集和测试集,并进行模型训练与评估;
S51:模型无监督预训练:利用大规模流量数据对改进的BERT模型进行无监督预训练;
S511:掩码处理:对于经过预处理的每个字节序列(长度为512),以15%比例随机选择一些字节来进行掩码处理。对于随机选择的字节,10%的字节对应的输入随机替换为另一个字节对应的输入,80%的字节对应的输入替换为特殊标记“[MASK]”,10%字节对应的输入保持不变;
S512:无监督训练:将经过掩码处理的数据包序列输入到S2改进后的BERT模型中,前向计算被掩码位置的字节的概率分布,使用交叉熵损失函数来计算模型预测的概率分布与真实标签之间的差异;
S513:反向传播:通过反向传播更新模型参数,使得损失逐渐趋近于0;
S514:无监督训练停止条件:当损失达到预设水平或达到预设训练轮数时,停止无监督预训练,并保存无监督训练好的模型参数;
S52:模型微调:使用改进BERT模型和损失函数对模型进行微调训练;
S521:将经预处理后的字节序列(长度为512),输入到改进后的BERT模型,对输入序列进行特征编码,最终得到每个字节对应的768维特征向量表示(长度为768*512);
S522:将改进BERT模型第12层编码器网络输出的768维的[CLS]向量传递给分类网络,分类网络将输出与类别标签数量相同的概率分布;
S523:前向计算:使用步骤S4改进损失函数计算模型损失。改进损失函数考虑到流量任务的特殊性质,在交叉熵损失CELoss的基础上融入对比学习思想,添加对比损失SCLoss,对比损失SCLoss根据BERT模型第10层编码器网络输出的768维[CLS]向量计算出对比损失;
S524:反向传播:通过反向传播(Adam优化器)不断更新模型参数,使SCLoss和CELoss逐渐减小。随着SCLoss减小,同一类别的网络流样本在嵌入空间中将更加靠近,不同类别的网络流样本将更加远离,模型的健壮性和准确率将得到有效提升;
S525:微调训练停止条件:通过监视训练集和验证集上的损失,当验证集上损失达到预设水平或达到预设训练轮数时,停止微调,并保存训练好的模型;
S53:模型评估:利用测试集对训练好的模型性能进行评估。冻结训练好的模型参数,其余过程与步骤S52微调训练一致,并用准确率Accuracy、召回率Recall、精确度Precision及F1分数F1_score来评估模型性能。以下是计算公式:
其中,TP是指模型正确地将实际异常流量正确预测为异常流量,TN是指模型正确地将实际正常流量正确预测为正常流量,FP是指模型错误地将实际正常流量错误预测为异常流量,FN是指模型错误地将实际异常流量错误预测为正常流量。
S6:获取待测试的流量数据,将待测试的流量数据输入训练后的改进BERT模型,得到流量检测结果。
本发明为完成设备流量异常检测任务并提高模型能力,对BERT模型进行改进,减少了资源消耗,并提升模型的泛化能力,同时有效解决了使用传统循环神经网络缺乏并行计算能力且准确率不够高的问题;此外,本发明融入对比学习思想,有效提高模型的鲁棒性和准确率。
实施例2
本实施例提供一种基于改进BERT融合对比学习的流量异常检测系统,用于实现上述实施例1的基于改进BERT融合对比学习的流量异常检测方法,该系统包括:流量数据获取模块、数据预处理模块、改进BERT模型构建模块、分类网络构建模块、总损失函数构建模块、无监督预训练模块、微调训练模块、流量检测结果输出模块;
在本实施例中,流量数据获取模块用于获取流量数据;
在本实施例中,数据预处理模块用于对流量数据进行数据预处理,得到字节序列;
在本实施例中,改进BERT模型构建模块用于构建改进BERT模型,所述改进BERT模型包括嵌入层和12个Transformer的编码器网络,所述嵌入层将字节序列作为一段文本,每个字节作为一个词,提取词的Token Embedding、Segment Embedding、Position Embedding表示并相加得到对应向量,所述改进BERT模型前6个Transformer的编码器和后6个Transformer的编码器网络分别进行权值共享操作,所述改进BERT模型输出每个字节含流量上下文特征信息的向量表示;
在本实施例中,分类网络构建模块用于构建分类网络;
在本实施例中,总损失函数构建模块用于基于交叉熵损失和对比损失构建总损失函数;
在本实施例中,无监督预训练模块用于将所述字节序列进行掩码处理后输入改进BERT模型进行无监督预训练,前向计算被掩码位置的字节的概率分布,基于交叉熵损失函数计算预测的概率分布与真实标签之间的差异;
在本实施例中,微调训练模块用于将改进BERT模型第12层Transformer的编码器网络输出向量传递给分类网络,分类网络输出与类别标签数量相同的概率分布,基于对比损失,根据改进BERT模型第10层Transformer的编码器网络输出向量计算对比损失;
通过反向传播更新模型参数,得到训练后的改进BERT模型;
在本实施例中,流量检测结果输出模块用于将待测试的流量数据输入训练后的改进BERT模型,得到流量检测结果。
在本实施例中,数据预处理模块用于对流量数据进行数据预处理,得到字节序列,具体包括切分数据、扩充词表、数据清洗、统一数据长度;
在切分数据中将原始流量数据集以网络会话作为分割条件,将数据集分割,得到数据流集合,其中,数据流是由多个数据包组成的序列,数据流中的每个数据包具有相同五元组{源IP、目的IP、源端口、目的端口、网络协议},且按时间顺序排列,数据包是由多个字节组成的序列;
在扩充词表中往BERT词表内添加新词;
在数据清洗中删除不满足设定条件的信息;
在本实施例中,统一数据长度包括统一数据流长度步骤和统一数据包长度步骤。
在本实施例中,分类网络包括若干个全连接层和softmax层;
若干个全连接层将改进BERT模型输出的向量转化成流量分类的数值分布列表;
softmax层对数值分布列表进行softmax计算,转化为流量分类的概率分布。
在本实施例中,总损失函数构建模块用于基于交叉熵损失和对比损失构建总损失函数,总损失函数具体表示为:
Loss=λ·CELoss+(1-λ)·SCLoss
其中,CELoss表示交叉熵损失,SCLoss表示对比损失,λ表示用于控制交叉熵损失和对比损失之间的权重,t为网络流的真实标签,y为softmax层计算得到的概率结果,σ表示sigmoid函数,x表示改进BERT模型输出的隐层向量的第10层向量,S表示求衡量xi、xj之间的相似度函数,y表示xi、xj是否属于同一个类别的判定结果,τ是超参数。
在本实施例中,还包括模型评估模块,采用准确率、召回率、精确度以及F1分数评估模型性能,具体表示为:
其中,Accuracy表示准确率,Recall表示召回率,Precision表示精确度,F1_score表示F1分数,TP表示改进BERT模型正确地将实际异常流量正确预测为异常流量,TN表示改进BERT模型正确地将实际正常流量正确预测为正常流量,FP表示改进BERT模型错误地将实际正常流量错误预测为异常流量,FN表示改进BERT模型错误地将实际异常流量错误预测为正常流量。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种基于改进BERT融合对比学习的流量异常检测方法,其特征在于,包括下述步骤:
获取流量数据,对流量数据进行数据预处理,得到字节序列;
构建改进BERT模型,所述改进BERT模型包括嵌入层和12个Transformer的编码器网络,所述字节序列输入嵌入层,将字节序列作为一段文本,每个字节作为一个词,提取词的Token Embedding、Segment Embedding、PositionEmbedding表示并相加得到对应向量,对前6个Transformer的编码器和后6个Transformer的编码器网络分别进行权值共享操作,改进BERT模型输出每个字节含流量上下文特征信息的向量表示;
构建分类网络;
基于交叉熵损失和对比损失构建总损失函数;
对所述字节序列进行掩码处理后输入改进BERT模型进行无监督预训练,前向计算被掩码位置的字节的概率分布,基于交叉熵损失函数计算预测的概率分布与真实标签之间的差异;
将改进BERT模型第12层Transformer的编码器网络输出向量传递给分类网络,分类网络输出与类别标签数量相同的概率分布,基于对比损失,根据改进BERT模型第10层Transformer的编码器网络输出向量计算对比损失;
通过反向传播更新模型参数,得到训练后的改进BERT模型;
获取待测试的流量数据,将待测试的流量数据输入训练后的改进BERT模型,得到流量检测结果。
2.根据权利要求1所述基于改进BERT融合对比学习的流量异常检测方法,其特征在于,所述对流量数据进行数据预处理,包括切分数据、扩充词表、数据清洗、统一数据长度;
在切分数据的步骤中,将原始流量数据集以网络会话作为分割条件,将数据集分割,得到数据流集合,其中,数据流是由多个数据包组成的序列,数据流中的每个数据包具有相同五元组{源IP、目的IP、源端口、目的端口、网络协议},且按时间顺序排列,数据包是由多个字节组成的序列;
在扩充词表的步骤中,往BERT词表内添加新词;
在数据清洗的步骤中,删除不满足设定条件的信息;
所述统一数据长度包括统一数据流长度步骤和统一数据包长度步骤。
3.根据权利要求1所述基于改进BERT融合对比学习的流量异常检测方法,其特征在于,所述分类网络包括若干个全连接层和softmax层;
将改进BERT模型输出的向量表示输入分类网络,通过若干个全连接层生成流量分类的数值分布列表;
所述softmax层对数值分布列表进行softmax计算,转化为流量分类的概率分布。
4.根据权利要求1所述基于改进BERT融合对比学习的流量异常检测方法,其特征在于,所述基于交叉熵损失和对比损失构建总损失函数,具体表示为:
Loss=λ·CELoss+(1-λ)·SCLoss
其中,CELoss表示交叉熵损失,SCLoss表示对比损失,λ表示用于控制交叉熵损失和对比损失之间的权重,t为网络流的真实标签,y为softmax层计算得到的概率结果,σ表示sigmoid函数,x表示改进BERT模型输出的隐层向量的第10层向量,S表示求衡量xi、xj之间的相似度函数,y表示xi、xj是否属于同一个类别的判定结果,τ是超参数。
5.根据权利要求1所述基于改进BERT融合对比学习的流量异常检测方法,其特征在于,在得到训练后的改进BERT模型步骤之后,还包括模型评估步骤,采用准确率、召回率、精确度以及F1分数评估模型性能,具体表示为:
其中,Accuracy表示准确率,Recall表示召回率,Precision表示精确度,F1_score表示F1分数,TP表示改进BERT模型正确地将实际异常流量正确预测为异常流量,TN表示改进BERT模型正确地将实际正常流量正确预测为正常流量,FP表示改进BERT模型错误地将实际正常流量错误预测为异常流量,FN表示改进BERT模型错误地将实际异常流量错误预测为正常流量。
6.一种基于改进BERT融合对比学习的流量异常检测系统,其特征在于,包括:流量数据获取模块、数据预处理模块、改进BERT模型构建模块、分类网络构建模块、总损失函数构建模块、无监督预训练模块、微调训练模块、流量检测结果输出模块;
所述流量数据获取模块用于获取流量数据;
所述数据预处理模块用于对流量数据进行数据预处理,得到字节序列;
所述改进BERT模型构建模块用于构建改进BERT模型,所述改进BERT模型包括嵌入层和12个Transformer的编码器网络,所述嵌入层将字节序列作为一段文本,每个字节作为一个词,提取词的Token Embedding、SegmentEmbedding、Position Embedding表示并相加得到对应向量,所述改进BERT模型前6个Transformer的编码器和后6个Transformer的编码器网络分别进行权值共享操作,所述改进BERT模型输出每个字节含流量上下文特征信息的向量表示;
所述分类网络构建模块用于构建分类网络;
所述总损失函数构建模块用于基于交叉熵损失和对比损失构建总损失函数;
所述无监督预训练模块用于将所述字节序列进行掩码处理后输入改进BERT模型进行无监督预训练,前向计算被掩码位置的字节的概率分布,基于交叉熵损失函数计算预测的概率分布与真实标签之间的差异;
所述微调训练模块用于将改进BERT模型第12层Transformer的编码器网络输出向量传递给分类网络,分类网络输出与类别标签数量相同的概率分布,基于对比损失,根据改进BERT模型第10层Transformer的编码器网络输出向量计算对比损失;
通过反向传播更新模型参数,得到训练后的改进BERT模型;
所述流量检测结果输出模块用于将待测试的流量数据输入训练后的改进BERT模型,得到流量检测结果。
7.根据权利要求6所述基于改进BERT融合对比学习的流量异常检测系统,其特征在于,所述数据预处理模块用于对流量数据进行数据预处理,得到字节序列,具体包括切分数据、扩充词表、数据清洗、统一数据长度;
在切分数据中将原始流量数据集以网络会话作为分割条件,将数据集分割,得到数据流集合,其中,数据流是由多个数据包组成的序列,数据流中的每个数据包具有相同五元组{源IP、目的IP、源端口、目的端口、网络协议},且按时间顺序排列,数据包是由多个字节组成的序列;
在扩充词表中往BERT词表内添加新词;
在数据清洗中删除不满足设定条件的信息;
所述统一数据长度包括统一数据流长度步骤和统一数据包长度步骤。
8.根据权利要求6所述基于改进BERT融合对比学习的流量异常检测系统,其特征在于,所述分类网络包括若干个全连接层和softmax层;
所述若干个全连接层将改进BERT模型输出的向量转化成流量分类的数值分布列表;
所述softmax层对数值分布列表进行softmax计算,转化为流量分类的概率分布。
9.根据权利要求6所述基于改进BERT融合对比学习的流量异常检测系统,其特征在于,所述总损失函数构建模块用于基于交叉熵损失和对比损失构建总损失函数,总损失函数具体表示为:
Loss=λ·CELoss+(1-λ)·SCLoss
其中,CELoss表示交叉熵损失,SCLoss表示对比损失,λ表示用于控制交叉熵损失和对比损失之间的权重,t为网络流的真实标签,y为softmax层计算得到的概率结果,σ表示sigmoid函数,x表示改进BERT模型输出的隐层向量的第10层向量,S表示求衡量xi、xj之间的相似度函数,y表示xi、xj是否属于同一个类别的判定结果,τ是超参数。
10.根据权利要求6所述基于改进BERT融合对比学习的流量异常检测系统,其特征在于,还包括模型评估模块,采用准确率、召回率、精确度以及F1分数评估模型性能,具体表示为:
其中,Accuracy表示准确率,Recall表示召回率,Precision表示精确度,F1_score表示F1分数,TP表示改进BERT模型正确地将实际异常流量正确预测为异常流量,TN表示改进BERT模型正确地将实际正常流量正确预测为正常流量,FP表示改进BERT模型错误地将实际正常流量错误预测为异常流量,FN表示改进BERT模型错误地将实际异常流量错误预测为正常流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410258967.3A CN118013201A (zh) | 2024-03-07 | 2024-03-07 | 基于改进bert融合对比学习的流量异常检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410258967.3A CN118013201A (zh) | 2024-03-07 | 2024-03-07 | 基于改进bert融合对比学习的流量异常检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118013201A true CN118013201A (zh) | 2024-05-10 |
Family
ID=90957723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410258967.3A Pending CN118013201A (zh) | 2024-03-07 | 2024-03-07 | 基于改进bert融合对比学习的流量异常检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118013201A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220129621A1 (en) * | 2020-10-26 | 2022-04-28 | Adobe Inc. | Bert-based machine-learning tool for predicting emotional response to text |
CN114781392A (zh) * | 2022-04-06 | 2022-07-22 | 西安电子科技大学 | 一种基于bert改进模型的文本情感分析方法 |
CN114861601A (zh) * | 2022-04-29 | 2022-08-05 | 桂林电子科技大学 | 基于旋转式编码的事件联合抽取方法及存储介质 |
CN116595407A (zh) * | 2023-04-12 | 2023-08-15 | 中国科学院计算技术研究所 | 基于标签序列一致性建模的事件论元检测方法及系统 |
CN116910341A (zh) * | 2022-12-09 | 2023-10-20 | 中国移动通信有限公司研究院 | 标签预测方法、装置及电子设备 |
CN117082004A (zh) * | 2023-08-30 | 2023-11-17 | 湖北省楚天云有限公司 | 一种基于蒸馏表征模型的轻量级加密流量分析方法及系统 |
US11843624B1 (en) * | 2022-07-12 | 2023-12-12 | Netskope, Inc. | Trained model to detect malicious command and control traffic |
WO2024000944A1 (zh) * | 2022-06-28 | 2024-01-04 | 南京邮电大学 | 一种基于elm和深度森林的混合模型异常流量检测系统及方法 |
-
2024
- 2024-03-07 CN CN202410258967.3A patent/CN118013201A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220129621A1 (en) * | 2020-10-26 | 2022-04-28 | Adobe Inc. | Bert-based machine-learning tool for predicting emotional response to text |
CN114781392A (zh) * | 2022-04-06 | 2022-07-22 | 西安电子科技大学 | 一种基于bert改进模型的文本情感分析方法 |
CN114861601A (zh) * | 2022-04-29 | 2022-08-05 | 桂林电子科技大学 | 基于旋转式编码的事件联合抽取方法及存储介质 |
WO2024000944A1 (zh) * | 2022-06-28 | 2024-01-04 | 南京邮电大学 | 一种基于elm和深度森林的混合模型异常流量检测系统及方法 |
US11843624B1 (en) * | 2022-07-12 | 2023-12-12 | Netskope, Inc. | Trained model to detect malicious command and control traffic |
CN116910341A (zh) * | 2022-12-09 | 2023-10-20 | 中国移动通信有限公司研究院 | 标签预测方法、装置及电子设备 |
CN116595407A (zh) * | 2023-04-12 | 2023-08-15 | 中国科学院计算技术研究所 | 基于标签序列一致性建模的事件论元检测方法及系统 |
CN117082004A (zh) * | 2023-08-30 | 2023-11-17 | 湖北省楚天云有限公司 | 一种基于蒸馏表征模型的轻量级加密流量分析方法及系统 |
Non-Patent Citations (2)
Title |
---|
ZIJUN HANG ET AL: "Flow-MAE: Leveraging Masked AutoEncoder for Accurate, Efficient and Robust Malicious Traffic Classification", 《RAID \'23: PROCEEDINGS OF THE 26TH INTERNATIONAL SYMPOSIUM ON RESEARCH IN ATTACKS》, 16 October 2023 (2023-10-16), pages 297 - 314 * |
何莎莎: "基于CNN-Transformer和互对比学习的加密流量分类研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 September 2023 (2023-09-15), pages 139 - 89 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784481B (zh) | SDN网络中基于神经网络的DDoS检测方法及系统 | |
WO2021258348A1 (zh) | 异常流量检测方法和系统、及计算机存储介质 | |
CN109067586B (zh) | DDoS攻击检测方法及装置 | |
CN109902203A (zh) | 基于边的随机游走的网络表示学习方法和装置 | |
CN111431819A (zh) | 一种基于序列化的协议流特征的网络流量分类方法和装置 | |
CN117082118A (zh) | 基于数据推导及端口预测的网络连接方法 | |
CN112491894A (zh) | 一种基于时空特征学习的物联网网络攻击流量监测系统 | |
CN116502162A (zh) | 边缘算力网络中的异常算力联邦检测方法、系统及介质 | |
CN112887323B (zh) | 一种面向工业互联网边界安全的网络协议关联与识别方法 | |
Wu et al. | Detection of improved collusive interest flooding attacks using BO-GBM fusion algorithm in NDN | |
CN118013201A (zh) | 基于改进bert融合对比学习的流量异常检测方法及系统 | |
CN117633657A (zh) | 基于多图表征增强实现加密应用流量识别处理的方法、装置、处理器及计算机可读存储介质 | |
CN117176382A (zh) | 一种基于融合序列的远控木马流量检测方法 | |
CN114979017B (zh) | 基于工控系统原始流量的深度学习协议识别方法及系统 | |
CN117349748A (zh) | 一种基于云边协同的主动学习故障诊断方法 | |
CN115587007A (zh) | 基于RoBERTa的网络日志安全检测方法及系统 | |
Li et al. | Error-bounded data compression using data, temporal and spatial correlations in wireless sensor networks | |
CN115174132B (zh) | 一种基于网络流量的电力物联网入侵检测方法 | |
KR102526935B1 (ko) | 네트워크 침입 탐지 시스템 및 네트워크 침입 탐지 방법 | |
CN116132095A (zh) | 一种融合统计特征和图结构特征的隐蔽恶意流量检测方法 | |
CN111767695B (zh) | 一种协议反向工程中字段边界推理优化方法 | |
CN105184157A (zh) | 一种基于分类计数器的确定有限状态机构造方法 | |
CN115118450B (zh) | 融合多级特征的增量式动态权值集成学习入侵检测方法 | |
CN112187823B (zh) | 雾计算架构下面向恶意程序扩散的物联网可用度评估方法 | |
Cai et al. | Communication protocol identification based on data mining and automatic reasoning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |