拆分降尺度卷积神经网络入侵检测方法

【www.zhangdahai.com--其他范文】

关生, 周延森

(国际关系学院网络空间安全学院, 北京 100091)

随着全球互联网络的快速发展,网络安全问题也愈加复杂和多样化。如何有效排除网络有害流量,保证网络空间和信息系统安全,使信息设备按照预期稳定可靠运行,一直是研究人员关注的课题。入侵检测是维护网络和系统安全的一种方法,其优点在于能够发现未知攻击和变异攻击,近年来与快速发展的机器学习算法相结合,取得了一些新的研究进展。

卷积神经网络(convolutional neural networks, CNN)是机器学习的代表算法,其通过卷积、升维度和降尺度等操作,将图像中有助于分类的信息映射至高维空间,并与标签值相对应,从而实现图像识别。经典CNN模型包括LeNet-5、AlexNet、Inception、ResNet,以及Inception-ResNet,这些模型先后在字符识别领域和ImageNet大规模视觉识别挑战赛ILSVRC中获得了巨大成功。

入侵检测与图像识别本质上都是对样本进行分类,因此研究人员开始将CNN应用于入侵检测领域。针对入侵检测问题,研究人员从提高CNN在入侵检测领域的适用性,改进模型输入,优化模型结构,以及拓展应用领域等方面着手,不断提高基于CNN入侵检测模型的性能。

但CNN结构中的降尺度层(grid size reduction layer)仍面临引入待训参数数量过大的问题,导致模型训练时间过长。例如,使用池化降尺度层时,为避免出现表达瓶颈,应首先扩充特征图维度,再进行池化操作,因此具有较高的计算复杂度。降尺度层是CNN中负责降低特征图尺度的网络结构,经典CNN中使用的降尺度层除池化层外,还包括步长为2的卷积层。广义的降尺度层除了降低特征图的尺度外,还应该包括提升特征图维度的过程,因为升维度、降尺度是两个紧密联系的过程,缺一不可,只降尺度不升维度,将导致信息在传递过程中出现损失,只升维度不降尺度,则会使计算量趋于爆炸,也难以将网络输出与标签值对应起来。在此过程中,降尺度层的使用还会使CNN面临特征丢失的问题。

针对上述问题,提出在CNN中使用一种新的降尺度结构,即拆分层。拆分层通过在特征图相邻像素处拆分,在实现特征图升维度和降尺度的同时保持数据特征完整性,并且通过减少CNN中引入的待训参数数量,以提升入侵检测模型的检测性能和训练效率。最后,在NSL-KDD数据集上对所提方法的有效性进行验证,以期为相关研究提供一定的科学依据。

1.1 基于CNN的入侵检测

为提高CNN在入侵检测领域的适用性,Li等[1]将数据样本特征分为4个部分,分别使用CNN训练之后将网络模型合并,最终输出至分类器。

在数据预处理方面,杨锦溦等[2]将深度卷积生成对抗网络(deep convolution generation adversarial network, DCGAN)与深度神经网络(deep neural network, DNN)相结合构建入侵检测模型,以改善入侵检测数据样本不平衡问题;
Li等[3]针对性地将网络流量编码为灰度图像,以适应CNN输入,在NSL-KDD数据集上取得了优于多数传统分类方法的结果;
Kim等[4]改进网络流量编码方法,令单个流量特征转化为24维二进制向量并对应1个像素,最终将网络流量编码为RGB图像,训练得到的CNN模型的检测效果得到了提升,说明改进编码方法是提高CNN入侵检测模型性能的有效途径;
冯英引等[5]提出使用一种类别重组方法,并引入Focal Loss 损失函数,提升了检测性能。

在模型的网络结构方面,Sinha等[6]结合CNN和双向长短期记忆网络(bidirectional long short-term memory, BiLSTM)的各自优势,令模型学习数据的空间和时间特征,取得了较好的检测效果;
商富博等[7]引入主成分分析法对网络流量数据进行降维,之后使用深度可分离卷积神经网络和BiLSTM提取数据特征;
Hassan等[8]将CNN与WDLSTM(weight-dropped long short-term memory)相结合;
Cai等[9]通过构建并行的CNN和LSTM结构,以及引入度量学习,实现了较好的检测性能;
杨杰等[10]提出将自编码器与CNN相结合,分别采用正常流量和异常流量训练两个独立的自编码器,然后将自编码器重构的特征向量与原始样本共同组成多通道特征向量,输入CNN进行处理;
吴启睿等[11]在CNN入侵检测模型中引入三支决策方法,对于无法即时决策的网络行为再次提取特征;
徐雪丽等[12]根据网络异常检测的特点,提出将CNN与支持向量机(support vector machine, SVM)相结合;
李勇等[13]在模型中引入Inception 结构和ResNet残差网络,实验表明,该模型性能较朴素贝叶斯、深度信念网络等常见机器学习算法有所提高;
刘月峰等[14]借鉴Inception 结构,提出一种多尺度卷积神经网络检测模型。

