深度学习在网络入侵检测中的应用

2023-10-31 06:58邵文魁
信息记录材料 2023年9期
关键词:鲁棒性神经元神经网络

邵文魁

(江苏省南京工程高等职业学校 江苏 南京 211135)

0 引言

随着网络技术的迅猛发展和互联网的普及,网络入侵威胁对于个人用户和企业组织的信息安全带来了巨大的风险[1-2]。网络入侵检测作为保护网络安全的重要手段,旨在及时识别和阻止恶意攻击者对计算机系统和网络资源的非法访问和利用。然而,传统的网络入侵检测方法在处理大规模、复杂的网络流量时往往面临效率低下和准确率不高的问题[3-4]。近年来,深度学习(deep learning,DL)技术的快速发展为网络入侵检测提供了全新的解决方案。DL通过构建多层神经网络模型,并通过大规模的训练数据进行训练,能够从复杂的网络流量中学习到更高层次的特征表示,从而提高了入侵检测的准确性和鲁棒性。然而,在应用DL技术进行网络入侵检测时,存在着过拟合和训练时间过长的问题,这限制了其在实际应用中的有效性。

为了解决这些问题,本研究将重点介绍将Dropout(神经网络训练技术)引入到BP神经网络中,以实现网络入侵检测模型的构建。Dropout是一种正则化方法,通过在神经网络训练过程中随机丢弃部分神经元的输出,从而减少网络的过拟合现象[5-7]。通过对MIT LL DARPA数据集进行训练和测试,本研究评估了基于Dropout的BP神经网络模型在网络入侵检测任务中的性能表现。研究结果对于提高网络入侵检测的准确性和鲁棒性具有重要意义,对于加强网络安全保护具有实际应用价值。

1 网络入侵检测模型

1.1 BP神经网络

BP神经网络是一种多层前馈神经网络,通常包括输入层、隐藏层和输出层,如图1所示[8-11]。输入层是BP神经网络的第一层,用于接收外部输入信号并将其转换为神经网络可以处理的内部表示形式。假设输入向量为X=[x1,x2,…,xn],则输入层可以表示为式(1):

图1 BP神经网络拓扑结构

A(1)=[x1,x2,…,xn]。

(1)

式(1)中:A(1)为输入层的输出,称为激活值。

隐藏层是BP神经网络的中间层,通过多层神经元的计算和激活函数的作用,对输入进行逐层抽象和处理,提取出更高层次的特征表示。假设隐藏层有m个神经元,则第j个神经元的输出为式(2)、式(3):

z(j)=w(j)·A(1)+b(j)

(2)

a(j)=f(z(j))

(3)

式(2)、式(3)中:w(j)和b(j)分别为第j个神经元的权重和偏置项;f(x)为激活函数,通常为Sigmoid函数或ReLU函数。将隐藏层所有神经元的输出组成一个向量,即可得到隐藏层的输出为式(4):

A(2)=[a(1),a(2),…,a(m)]

(4)

式(4)中:A(2)为隐藏层的输出,也称为隐藏层的激活值。

输出层是BP神经网络的最后一层,用于将隐藏层的特征表示转换为目标输出。假设输出向量为Y=[y1,y2,…,yp],则输出层可以表示为式(5)、式(6):

z(p)=w(p)·A(2)+b(p)

(5)

a(p)=f(z(p))

(6)

式(5)、式(6)中:w(p)和b(p)分别为输出层的权重和偏置项;f(x)为激活函数。输出层的输出即为神经网络的输出为式(7):

A(3)=[a(1),a(2),…,a(p)]

(7)

式(7)中:A(3)为输出层的输出,也称为网络的输出。

