一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度神经网络的网络异常检测方法与流程

2021-10-19 23:41:00 来源:中国专利 TAG: 异常 很好 神经网络 网络 深度


1.本发明涉及一种基于深度神经网络的网络异常检测方法,该方法在网络异常检测领域中有着很好的应用。


背景技术:

2.在网络异常检测领域中,可以将网络流量分为正常流量和异常流量。网络异常检测的目的是及时识别出异常的网络流量,从而实行相应的措施进行防护。
3.目前主流的流量分类方法包括:基于端口的方法、基于深层包检测的方法、基于统计的方法、基于行为的方法。由于随机端口和伪装端口技术的大量应用,通过端口分类的方法准确率偏低。基于深层包检测的方法无法解密流量内容,在分类任务中遇到很大障碍。目前研究较多的是基于统计的方法和基于行为的方法,它们属于传统的机器学习分类方法,特点是需手工设计流量特征。近年来,深度学习算法已被广泛地应用到网络异常检测领域。残差神经网络(resnet)和门控递归神经网络(gru)是当前深度学习模型中最流行的两种模型,残差神经网络可以提取网络流量的空间特征,门控递归神经网络可以提取网络流量的时序特征,对于网络异常检测的任务而言,可以同时利用两种模型来提取两种不同的特征,从而实现异常流量的检测。


技术实现要素:

4.为了解决网络异常检测领域中的异常流量识别准确率低的问题,本发明公开了一种基于深度神经网络的网络异常检测方法。
5.为此,本发明提供了如下技术方案:
6.1.一种基于深度神经网络的网络异常检测方法,其特征在于,该方法包括以下步骤:
7.步骤1:数据集选取,本方法选取nsl

kdd数据集。
8.步骤2:对nsl

kdd网络流量数据集所含有的字符型特征进行字符数值化,对数值化后的数值特征进行最大最小归一化,使数值特征范围在(0,1)之间。并按照数据集已经划分好的训练数据和测试数据进行训练和测试。
9.步骤3:训练包括前向传播和反向传播两个过程。训练数据作为resnet

gru模型训练的输入,经过resnet

gru模型的训练,得到优化后的resnet

gru模型。
10.步骤4:测试过程为前向传播过程,即流量分类过程。在优化后的resnet

gru模型上,输入测试数据,计算流量样本在每个流量类别下的概率分布,其中,具有最大概率的流量类别即为流量样本的流量类型。
11.2.根据权利要求1所述的基于深度神经网络的网络异常检测方法,其特征在于,所述步骤1中,对数据集进行选取,具体步骤为:
12.步骤1:nsl

kdd数据集是目前网络异常检测领域最为常用的数据集,因此选用该数据集对模型进行训练和测试。
13.3.根据权利要求1所述的基于深度神经网络的网络异常检测方法,其特征在于,所述步骤2中,以nsl

kdd数据集为基础,进行字符数值化和数值最大最小归一化使特征值的范围在(0,1)之间,具体步骤为:
14.步骤2

1将原始数据的第四列、第五列、第二十二列、第二十三列、第三十一列、第三十二列采用sklearn库的onehotencoder函数进行独热编码,使字符特征变为数值特征;
15.步骤2

2将网络流量分为五种类型,分别为normal,dos,probe,r2l,u2r;
16.步骤2

3原始数据样本中特征最大值和最小值差距较大,为防止数值大小差异对模型的影响,采用最大最小归一化方法将网络流量数据中的数值映射在(0,1)之间。
17.4.根据权利要求1所述的基于深度神经网络的网络异常检测方法,其特征在于,所述步骤3中,对resnet

gru模型进行训练,具体步骤为:
18.前向传播过程:
19.步骤3

1把训练数据输入到初始化的resnet

gru模型中;
20.步骤3

2经过resnet模型,提取更完整的空间特征;
21.步骤3

3经过gru模型,提取更完整的时序特征;
22.步骤3

4将resnet模型和gru模型提取的两种特征融合后,输入多头注意力层,对所提取的混合特征通过注意力机制,对重要特征给予更大的权重;
23.步骤3

5利用softmax层来计算流量样本m在每个流量类别s
i
(i=1,2,...,n)下的预测概率,所述的softmax函数如下:
[0024][0025]
其中,a
i
表示softmax层的输入数据,p(s
i
|m)表示流量样本m在流量类别s
i
下的出现概率(i=1,2,...,n)。
[0026]
步骤3

6从p(s1|m)、p(s2|m)、...、p(s
n
|m)中选取最大概率作为预测概率。
[0027][0028]
其中,y_predicted
j
表示流量样本m的预测概率。
[0029]
步骤3