在不同应用背景方面,Zhang等[15]在控制器局域网络入侵检测应用背景下,将编码器与CNN结合构造入侵检测模型,并在模型中引入Inception-ResNet结构,实验表明,该模型与原始CNN网络相比,取得了更好的检测效果;
俞建业等[16]在模型中采用分布式计算框架,并引入CNN和LSTM结构实现入侵检测,以提升入侵检测的实时性,更好满足车联网的应用需要。

在当前研究中,研究者从数据预处理和借鉴Inception、ResNet、Inception-ResNet等经典CNN网络结构的角度出发,有效提升了入侵检测模型的性能,但同时对CNN结构的研究改进不多。

1.2 经典卷积神经网络中的降尺度层

目前CNN中常用降尺度层包括池化降尺度层和卷积降尺度层。

在使用池化降尺度层时,为避免出现表达瓶颈,一般应首先使用大量卷积核进行卷积操作、提升特征图的维度,然后才能连入池化层进行降尺度,整个过程的计算复杂度较高。而且在工程实践中,具体应该选择最大值池化(MaxPool)还是平均值池化(AvgPool),以及应该选择重叠池化(Overlapping Pooling)还是非重叠池化,并没有统一的标准,需要实验测试性能后才能进行选择。

Inception-v3[17]针对池化降尺度层计算复杂度较高的问题,提出一种可以避免出现表达瓶颈,同时又有效节约计算资源的降尺度方法,Inception-v4[18]沿用了这一方法。如图1所示,该方法在降尺度时使用多个通道分别对特征图执行步长为2的卷积和池化操作,然后将输出特征图合并,从而获取多个通道保留下来的信息。该方法综合运用了池化降尺度层和卷积降尺度层,在池化通道和卷积通道均对输入进行了降尺度,然后通过合并特征图完成了升维度。

虽然卷积降尺度层通过使用步长为2(或更大步长)的卷积实现对特征图的降尺度,但这种做法并不具有很好的解释性。另外一个可能的问题是,步长为2的卷积层并没有完全发挥局部感受野的能力,从而造成图像特征的丢失。如图2所示,假设图像A存在一个标志性特征:像素段3-9-3,即只要包含像素段3-9-3的图像就认为是图像A,否则就不是。图2(a)中,当卷积步长为1时,后层神经元可以观察到完整的3-9-3像素段;
当卷积步长为2时,如图2(b)所示,后层神经元无法再观察到图像A的标志性特征,而是观察到2个像素片段:3-9和9-3,接下来的网络可能需要在这两个后层神经元之间建立一个很强的联系,才能提高学习效果,而不同于图2(a)完整的特征被单一后层神经元所记录。

MaxPool为最大值池化;
Conv为卷积;
Concat为合并;
Stride为步长;

Relu为激活函数;
Previous Layer为前一图层图1 Inception-v4中的降尺度层Fig.1 Grid size reduction layer used in Inception-v4

图2 大步长的卷积造成特征的丢失Fig.2 Convolution with large stride causes loss of features

2.1 拆分层

残差网络ResNet[19]的核心设计思路是通过创建直连通道,赋予卷积神经网络恒等映射能力,从而解决深层网络退化(degradation)问题。

在残差网络ResNet的启发下,在降尺度时同样把输入完整地直连给下一层神经元,因此提出了拆分层。具体处理过程如图3所示,以一维卷积为例,当网络需要升维度、降尺度时,则将输入特征图F在相邻像素处拆分,形成A、B特征图,然后将A、B特征图合并,传递给下一层。拆分层通过对前层输入的所有特征图执行拆分、合并,最终实现特征图升维度、降尺度的功能。拆分层算法如下。

输入:二维数组M,其中不同维度的特征图按行存储输出:二维数组M"if M有偶数列 then Mo←M奇数列集合 Me←M偶数列集合 M"←Mo+Me(垂直拼接)else M←M+1列0元素(水平拼接) Mo←M奇数列集合 Me←M偶数列集合 M"←Mo+Me(垂直拼接)endreturn M"

