基于概念漂移和深度学习的网络流量入侵检测方法转让专利
申请号 : CN202111661592.8
文献号 : CN114513328B
文献日 : 2023-02-10
发明人 : 董庆宽 , 赵晓倩 , 樊凯 , 任晓龙 , 李丽 , 高文鑫
申请人 : 西安电子科技大学
摘要 :
权利要求 :
1.一种基于概念漂移和深度学习的网络流量入侵检测方法,其特征在于,包括:(1)从KDD CUP99数据集中获取训练样本集Xtrain和测试样本集Xtest,并对其进行数值化和数据标准归一化的预处理,得到预处理后119维训练样本集X′train和测试样本集X′test;
(2)构建由输入层、第一隐含层、第一批量归一化层、第二隐含层、第二批量归一化层依次级联组成的自编码器网络;
(3)采用预处理后的训练样本集X′train,利用Adam优化器对多层自编码器网络进行逐层无监督训练,得到48维的训练样本集X″train;
(4)构建由输入层、第一卷积层、第一最大池化层、第一批量归一化层、第二卷积层、第二最大池化层、第二批量归一化层、全连接层、输出层依次级联组成的多层卷积神经网络;
(5)采用48维的训练样本集X″train,利用Adam优化器对多层卷积神经网络模型进行优化训练,得到训练好的多层卷积神经网络模型;
(6)构建由输入层、第一长短时记忆网络层、第一Dropout层、第二长短时记忆网络层、第二Dropout层、全连接层、输出层依次级联组成的多层长短时记忆网络;
(7)采用48维的训练样本集X″train,利用Adam优化器对多层长短时记忆网络进行优化训练,得到训练好的多层长短时记忆网络;
(8)将预处理后的测试样本集X′test输入到训练好的自编码器网络,得到48维的测试样本集X″test;
(9)对48维的测试样本集X″test进行概念漂移检测和入侵检测:(9a)构造两个滑动窗口,截取测试样本集X″test中长度为N的数据,并设置概念漂移检测阈值X,其中N为1000,X的范围为2.0~7.0;
(9b)将第二个滑动窗口的数据分别输入到训练好的多层卷积神经网络和训练好的多层长短时记忆网络中,再将这两个网络的输出结果进行加权求和,得到第二个滑动窗口数据的入侵检测分类结果;
(9c)计算两个滑动窗口数据之间的Wasserstein距离W,作为概念漂移检测结果;
(9d)将Wasserstein距离W与概念漂移检测阈值X进行比较,判断是否发生漂移:若W
若W>=X,则发生了概念漂移,此时采用第二个滑动窗口中的数据对训练好的长短时记忆网络进行再训练,再将第一个滑动窗口的位置移动到第二个滑动窗口的位置,并将第二个滑动窗口向前移动长度N,返回(9b);
(9e)重复上述(9b)~(9d)操作,直到第二个滑动窗口将48维的测试样本集X″test的数据全部检测完毕;
(9f)将所有第二个滑动窗口中的入侵检测分类结果拼接起来,得到48维的测试样本集X″test入侵检测分类结果。
2.根据权利要求1所述的方法,(1)所述的预处理如下:数值化,是采用独热编码将从KDD CUP99数据集中获取的训练样本集Xtrain和测试样本集Xtest中的符号特征转化为数值特征;
数据标准归一化,是先对数值化后的训练样本集和测试样本集中的数值特征进行标准化,再将每个数值归一到[0,1]区间,最后得到119维的训练样本集X′train和测试样本集X′test。
3.根据权利要求1所述的方法,其中(2)中构建的自编码器网络,各层参数如下:输入层输入预处理后的训练样本集X′train;
第一隐含层的参数维度为96维;
第二隐含层的参数维度为48维;
所有隐含层的激活函数均使用Relu。
4.根据权利要求1所述的方法,其中(3)中采用预处理后的训练样本集X′train,利用Adam优化算法对多层自编码器网络进行逐层无监督训练,实现如下:(3a)将每一个相连的隐含层和批量归一化层看作一个整体,作为一个中间层,将多层自编码器网络中除最后一个中间层外的每层均与该层相邻的下一中间层、及与该层具有对应结构的额外一层组成网络模型;
(3b)将此网络模型的输入与输出结果代入到均方误差损失函数,求得一次训练后的损失值;
(3c)根据每次训练得到的损失值,变化采用Adam优化器对网络参数进行梯度更新,直到达到设定的最大网络训练次数T1,得到训练好的多层自编码器网络。
5.根据权利要求1所述的方法,其中(4)中构建的多层卷积神经网络,各层参数如下:输入层输入48维的训练样本集X″train;
第一卷积层的输入通道数为48,输出通道数为24,卷积核大小为3;
第一最大池化层的卷积核大小为3;
第二卷积层的输入通道数为24,输出通道数为16,卷积核大小为3;
第二最大池化层的卷积核大小为3;
全连接层的维度为10;
输出层的参数为1,激活函数为sigmoid函数。
6.根据权利要求1所述的方法,其中(5)中的利用Adam优化器对多层卷积神经网络模型进行优化训练,实现如下:(5a)将多层卷积神经网络的输出结果与48维的训练样本集X″train的标签特征代入到交叉熵损失函数,求得一次训练后的损失值;
(5b)根据每次训练得到的损失值,变化采用Adam优化器对网络参数进行梯度更新,直到达到设定的最大网络训练次数T2,得到训练好的多层卷积神经网络。
7.根据权利要求1所述的方法,其中(4)中构建的多层长短时记忆网络,各层参数如下:输入层输入48维的训练样本集X″train;
第一长短时记忆网络层的维度参数为32;
第一Dropout层的过滤参数为0.3;
第二长短时记忆网络层的维度参数为16;
第二Dropout层的过滤参数为0.3;
全连接层的参数为10;
输出层的参数为1,激活函数为sigmoid函数;
8.根据权利要求1所述的方法,其中(7)中的利用Adam优化器对多层长短时记忆网络进行优化训练,实现如下:(7a)将多层长短时记忆网络的输出结果与48维的训练样本集X″train的标签特征代入到交叉熵损失函数,求得一次训练后的损失值;
(7b)根据每次训练得到的损失值,变化采用Adam优化器对网络参数进行梯度更新,直到达到设定的最大网络训练次数T2,得到训练好的多层长短时记忆网络。
9.根据权利要求1所述的方法,其中(9b)中的将这两个网络的输出结果进行加权求和,按如下公式进行:z=a*x+b*y
其中,a、b为两个参数不同的系数,a=0.5,b=0.5,x为多层卷积神经网络的输出结果,y为多层长短时记忆网络的输出结果,z为加权求和结果。
10.根据权利要求1所述的方法,其中(9c)中计算两个滑动窗口数据之间的Wasserstein距离W,按如下公式进行:
其中,P1为第一个滑动窗口的数据,P2为第二个滑动窗口的数据,inf为下确界,Π(P1,P2)为P1和P2组合起来的所有可能联合分布的集合,γ为从此集合中采样得到的任一联合分布,(x,y)为从联合分布γ中采样得到的任一样本组,E(x,y)γ||x‑y||为联合分布γ下样本对距离的期望值。
说明书 :
基于概念漂移和深度学习的网络流量入侵检测方法
技术领域
背景技术
发明内容
附图说明
具体实施方式
样本集准确率(Accuracy) 92.89% 93.40%