BP神经网络的工作原理是通过前向传播和反向传播2个步骤来实现。首先,通过前向传播,输入样本经过输入层传递到隐藏层,再由隐藏层传递到输出层,得到网络的输出结果。具体而言,输入层将输入信号通过权重和偏置项的线性组合,并经过激活函数的非线性变换后,将结果传递给隐藏层。隐藏层进行类似的计算,将输出传递到输出层。输出层进行最终的线性组合和非线性变换,得到网络的预测输出。然后,通过计算预测输出与真实输出之间的误差,利用反向传播算法进行误差的反向传递。反向传播通过计算输出层和隐藏层的误差梯度,再根据链式法则逐层计算隐藏层和输入层的误差梯度,以及相应的权重和偏置项的梯度。最后,根据梯度下降法则,利用梯度更新权重和偏置项,不断迭代优化网络的参数,以最小化误差函数并找到参数的最优值。这样经过多轮迭代训练后,网络能够通过学习和调整权重和偏置项,逐渐提高对输入样本的预测准确性和泛化能力,实现对网络入侵的检测和分类。

1.2 引入Dropout的BP神经网络

Dropout是一种常用的正则化技术,用于提高神经网络的泛化能力和抗过拟合能力。其原理是在神经网络的训练过程中,以一定的概率随机丢弃部分神经元的输出,使得网络无法依赖于某些特定的神经元,从而迫使网络学习到更加鲁棒的特征表示。应用Dropout前后的神经网络结构对比,如图2所示。

图2 应用Dropout前后的神经网络结构对比

具体而言,在引入Dropout之前的BP神经网络中,每个神经元都会对输入进行计算并产生输出,而引入Dropout后,以一定的概率(通常为0.5)随机选择部分神经元不参与计算。这意味着在每个训练样本的前向传播过程中,神经元的连接权重将以一定概率被置为零,被丢弃的神经元将不参与网络的计算,相当于将其输出值设置为零。这种随机丢弃的操作使得网络的每一层都变得更加稀疏,从而减少了神经元之间的依赖关系,增加了网络的鲁棒性。

引入Dropout后,网络在训练阶段中的每个样本都相当于是从原始网络中采样出来的一个子网络。由于每个样本的子网络都是随机的,因此可以看作是通过训练多个不同的神经网络来对样本进行预测,从而增加了模型的鲁棒性。而在测试阶段,由于不再进行随机丢弃操作,所有神经元都参与计算,但为了保持期望输出的一致性,需要对每个神经元的输出值乘以保留概率(1-p)。

引入Dropout后,BP神经网络具有以下几个显著变化。首先,Dropout增加了网络的随机性,减少了神经元之间的共适应性,降低了过拟合的风险。其次,Dropout有效地扩展了训练样本的规模,相当于在每次迭代中进行了模型的集成学习,提高了模型的泛化能力。此外,Dropout还能有效减少网络参数之间的相互依赖,加快了网络的训练速度,并且可以作为一种自适应正则化方法,无需调节额外的超参数。

2 实验与分析

2.1 实验环境与数据集

实验环境是进行研究和实验的基础,采用的实验环境分为硬件和软件2部分。在硬件方面采用了13代Intel Core i7处理器、NVIDIA GeForce GTX系列GPU。在软件方面,选择Ubuntu 20.04操作系统,使用Python作为主要的编程语言,因为Python具有丰富的DL库和工具,如TensorFlow、Keras、PyTorch等。

MIT LL DARPA数据集是一个常用于网络入侵检测研究的数据集,由麻省理工学院林肯实验室和美国国防高级研究计划局共同开发。该数据集的主要目的是提供一个真实的、多样化的网络流量数据集,用于评估和验证网络入侵检测系统的性能。

MIT LL DARPA数据集包含了多种类型的网络流量数据,包括正常的网络通信和各种类型的网络入侵行为。这些入侵行为涵盖了各种攻击类型,如拒绝服务、端口扫描、恶意代码和网络蠕虫等。数据集中的流量数据包括了来自不同网络层次和协议的信息,如IP地址、端口号、传输层协议等。

2.2 模型训练与测试