将特征图在相邻像素处拆分,而不是从中间对折,是为了保留特征图的空间相关性,相邻像素拆分使得后层神经元仍能观察到来自同一区域、具有强空间相关性的像素集合,而不是来自其他区域的像素集合。拆分层还可根据需要,对相邻多个像素进行拆分,使特征图尺度成倍下降,比如取相邻3个像素进行拆分,从而使特征图尺度降为原来的1/3,维度提升为3倍。

拆分层没有破坏特征的完整性。如图4所示,拆分层将输入特征图拆分为A、B特征图后,后层神经元可通过赋予卷积核参数[0, 1, 0](对应通道A)和[-1, 2, 0](对应通道B)、以及偏置值0,记录图像A的特征:像素段3-9-3,即完整的特征被单一后层神经元所记录,并可在图像识别时正确提取该特征,进而成功识别图像A。

图3 拆分层Fig.3 Split layer

图4 拆分层的卷积Fig.4 Convolution on split layer

拆分层将相邻像素这种具有相关性的点放置在A、B特征图对应位置,使其连接到同一后层神经元,这种做法符合Hebbian principle:一起激活的神经元连在一起(neurons that fire together, wire together);
且在处理过程中没有损失任何一个像素值,因此不会产生表达瓶颈;
不引入任何参数,计算复杂度低;
处理标准统一,简洁直观,解释性强。

2.2 基于拆分降尺度CNN的入侵检测

基于拆分降尺度CNN的入侵检测方法,主要包括4个部分:①数据预处理,包括数据读取、数据清洗和特征转换;
②数据的图像化处理,将网络流量数据转换为图像作为模型输入;
③基于拆分降尺度CNN构建入侵检测模型;
④使用NSL-KDD数据集进行训练、验证和测试。

2.2.1 数据预处理

首先读入训练数据和测试数据,然后根据数据集中不同特征的定义,去除错误数据,补全缺失数据。NSL-KDD数据集中共包含41维特征,其中特征num_outbound_cmds的取值恒为0,对分类没有帮助,将该特征删去。

在完成数据清洗后,对其中状态类特征执行one-hot编码。经过清洗后的NSL-KDD数据集编码前包含特征40维,编码后包含特征121维。

2.2.2 图像化处理

CNN通过建立感受野、权值共享机制,能够很好地提取图像的局部特征,从而完成对图像的识别。在此基础上,又一定程度允许图像发生移位、缩放或变形,具有很好的泛化效果。为增强CNN在非图像识别领域的适用性,在将输入转化为图像的同时,需要在图像上构建稳定的局部特征,这就要求输入图像在局部区域上的像素是相关的。

图像化处理方法如下。

(1)由于不同特征间取值是不相关的,因此使图像在一维空间上延伸,并尽可能扩大不同特征间的距离。

(2)同一特征对应连续的图像区域,从而保证该区域内像素取值是相关的。

(3)对于取值为0/1的二值特征,分配连续的8个像素进行表示,考虑到需要和其他特征保持距离,将对应像素区域中首尾各2个像素置0,中间4个像素与特征取值保持一致,即特征取值为0时编码为像素段0x00,取值为1时编码为像素段0x3c。

如数据集中特征字段“icmp”,该字段取值为{0, 1}。当“icmp”取值为1时,对应特征图如图5(a)所示,当“icmp”取值为0时,对应特征图如图5(b)所示。

(4)对于连续取值的特征,由于特征取值数可能较多,为提高特征图的表示能力,为此类特征分配连续的24个像素进行表示,同样将首尾各2个像素置0,然后根据特征值在取值区间的位置,将中间20个像素区域中的对应像素置1,其余像素置0,像素置1的位置loc(从0开始)可表示为

(1)

式(1)中:V为特征当前取值;
Vmin为特征取值区间最小值;
Vmax为特征取值区间最大值。

如数据集特征字段“num_failed_logins”表示当前会话尝试登录失败的次数,取值区间为[0, 5],Vmax=5,Vmin=0。假定当前特征字段取值V=3,根据式(1)计算得到loc值为11,因此应该在图6中间20个像素区域中的第11个位置像素值置1,其他位置像素值为0。

经过数据预处理后的NSL-KDD数据集包含二值特征89个,连续特征32个,再应用上述图像化处理方法,最终每条网络流量数据都被转化为长1 480像素、宽1像素的图像。

图5 二值特征图像化Fig.5 Visualization of binary features

2.2.3 基于拆分降尺度CNN的检测模型

