基于CNN的可解释流量入侵检测方法
未命名
10-09
阅读:193
评论:0
基于cnn的可解释流量入侵检测方法
技术领域
1.本发明属于人工智能安全技术领域,具体涉及一种基于cnn的可解释流量入侵检测方法。
背景技术:
2.随着人工智能的发展,深度神经网络在计算机网络方面得到了越来越广泛的应用。但是,现有的网络流量检测方法依然以规则化筛选方式为主,存在误判率高、规则性漏洞等缺陷。深度神经网络可以提取并学习数据流量的深度特征,从多方面研究流量特征与其行为之间的关联性,具有高效率、高准确率的特点。但是,深度神经网络通常被视为黑盒模型,人们很难了解模型的分类判断依据。近年来,人们针对深度神经网络的可解释进行了越来越广泛的研究,旨在发现模型的关注特征区域,提高模型的可信度。
3.区域可视化和特征定位是常用的可解释方法。其中,区域可视化通常用于图像处理领域,需要对模型的特征相关层进行处理,计算模型重点关注的特征在图像中所处位置。特征定位,则是模型给出分类标签c过程中的关键特征,对某一标签c,其数据样本中最频繁出现的一组特征就是关键特征,关键特征往往与分类结果有着直接的联系。
技术实现要素:
4.本发明解决的技术问题:提供一种基于cnn的高准确率流量入侵检测方法的同时,可以对模型的分类依据进行可视化解释并给出关键特征,有效验证了模型分类结论的合理性,有助于提高人对模型的信任度。
5.技术方案:为了解决上述技术问题,本发明采用的技术方案如下:
6.一种基于cnn的可解释流量入侵检测方法,包括:首先,将输入样本进行图像化重构;对所用cnn模型进行预训练,选择其中表现最好的三个模型进行超参数优化;将所选模型集成、重组并进行训练;计算各个子模型的热力图;计算集成模型热力图;定位并输出关键特征。
7.作为优选,将输入样本进行图像化重构的方法如下:
8.步骤1.1:按顺序选取流量数据的可量化数字特征,作为拼接数据;
9.步骤1.2:统计特征数目,对于n个特征的数据,按照长、宽、通道数为的格式组成图片,组成方法是数据按行拼接,不足的部分采用同类数据循环拼接补齐;
10.步骤1.3:利用放缩处理图像尺寸。
11.作为优选,对cnn模型预训练,选择表现最好的三个模型进行超参数优化的方法如下:
12.步骤2.1:选用xception,vgg16,vgg19,inceptionv3和resnet152共5个模型在网络流量数据集上进行预训练;
13.步骤2.2:经过多轮训练在其准确率达到最高后,依次采用随机搜索和自适应tpe两种方法对表现最好的3个模型的超参数空间进行搜索,选取最优结果。
14.作为优选,将所选模型集成、重组并进行训练的方法如下:
15.步骤3.1:截取步骤2.2中筛选出的3个模型的输入层与输出层构成新模型,将新模型作为集成模型的特征层,每个特征层的输入和输出相互独立;
16.步骤3.2:对特征层的输出进行拼接,组成一维向量,作为集成模型的拼接层;往后依次分别加入dense层、dropout层和output层,编译构成新模型;
17.步骤3.3:冻结步骤3.1中所述的特征层和步骤3.2中所述的拼接层,对新模型进行训练。
18.作为优选,使用grad-cam方法计算各个子模型的热力图,方法如下:
19.;
20.其中,是子模型的热力图,a是子模型特征层;k是特征层的第k个通道;是子模型的最后一个卷积层对应的第k个特征图;c是分类类别;是a的权重,计算方法为:
21.;
22.其中,是模型对类别c的预测分数,是特征层k通道位置i,j的数据,z是特征层的尺寸。
23.作为优选,计算集成模型热力图的方法为:冻结集成模型的拼接层,利用集成模型的第一层全连接层权重反向计算拼接层每一个输出神经元的权重:
24.;
25.并利用各个子模型的热力图与加权后的神经元相乘叠加,得到集成模型的可视化热力图:
26.;
27.其中,为全连接层权重矩阵的第i行k列,n为全连接层神经元数目,为第n个模型的激活热力图,u是子模型输出神经元数目,是经过激活的向量的第n个元素值。
28.作为优选,定位并输出关键特征的方法如下:
29.步骤6.1:将激活热力图尺寸还原为;
30.步骤6.2:统计处于敏感区间的像素数目:对于每一列像素,如果存在3个及以上的敏感像素,则认为该列对应的特征属于关键特征;其中敏感区间的判断标准是:在bgr(0,128,255)至bgr(0,0,128)区间内。
31.有益效果:与现有技术相比,本发明具有以下优点:
32.(1) 本发明提出了基于cnn的可解释流量入侵检测方法,相比于其他流量入侵检测方法,可以挖掘特征之间的空间联系特性,具有数据可视化特点。
33.(2) 本发明在流量数据检测时,根据多种高精度模型的分类结果进行判断,具有更高的准确率。
34.(3) 本发明在给出分类后利用集成模型激活热力图的方法对分类结果进行解释,可视化的同时给出关键特征,增加了模型分类结果的可信度。
附图说明
35.图1是基于cnn的可解释流量入侵检测方法的流程图;
36.图2是本发明的normal特征以及定位热力图。
具体实施方式
37.下面结合具体实施例,进一步阐明本发明,实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
38.如图1所示,本发明的基于cnn的可解释流量入侵检测方法,首先将输入样本进行图像化重构;对所用cnn模型进行预训练,选择其中表现最好的三个模型进行超参数优化;将所选模型集成、重组并进行训练;使用grad-cam方法计算各个子模型的热力图;计算集成模型热力图;定位并输出关键特征。具体包括如下步骤1-步骤6共六大步骤:
39.步骤1:将输入样本进行图像化重构,具体方式如下:
40.步骤1.1:按顺序选取流量数据的可量化数字特征,作为拼接数据;
41.步骤1.2:统计特征数目,对于n个特征的数据,按照长、宽、通道数为的格式组成图片,组成方法是数据按行进行拼接,对于不足的部分采用同类数据循环拼接补齐;
42.步骤1.3:利用放缩将图像尺寸处理为224224。
43.步骤2:对所用cnn模型进行预训练,选择其中表现最好的三个模型进行超参数优化,具体方式如下:
44.步骤2.1:选用xception,vgg16,vgg19,inceptionv3和resnet152共5个模型在网络流量数据集上进行预训练;
45.步骤2.2:经过多轮训练在其准确率达到最高后,依次采用随机搜索和自适应tpe两种方法对表现最好的3个模型的超参数空间进行搜索,选取最优结果。
46.步骤3:将所选模型集成、重组并进行训练,具体方式如下:
47.步骤3.1:截取步骤2.2中筛选出的3个模型的输入层与输出层构成新模型,将新模型作为集成模型的特征层,每个特征层的输入和输出相互独立;
48.步骤3.2:对特征层的输出进行拼接,组成一维向量,作为集成模型的拼接层;往后依次分别加入dense层、dropout层和output层,编译构成新模型;
49.步骤3.3:冻结步骤3.1中所述的特征层和步骤3.2中所述的拼接层,对新模型进行训练。
50.步骤4:使用grad-cam方法计算各个子模型的热力图,具体方式如下:
51.;
52.其中,是子模型的热力图,a是子模型特征层;k是特征层的第k个通道;
是子模型的最后一个卷积层对应的第k个特征图;c是分类类别;是a的权重,计算方法为:
53.;
54.其中,是模型对类别c的预测分数,是特征层k通道位置i,j的数据,z是特征层的尺寸。
55.步骤5:计算集成模型热力图,具体方式如下:
56.冻结集成模型的拼接层,利用集成模型的第一层全连接层权重反向计算拼接层每一个输出神经元的权重:
57.;
58.并利用各个子模型的热力图与加权后的神经元相乘叠加,得到集成模型的可视化热力图:
59.;
60.其中,为全连接层权重矩阵的第i行k列,n为全连接层神经元数目,为第n个模型的激活热力图,u是子模型输出神经元数目,是经过激活的向量的第n个元素值。
61.步骤6:定位并输出关键特征,具体方式如下:
62.步骤6.1:将激活热力图尺寸还原为;
63.步骤6.2:统计处于敏感区间的像素数目:对于每一列像素,如果存在3个及以上的敏感像素,则认为该列对应的特征属于关键特征,其中敏感区间的判断标准是:区间:bgr(0,128,255)至bgr(0,0,128)。
64.通过以下实验验证本发明方法的有效性和效率:
65.评估指标为准确度、精确度、召回率、f1分数:
66.准确度——样本预测标签与样本标签一致的比例。
67.精确度——正确预测为入侵的样本与所有预测为入侵的样本之比。
68.召回率——正确预测为入侵的样本与所有入侵样本之比。
69.f1分数——精确度和召回率的谐波平均值。
70.首先选择数据集,本发明选择了nsl-kdd数据集,该数据集由四个子数据集:kddtest+、kddtest-21、kddtrain+和kddtrain+_20percent组成。数据集每条记录包含43个特征,数据集存在4种不同类型的攻击:拒绝服务(dos)、探测、用户到根(u2r)和远程到本地(r2l)。
71.其次本发明选择xception,vgg16,vgg19,inceptionv3和resnet152构建集成模型。
72.1、 xception模型
73.xception是谷歌公司继inception后,提出的inceptionv3的一种改进模型,其改
进的主要内容为采用depthwise separable convolution来替换原来inception v3中的多尺寸卷积核特征响应操作。
74.2、 vgg16模型
75.vgg16网络是14年牛津大学计算机视觉组和google deepmind公司研究员一起研发的深度网络模型。该网络一共有16个训练参数的网络,vgg16网络取得了ilsvrc 2014比赛分类项目的第2名,定位项目的第1名。vgg16网络结构简洁,迁移到其他图片数据上的泛化性能非常好。
76.3、 vgg19模型
77.vgg19模型也称为vggnet-19,其概念与vgg16相同,但是它支持19层。“16”和“19”代表模型中的权重层数。这意味着vgg19在vgg16的基础上多了三个卷积层。
78.4、 inceptionv3模型
79.inceptionv3网络是由google开发的一个非常深的卷积网络。2015年12月,inception v3在论文《rethinking the inception architecture for computer vision》中被提出,inception v3在inception v2的基础上继续将top-5的错误率降低至3.5%。inception v3对inception v2主要进行了两个方面的改进。首先,inception v3对inception module的结构进行了优化,并且inception v3还在inception module的分支中使用了分支(主要体现在 8x8 的结构中)。
80.5、 resnet152模型
81.resnet152是当前图片分类任务中表现最好的神经网络之一,在传统卷积神经网络中加入残差学习(residual learning)的思想,解决了深层网络中梯度弥散和精度下降(训练集)的问题,使网络能够越来越深,既保证了精度,又控制了速度。
82.本发明的实验结果如表1所示,对比方法为random forest。
83.表1本发明在nsl-kdd数据集下的各项指标
84.可解释示例如图2所示,为normal特征以及定位热力图
85.关键特征(以nsl-kdd为例):
86.src_bytes,dst_bytes,hot,logged_in,num_compromised,num_file_creations,num_shells,count,dst_host_same_src_port_rate,dst_host_srv_diff_host_rate
87.表1的结果表示,本发明的方法比传统的方法的各项指标都有提升,在nsl-kdd数据集上各项指标已经达到了1.000,说明本发明的方法在流量入侵检测领域是有效且高准确率的。图2给出了对nsl-kdd数据集中normal类型数据的特征解释,可以看出本方法能有效给出分类的可视化依据,并抓取分类的关键特征。
88.总体而言,本发明提出了基于cnn的可解释流量入侵检测方法。在对数据分类时具有较好的性能,能够有效实现对流量入侵的检测;在检测之后可以根据任意样本进行解释,
给出可视化激活热力图和关键特征,增强模型的可靠性和可信度;本发明融合了传统cnn模型和激活热力图方法,来进行流量数据分类和对分类结果进行解释;相比于其他流量检测方法,在保证检测效果的同时,具有更强的可解释性。
89.以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种基于cnn的可解释流量入侵检测方法,其特征在于,包括:首先,将输入样本进行图像化重构;对所用cnn模型进行预训练,选择其中表现最好的三个模型进行超参数优化;将所选模型集成、重组并进行训练;计算各个子模型的热力图;计算集成模型热力图;定位并输出关键特征。2.根据权利要求1所述的基于cnn的可解释流量入侵检测方法,其特征在于:将输入样本进行图像化重构的方法如下:步骤1.1:按顺序选取流量数据的可量化数字特征,作为拼接数据;步骤1.2:统计特征数目,对于n个特征的数据,按照长、宽、通道数为的格式组成图片,组成方法是数据按行拼接,不足的部分采用同类数据循环拼接补齐;步骤1.3:利用放缩处理图像尺寸。3.根据权利要求1所述的基于cnn的可解释流量入侵检测方法,其特征在于:对cnn模型预训练,选择表现最好的三个模型进行超参数优化的方法如下:步骤2.1:选用xception,vgg16,vgg19,inceptionv3和resnet152共5个模型在网络流量数据集上进行预训练;步骤2.2:经过多轮训练在其准确率达到最高后,依次采用随机搜索和自适应tpe两种方法对表现最好的3个模型的超参数空间进行搜索,选取最优结果。4.根据权利要求1所述的基于cnn的可解释流量入侵检测方法,其特征在于:将所选模型集成、重组并进行训练的方法如下:步骤3.1:截取步骤2.2中筛选出的3个模型的输入层与输出层构成新模型,将新模型作为集成模型的特征层,每个特征层的输入和输出相互独立;步骤3.2:对特征层的输出进行拼接,组成一维向量,作为集成模型的拼接层;往后依次分别加入dense层、dropout层和output层,编译构成新模型;步骤3.3:冻结步骤3.1中所述的特征层和步骤3.2中所述的拼接层,对新模型进行训练。5.根据权利要求1所述的基于cnn的可解释流量入侵检测方法,其特征在于:使用grad-cam方法计算各个子模型的热力图,方法如下:;其中,是子模型的热力图,a是子模型特征层;k是特征层的第k个通道;是子模型的最后一个卷积层对应的第k个特征图;c是分类类别;是a的权重,计算方法为:;其中,是模型对类别c的预测分数,是特征层k通道位置i,j的数据,z是特征层的尺寸。6.根据权利要求1所述的基于cnn的可解释流量入侵检测方法,其特征在于:计算集成模型热力图的方法为:冻结集成模型的拼接层,利用集成模型的第一层全连接层权重反向计算拼接层每一个输出神经元的权重:
;并利用各个子模型的热力图与加权后的神经元相乘叠加,得到集成模型的可视化热力图:;其中,为全连接层权重矩阵的第i行k列,n为全连接层神经元数目,为第n个模型的激活热力图,u是子模型输出神经元数目,是经过激活的向量的第n个元素值。7.根据权利要求1所述的基于cnn的可解释流量入侵检测方法,其特征在于:定位并输出关键特征的方法如下:步骤6.1:将激活热力图尺寸还原为;步骤6.2:统计处于敏感区间的像素数目:对于每一列像素,如果存在3个及以上的敏感像素,则认为该列对应的特征属于关键特征;其中敏感区间的判断标准是:在bgr(0,128,255)至bgr(0,0,128)区间内。
技术总结
本发明公开一种基于CNN的可解释流量入侵检测方法,属于人工智能安全技术领域。包括将输入样本进行图像化重构;对所用CNN模型进行预训练,选择其中表现最好的三个模型进行超参数优化;将所选模型集成、重组并进行训练;计算各个子模型的热力图;计算集成模型热力图;定位并输出关键特征。本发明利用梯度激活热力图机制的特点,来提取模型重点关注的特征区域,在对流量数据进行分类的同时,提供了关注特征区域的可视化方法,即保证了入侵检测的准确率,又增强了模型分类依据的可解释性,提高了对模型的信任度。对模型的信任度。对模型的信任度。
技术研发人员:孙云鹏 练智超
受保护的技术使用者:南京理工大学
技术研发日:2023.08.30
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