7将预测概率y_predicted
j
和真实概率y
j
进行比较,利用交叉熵损失函数来计算误差loss。
[0030]
所述误差loss的计算过程如下所示:
[0031][0032]
其中,y
j
表示流量样本m属于流量类别s
i
的真实概率。
[0033]
反向传播过程:
[0034]
根据误差loss反向传播,逐层更新参数,参数更新过程如下:
[0035][0036]
其中,θ表示参数集,θ'表示更新后的参数集,a为学习率。
[0037]
不断迭代resnet

gru模型,得到优化后的resnet

gru模型。
[0038]
5.根据权利要求1所述的基于深度神经网络的网络异常检测方法,其特征在于,在所述步骤4中,对流量样本m进行流量分类,具体过程为:
[0039]
流量分类过程:
[0040]
步骤4

1把测试数据输入到优化后的resnet

gru模型之中;
[0041]
步骤4

2经过resnet模型,提取更完整的空间特征;
[0042]
步骤4

3经过gru模型,提取更完整的时序特征;
[0043]
步骤4

4将resnet模型和gru模型提取的两种特征融合后,输入多头注意力层,对所提取的混合特征通过注意力机制,对重要特征给予更大的权重;
[0044]
步骤4

5利用softmax层来计算流量样本m在每个流量类别下的概率分布。其中,具有最大概率的流量类别s'即为流量样本的流量类别。
[0045]
所述流量类别s'的确定过程如下:
[0046][0047]
其中,s'表示概率最大的流量类别,n表示流量类别数,p(s1|m),...,p(s
i
|m),...,p(s
n
|m)表示流量样本m在流量类别s
n
下的概率分布序列。
[0048]
有益效果:
[0049]
1.本发明是一种基于深度神经网络的网络异常检测方法。对网络流量数据进行字符数值化和数值最大最小归一化。以nsl

kdd数据集为基础,对模型进行训练和测试。对网络异常检测的准确率具有良好的效果。
[0050]
2.本发明所使用的模型为残差神经网络模型和门控递归神经网络模型,最大的特点是可以同时提取网络流量数据的空间特征和时序特征,进而充分利用两种不同的特征进行模型分类,并且能够很好地处理高维特征,无需手动选取数据特征。只要训练好resnet

gru模型,就可以获得较好的分类效果。经过resnet模型提取空间特征和gru模型提取时序特征两大操作,能够提取更完整的网络流量特征,从而使模型具有更高的分类准确率。
[0051]
3.本发明使用的分类器为softmax分类器,不仅能解决二类分类的数据处理,而且能够解决多分类的数据处理。
[0052]
4.在训练模型时,采用随机梯度下降法进行参数更新。通过计算误差,误差通过反向传播沿原路线返回,即从输出层反向经过各中间隐藏层,逐层更新每一层参数,最终回到输出层。不断地进行前向传播和反向传播,以减小误差,更新模型参数,直到resnet

gru模型训练好为止。随着误差反向传播不断地对参数进行更新,整个resnet

gru模型对输入数据的分类识别准确率也有所提高。
附图说明:
[0053]
图1为本发明实施方式中的基于深度神经网络的网络异常检测方法的流程图。
[0054]
图2为本发明实施方式中的基于resnet

gru模型的训练过程图。
[0055]
图3为本发明实施方式中的基于resnet

gru模型的测试过程图。
[0056]
图4为本发明实施方式的resnet

gru模型中resnet模型部分展开图。
具体实施方式:
[0057]
为了使本发明的实施例中的技术方案能够清楚和完整地描述,以下结合实施例中的附图,对本发明进行进一步的详细说明。
[0058]
以对nsl

kdd数据集中的网络流量数据的一条样本m:
[0059]
[0,udp,private,sf,105,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00,255,254,1.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,normal.]为例
[0060]
本发明实施例基于深度神经网络的网络异常检测方法流程图,如图1所示,包括以下步骤。
[0061]
步骤1数据集选取。
[0062]
步骤1

1nsl

kdd数据集是目前网络异常检测领域最为常用的数据集,因此选择nsl

kdd数据集进行模型训练和测试。
[0063]
步骤2对原始数据进行数据预处理。
[0064]
步骤2

1字符数值化:原始数据样本中的第一列含有三种字符,分别为udp,tcp,icmp。采用sklearn库的独热编码函数进行独热编码,udp用(1,0,0)表示,tcp用(0,1,0)表示,icmp用(0,0,1)表示,第二列含有70种字符,也采用sklearn库的独热编码函数变为70维的独热编码表示,第三列含有11种字符,采用与第一,第二列同样的独热编码方式,用11维的独热编码表示。最后每个样本的数据维度为121维,最后一列字符表示其所属的类别标签,我们对网络流量进行五分类,normal用数字0表示,dos用数字1表示,probe用数字2表示,r2l用数字3表示,u2r用数字4表示。最终每个样本数据包含121维的特征维度和一个一维的类别标签,共计122维。
[0065]
步骤2