Inception特点是使用稠密结构近似构造稀疏网络, ResNet可以解决深层网络退化问题,因此将结合Inception和ResNet,构造尽可能稀疏的网络,同时提高网络堆叠效果,避免出现退化现象。在实现上,使用GoogLeNet团队构造的Inception-ResNet[18]网络并进行改进,同时为与图像化处理生成的一维图像相匹配,在模型中使用一维卷积结构。所构建的Split入侵检测模型整体结构如图7所示。

首先使用64个1×3卷积核对输入图像执行步长为2的卷积操作,然后引入N个相似的Block结构,最后连入均值池化层、全连接层和Softmax层,输出最终结果。Split模型中的Block由卷积结构和拆分层构成,如图8(a)所示,其中卷积结构包含1个直连通道和3个卷积通道,在卷积通道中首先使用1×1卷积层将输入图像维度压缩至1/8,分别执行不同尺度的卷积后进行合并,然后使用1×1卷积层恢复特征图维度,并与直连通道输出叠加,最后将处理结果传递给拆分层Split layer;
拆分层处理后传递给下一层网络结构。图8(b)为原始Inception-ResNet模型中相对应的Block结构。

括号中数字为引入的卷积核数量;
Stride为步长,未标明处的Stride值为1;
标注Relu处均先后执行了BN(batch normalization)和ReLu激活操作;
Input为输入;
AvgPool为平均值池化;
Dense为 全连接层图7 入侵检测模型结构图Fig.7 Structure diagram of intrusion detection model

3.1 实验环境与评估标准

实验环境:GPU型号NVIDIA 1080Ti,操作系统Win10,tensorflow版本2.1.0,keras版本2.3.1。

为了全面客观评价模型性能,选用评价指标包括损失(Loss)、准确率(accuracy)和召回率(recall)。损失用来度量模型输出与标签值之间的差距,描述模型在训练过程中的收敛效果;
准确率用来描述模型在数据集上的整体表现;
召回率用来描述模型在各分类上的表现。

括号中数字为引入的卷积核数量;
Stride为步长,未标明处的Stride值为1;
标注Relu处均先后执行了BN(batch normalization)和ReLu激 活操作;
Next Layer为下一层;
Split Layer为拆分层;
d为当前Block输入图像的维度;
m、 n和p为卷积核数量图8 Split模型和Inception-ResNet模型中的Block结构Fig.8 Blockstructure of Split and Inception-ResNet model

准确率计算公式为

(2)

召回率计算公式为

(3)

式中:TP为正确分类的正样本数量;
FP为错误分类的正样本数量;
TN为正确分类的负样本数量;
FN为错误分类的负样本数量。

3.2 数据集与训练参数

KDDCup99是入侵检测领域的经典数据集,但面临数据冗余等问题,经过优化后形成NSL-KDD数据集,可以更好地评估入侵检测算法的性能。数据集中每条网络流量数据使用41维特征描述,并被标注为正常流量或是攻击流量,攻击流量会说明具体攻击类型。攻击类型分为4类,分别是探测攻击(Probe)、拒绝服务攻击(DoS)、未授权获取管理员权限(U2R)和远程未授权访问(R2L)。

鉴于NSL-KDD数据集中各分类样本数量严重不均衡,将数据集中的KDDTrain+和KDDTest+文件合并,并按照6.4∶1.6∶2的比例划分训练集、验证集和测试集,数据分布如表1所示。

每批处理样本数batch size设置为128,训练轮次设置为25轮(Epoch),使用He参数初始化方法,为卷积核中的权重参数加上L2正则化,设置正则化系数λ为1×10-5,使用Adam优化方法,设置学习率为3×10-4,使用交叉熵损失函数(Cross Entropy)。

表1 数据集分布情况Table 1 Distribution of data set

3.3 实验结果

评估Split模型在NSL-KDD数据集上的表现,并和Inception-ResNet以及RestNet模型进行了对比。为保证实验结果的有效性,按照图7构建了具有4个Block的Inception-ResNet模型,即incep-res-4模型。该模型中的Block结构如图8(b)所示,各Block参数m、n、p值如表2所示。

表2 Inception-ResNe模型参数Table 2 Parameters of Inception-ResNemodel

首先评估了拆分层在Inception-ResNet网络上的表现。表3列出了3个模型引入的待训参数数量以及训练过程(包括训练和验证)消耗的时间,其中,incep-res-4是包含4个Block的Inception-ResNet模型,incep-res-split-4是包含4个Block的Split模型,incep-res-split-5是包含5个Block的Split模型。图9为Split模型和Inception-ResNet模型训练过程损失值变化情况。

