您好,欢迎访问三七文档
神经网络分析设计综述摘要:本综述先后介绍了人工神经网络的概念、工作原理及特点,同时也阐述了人工神经网络的国内外研究现状及趋势,列举了人工神经网络的基本学习算法及应用领域。最后选取了人工神经网络之一的BP网络对其进行了详细阐述。关键词:人工神经网络;学习算法;BP网络1神经网络概述1.1人工神经网络的概念人工神经网络(ArtificialNeuralNetworks,ANNs),是人脑或自然神经网络对信息感知与处理等智能行为的抽象和模拟,是一种分布式并行处理系统,它具有自组织、自学习、自适应和非线性动态处理的特性。可以实现人脑的概括、类比和推广能力,因而可以从大量数据中提取所需要的信息,通过联想记忆和推理等能力来获取所需要的数据。目前,已经开发和应用的神经网络有30多种,比较典型的有以下几种[1-2]:感知器(Perceptron),多层感知器(MLP),BP前向网络,Hopfield网络和竞争型(Kohonen)神经网络。可以说人工神经网络就是模拟人思维的第二种方式。1.2人工神经网络的工作原理及特点人工神经网络是由大量的简单基本元件——神经元相互联接而成的自适应非线性动态系统。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。人工神经网络首先要以一定的学习准则进行学习,然后才能工作,它反映了人脑功能的若干基本特性,但并非生物系统的逼真描述,只是某种模仿、简化和抽象。与数字计算机比较,人工神经网络在构成原理和功能特点等方面更加接近人脑,它不是按给定的程序一步一步地执行运算,而是能够自身适应环境、总结规律、完成某种运算、识别或过程控制。人工神经网络吸取了生物神经网络的许多优点,因而有其固有的特点[3]:(1)高度的并行性人工神经网络由许多相同的简单处理单元并列组合而成,虽然每个单元的结构和功能比较简单,但大量简单处理单元的并行行动,使其对信息的处理能力与效果惊人。(2)高度的非线性全局作用当对系统对于设计人员来说,很透彻或者很清楚时,则一般利用数值分析,偏微分方程等数学工具建立精确的数学模型,但当对系统很复杂,或者系统未知,系统信息量很少时,建立精确的数学模型很困难时,神经网络的非线性映射能力则表现出优势,因为它不需要对系统进行透彻的了解,但是同时能达到输入与输出的映射关系,这就大大简化设计的难度。(3)良好的容错性与联想记忆能力人工神经网络通过自身的网络结构能够实现对信息的记忆,所记忆的信息存储在神经元之间的权值中。从单个权值中看不出所存储的信息内容,因而是分布式的存储方式。这使得网络具有良好的容错性,并能进行聚类分析、特征提取、等模式信息处理工作:又宜于做模式分类、模式联想等模式识别工作。(4)十分强的自适应、自学习功能人工神经网络可以通过训练和学习来获得网络的权值和结构,呈现出很强的自学习能力和对环境的自适应能力。1.3人工神经网络的国内外研究现状及趋势神经网络的硬件实现可追溯到60年代,当时有几家公司和研究机构试图用硬件来实现神经元,最为著名的便是感知机和ADALINE神经网络模型的实现。当时CornellAeronautical实验室(现在名为CALSPANCorporation)的Rosenblatt从理论上和实现上描述了感知机。ADALINE神经网络模型则是由斯坦福人学的Widrow提出的。感知机和ADALINE均为单个神经元模型,它们均能接受多路输入,并能自适应地修改与这些输入相对应的突触强度(互连权值),然而它们在实现上有所不同。在感知机中,其突触强度通过一种电子机械的方法来改变(通过一个电动马达的转动来改变突触强度),这种实现有许多缺点,如体积大,价格高,运行不可靠等。Widrow的ADALINE实现中则用电阻的方法来表示突触强度。1965年至1980年,除AdaptronicsCorp(现为DivisionofFlowGeneralCrop)之外,其它一些研究实体在神经网络实现上没有做更多的工作。Adaptronics的LouisGilstrap和RogerBarron在1974年开发了第一块神经元芯片。1982年美国的物理学家Hopfield发表论文,提出神经网络的一种数学模型,即Hopfield神经网络模型,并研究了它的动力学性质。两年以后,他设计出了电子线路模拟这种网络的性质,认为这种网络可以解决数学上著名的TSP问题(TravelingSalesmanProblem)。次年,美国加州理工学院和贝尔实验室合作研制成256个神经元(在四分之一平方英寸芯片上,由2.5*10^4个晶体管和1.0*10^5个电阻集成)和64个可编程神经元。神经网络实现的另一种方法是在传统计算机上通过编写支持软件来模拟神经网络计算。这种软件模拟神经计算机很有代表性的是:1983年RobertHechtNielsen和ToddGutschow在TRW的AI中心所推出的MarkI及改进MarkII;1986年Zipser和Rabin所推出的P3系统:1987年Rochester大学推出的RCS;1988年Maryland大学的MIRRORS系统;国防科技大学于1990年推出的性能可与上述系统媲美的GKD-NNSS软件模拟神经计算机。为了解决软件模拟神经计算机处理速度慢的问题,可以在通用机上插入神经网络加速板,形成神经计算机工作站。1985年TRW公司推出了MarkIII神经计算机,MarkIII包含有8个处理板,可以并行操作,每个处理板可以仿真1064个虚拟的神经元。随后TRW公司在1985年至1986年又开发出了MarkIV神经计算机。在研制神经网络加速板的基础上,为更好地支持神经计算,一种更好的实现方法便是构成神经网络专用并行处理阵列机。这些系统的处理速度和神经网络加速板相比,有明显提高。在进行神经网络的研究中,要使神经网络在实际中能进行有效的应用,或是支持更好的神经网络研究,神经网络实现技术必须能够支持大规模的神经网络模型的神经计算,同时要能尽可能地缩短神经计算的时间,达到实时的水平。但是现有的各种神经网络软件模拟环境所能支持模拟神经网络模型的规模及神经计算速度都还远远达不到研究和应用所需要的水平。因此,开展大规模的硬件实现的神经网络计算机的研制势在必行。1.4人工神经网络的基本学习算法1.4.1有教师学习(监督学习)1.4.2无教师学习(无监督学习)1.4.3强化学习(再励学习)神经网络(学习系统)误差分析误差信号et期望输出P输入a期望输出神经网络(学习系统)P输入a期望输出神经网络(学习系统)外部环境评价信息P输入a期望输出1.5人工神经网络的应用领域随着人工神经网络技术的发展,其用途日益广泛,应用领域也在不断拓展,已在各个工程领域得到广泛的应用。总而言之,人工神经网络技术可用于如下信息处理工作:函数逼近,感知觉模拟,多目标跟踪,联想记忆及数据恢复等。具体而言,其主要用于解算以下几类问题[4]:(1)模式信息处理和模式识别人工神经网络特别适宜解算这类问题,形成了新的模式信息处理技术。这方面的主要应用有:图形、符号、手写体、及语音识别等目标识别,药物构效关系等化学模式信息辨识等。(2)最优化问题计算人工神经网络大部分模型是非线性动态系统,若将所计算问题的目标函数与网络某种能量函数对应起来,网络动态向能量函数极小值方向移动的过程可视作优化问题的解算过程。网络的动态过程就是优化问题计算过程,稳态点则是优化问题的局部或全局最优动态过程解。(3)信息的智能化处理神经网络技术能对不完整信息进行补全,根据已学会的知识和处理问题的经验对复杂问题作出合理的判断决策,给出较满意的解答,或对未来过程作出有效的预测和估计。(4)复杂控制神经网络在诸如机器人运动控制等复杂控制问题方面有独到之处。它更适宜于组成快速实时自适应控制系统。2BP神经网络模型概述2.1BP神经网络的概念BP神经网络是一种基于误差反向传播(Backpropagation)算法的多层前馈网络(Multiple-layerfeedforwardnetwork),是一种非线性系统辨识工具,其结构简单,可操作性强,能模拟任意的非线性输入输出关系,目前在故障诊断和预测上运用比较广泛。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer)。它由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。BP神经网络是目前应用较为广泛的一种神经网络,其理论发展也相当成熟,且现有的数学软件MATLAB已经开发BP神经网络的工具箱[5]。构造一个BP神经元网络需要确定其处理单元——神经元的特性和网络的拓扑结构。神经元是网络的最基本的组成部分,一般来说,一个有R个输入的神经的神经元模型如图2.1所示。其中p为输入向量,W为权向量,b为阈值,f为传递函数,a为神经元的输出。所有的输入P通过一个权重w进行加权求和后加上阈值b再经传递函数f的作用后即为该神经元的输出。传递函数可以是任何可微的函数,BP神经网络常用的函数有Sigmoid型和线性型。神经网络的拓扑结构是指神经元之间的互连结构,图2.2是一个三层的网络结构。BP神经网络由输入层、输出层以及一个或多个隐含节点互连而成的一种多层网,这种结构使多层前馈网络可在输入和输出间建立合适的线性和非线性关系。∑∑∑b1b2bsn1n2nsa1a2as………p2p1p3pR…W1,1Ws,R输入层隐含层输出层图2.1神经元模型图2.2三层BP神经网络2.2BP神经网络的应用BP网络主要应用在[6]:(1)函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数;(2)模式识别和分类:用一个特定的输出矢量将它与输入矢量联系起来;把输入矢量以所定义的合适方式进行分类;(3)数据压缩:减少输出矢量维数以便于传输或存储;(4)具有将强泛化性能:使网络平滑地学习函数,使网络能够合理地响应被训练以外的输入泛化性能只对被训练的输入/输出对最大值范围内的数据有效,即网络具有内插值特性,不具有外插值性。超出最大训练值的输入必将产生大的输出误差。2.3BP神经网络的算法及其改进算法BP算法最初是由P.Werbos于1974年开发出的一种反向传播迭代梯度算法,用于求解前馈型网络的实际输出与期望输出之间的最小均方差值。在1986年,以E.Rumelhart和R.J.Williams等人为首的研究小组独立地提出了BP的完整学习算法,用于前向神经网络的学习与训练。它具有和MLP相同的网络结构,都是由输入层、隐含层和输出层组成,相邻层之间的各神经元实现连接,即下一层的每一个神经元与上一层的每一个神经元都实现全连接,而每一层的各神经元之间无连接。BP网络采用有教师的学习方式,神经元单元为S型激励函数,连续的∑f…p1p2p3pRW1,1W1,Rbna输入/输出信号,具有逼近任意非线性函数的能力。BP神经网络因其理论成熟,并且方便可行而应用广泛。但在实际应用中BP算法存在以下问题[7-8]:(1)收敛速度慢,若加快收敛速度容易产生振荡;(2)存在局部极小和平台问题;(3)泛化能力差;(4)隐含节点和初始值的选取缺乏理论指导;因此在实际使用时要对BP神经网络进行优化,为此就有了各种改进算法。人们在标准BP算法的基础上进行了许多有益的改进,改进方法主要有两类[9]:一是基于标准梯度下降的改进方法如附加动量的BP算法、自适应学习率调
本文标题:神经网络课程小论文
链接地址:https://www.777doc.com/doc-7416327 .html