2数值最大最小归一化:原始数据的第四列,第五列,第二十二列,第二十三列,第三十一列,第三十二列最大值和最小值差距很大,为防止数值大小对结果的影响和降低模型计算量,采用最大最小归一化将数值映射在(0,1)之间。
[0066]
步骤3所示流量样本所属类别为normal。
[0067]
本发明实施例基于resnet

gru模型的训练过程和基于resnet

gru模型的测试过程,如图2和图3所示。具体为:
[0068]
前向传播过程:
[0069]
步骤3

1将经过字符数值化和数值归一化预处理后的训练数据输入到初始化的resnet

gru模型之中;
[0070]
步骤3

2经过resnet模型,提取更完整的空间特征;
[0071]
步骤3

3经过gru模型,提取更完整的时序特征;
[0072]
步骤3

4将resnet模型和gru模型提取的两种特征融合后,输入多头注意力层,对所提取的混合特征通过注意力机制,对重要特征给予更大的权重;
[0073]
步骤3

5利用softmax层来计算流量样本在流量类别“normal”,“dos”,“probe”,“r2l”,“u2r”下的预测概率;
[0074]
所述的softmax函数计算过程如下:
[0075][0076][0077][0078][0079][0080]
其中,a
s
表示softmax层的输入数据,p(normal|m)表示流量样本m在流量类别“normal”下的出现概率,p(dos|m)表示流量样本m在流量类别“dos”下的出现概率。p(probe|m)表示流量样本m在流量类别“probe”下的出现概率。p(r2l|m)表示流量样本m在流量类别“r2l”下的出现概率。p(u2r|m)表示流量样本m在流量类别“u2r”下的出现概率。
[0081]
步骤3

6从p(normal|m)、p(dos|m)、p(probe|m)、p(r2l|m)、p(u2r|m)中选取最大概率作为预测概率。
[0082]
y_predicted=max(p(normal|m),p(dos|m),p(probe|m),p(r2l|m),p(u2r|m))
[0083]
y_predicted表示流量样本m的预测概率,为99.92%。
[0084]
步骤3

6将resnet

gru模型的预测概率y_predicted和真实概率y进行比较,利用交叉熵损失函数来计算误差。
[0085]
所述的误差计算过程如下:
[0086]
loss
m
=(y log(y_predicted) (1

y)log(1

y_predicted))
[0087]
其中,loss
m
表示流量样本“m”的误差。
[0088]
反向传播过程:
[0089]
根据误差loss
m
,将误差反向传播,逐层更新每一层的参数,参数更新过程如下:
[0090][0091]
其中,θ
m
表示流量样本“m”的参数集,θ'
m
表示更新之后的参数集,a为学习率。
[0092]
不断迭代resnet

gru模型,得到优化后的resnet

gru模型。
[0093]
步骤4模型测试,即流量分类过程,具体步骤为:
[0094]
步骤4

1把测试数据输入到优化后的resnet

gru模型之中;
[0095]
步骤4

2经过resnet模型,提取更完整的空间特征;
[0096]
步骤4

3经过gru模型,提取更完整的时序特征;
[0097]
步骤4

4将resnet模型和gru模型提取的两种特征融合后,输入多头注意力层,对
所提取的混合特征通过注意力机制,对重要特征给予更大的权重;
[0098]
步骤4

5通过softmax层计算流量样本“m”在每个流量类别下的概率,最大概率所对应的流量类别即为流量样本的流量类别。
[0099]
流量样本“m”的流量类别s'的确定过程如下:
[0100][0101]
其中,s'表示流量样本“m”所对应的流量类别为normal,p(s|m)表示流量样本“m”在每个流量类别下的概率分布。
[0102]
通过resnet

gru模型,对流量样本“m”进行分类,流量样本“m”所对应的流量类别为normal。
[0103]
本发明实施例中基于resnet

gru模型中resnet模型部分展开图如图4所示,
[0104]
空间特征提取过程:
[0105]
步骤5

1输入样本m通过卷积层提取特征;
[0106]
步骤5

2通过残差块提取特征,可以有效防止模型过拟合;
[0107]
步骤5

3再次进行卷积操作;
[0108]
步骤5

4进行最大池化操作,降低特征维度;
[0109]
步骤5

5输入全连接层,与gru模块提取的时序特征进行融合。
[0110]
本发明实施方式中的基于深度神经网络的网络异常检测方法,能充分的利用网络流量数据的空间特征和时序特征,采用resnet

gru模型来确定流量样本的流量类别,具有较高的准确率。
[0111]
以上所述是结合附图对本发明的实施例进行的详细介绍,本文的具体实施方式只是用于帮助理解本发明的方法。对于本技术领域的普通技术人员,依据本发明的思想,在具体实施方式及应用范围内均可有所变更和修改,故本发明书不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献