根据表3和图9可知,incep-res-split-4模型相较incep-res-4模型具有更强的拟合能力,且训练过程耗时减少了34%;
incep-res-split-5同样具有更强的拟合能力,训练过程耗时减少了16%。

选取各模型训练20轮后表现最好(验证损失最低)的3个轮次的模型参加测试,对测试结果取平均值,作为模型在测试集上的平均表现。测试结果如表4所示。

表3 模型待训参数数量及训练过程耗时Table 3 Number of model parameters to be trained and time consuming of training process

Epoch为训练集中的全部样本都在训练模型中走一遍,并返回一 次(有去有回),为一个Epoch图9 Split模型和Inception-ResNet模型训练损失值变化Fig.9 Changes of training loss value of Split and Inception-ResNet model

表4 模型在测试集上的平均表现Table 4 Average performance of the models on the test set

根据表4可知,在上述3个模型中,incep-res-split-5模型在测试集上表现最好,而incep-res-split-4模型表现一般,但仍具有与incep-res-4模型相似的性能。上述实验结果说明本文构造的Split入侵检测模型与Inception-ResNet模型相比,具有更高的检测准确率、少数类样本召回率,且训练过程耗时减少了16%。

评估拆分层在ResNet残差网络上的表现。按照图7构建ResNet-Split模型和ResNet模型,其中Block分别使用图10(a)、图10(b)所示网络结构。

表5列出了ResNet-Split模型和ResNet模型引入的待训参数数量以及训练过程消耗的时间,其中,res-4是包含4个Block的ResNet模型,res-split-4是包含4个Block的ResNet-Split模型,res-split-5是包含5个Block的ResNet-Split模型。

图11为ResNet-Split模型和ResNet模型训练过程损失值变化情况。根据表5和图11可知,Res-Net-Split模型相较ResNet模型具有更强的拟合能力,训练过程耗时分别减少了42%和27%。

图10 ResNet-Split模型和ResNet模型中的Block结构Fig.10 Block structure of ResNet-Split and ResNet model

表5 模型待训参数数量及训练过程耗时Table 5 Number of model parameters to be trained and time consuming of training process

选取各模型训练20轮后表现最好(验证损失最低)的3个轮次的模型参加测试,对测试结果取平均值,作为模型在测试集上的平均表现,测试结果如表6所示。可以看出,在上述3个模型中,res-split-5模型在测试集上表现最好。上述实验结果说明,使用拆分层提高了ResNet入侵检测模型的检测准确率和少数类样本召回率,并将训练过程耗时降低了27%。

综合表4和表6实验结果发现,在上述6个模型中,incep-res-split-5模型在测试集上表现最好。

图11 ResNet-Split模型和ResNet模型训练损失值变化Fig.11 Changes of training loss value of ResNet-Split and ResNet model

表6 模型在测试集上的平均表现Table 6 Average performance of the models on the test set

(1)首先对传统CNN中使用的池化降尺度层和卷积降尺度层进行分析,针对传统降尺度层计算复杂度高等问题,提出了拆分降尺度层,然后基于Inception-ResNet和拆分层构建了入侵检测模型Inception-ResNet-Split。将Inception-ResNet与本文模型在NSL-KDD数据集上进行仿真实验对比,结果表明本文模型不仅提高了检测准确率和少数类样本召回率,而且使训练过程耗时减少了16%。

(2)对比常用入侵检测模型ResNet和使用了拆分层的模型ResNet-Split,得到了相似的结论,说明拆分层具有较好的适用性。在不考虑训练耗时的情况下,incep-res-split-5取得了优于Inception-ResNet和ResNet模型的检测效果。未来工作中,将在更多应用领域和场景测试拆分层的效果。

猜你喜欢 尺度像素卷积 像素前线之“幻影”2000小哥白尼(军事科学)(2022年2期)2022-05-25基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02财产的五大尺度和五重应对内蒙古民族大学学报(社会科学版)(2020年2期)2020-11-06卷积神经网络的分析与设计电子制作(2019年13期)2020-01-14“像素”仙人掌红领巾·萌芽(2019年8期)2019-08-27从滤波器理解卷积电子制作(2019年11期)2019-07-04基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20ÉVOLUTIONDIGAE Style de vie tactile中国与非洲(法文版)(2017年10期)2017-11-23宇宙的尺度太空探索(2016年5期)2016-07-12高像素不是全部CHIP新电脑(2016年3期)2016-03-10

推荐访问:卷积 神经网络 拆分

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0823/643630.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!