基于DE优化的BP神经网络在入侵检测中的应用
2018-09-26崔珂付丽霞张勇毛剑琳任玉洁
崔珂 付丽霞 张勇 毛剑琳 任玉洁
摘要:伴随物联网的迅速发展,网络安全问题变得越来越重要。早期采用的传统BP神经网络算法存在一些致命缺点,如收敛速度较慢、无法跳出局部最优陷阱等。针对传统BP神经网络的问题,选用差分进化算法(DE),通过差分进化算法与神经网络融合,优化BP神经网络的权值、阈值,使BP神经网络的学习能力和差分进化算法的全局搜索优势都得到充分发挥,仿真实验证明了该方法的有效性。
关键词:入侵检测;差分进化;BP神经网络
DOI:10.11907/rjdk.173075
中图分类号:TP319
文献标识码:A文章编号:1672-7800(2018)007-0173-03
Abstract:Withtherapiddevelopmentoftheinternetofthings,theissueofnetworksecurityhasbecomemoreandmoreimportant.theearlytraditionalBPneuralnetworkalgorithmsuffersfromsomefatalflaws,suchasslowconvergence,inabilitytojumpoutofthelocaloptimaltrapandotherdefects.Therefore,inthispaper,thedifferentialevolution(DE)algorithmischosentosolvetheproblemsatthetraditionalBPneuralnetwork.Bycombiningthedifferentialevolutionalgorithmwiththeneuralnetwork,theweightsandthresholdsoftheBPneuralnetworkareoptimizedsothatthelearningabilityanddifferenceoftheBPneuralnetworkandtheglobalsearchadvantageofevolutionaryalgorithmarefullyexerted,andthesimulationresultsshowtheeffectivenessofthismethod.
KeyWords:intrusiondetection;differentialevolution;BPneuralnetwork
0引言
随着网络的发展,网络入侵事件越来越多,将人工神经网络引入入侵检测是近年研究的重点,相关研究较多。如:MansouriM、GolsefidMT等[1]提出了基于多层人工神经网络和智能特征选择的混合入侵检测系统;JoS、SungH等[2]使用决策树和人工神经网络模型对入侵检测性能进行分析;AmrutaM、TalharN等[3]使用人工神经网络对有线局域网进行有效的拒绝服务攻击检测;徐振华[4]使用BP神经网络对分布式入侵检测模型进行了研究;沈夏炯、王龙等[5]使用人工蜂群对BP神经网络在入侵检测中的应用进行了研究。本文针对传统BP人工神经网络存在收敛速度慢、容易陷入局部极值等问题,使用差分进化算法(DE)对其进行改进,以解决传统BP人工神经网络存在的问题。
1BP人工神经网络
BP人工神经网络[6]是通过模仿人脑神经元细胞工作方式建立的一种仿生物学算法。BP神经网络是由大量简单元件——神经元相互联接而成的自适应非线性动态系统。每个神经元结构和功能相对简单,但大量神经元组合产生的系统行为非常复杂。因此,其在模式识别、故障诊断、图像处理等领域得到了广泛应用。
BP人工神经网络工作过程为:工作信号正向传播与误差信号反向传播。在BP神经网络中一般采用输入层、隐藏层、输出层三层神经网络结构,如图1所示。工作信号正向传播时,假设节点i和节点j之间的权值为ωij,节点j的阈值为bj,每个節点的输出值为Sj,Sj是根据上层所有节点的输出值、当前节点与上一层所有节点的权值和当前节点的阈值及激活函数实现的,计算公式如下:
其中f为S型激励函数。误差信号反向传播时,将输出误差按原路反向传递计算,通过隐藏层反向,直至输入层。在反向传递过程中将误差分摊到各层单元,并将其作为修正各单元权值及阈值的依据。使用梯度下降法完成,从而对神经网络的权值及阈值进行不断调整,达到误差精度要求。
2差分进化算法(DE)
差分进化[7-10]开始时,随机产生一个初始种群,主要过程包括变异、交叉和选择3个步骤。基本思想是从某一组随机产生的初始种群开始,随机选择两个不同的个体向量相减产生差分向量,将差分向量赋予权值后与第3个随机选择的个体向量相加,产生变异向量。然后将变异向量与预先确定的父代个体向量按一定规则交叉产生试验向量。若试验向量的适应度值优于父代个体向量的适应度值,则选用试验向量进入下一代,否则保留父代个体向量。通过不断进化,保留优胜个体,引导搜索过程向最优解逼近。
2.1差分进化算法步骤
(1)初始化种群。
3入侵检测模型建立
差分算法主要控制种群规模NP、缩放因子F、交叉概率CR这3个参数[11-12]。若参数设置不合理,就有可能造成过度强调搜索能力导致搜索停滞,或者过度强调种群规模导致过早收敛,这些都不是所期望的。因此,根据前人经验,参数选择可使用经验法。种群规模NP选择一般为[5D,10D]之间,放缩因子F一般为[0.5,1]之间,交叉概率CR为[0.8,1]之间,这样可以使寻优率和收敛速度都得到较高保证[13]。
本文对BP人工神经网络使用差分进化算法优化,流程如图2所示。伪代码实现如下:
(4)得到最优的参考向量XG作为BP人工神经网络的连接权值阈值参数
(5)训练BP神经网络,进行预测,计算误差
4实验结果分析
4.1数据预处理
本文选用KDD99数据作为数据源,数据集由500万条记录构成,提供了10%的训练子集和测试子集[14],每条记录都包含41个特征属性,加上最后的标记(label)一共42项。这些特征属性分为4大类,分别是:TCP连接基本特征(共9种)、TCP连接内容特征(共13种)、基于时间的网络流量统计特征(共9种)、基于主机的网络流量统计特征(共10种)。本文针对Dos攻击和Probing攻击,提取18个特征作为神经网络的输入特征向量,对于输出向量以标志位判断是否受到攻击。这18个特征存在3个字符串特征向量,因此对这3个字符串特征向量进行数值化编码。如对service这一特征中存在的66个不同类型的服务进行编码时,令“http”为0,“smtp”为1,编码方式如表1所示。
为了降低部分较大数据对较小数据的影响,加快梯度下降求解速度以及提高精度,有必要对数据进行归一化处理。本文采用min—max标准归一化方式,将数据结果映射到[0-1]之间[15]。转换函数如下:
4.2仿真结果分析
BP人工神经网络输入层设置节点18个,隐含层节点37个,输出层节点1个。因为所使用的数据量较大,所以随机抽取部分样本数据14822个作为训练样本,测试样本4941个。先使用传统BP人工神经网络建立入侵检测模型,之后引入差分进化算法优化入侵检测模型并进行仿真实验,分别得到仿真实验的误差均方差与迭代次数关系。从图3和图4可以看出,改进后的均方差误差得到明显降低,收敛速度明显提高,在10次时快速收敛。
5结语
本文使用差分算法优化BP神经网络的权值、阈值,克服了BP神经网络陷入局部最优和收敛速度慢的问题,使BP神经网络的学习能力得到充分发挥,同时使差分进化算法的全局搜索优势得到体现,能较好地应用于入侵检测问题。
参考文献:
[1]MANSOURIM,GOLSEFIDMT,NEMATBAKHSHN.Ahybridintrusiondetectionsystembasedonmultilayerartificialneuralnetworkandintelligentfeatureselection[J].ArchivesofMedicalResearch,2015,44(4):266-272.
[2]JOS,SUNGH,AHNB.Acomparativestudyontheperformanceofintrusiondetectionusingdecisiontreeandartificialneuralnetworkmodels[J].InternationalJointConferenceSOCO′16-CISIS16-ICEUTE16,2016,11(4):33-45.
[3]AMRUTAM,TALHARN.Effectivedenialofserviceattackdetectionusingartificialneuralnetworkforwiredlan[C].InternationalConferenceonSignalProcessing,Communication,PowerandEmbeddedSystem.IEEE,2017:229-234.
[4]徐振华.基于BP神经网络的分布式入侵检测模型改进算法研究[J].網络安全技术与应用,2016(2):77-78.
[5]沈夏炯,王龙,韩道军.人工蜂群优化的BP神经网络在入侵检测中的应用[J].计算机工程,2016,42(2):190-194.
[6]周政.BP神经网络的发展现状综述[J].山西电子技术,2008(2):90-92.
[7]刘波,王凌,金以慧.差分进化算法研究进展[J].控制与决策,2007,22(7):721-729.
[8]丁青锋,尹晓宇.差分进化算法综述[J].智能系统学报,2017(4):431-442.
[9]杨启文,蔡亮,薛云灿.差分进化算法综述[J].模式识别与人工智能,2008,21(4):506-513.
[10]刘波,王凌,金以慧.差分进化算法研究进展[J].控制与决策,2007,22(7):721-729.
[11]张春美,陈杰,辛斌.参数适应性分布式差分进化算法[J].控制与决策,2014,29(4):701-706.
[12]高岳林,刘军民.差分进化算法的参数研究[J].黑龙江大学自然科学学报,2009,26(1):81-85.
[13]郭鹏.差分进化算法改进研究[D].天津:天津大学,2011.
[14]张新有,曾华燊,贾磊.入侵检测数据集KDDCUP99研究[J].计算机工程与设计,2010,31(22):4809-4812.
[15]柳小桐.BP神经网络输入层数据归一化研究[J].机械工程与自动化,2010(3):122-123.
(责任编辑:杜能钢)