">
摘要:该文介绍了一种改进的神经网络算法,该算法对网络结构采用自确定的方法,并将随机算子和遗忘因子引入BP神经网络中。在提高全局寻优能力的同时,加快了网络的收敛速度。同时将该算法应用于网络的入侵检测中,效果良好。
关键词:神经网络 入侵检测;自动变速率;随机优化算子
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2014)03-0614-03
随着互联网应用的发展,更现显了网络安全的重要性。入侵检测技术在安全防护中是一种主动防护技术,能及时地检测各种恶意入侵,并在网络系统受到危害时进行响应,因此在为安全防御体系中入侵检测系统占有重要的地位。但是在现实的应用中,入侵检测系统没有充分发挥其作用。这是因为,不断变化的入侵方式要求入侵检测模型必须具有分析大量数据的能力。无论这些数据是不完全的,是非结构化的,或者是含有噪音的。而且,有些攻击是由处于不同网络位置上的多个攻击者协作进行的,这就要求入侵检测模型又必须具备处理来自非线性数据源的大量数据的能力。神经网络具有联想记忆能力、自学习能力和模糊运算的能力。因此将神经网络应用入侵检测中,它不仅可以识别出曾见过的入侵,还可以识别出未曾见过的入侵。该文首先介绍了一种改进的神经网络算法,然后分析了该算法在入侵检测中的应用,并给出试验仿真结果。
1 BP神经网络与入侵检测
1.1 BP神经网络的特点与不足
BP神经网络是神经网络模型中应用最广泛一种。它基于成熟的BP算法,主要有以下几个特点:1)它能够实现自组织、自学习,根据给定的输入输出样本自动调整它的网络参数来模拟输入输出之间的非线性关系。2)在存储上采用分布式存储,所有的信息分布存储在每一个神经元中。3)它还可以实现并行处理,下一层的每个神经元可以根据接收到的上一层信息同时独立地计算。这些特点使其很适合应用于入侵检测技术,满足入侵检测的适应性、可靠性、安全性和高效性的要求。
但是传统的BP算法也存在着以下几个方面的不足:1)局部极小;2)学习算法收敛速度慢;3)隐含层节点选取缺乏理论;4)加入新的样本会影响已经学完的样本;5)每次输入样本特征的数目必须确定且相同。
1.2 入侵检测技术
通过对系统数据的分析,当发现有非授权的网络访问和攻击行为时,采取报警、切断入侵线路等措施来维护网络安全,这被就是入侵检测技术。采用此技术设计的系统称为入侵检测系统。根据采用的技术来说入侵检测系统应具有以下几个特性:1)监视用户及系统活动;2) 分析用户及系统活动;3) 异常行为模式分析;4) 识别已知的进攻活动模式并反映报警;5) 系统构造和弱点的审计,操作系统的审计跟踪管理;6) 评估重要的系统和数据文件的完整性,并识别用户违反安全策略的行为。
目前最常用的攻击手段有:拒绝服务、探测、非授权访问和非授权获得超级用户权限攻击。而且这些攻击手段在实际中还有很大的变异,因此给入侵检测带来了一定的难度。BP神经网络的自组织自学习能力,使得经过训练后的BP神经网络对以前观察到的入侵检测行为模式进行归纳总结,除了可以识别出已经观察到的攻击,还可以识别出由已知攻击变异出的新的攻击,甚至是全新的攻击。
2.3 改进的神经网络算法
人工神经网络在模式识别、非线性处理、信号检测等领域应用非常多,这是由于人工神经网络具有的良好的自适应和自组织性,高度的非线性特性以及大规模并行处理和分布式信息存储能力的特性。BP神经网络算法实质上是非线性优化问题的梯度算法,该算法在收敛性问题上存在限制与不足。即该算法学习的结果不能保证一定收敛到均方误差的全局最小点,也有可能落入局部极小点,使算法不收敛,导致陷入错误的工作模式。因此本文选择了改进的神经网络,改进主要有以下几点:
2)自动变速率学习法
传统的BP算法是以梯度为基础,采用LMS学习问题的最陡下降法,学习步长是一个固定不变的较小值,不利于网络的收敛。因此,选择了基于梯度方向来自动调节学习速率的方法。利用梯度确定学习的方向,由速率决定在梯度方向上学习的步长。因此,如果相邻两次的梯度方向相同则说明在该方向是有利收敛的方向,如果相邻两次的梯度方向相反则说明此处存在不稳定。因此,可以利用两次相对梯度变化来确定学习步长,当两次梯度方向相同时则增大学习步长,加快在该方向上的学习速度;而如果两次梯度方向相反那么减小学习步长,加快整个网络的收敛速度。这种方法的自适应速率调节公式如下:
2)引入遗忘因子
本文所采用的自适应变速率学习法是依据相邻两次梯度变化来确定学习步长的算法,但单纯的学习速率的变化还不能即完全地既保证收敛速度,又不至于引起振荡。因此考虑变相的学习速率的学习。即在权值的调节量上再加一项正比于前几次加权的量。权值调节量为:
我们将[τ]称为遗忘因子。遗忘因子项的引入就是对学习过程中等效的对学习速率进行微调的效果。遗忘因子起到了缓冲平滑的作用,使得调节向着底部的平均方向变化。
3)随机优化算子
虽然采用自动变速率学习法,并引入遗忘因子的神经网络算法可以对学习速率进行微调,但是仍存在着BP神经网络的限制与不足因此引入随机优化算子。也就是当网络的权值误差迭代一定的次数后,仍没有明显的收敛,或者系统误差函数的梯度连续几次发生改变,这说明网络进入了一个比较疲乏的状态,需要借助外界的推动力来激活网络。当发现上述的两种情况时,就产生与权值维数相同的随机数,并将随机数与权值直接相加,然后判断系统误差的变化。如果误差没有降低,那么就再继续产生随机数来修改权值,直到误差减少,再从新的权值开始继续BP算法。随机优化算子可以令搜索方向随机变化,从而摆脱局部极小点。
4)改进算法与传统算法比较
以200个训练样本为例,分别采用改进的BP神经网络和经典BP神经网络的方法进行学习、训练。两种算法的误差收敛对比曲线如图1所示。
相关专题:化学分析计量杂志 大学生靠摆摊养活妻女