本研究使用MIT LL DARPA数据集对引入Dropout的BP神经网络进行模型训练和测试。在训练阶段:

(1)数据预处理:需要对MIT LL DARPA数据集进行预处理。包括数据清洗、去除异常值、标准化或归一化等操作,以保证数据的质量和可靠性。

(2)数据划分:将预处理后的数据集划分为训练集、验证集和测试集。一般采用常见的划分比例,70%的数据用于训练,10%的数据用于验证和调参,20%的数据用于最终的模型测试。

(3)网络模型构建:基于引入Dropout的BP神经网络的架构,按照指定的网络层数、神经元数和激活函数等参数,构建网络模型。

(4)参数初始化:对网络模型的参数进行初始化,常用的初始化方法包括随机初始化和Xavier初始化等。

(5)前向传播和反向传播:首先通过前向传播计算网络的输出,然后使用损失函数(如交叉熵损失函数)计算预测输出与真实输出之间的误差。最后利用反向传播算法计算梯度,并根据梯度下降法则更新网络的参数,不断优化模型。

(6)Dropout操作:在每次训练过程中,以一定的概率随机丢弃部分神经元的输出,增加网络的鲁棒性和泛化能力。

(7)迭代训练:重复进行多个训练迭代,每个迭代中使用训练集的一个batch进行参数更新,直至达到指定的停止条件(如达到最大迭代次数或损失函数收敛)。

在模型测试阶段,通过验证集评估不同训练迭代中的模型性能,并选择在验证集上表现最佳的模型作为最终模型,再使用测试集对最终模型进行评估。

2.3 实验结果分析

在使用引入Dropout的BP神经网络对MIT LL DARPA数据集进行网络入侵检测的实验中,实验结果见表1。可见,模型在训练集、验证集和测试集上的准确率分别为94.5%、92.3%和91.8%,表明模型具有一定的分类能力,能够对MIT LL DARPA数据集中的网络流量进行有效的入侵检测。但测试集上的准确率略低于训练集和验证集,这可能是由于模型在训练过程中过拟合了部分数据,需要进一步优化模型的泛化能力。模型的精确率为89.7%,召回率为91.5%,F1值为90.6%。这些指标反映了模型在识别网络入侵行为时的性能。高精确率表示模型在判断为入侵行为时的准确性较高,而高召回率表示模型能够较好地识别出实际的入侵行为。F1值综合考虑了精确率和召回率,是一个综合评价指标,其值越接近1表示模型性能越好。

表1 实验结果

实验结果表明引入Dropout的BP神经网络在MIT LL DARPA数据集上表现出良好的性能,能够对网络入侵行为进行有效检测。然而,仍需要进一步优化模型的泛化能力,以提高模型在未见样本上的准确率。此外,还需针对具体的网络入侵类型进行深入分析,以了解模型在不同类型入侵行为上的表现和潜在局限性。

3 结论

综上所述,本文旨在探索BP神经网络中引入Dropout的方法,以提高网络入侵检测的性能。通过实验验证,引入Dropout的BP神经网络在MIT LL DARPA数据集上取得了良好的表现。与传统的BP神经网络相比,引入Dropout操作使网络模型具备了更好的鲁棒性和泛化能力,能够更有效地识别和检测多种网络入侵行为。实验结果表明,引入Dropout的BP神经网络在准确率、精确率和召回率等性能指标上均有显著提升。这一研究对于DL在网络入侵检测领域的应用具有重要的意义,并为进一步改进和优化网络入侵检测算法提供了有益的思路和参考。未来的研究可以进一步探索不同的网络结构和训练策略,以提升网络入侵检测的性能和鲁棒性。

猜你喜欢
鲁棒性神经元神经网络
《从光子到神经元》书评
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
神经网络抑制无线通信干扰探究
基于确定性指标的弦支结构鲁棒性评价
跃动的神经元——波兰Brain Embassy联合办公
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于二次型单神经元PID的MPPT控制