1、Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,人工神经网络,十二月,目 录,2,一、,人工神经网络的 基本概念,3,一、,人工神经网络的 基本概念,人工神经网络(Artificial Neural Network,即ANN)可以概括的定义为:,由大量具有适应性的处理元素(神经元)构成的广泛并行互联网络,它的组织可以模拟生物神经系统对真实世界物体所作出的交互反应,是模拟人工智能的一条重要途径。人工神经网络与人
2、脑相似性重要表目前:,神经网络获取的知识是从外界环境学习得来的;,各神经元的连接权,即突触权值,用于储存获取的知识。,神经元是神经网络的基本处理单元,它是神经网络的设计基础。神经元是以生物的神经系统的神经细胞为基础的生物模型。在人们对生物神经系统进行研究,以探讨人工智能的机制时,把神经元数学化,从而产生了神经元数学模型。因此,要理解人工神经模型就必须先理解生物神经元模型。,4,1.1,人工神经网络发展简史,最早的研究可以追溯到20世纪40年代。1943年,心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型。这一模型一般被简称M-P神经网络模型,至今仍在应用,可以说,人工
3、神经网络的研究时代,就由此开始了。,1949年,心理学家Hebb提出神经系统的学习规则,为神经网络的学习算法奠定了基础。目前,这个规则被称为Hebb规则,许多人工神经网络的学习还遵照这一规则。,1957年,F.Rosenblatt提出“感知器”(Perceptron)模型,第一次把神经网络的研究从纯理论的探讨付诸工程实践,掀起了人工神经网络研究的第一次高潮。,5,1.1,人工神经网络发展简史,20世纪60年代后来,数字计算机的发展到达全盛时期,人们误认为数字计算机可以处理人工智能、专家系统、模式识别问题,而放松了对“感知器”的研究。于是,从20世纪60年代末期起,人工神经网络的研究进入了低潮。
4、,1982年,美国加州工学院物理学家Hopfield提出了离散的神经网络模型,标志着神经网络的研究又进入了一种新高潮。1984年,Hopfield又提出持续神经网络模型,开拓了计算机应用神经网络的新途径。,1986年,Rumelhart和Meclelland提出多层网络的误差反传(back propagation)学习算法,简称BP算法。BP算法是目前最为重要、应用最广的人工神经网络算法之一。,6,1.2生物神经元构造,生物神经元构造,(1)细胞体:细胞核、细胞质和细胞膜。,(2)树突:胞体短而多分枝的突起。相称于神经元的输入端。,(3)轴突:胞体上最长枝的突起,也称神经纤维。端部有诸多神经末
5、稍传出神经冲动。,7,1.2生物神经元构造,(4)突触:神经元间的连接接口,每个神经元约有1万10万个突触。神经元通过其轴突的神经末稍,经突触与另一神经元的树突联接,实现信息的传递。由于突触的信息传递特性是可变的,形成了神经元间联接的柔性,称为构造的可塑性。,突触构造示意图,1.3,生物神经元的信息处理机理,神经元的兴奋与克制,当传入神经元冲动,经整和使细胞膜电位升高,超过动作电位的阈值时,为兴奋状态,产生神经冲动,由轴突经神经末稍传出。当传入神经元的冲动,经整和,使细胞膜电位减少,低于阈值时,为克制状态,不产生神经冲动。,9,延时性传递,生物神经元的特点,单向性传递,阈值特性,生物神经元的特
6、点:,1.4,生物神经元的特点,1.5,人工神经元模型,神经元模型,从神经元的特性和功能可以懂得,神经元相称于一种多输入单输出的信息处理单元,并且,它对信息的处理是非线性的,人工神经元的模型如图所示:,神经元的,n,个输入,对应的连接权值,net=,阈值,输出,激活函数,11,上面的神经元模型可以用一种数学体现式进行抽象与概括,从而得到神经元的数学模型:,1.5,人工神经元模型,神经元的网络输入记为,net,,即,net=,12,有时为了以便起见,常把-也当作是恒等于1的输入X0 的权值,这时上面的数学模型可以写成:,1.5,人工神经元模型,其中,,W,0,=-,;,x,0,=1,13,神经元
7、的模型具有如下特点:,神经元是一种多输入、单输出单元。,它具有非线性的输入、输出特性。,它具有可塑性,反应在新突触的产生和既有的神经突触的调整上,其塑性变化的部分重要是权值w的变化,这相称于生物神经元的突出部分的变化,对于激发状态,w取正直,对于克制状态,w取负值。,神经元的输出和响应是个输入值的综合作用的成果。,兴奋和克制状态,当细胞膜电位升高超过阈值时,细胞进入兴奋状态,产生神经冲动;当膜电位低于阈值时,细胞进入克制状态。,1.5,人工神经元模型,14,1.6,激活函数,神经元的描述有多种,其区别在于采用了不一样的激活函数,不一样的激活函数决定神经元的不一样输出特性,常用的激活函数有如下几
8、种类型:,15,1.阈值型激活函数,阈值型激活函数是最简朴的,前面提到的M-P模型就属于这一类。其输出状态取二值(1、0或+1、-1),分别代表神经元的兴奋和克制。,1.6,激活函数,当,f,(,x,)取,0,或,1,时,,16,当,f,(,x,)取,1,或,-1,时,,f,(,x,)为下图所示的,sgn,(符号)函数,sgn,(,x,),=,1.6,激活函数,17,1.6,激活函数,2.S型激活函数,神经元的状态与输入级之间的关系是在(0,1)内持续取值的单调可微函数,称为S型函数。,双极性,S,型函数:,单极性,S,型函数:,18,3.,分段线性激活函数,分段线性激活函数的定义为:,1.6
9、,激活函数,19,4.,概率型激活函数,概率型激活函数的神经元模型输入和输出的关系是不确定的,需要一种随机函数来描述输出状态为,1,或为,0,的概率,设神经元输出(状态)为,1,的概率为:,1.6,激活函数,(其中,,T,为温度函数),20,激活函数的基本作用表目前:,1.6,激活函数,控制输入对输出 的激活作用,将也许无限域的输入变换成指定的有限范围内的输出,对输入、输出进行函数转换,21,神经网络是由许多神经元互相在一起所构成的神经构造。把神经元之间互相作用关系进行数学模型化就可以得到人工神经网络模型。,神经元和神经网络的关系是元素与整体的关系。,人工神经网络中的神经元常称为节点或处理单元
10、,每个节点均具有相似的构造,其动作在时间和空间上均同步。,1.7,人工神经网络模型,人工神经网络模型,22,人工神经网络的基本属性,1.7,人工神经网络模型,23,神经网络模型,神经元的连接方式不一样,网络的拓扑构造也不一样,人工神经网络的拓扑构造是决定人工神经网络特性的第二要素,根据神经元之间连接的拓扑构造不一样,可将人工神经网络提成两类,即分层网络和互相连接型网络。,1.7,人工神经网络模型,24,分层网络,分层网络将一种神经网络中的所有神经元按功能分为若干层,一般有输入层、中间层(隐藏层)和输出层。,分层网络按照信息的传递方向可分为前向式网络(如图a)和反馈网络(如图b、c)。,1.7,
11、人工神经网络模型,25,互相连接型网络,互相连接型网络是指网络中任意单元之间都是可以互相双向连接的。,1.7,人工神经网络模型,上述的分类措施是对目前常见的神经网络构造的概括和抽象,实际应用的神经网络也许同步兼有其中的一种或几种形式。,26,二、人工神经网络的 学习措施,27,2.1,学习机理,学习机理,人工神经网络信息处理可以用数学过程来阐明,这个过程可以分为两个阶段:执行阶段和学习阶段。,学习是智能的基本特性之一,人工神经网络最具有吸引力的特点是它能从环境中学习的能力,并通过变化权值到达预期的目的。神经网络通过施加于它的权值和阈值调整的交互过程来学习它的环境,人工神经网络具有近似于与人类的
12、学习能力,是其关键的方面之一。,28,2.2学习措施,学习措施,按照广泛采用的分类措施,可以将神经网络的学习措施归为三类:,无导师学习,灌输式学习,有导师学习,29,2.2学习措施,有导师学习,有导师学习又称为有监督学习,在学习时需要给出导师信号或称为期望输出。神经网络对外部环境是未知的,但可以将导师看做对外部环境的理解,由输入-输出样本集合来表达。导师信号或期望响应代表了神经网络执行状况的最佳效果,即对于网络输入调整权值,使得网络输出迫近导师信号或期望输出。,30,2.2学习措施,无导师学习,无导师学习也称无监督学习。在学习过程中,需要不停地给网络提供动态输入信息(学习样本),而不提供理想的
13、输出,网络根据特有的学习规则,在输入信息流中发现任何也许存在的模式和规律,同步能根据网络的功能和输入调整权值。,灌输式学习,灌输式学习是指将网络设计成记忆尤其的例子,后来当给定有关该例子的输入信息时,例子便被回忆起来。灌输式学习中网络的权值不是通过训练逐渐形成的,而是通过某种设计措施得到的。权值一旦设计好,即一次性“灌输给神经网络不再变动,因此网络对权值的”“学习”是“死记硬背”式的,而不是训练式的。,31,2.3,学习规则,学习规则,在神经网络的学习中,各神经元的连接权值需按一定的规则调整,这种权值调整规则称为学习规则。下面简介几种常见的学习规则。,2.3,学习规则,1.Hebb学习规则,当
14、神经元i与神经元j同步处在兴奋状态时,在神经网络中体现为连接权增长。根据该假设定义权值调整的措施,称为Hebb学习规则。Hebb学习规则的数学描述:,假设oi(n)和oj(n)是神经元i和j在时刻n的状态反应,Wij(n)表达时刻n时,连接神经元i和神经元j的权值,Wij(n)表达从时刻n届时刻n+1时连接神经元i和神经元j权值的变化量,则,其中,是正常数,它决定了在学习过程中从一种环节到另一种环节的学习速率,称为学习效率,33,2.3,学习规则,2.Delta()学习规则,Delta学习规则是最常用的学习规则,其要点是通过变化神经元之间的连接权来减小系统实际输出与理想输出的误差。假设n时刻输
15、出误差准则函数如下:,其中,Ok=f(netk)为实际输出;yk代表理想输出;W是网络的所有权值构成权矩阵W=(wij);K为输出个数。,使用梯度下降法调整权值W,使误差准则函数最小,得到W的修正Delta规则为:,注:Delta学习规则只合用于线性可分函数,无法用于多层网络,34,2.3,学习规则,3.LMS,学习规则,LMS,学习规则又称为最小均方差规则,其学习规则为:,注:LMS学习规则可以当作是Delta学习规则的一种特殊状况。,该学习规则具有学习速度快和精度高的特点,权值可以初始化为任何值。,35,2.3,学习规则,4.胜者为王学习规则,胜者为王(Winner-Take-All)学习
16、规则是一种竞争学习规则,用于无导师学习。一般将网络的某一层确定为竞争层,对于一种特定的输入X,竞争层的K个神经元均有输出响应,其中响应值最大的神经元j*为竞争中获胜的神经元,即,只有获胜的神经元才有权调整其权向量,W,j,,调整量为:,其中,,为学习参数(,0,1,),36,2.3,学习规则,5.Kohonen学习规则,该规则只用于无导师指导下训练的网络。在学习过程中,处理单元竞争学习时,具有高输出的单元为胜利者,它有能力制止它的竞争者并激活相邻的单元,只有胜利者才能有输出,也只有胜利者与其相邻单元可以调整权重。,在训练周期内,相邻单元的规模是可变的。一般的措施是从定义较大的相邻单元开始,在训
17、练过程中不停减少相邻的范围。胜利单元可定义为与输入模式最为靠近的单元。Kohonen网络可以模拟输入的分派,37,2.3,学习规则,5.概率式学习,从记录学、分子热力学和概率论中有关系统稳态能量的原则出发,进行神经网络学习的方式称为概率是学习。神经网络处在某一状态的概率重要取决于在此状态下的能量,能量越低,概率越大。概率式学习的经典代表是玻尔兹曼(Boltzmann)机学习规则。这是基于模拟退火的记录优化算法。,38,三,、前向式神经网络与算法,39,3.1,感知器及算法,感知器,感知器是具有单层计算单元的神经网络,由线性元件和阈值元件构成。感知器的构造如下图所示,其中X=(x1,x2,xn)
18、为n个输入,有m个输出,即O=(o1,o2,.,om),W=(wij)nm为连接权矩阵。,(w,ij,),nm,为连接权矩阵,感知器构造,3.1,感知器及算法,感知器的数学模型,其中,,j,是阈值;,w,j0,=-,j,;,x,0,=1,;,f,(,.,)是跃阶函数,即,注:可以看出,单输出感知器模型就是人工神经单元,3.1,感知器及算法,感知器学习是有导师学习。感知器的训练算法来源于Hebb学习规则,其基本思想是:逐渐地将样本集中的样本输入到网络中,根据输出成果和理想输出之间的差异来调整网络中的权矩阵。,设网络的输入向量为X=(x1,x2,xn),W=(wji)为网络的连接权矩阵,网络的训练
19、样本集为(X,Y)丨X为输入向量,Y为X对应的输出,下面简介多输出感知器学习算法,3.1,感知器及算法,多输出感知器学习算法环节如下:,Step1 设置连接权W的初值。对权系数W=(wji)的各个元素置一种较小的随机值。,Step2 输入样本X=(x1,x2,xn),以及它的期望输出 Y=(y1,y2,yn)。,Step3 计算感知器的实际输出值,Step4,根据实际输出求误差,3.1,感知器及算法,Step5,用误差,e,j,去调整权值,其中,Wji(n)是第n次调整连接权值;称为学习效率,且01,用于调整权值的调整速度。一般,的取值不能太大,假如的取值太大,则会影响Wji(n)的稳定,的取
20、值太小则会使Wji(n)得收敛速度太慢。当实际输出和期望值y相似时,有 Wji(n+1)=Wji(n)。,Step6,转到,step2,,一直执行到一切样本均稳定为止。,3.1,感知器及算法,注1:上述算法波及循环控制问题,常用的措施有:,(1)循环次数控制法。对样本集进执行规定次数的迭代。,(2)分阶段迭代次数控制法。设定一种基本的迭代次数N,每当训练完毕N次迭代后,就给出一种中间成果。,(3)精度控制法。给定一种精度控制参数,精度度量可选择:,实际输出向量与理想输出向量的对应分量的差的绝对值之和;,实际输出向量与理想输出向量的欧氏距离之和;,“死循环”:网络无法表达样本所代表的问题。,(4
21、)综合控制法。将上述三种措施结合起来使用。,45,3.1,感知器及算法,注2:由于感知器的激活函数采用的是阈值函数,输出矢量只能取0或1,因此只能用它来处理简朴的分类问题,它不是对所有的问题都合用。,注3:当输入矢量中有一种数比其他数都大或小诸多时,也许导致收敛速度较慢。,46,3.2 BP,神经网络算法,BP,神经网络,BP,神经网络(,Back Propagation Neural Network,),即误差后向传播神经网络,是一种按误差逆向传播算法训练的多层前馈网络,是目前应用最广泛的网络模型之一。,BP网络能学习和储存大量输入-输出模式的映射关系,而无需事前揭示描述这种映射关系的数学方
22、程。它的学习规则是使用最速下降法,通过后向传播来不停调整网络权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑构造中出了有输入层、输出层外,还至少有一层隐藏层,每一层的神经元输出均传送到下一层,而每层内神经元之间无连接。,47,3.2 BP,神经网络算法,BP神经元的构造模型与感知器模型类似,如下图:,注:与感知器模型不一样的是,BP网络的激活函数f()规定是可微的,因此不能用二值函数,常用S型的对数、正切函数或线性函数。,48,3.2 BP,神经网络算法,BP,算法,BP,算法由数据流的正向传播和误差信号的反向传播两个过程构成。,1,)正向传播,设,BP,网络的输入层有,n,个节点,隐
23、藏层有,q,个节点,输出层有,m,个节点,输入层与隐藏层之间的权值为,v,ki,,隐藏层与输出层的权值为,w,jk,,隐藏层的激活函数为,f,1,(,),输出层的激活函数为,f,2,(,),则隐藏层节点的输出为,49,3.2 BP,神经网络算法,输出层节点的输出为:,至此,BP网络完毕了n维空间向量对m维空间的近似映射。,3.2 BP,神经网络算法,2,)反向传播,BP,算法的实质是求取误差函数的最小值问题,这种算法采用的是非线性规划中的最速下降法,按误差函数的负梯度方向修改权值。,设训练样本总数为P,用X1,X2,.,Xp来表达。第P个样本输入所得到实际输出和理想输出分别记为,采用理想输出和
24、实际输出值差的平方和为误差函数,于是得到第P个样本的误差:,51,3.2 BP,神经网络算法,则,P,个样本的总误差为:,网络误差是各层权值的函数,按照最速下降法,可得,输出层各神经元的权值和第,n,次输出层权值的迭代公式分别为:,52,3.2 BP,神经网络算法,隐藏层各神经元的权值和第,n,次隐藏层权值的迭代公式分别为:,求解的过程,53,3.2 BP,神经网络算法,BP网络学习算法的详细环节如下:,Step1 从训练样本集中取某同样本,把它的输入信息输入到网络中。,Step2 由网络正向计算出各层节点的输出。,Step3 计算网络的实际输出和期望输出的误差。,Step4 从输出层开始反向
25、计算到第一种隐藏层,按一定的原则向减少误差方向调整整个网络的各个连接权值。,Step5 对训练样本集中的每一种样本反复上述环节,直到对整个网络训练样本集的误差到达规定为止。,54,3.2 BP,神经网络算法,设三层,BP,网络,则其算法可描述为:,A 初始化连接权值vki 和wjk;,B 初始化精度控制系数;,C E=+1;,E while E do,E.1 E=0,E.2 对S中的每一种样本(Xp,Yp),E.2.1 计算出Xp,对应的实际输出op;,E.2.2 计算出Ep;,E.2.3 E=E+Ep;,E.2.4 根据 调整输出层的权值wjk(n);,E.2.4 根据 调整输出层的权值vk
26、i(n);,E.3 E=E/2.0,55,3.2 BP,神经网络算法,BP网络的长处:,1)非线性映射能力:BP神经网络实质上实现了一种从输入到输出的映射功能,数学理论证明三层的神经网络就可以以任意精度迫近任何非线性持续函数。,2)自学习和自适应能力:BP神经网络在训练时,可以通过学习自动提取输出、输出数据间的“合理规则”,并自适应的将学习内容记忆于网络的权值中。,3)泛化能力:所谓泛化能力是指在设计模式分类器时,即要考虑网络在保证对所需分类对象进行对的分类,还要关怀网络在通过训练后,能否对未见过的模式或有噪声污染的模式,进行对的的分类。,4)容错能力:BP神经网络在其局部的或者部分的神经元受
27、到破坏后对全局的训练成果不会导致很大的影响,也就是说虽然系统在受到局部损伤时还是可以正常工作的。,56,3.2 BP,神经网络算法,BP网络的缺陷:,1)局部极小化问题:BP神经网络为一种局部搜索的优化措施,它要处理的是一种复杂非线性化问题,这样会使算法陷入局部极值,权值收敛到局部极小点,2)BP神经网络算法的收敛速度慢:由于BP神经网络算法本质上为梯度下降法,它所要优化的目的函数是非常复杂的,这使得BP算法低效;,3)BP神经网络构造选择不一:BP神经网络构造的选择至今尚无一种统一而完整的理论指导,一般只能由经验选定。,4)BP神经网络样本依赖性问题:网络模型的迫近和推广能力与学习样本的经典
28、性亲密有关,而从问题中选用经典样本实例构成训练集是一种很困难的问题。,57,四、,BP,神经网络的应用举例,(matlab,实现,),58,四、,神经网络的应用,(matlab,实现,),例一:,输入向量,P=0 1 2 3 4 5 6 7 8 9 10;,期望输出,T=0 1 2 3 4 3 2 1 2 3 4;,创立两层的BP网络,net=newff,(,0 10,5,1,tansig,purelin,);,Y=sim(net,P);,plot(P,T,P,Y,o),输出成果为:,Y=-2.3431 -2.7532 -2.4510 -1.2784 -0.8590 -0.2981,0.249
29、5 0.4811 1.0375 1.2268 1.4232,59,四、,神经网络的应用,(matlab,实现,),误差很大!未训练,非线性映射能力差。,60,四、,神经网络的应用,(matlab,实现,),P=0 1 2 3 4 5 6 7 8 9 10;,T=0 1 2 3 4 3 2 1 2 3 4;,net=newff(0 10,5 1,tansig purelin);,net.trainparam.show=50;%每次循环50次,net.trainParam.epochs=500;%最大循环500次,net.trainparam.goal=0.01;%期望目的误差最小值,net=tr
30、ain(net,P,T);%对网络进行反复训练,Y=sim(net,P),plot(P,T,P,Y,o),修改程序:,61,四、,神经网络的应用,(matlab,实现,),输出成果为:,Y=0.0005 1.0026 1.9947 3.0134 3.9429,3.1211 1.8482 1.1755 1.8568 3.1150 3.9595,62,四、,神经网络的应用,(matlab,实现,),例二:,下表为某药物的销售状况,现构建一种如下的三层BP神经网络对药物的销售进行预测:输入层有三个结点,隐含层结点数为5,隐含层的激活函数为tansig;输出层结点数为1个,输出层的激活函数为logsi
31、g,并运用此网络对药物的销售量进行预测,预测措施采用滚动预测方式,即用前三个月的销售量来预测第四个月的销售量,如用1、2、3月的销售量为输入预测第4个月的销售量,用2、3、4月的销售量为输入预测第5个月的销售量.如此反复直至满足预测精度规定为止。,月份,1,2,3,4,5,6,销量,2056,2395,2600,2298,1634,1600,月份,7,8,9,10,11,12,销量,1873,1478,1900,1500,2046,1556,63,四、,神经网络的应用,(matlab,实现,),P=0.51520.8173 1.0000;,0.81731.0000 0.7308;,1.0000
32、0.7308 0.1390;,0.73080.1390 0.1087;,0.13900.1087 0.3520;,0.10870.3520 0.0000;,T=0.7308 0.1390 0.1087 0.3520 0.0000 0.3761;%以第四个月的销售量归一化处理后作为目的向量,net=newff(0 1;0 1;0 1,5,1,tansig,logsig,traingd);,net.trainParam.epochs=15000;,net.trainParam.goal=0.01;,net=train(net,P,T);,Y=sim(net,P),plot(P,T,P,Y,o),%,以每三个月的销售量经归一化处理后作为输入,P,max,=2600,P,min,=1478,P=(P,0,-P,min,)/(P,max,-P,min,),64,四、,神经网络的应用,(matlab,实现,),65,四、,神经网络的应用,(matlab,实现,),66,Thank you!,