前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇神经网络主要存在的问题范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
最近十年,随着互联网技术的迅速发展,网络安全越来越受到人们的重视,各种利用网络漏洞和病毒入侵的手段层出不穷,极大地威胁着网络安全。而传统的杀毒软件和防火墙技术面对端口扫描和新型木马等网络攻击显得力不从心。在此背景下,作为一种积极主动的安全防护策略,网络入侵检测技术得到了人们广大的关注,获得了广泛的应用。但是随着网络入侵技术的进化,传统的入侵检测技术暴露出诸多缺陷,因此,本文引入了神经网络技术对传统入侵检测系统进行升级,以提高系统的检测性能。目前国内外有许多学者和机构都进行了基于神经网络的网络入侵检测系统的研究和探索。美国国防部为了提高计算机网络系统的防入侵能力,从20世纪90年代开始陆续起草了一系列的建议草案和标准,从结构体系上规定了计算机网络入侵防御的相关技术标准,并资助MIT了KDDCUP99入侵检测测试集,为相关研究提供了研究样本;美国学者LTony等采用单隐含层的简神经网络构建了一个IDES的入侵检测专家系统,实现了对局域网内几种典型入侵行为的判断,开启了利用神经网络对网络入侵行为进行判断的新途径。随着网络技术,特别是网络入侵技术和大数据技术的迅速发展,国外的网络安全提供商分别推出了自己完善的反网络入侵解决产品,如:思科的IDS4250T和InternetSecurity的Realsecure等[1]。我国的网络入侵检测技术研究起步于20世纪90年代,哈尔滨工程大学的唐立力教授采用KDDCUP99入侵检测测试集作为研究样本,利用RBF神经网络作为判断模块,根据知识库中已经定义好的网络攻击方式来判断是否发生入侵行为,通过网络训练,对常见的四大类型的入侵行为进行了很好的判断;华中科大的周毅等采用遗传算法对BP网络输入参数进行优化,建立了GABP的诊断网络,大大提高了对网络入侵行为的诊断精度和速度,提高了网络的使用安全性[2]。虽然国内外对神经网络技术在入侵检测中的研究有着许多亮点,也取得了很多成绩,但是从目前的研究情况来看,大多学者采用的方法存在的普遍问题有:一是构建的网络入侵检测模型缺乏泛化能力,模型稳定差,当系统加入新的入侵类型时,模型诊断精度较低;二是除了国外少数商业软件巨头,其他研究者并未建立有效的基于检测模型的防入侵检测系统,即相关研究的实际用途有待进一步提高;三是检测系统的可扩展性和检测效率低。
1入侵检测系统的组成
1.1常见的两种入侵检测方法
在目前常见的入侵检测系统中,根据其检测方法的不同,可分为异常检测和误用检测两种方法。异常检测的基础是建立一个安全行为的数据库,在此数据库外的操作会被进行比对,当其严重偏离安全行为时即被判断为入侵行为。此方法的优点是对未知的入侵行为有较好的检测效果,漏报率较低;缺点是容易将一些未定义的正常行为判定为入侵行为,即误报率较高。误用检测则是一种基于入侵行为数据库的检测,该数据库是多种已知入侵行为及特征的集合,且数据库是实时更新的。误用检测工作时,会对网络行为与数据库中的信息进行比对,以判定其是否属于入侵行为。误用检测的优势是可以快速有效地判断常见入侵形式;缺点是数据库需要快速和持续的进行更新,随着数据库规模的持续增大,可能影响检测的速度。本文研究了两种检测法的优缺点,决定在本文所构建的系统中同时采用这两种检测法,并以神经网络技术作为其实现的基础。
1.2现有入侵检测系统存在的问题
一般来说,目前常见的入侵检测系统具有以下一些问题:(1)检测效率较低。不管是误用检测还是异常检测都很难快速检测具有欺骗性的入侵行为;异常检测的正常运行需要系统维护记录的实时更新,误用检测则需要复杂的专家系统shell来编码和解释,需要耗费大量的系统资源,因此其效率较低。(2)维护性和系统更新能力较低。一个入侵检测系统需要实时维护及更新,目前广泛存在的系统在维护和更新时往往要求操作者了解专家系统规则语言,使得操作者的学习成本大大提高。(3)漏报和误报问题。目前常见的入侵检测系统普遍存在漏报率和误报率偏高的问题,这极大的影响了系统的性能。
1.3将神经网络技术应用于入侵检测系统的优势
将神经网络技术应用到入侵检测研究中。主要有以下优势:(1)误警率低。现有系统的一大缺点就是误报率较高,这是由于其采用的模式匹配模块缺乏自学习能力导致的,神经网络模型有较高的自适应和自学习能力,可以很好的解决这一问题。(2)自适应性好。传统的入侵检测系统需要对每种已知的攻击行为制定专家系统shell来编码和解释。当新的攻击类型出现时,需要重新进行编码和解释,这极大的增加了系统的更新和维护成本。而基于神经网络技术的系统则不依靠信号的模式匹配,其具有很强的自适应性,当需要对系统进行更新时,也不会造成太大的学习成本。(3)漏报率低。传统入侵检测系统,特别是采用误用检测法的系统对于新的攻击行为会有较高的漏报率,而采用神经网络技术则可以有效解决这一问题。
1.4基于神经网络的入侵检测模型
本文借鉴文献[34],结合神经网络的相关特点,建立了如图1所示的检测模型。在图1的入侵检测系统中,神经网络训练模块1在发现新的攻击类型后会将相关信息输入到神经网络训练模块2中进行训练,从而扩充误用检测库的数量,极大地提高了该系统的实用性,该系统主要分为以下几个模块:(1)数据采集模块数据采集模块采用Winpcap来捕获网络中的数据包和处理系统日志并送入预处理模块。Winpcap体系结构利用的Packet.dll和Wpcap.dll两个API为用户提供支持。(2)数据预处理模块对Winpcap采集到的数据进行筛选和处理,检查其格式,并调用不同的分析程序段对包中不同协议类型的内容进行分析,以转化为神经网络所能识别的标准格式。(3)神经网络模块本系统建立了分别基于误用和异常检测库的神经网络模型。该网络首先需要一定样本的训练,然后即可以对相关的入侵行为进行识别,并把确定的行为报送给入侵响应模块。(4)报警响应模块该模块的功能主要有两个:一是记录入侵行为的时间日志,以便复查、分析及作为证据,并保证这些记录不能被擦除或远程销毁;二是及时报警,通知网络管理人员及时采取相应措施以阻止网络入侵行为。
2系统的试验过程及结果分析
2.1实验环境
本次实验的硬件平台为Inteli53.2GHz,8GB内存和1TB硬盘的计算机,实验在Windows8平台上用Matlab语言编程实现。
2.2试验数据源的选取
本文所采用的分析数据是目前入侵检测研究中常用的KDDCup1999Data数据集,该数据集包含了近500万条模拟网络环境中的各种攻击和正常访问链接的记录。其中入侵行为主要包含4种常见的攻击类型和1种新的攻击类型,它们分别是拒绝服务攻击(DenialofService,DOS)、本地用户权限提升攻击(UsertoRoot,U2R)、远程攻击(RemotetoLocal,R2L)、探测攻击(Probe)和新类型攻击(Other)[5],这5种攻击类型中包含的18种具体的攻击名称如表1所示。在KDDCup1999Data数据集中,每条链接都包含41个特征,标志着这条链接记录的各个属性,其中最后一个特征为表明其为正常数据或入侵的类型。本文选择其中比较重要的24个特征作为神经网络的输入值,再对这24个属性进行编码处理,将符号属性转化为神经网络可以识别的数值型,最后进行归一化处理。考虑到实验用机的数据处理能力,本次实验从KDDCup1999Data数据集中选取试验数据7600条,并取尽可能多的包含常见的攻击方法,且保证每种攻击方法有一定数量的数据个数,以满足神经网络的训练需求,其具体的数据分布如表2所示。在Matlab中定义该神经网络对攻击类型的判断输出如表3所示。
2.3构建BP神经网络
论文关键词:模拟电路;故障诊断;小波神经网络
论文摘要:分析了模拟电路故障诊断的重要性和目前存在的困难,对基于小渡分析理论和神经网络理论的模拟电路故障诊断方法进行了综述.指出了小波神经网络应用于模拟电路故障诊断存在的问题和未来的应用前景。
模拟电路故障诊断在理论上可概括为:在已知网络拓扑结构、输人激励和故障响应或可能已知部分元件参数的情况下,求故障元件的参数和位置。
尽管目前模拟电路故障诊断理论和方法都取得了不少成就,提出了很多故障诊断方法,如故障字典法、故障参数识别法、故障验证法等。但是由于模拟电路测试和诊断有其自身困难,进展比较缓慢。其主要困难有:模拟电路中的故障模型比较复杂,难以作简单的量化;模拟电路中元件参数具有容差,增加了故障诊断的难度;在模拟电路中广泛存在着非线性问题,为故障的定位诊断增加了难度;在一个实用的模拟电路中,几乎无一例外地存在着反馈回路,仿真时需要大量的复杂计算;实际的模拟电路中可测电压的节点数非常有限.导致可用于作故障诊断的信息量不够充分,造成故障定位的不确定性和模糊性。
因此,以往对模拟电路故障诊断的研究主要停留在中小规模线性无容差或小容差的情况,有些方法也已成功地应用于工程实际。但如何有效地解决模拟电路的容差和非线性问题,如何解决故障诊断的模糊性和不确定性等是今后迫切需要解决的问题。小波神经网络则因其利于模拟人类处理问题的过程、容易顾及人的经验且具有一定的学习能力等特点,所以在这一领域得到了广泛应用。
1小波分析理论在模拟电路故障诊断中的应用现状分析
简单地讲,小波就是一个有始有终的小的“波浪”小波分析源于信号分析,源于函数的伸缩和平移,是Fourier分析、Gabor分析和短时Fourier分析发展的直接结果。小波分析的基木原理是通过小波母函数在尺度上的伸缩和时域上的平移来分析信号,适当选择母函数.可以使扩张函数具有较好的局部性,小波分析是对信号在低频段进行有效的逐层分解,而小波包分析是对小波分析的一种改进,它为信号提供了一种更加精细的分析方法,对信号在全频段进行逐层有效的分解,更有利于提取信号的特征。因此,它是一种时频分析方法。在时频域具有良好的局部化性能并具有多分辨分析的特性,非常适合非平稳信号的奇异性分析。如:利用连续小波变换可以检测信号的奇异性,区分信号突变和噪声,利用离散小波变换可以检测随机信号频率结构的突变。
小波变换故障诊断机理包括:利用观测器信号的奇异性进行故障诊断以及利用观测器信号频率结构的变化进行故障诊断。小波变换具有不需要系统的数学模型、故障检测灵敏准确、运算量小、对噪声的抑制能力强和对输入信号要求低的优点。但在大尺度下由于滤波器的时域宽度较大,检测时会产生时间延迟,且不同小波基的选取对诊断结果也有影响。在模拟电路故障诊断中,小波变换被有效地用来提取故障特征信息即小波预处理器之后,再将这些故障特征信息送人故障分类处理器进行故障诊断。小波分析理论的应用一般被限制在小规模的范围内,其主要原因是大规模的应用对小波基的构造和存储需要的花费较大。
2神经网络理论在模拟电路故障诊断中的应用分析
人工神经网络(ANN)是在现代神经科学研究成果的基础上提出来的,是一种抽象的数学模型,是对人脑功能的模拟。经过十几年的发展,人工神经网络已形成了数十种网络,包括多层感知器Kohomen自组织特征映射、Hopfield网络、自适应共振理论、ART网络、RBF网络、概率神经网络等。这些网络由于结构不同,应用范围也各不相同。由于人工神经网络本身不仅具有非线性、自适应性、并行性、容错性等优点以及分辨故障原因、故障类型的能力外,而且训练过的神经网络能储存有关过程的知识,能直接从定量的、历史故障信息中学习。所以在20世纪80年代末期,它已开始应用于模拟电路故障诊断。随着人工神经网络的不断成熟及大量应用,将神经网络广泛用于模拟电路的故障诊断已是发展趋势。BY神经网络由于具有良好的模式分类能力,尤其适用于模拟电路故障诊断领域,因而在模拟电路故障诊断系统中具有广泛的应用前景,也是目前模拟电路故障诊断中用得较多而且较为有效的一种神经网络。
3小波神经网络的应用进展分析
3,1小波分析理论与神经网络理论结合的必要性
在神经网络理论应用于模拟电路故障诊断的过程中,神经网路对于隐层神经元节点数的确定、各种参数的初始化和神经网络结构的构造等缺乏更有效的理论性指导方法,而这些都将直接影响神经网络的实际应用效果。小波分析在时域和频域同时具有良好的局部化特性,而神经网络则具有自学习、并行处理、自适应、容错性和推广能力二因此把小波分析和神经网络两者的优点结合起来应用于故障诊断是客观实际的需要。
目前小波分析与神经网络的结合有两种形式,一种是先利用小波变换对信号进行预处理,提取信号的特征向量作为神经网络的输人,另一种则是采用小波函数和尺度函数形成神经元,达到小波分析和神经网络的直接融合第一种结合方式是小波神经网络的松散型结合,第二种结合方式是小波神经网络的紧致型结合。
3.2小波分析理论与神经网络理论的结合形式
小波与神经网络的松散型结合,即:用小波分析或小波包分析作为神经网络的前置处理手段,为神经网络提供输人特征向鱼具体来说就是利用小波分析或小波包分析,把信号分解到相互独立的频带之内,各频带内的能童值形成一个向觉,该向童对不同的故障对应不同的值,从而可作为神经网络的输入特征向量一旦确定神经网络的输入特征向童,再根据经验确定采用哪种神经网络及隐层数和隐层单元数等,就可以利用试验样本对神经网络进行训练,调整权值,从而建立起所需的小波神经网络模型。
小波与神经网络的紧致型结合,即:用小波函数和尺度函数形成神经元,达到小波分析和神经网络的直接融合,称为狭义上的小波神经网络,这也是常说的小波神经网络。它是以小波函数或尺度函数作为激励函数,其作用机理和采用Sigmoid函数的多层感知器基本相同。故障诊断的实质是要实现症状空间到故障空间的映射,这种映射也可以用函数逼近来表示。小波神经网络的形成也可以从函数逼近的角度加以说明。常见的小波神经网络有:利用尺度函数作为神经网络中神经元激励函数的正交基小波网络、自适应小波神经网络、多分辨率小波网络、区间小波网络等。
3.3小波分析理论与神经网络理论结合的优点
小波神经网络具有以下优点:一是可以避免M LY等神经网络结构设计的育目性;二是具有逼近能力强、网络学习收敛速度快、参数的选取有理论指导、有效避免局部最小值问题等优点。
在模拟电路故障诊断领域,小波神经网络还是一个崭新的、很有前途的应用研究方向。随着小波分析理论和神经网络理论的不断发展,小波神经网络应用于模拟电路故障诊断领域将日益成熟。
最近几年,随着科技的进步专家系统的研究已经渗透到农业生产领域,并发挥出了巨大的作用。然而,传统专家系统表现出一定的局限性:基于规范的推理难以真正模仿人类专家的推理过程,还存在知识获取和表达力上的薄弱、学习能力较差、容错性差等问题,严重影响了专家系统的开发应用。人工神经网络是模拟人脑思考过程的人工智能技术之一。它不需要任何先验公式,就能从已有数据中自动地归纳总结出规律。它具有很强的非线性映射能力,特别适合于因果关系复杂的非确定性识别、判断和分类等问题。根据这两种系统的特点,本文提出一种基于人工神经网络的蜜桃生产专家统,即将人工神经网络作为专家系统的输入,专家系统用来为神经网络分析结果 。
全国蜜桃病虫害的原因大致相同,可以在同一个系统里应用。全国蜜桃病害发生的原因一般可分为两大类,一是由生物因素引起的传染性病害病原物主要有细菌、真菌、病毒和线虫等,都具有传染性;二是非生物因素所引起的病害,如营养和水分的多少、温度的高低、日照的长短强弱、空气污染等环境因素,这类病害不互相传染,称之为非传染性病害。由于这两种病害的表面特征具有很多相似性,所以将两种病虫害合并在一起研究,以蜜桃炭疽病、白腐病、霜霉病等传染性病害和蜜桃水罐子、日烧病、缺氮症等 10种非传染性病害为研究对象进行知识样本化处理。
首先是专家知识数据库的建立。这部分知识构成专家系统主要的知识来源。用户输入输出接口及知识转换模块负责与用户的交互,将用户输入的症状数据转换为可供推理机推理的诊断格式,同时诊断出的结果通过人机接口返回给用户。推理机和人工神经网络及知识库是专家系统的核心部分,包括基本推理、人工神经网络推理、知识库的存储查询和维护。
专家系统运行过程如下,首先专家系统进行专家知识规范的初始化。由蜜桃病害诊断专家经过大量实践和科学分析论证的结果作为专家系统的主要知识来源,手动输入专家系统。对输入专家知识进行规范化,把形成知识规范的内容存入到知识库中。同时对专家知识规范进行样本化处理,形成人工神经网络所需的学习样本,然后再将样本输入到人工神经网络进行训练。至此专家系统初始化完毕可以进行使用。然后,当用户通过客户端输入需要诊断的症状,它将对输入的病虫害信息进行数据转换,才能变成推理机可以快速处理的数据。最后,推理机先要查询知识库中已经存在的专家知识数据库,如果专家知识库中存在相匹配的诊断规范那就可以直接给出诊断结果。如没有符合要求的信息则利用人工神经网络进行推理,这样才能得出可靠的诊断结果。它将得出的诊断结果输出给用户,同时给出防治措施。
人工神经网络的学习过程与知识库的建立是同时进行的,对样本的训练对整个系统的成败起着至关重要的作用。首先应该选取一部分样本进行学习,由这部分训练得出网络权重值,然后再以全部作为学习样本。以前面得出的人工神经网络权重值作为初始权重值重新训练人工神经网络,这样才能得到最终可靠的权重值。对于推断错误或训练结果误差大的样本,系统利用参数修正学习算法得到新的网络参数及权重值,再将其用于人工神经网络前向计算模块中,直至满足误差为止。
在选取学习样本时,既要注意蜜桃典型症状的使用又要注意实际生产中症状表现的使用。典型症状是突出蜜桃病害的特点,这样可以使网络较快地对所有研究的对象形成概念并抽取特征;而实际生产中症状则更能反映具体果树的个性特征。只有使用时结合这两类症状的优点,才能提高本系统诊断精度和速度。
本系统的知识表述分为两种:一种是将果树专家的经验知识形式化成规范,并存储在知识库中,作为推理的原始前提;另一种是通过现场历史数据对神经网络进行训练,将难以形式化的专家经验以非线性映射的形式存储于神经网络的节点上。推理机则在一定的规范指导下,针对不同情况用规范和神经网络对蜜桃缺素、病虫害进行诊断,得出可能的诊断结果,并对诊断结果进行评价和提出防治措施。
在本系统中,人工神经网络系统在完成一个诊断实例后,可以记忆诊断过程和结果,保存到诊断规范表中。从而归纳出新的诊断范,不断扩充知识库的内容,使知识库具有自己学习功能,这是本系统与传统专家系统的重要区别。在推理过程中,针对用户输入蜜桃病虫害的症状表现的严重程度,系统自动会调整规范中各个节点的权重值,使每一个诊断可靠性得到提高,为下次正确诊断奠定了基础。
本系统的主要优点表现在: ①由于采用人工神经网络技术,系统很自然地实现了逻辑推理的功能,具有较强的诊断能力。②系统具有知识自己学习、便于系统扩充和容错性强等优点。 ③人工神经网络嵌入到传统专家系统中,既继承了传统专家系统的模块化思想,同时也延用以往的开发成果,又融进人工神经网络的优良特性,提高了整个专家系统的智能水平。随着计算机技术在农业领域的不断渗透,人工神经网络硬件和软件的不断发展,运用网络模型的各种算法的不断出现,人工神经网络也会不断地与专家系统进行结合,比较完善地解决基于符号的专家诊断系统所不能解决的一系列问题,有着极其广泛的应用前景。但是人工神经网络专家系统的集成技术还处于探索阶段,其中仍有许多问题需要进一步的深入,都是需要探讨的问题 。
参考文献
[1]徐丽娜.神经网络控制北京:电子工业出版社,2003,5-6.
关键词: BP算法; 入侵检测; 神经网络; 随机优化算子
中图分类号: TN915.08?34; TP393.08 文献标识码: A 文章编号: 1004?373X(2017)11?0091?04
Research on BP algorithm based on neural network and its application
in network intrusion detection
LUO Junsong
(College of Information Science and Technology, Chengdu University of Technology, Chengdu 610059, China)
Abstract: By analyzing the problems of BP neural network applied to the detection system, the automatic variable?rate learning method, forgetting factor and random optimization operator are introduced into the BP algorithm on the basis of traditional BP algorithm. The BP algorithm is applied to the network intrusion detection system. The simulation results show that the improved BP neural network algorithm applied to intrusion detection has the characteristics of fast speed and easy convergence, and can quickly obtain the target accuracy of 0.02. The detection rate, missed detection rate and false alarm rate of the improved BP neural network algorithm can reach up to 96.17%, 3.83% and 4.15% respectively, whose detection rate is 11.65% higher than that of the traditional BP algorithm, the missed detection rate is 10.66% lower than that of the traditional BP algorithm, and the false alarm rate is 4.07% lower than that of the traditional BP algorithm. The superiority of the algorithm is obvious.
Keywords: BP algorithm; intrusion detection; neural network; random optimization operator
0 引 言
随着通信技术和计算机技术的快速发展,计算机的网络规模越来越大,通信系统也越来越复杂,由于计算机网络本身具有漏洞,同时还有黑客对网络进行攻击,因此计算机网络受到的威胁和攻击日益增加[1?3]。网络安全形势越来越严峻。通过入侵检测技术可收集计算机网络中的若干关键点信息,同时对这些信息进行分析,并对网络是否遭到袭击、是否存在违反安全策略行为进行检查,并做出及时响应,对网络连接进行切断并报警等[4?6]。目前倾向于通过入侵检测技术结合人工智能算法进行相关研究,对于各种入侵行为,采用人工智能算法通过自学习、自适应能力进行识别、检测[7]。
作为一种重要的模式识别方法,人工神经网络具有自学习、自组织、推广能力强等特点[8]。在入侵检测系统中,应用人工神经网络方法可使系统能较好地识别已知攻击,同时还具有对未知攻击进行检测的能力[9]。但是在异常入侵检测系统中,应用标准BP算法存在收敛局部极小值、学习速度慢等缺点,这在很大程度上影响了入侵检测系统的性能[10]。本文在对原有BP神经网络算法进行改进的基础上,研究了优化的神经网络BP算法及其在网络入侵检测中的应用。
1 BP神经网络
BP神经网络是一种多层前馈神经网络,包括输入信号前向传递和误差反向传播两个过程,在结构上一般由输入层、隐含层、输出层三层构成,每一层的神经元状态只影响下一层神经元状态。它被广泛应用在BP神经网络预测模型中。网络结构一般只需单个隐含层就能以任意精度逼近任意有理函数。训练样本的输入、输出向量的维数分别决定了网络的输入、输出层神经节点个数,典型的只有单个隐含层、单个输出的BP神经网络结构如图1所示。
图1 BP神经网络拓扑结构
图1中,为BP神经网络的一组输入向量;为网络的目标输出值;为输入层与隐含层之间的连接权值;为隐含层c输出层之间的连接权值;分别为隐含层和输出层的节点阈值。若设隐含层节点个数为则在前向传递中,输入信号向量从输入层经隐含层逐层传输,最后到输出层,通过各层连接权值矢量、阈值矢量和每一层相应的激励函数进行计算。得到输出层的预测输出值若预测值与目标值之间有误差,则误差部分转入反向逐层传递,沿误差减小方向调整网络各层连接的权值、阈值。反复执行以上过程,使得BP神经网络的预测值不断逼近实际输出值。
2 入侵检测算法
网络入侵检测通过分析系统数据,一旦有网络攻击行为、非授权网络访问时,入侵检测系统就会报警,同时对入侵线路进行切断。入侵检测系统应具有监视系统、用户的活动,对系统、用户活动进行分析,对异常行为模式进行分析,对已知进攻模式进行识别,审计系统弱点、构造,跟踪管理系统审计,对系统、数据文件完整性进行评估,对用户违反安全策略行为进行识别。常见的攻击手段目前包括非授权获得权限、非授权访问、探测、拒绝服务等。在实际中,这些攻击手段变异很大,入侵检测难度较大。BP神经网络具有较强的自学习和自组织能力,经过训练后,对以前观察到的入侵检测行为模式,BP神经网络会进行归纳和总结,可识别出已观察到的攻击和已知攻击变异的新攻击,图2为网络的入侵检测过程。
3 改进的BP神经网络入侵检测
3.1 BP神经网络用于检测系统存在的问题
BP神经网络采用分布式存储,但传统的BP算法存在一些不足,包括极小的局部,较慢的学习收敛速度,缺乏理论隐含层节点的选取,已经学完样本会受到新加入样本的影响,每次样本的输入必须具有确定相同的特征数目。
在入侵检测中,BP神经网络的实现方式主要是与现有系统结合进行,BP神经网络与应用模式识别系统相结合使用,例如与专家系统结合。在这种方式中,BP神经网络可作为系统组成部分,通常是作为信息过滤模块或信息预处理模块,当信息输入系统后,神经网络会对信息做过滤处理。另外,神经网络可规则自动生成模块,进而更新入侵检测系统规则库、模式库。这种方式的优点是能将入侵检测系统的工作性能提高,缺点是这种方式神经网络的真正优势不能得到充分发挥。
3.2 改进的神经网络算法
在信号检测、非线性处理、模式识别等领域,人工神经网络应用较多,这是因为人工神经网络自组织性、自适应性非常好,同时其非线性特性明显,信息存储为分布式模式、可进行大规模的并行处理。实质上BP神经网络算法属于非线性优化的梯度算法,在收敛性上,该算法存在不足,也就是说该算法的学习结果有可能落入到均方误差全局最小点,也有可能落入到局部极小点,造成算法不收敛,使工作模式陷入错误。
入侵检测系统的主要功能是对入侵计算机网络的行为和计算机系统进行检测,包括数据聚类、数据采集、分析判断行为、对入侵行为进行响应、报警等。BP网络各层神经元仅连接相邻层神经元;在各层内部,神经元间无连接;同时各层神经元间也无反馈连接。在信号输入后,传播到隐节点经变换函数再将信息传播到输出节点,经过处理,输出结果。本文将改进的BP 神经网络用于入侵检测系统,其检测模型见图3。
3.2.1 采用自动变速率学习法
传统BP算法在梯度基础上,采用最陡下降法LMS学习问题,学习步长为一个较小值,并且这个值是固定不变的,对网络收敛无益处。因而选择基于梯度方向自动对学习速率进行调节。通过梯度对学习方向做最终确定,在梯度方向上,学习步长由速率决定。若相邻两次梯度方向是相同的,表明该方向的收敛有利;若相邻两次梯度方向是相反的,表明该方向的收敛不稳定。根据这个规律,通过两次相对梯度的变化确定学习步长。当两次梯度为相同方向时,学习步长增大,该方向上学习速度要加快;在两次梯度为相反方向时,学习步长减小,整个网络收敛速度要加快,自适应速率调节方法如下:
(1)
(2)
式中表示在时刻和时刻梯度的乘积。
3.2.2 引入遗忘因子
根据相邻两次梯度变化,通过自适应变速率学习法对学习步长算法进行确定。变化单纯学习速率,这时收敛速度不能完全保证,但不会有振荡产生,因此考虑变速率学习法,在权值调节量上,加一个量,这个量正比于前几次的加权,权值调节量采用式(3)计算:
(3)
式中:表示遗忘因子,引入遗忘因子项,在学习过程中可通过对学习速率进行等效微调的效果进行说明。遗忘因子的作用是缓冲平滑,并使调节的平均方向朝底部变化。
3.2.3 引入随机优化算子
BP神经网络算法在引入遗忘因子,采用自动变速率学习法后,虽然可微调学习速率,但BP神经网络的不足和限制仍存在,为了进一步对BP神经网络进行优化,本文引入随机优化算子,当网络权值误差迭代达到一定次数后,收敛不明显或连续几次发生系统误差函数梯度变化,这种情况表明网络进入疲乏状态,要借助外界推动力对网络进行激活。当出现这两种情况时,与权值维数相同的随机数就产生了,直接将权值和随机数相加,对系统误差变化进行判断,若误差未降低,继续产生随机数,进行权值修改,当误差出现减少时停止,然后再从新权值继续开始BP算法,随机优化算子可随机变化搜索方向,局部极小点就摆脱掉了,图4为改进的BP算法流程图。
4 仿真实验
本文的仿真实验在Matlab 7.0实验平台进行,以此来验证提出改进的BP神经网络算法是否能达到较好的效果,本文同时给出采用未改进的BP算法网络入侵检测和改进的BP神经网络算法网络入侵检测模型仿真实验结果。
图5为两种算法得到的训练精度。从两种算法的实验仿真结果可看出,将改进的BP神经网络算法用于入侵检测,速度快、易收敛,目标精度0.02很快达到。在规定周期内,未改进的BP算法不能达到规定的目标精度,易陷入局部极小,本文提出的改进的BP算法所用训练周期较短,学习时间缩短显著,效果良好。
评价检测模型的标准为漏报率、误报率、检测率,其定义分别如下:
表1为未改进的BP算法与改进的BP算法的比较结果,从表1中可看出,改进的BP神经网络算法的检测率、漏报率、误报率分别为96.17%,3.83%,4.15%,检测率比未改进的BP算法要高出11.65%,漏报率比未改进的BP算法要低10.66%,误报率比未改进的BP算法要低4.07%。
表1 两种算法的入侵检测结果
[算法 训练周期 /s 检测率 /% 漏报率 /% 误报率 /% 基本BP算法 480 84.52 14.49 8.22 改进的BP算法 480 96.17 3.83 4.15 ]
5 结 语
本文在对原有BP 神经网络算法进行改进的基础上,研究了改进优化的BP神经网络算法及其在网络入侵检测中的应用。通过分析BP神经网络用于检测系统存在的问题,在传统BP算法基础上,采用自动变速率学习法,引入遗忘因子、随机优化算子,并将其用于网络入侵检测系统。仿真实验表明,改进的BP神经网络算法用于入侵检测,速度快易收敛,目标精度0.02很快达到。本文算法具有明显的优越性,各种入侵行为检测率得到明显提高,系统误报率也降低了,入侵检测系统性能得到有效改进,本文算法优越性明显。
参考文献
[1] 宋玲,常磊.变异粒子群优化的BP神经网络在入侵检测中的应用[J].智能系统学报,2013,8(6):558?563.
[2] 刘伉伉,谢福,郭雪雪.基于BP神经网络的云计算入侵检测技术研究[J].计算机与数字工程,2014(12):2357?2361.
[3] 黄煜坤.基于BP神经网络算法的入侵检测技术[J].电子制作,2015(10):60?62.
[4] 沈夏炯,王龙,韩道军.人工蜂群优化的BP 神经网络在入侵检测中的应用[J].计算机工程,2016,42(2):190?194.
[5] 王玲.基于BP 算法的人工神经网络建模研究[J].装备制造技术,2014(1):162?164.
[6] 王俊士,李江涛.一种改进的BP神经网络算法在入侵检测中的应用[J].电脑知识与技术,2014,10(3):614?617.
[7] 颜谦和,颜珍.遗传算法优化的神经网络入侵检测系统[J].计算机仿真,2011,28(4):141?144.
[8] 汪洁.基于神经网络的入侵z测系统的设计与实现[J].计算机应用与软件,2013(5):320?322.
【Abstract】Based on the concepts of genetic algorithm and BP neural network,the paper studies the optimization of BP neural network algorithm, and the effectiveness of the algorithm is verified by an example.
【关键词】遗传算法;BP神经网络;优化算法
【Keywords】genetic algorithm; BP neural network; algorithm optimization
【中图分类号】TPl83 【文献标志码】A 【文章编号】1673-1069(2017)04-0135-02
1 引言
神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,凭借着复杂的系统结构,通过对系统内部节点连接关系的调节,实现对信息的高效处理。作为技术最为成熟的神经网络模拟,BP神经网络具有良好的自学习、自适应以及泛化能力,在许多领域中都有着广泛的应用。而针对BP神经网络在应用环节存在的问题,需要采取相应的优化算法,提升神经网络的收敛速度和理能力。
2 遗传算法与BP神经网络
遗传算法遵循的是生物界中适者生存的法则,其基本原理,是指将问题参数进行编码,形成染色体,通过迭代的方式,运用选择、变异、交叉等运算,对种群中染色体的信息进行交换,继而形成能够满足优化目标的染色体。
BP(Back Propagation)神经网络最初产生于1986年,属于一种依照误差逆传播算法训练的多层前馈网络,也是当前技术条件下应用最为广泛的神经网络模型之一,其可以对输入-输出模式的映射关系进行学习和存储,同时不需要对能够揭示这些映射关系的方程进行描述。神经网络具备自适应和自组织能力,在进行学习和训练的过程中,可以通过改变突触权重值的方式,更好地适应周边环境的变化。在同一个神经网络中,如果内容不同,学习方式不同,则会产生不同的功能。人工神经网络从本质上看,更加接近具备自主学习能力的系统,可以通过不断的学习,超出最初设计的知识水平。在人工神经网络中,比较常见的学习方法有两种,一是有监督的学习,可以结合标准样本,进行分类或者模仿,二是无监督的学习,在制定相应的学习规则后,系统会根据自身所处环境,进行学习内容的分析和选择,更加接近人脑的功能特点。
3 基于遗传算法的优化BP神经网络算法
3.1 算法基本原理
①BP算法。BP神经网络算法主要包括了数据流的前向计算和误差信号的反向传播两个方面的内容,结合三层BP神经网络的拓扑结构,假定x为网络输入,y为结果输出,当处于正向传播过程时,数据的传输为输入层隐层输出层,每一层神经元的状态仅仅会影响下一层神经元,而如果输出层无法获得期望输出,则会自动转向误差信号的反向传播流程。在BP神经网络中,网络的训练实际上是对阈值和权值进行调整的过程,当网络误差缩小到设定值,或者训练步数达到设定步数时,会自动停止训练。
②遗传算法。遗传算法可以从代表问题可能潜在解集的种群开始,种群中的每一个染色体都带有相应的特征,染色体可以看作若干基因的集合,为了便于分析,需要做好编码,完成从表现型到基因型的映射。在演化过程中,依照问题域中存在的个体的适应度,进行个体的挑选和交叉,然后变异出新的解集种群。选择末代种群中的最优个体进行解码,就可以得到问题的近似最优解。
3.2 优化BP算法
BP神经网络算法具有极强的局部寻优能力,但是容易陷入局部极小的问题,遗传算法具有良好的全局优化性和自适应性,但是局部寻优能力不足。对此,可以将遗传算法与BP算法结合起来,实现对于网络拓扑结构和网络权值、网络阈值的优化。
①权值优化。在传统的BP网络中,连接权值的学习算法容易陷入局部极小,无法得到全局最优。对此,可以引入遗传算法代替传统的学习方法,对神经网络的权值进行优化。在这个过程中,需要解决几个比较关键的问题,一是编码方案,可供选择的权值编码方式包括实数编码和二级制编码,前者是以实数表示权值,非常直观,不过需要对遗传算子进行重新设计,后者是利用0,1字符串表示权值;二是适应度函数,引入遗传算法后,网络的机构以确定,在这种情况下,网络的误差越大,适应度越小;三是进化过程,主要是对选择、交叉、变异算子的选择,如果必要,也可以重新设计;四是混合训练神经网络,遗传算法能够在大规模、复杂性的空间中实现可靠搜索,而且不需要有关误差函数梯度的信息,优势相当明显。可以通过在误差函数中增加惩罚项的方式,降低网络的复杂程度。
②权值和结构同时优化。BP神经网络连接权的进化,要求明确的网络结构,网络结构直接影响着神经网络本身对于信息的处理能力。神经网路的结构包括了网络连接方式(拓扑结构)和节点转换函数,完善的结构不仅需要能够对问题进行有效解决,还不能存在冗余节点和冗余连接。伴随着进化算法的应用,网络设计在很多时候被看作搜索问题,评价的标准包括了抗噪性、学习准确率以及泛化能力等。结构进化的关键体现在结构编码和算子设计,而结构编码方案则会影响算子设计的效果。以三层前馈型BP网络为例,其输入层和输出层节点的数量已经确定,优化算法需要重点研究隐含层的节点数量。考虑到问题本身的复杂性,二进制编码的方法并不适用,因此选择实数编码,在隐含层节点增加二级制编码作为控制基因,通过随机函数产生。当控制基因的数值为0时,对应的隐含层节点对输出层无用,而当控制基因的数值为1时,隐含层节点对输出层作用。需要注意的一点,当选择实数编码方案时,为了明确编码的长度,需要确定隐层的最大神经元数目。
4 仿真试验
结合已知数据,对某地区小麦吸浆虫的发生程度进行预测。对问题进行深入分析,可以转化为相应的输入输出系统,可以通过神经网络进行表达。现有的研究成果表明,小麦吸浆虫的发生与气候因素关系密切,因此可以利用气象因子对问题进行分析。选择2000年到2015年的气象数据,设置40个研究样本,以x1-x14表示需要处理的原始数据(气象因子),Y表示小麦吸浆虫的发生程度。从减小误差的角度,对原始数据进行预处理。以优化后的BP算法进行神经网络训练,结合训练结果进行MATLAB仿真。在仿真试验中,需要做好一些关键参数额的设置,遗传算法和BP算法的最大代数分别为100,BP算法均方误差为0.001,会激活函数为双曲正切S型,线性输出层,学习算法被设置为经过改进的自适应学习率的梯度下降学习算法。
设定14作为隐层神经元的上限,由于编码长度固定且迭代代数一定,在所有的试验中,遗传算法的复杂度都是相同的。结合仿真试验分析,隐含神经元的最优数目为5、6、7,与传统方法得到的结果基本一致。相比较而言,利用遗传算法同时进行结构和权值的优化,最为显著的优势在于能够对隐层神经元的数目进行自适应确定,减少尝试的次数,提升计算效率。
而结合相应的训练结果分析,利用遗传算法进行BP神经网络连接权值的优化,相比较传统算法更加有效,不过同样需要进行网络结构的尝试,换言之就是选择合适的隐层神经元数目。不仅如此,利用遗传算法同时对神经网络的权值和结构进行优化,智能型更强,可能找到合适的初始权值和优秀的网络结构,不过,如果数据烦琐,搜索的速度会变慢。