1第3讲人工神经网络文志强计算机与通信学院2主要内容人工神经网络的发展神经元与网络结构感知器(Perceptron)反向传播网络(BP)应用实例33.1人工神经网络的发展1.1940以前代表人物有vonHemholtz,Mach,Pavlov等学习、训练的一般理论没有具体神经元的数学模型2.20世纪40年代代表人物有McCullochandPitts,Hebb等生物神经元的学习机制神经网络可以计算任何算术函数4当其处于兴奋状态时,输出侧的轴突就会发出脉冲信号,每个神经元的树状突起与来自其它神经元轴突的互相结合部(称为突触)接收由轴突传来的信号。如果神经元所接收到的信号的总和超过了它本身的“阈值”,则该神经元就会处于兴奋状态,并向它后续连接的神经元发出脉冲信号。1943年,W.S.McCulloch提出神经元模型,称为MP模型:当神经元处于兴奋状态时,其输出为1;处于非兴奋状态时,输出为0。1949年,赫伯(HebbDonala)提出了神经元的学习法Hebb法则(目前仍在使用)。53.20世纪50年代代表人物有Rosenblatt,WidrowandHoff等快速实用的神经网络和学习规则50年代末,F.Rosenblatt提出感知机模型。1962年Block用解析法证明了感知机的学习收敛定理,引发了60年代以感知机为代表的第一次神经网络研究发展的高潮。4.20世纪60年代代表人物有MinskeyandPapert说明了神经网络的局限性,新的学习算法很少提出,有些研究被取消。在Minskey关于感知机的悲观研究结果发表后,特别是在美国,神经网络信息处理的研究被蒙上了阴影,大多数人都转向符号推理人工智能技术的研究。65.20世纪70年代代表人物有Amari,Anderson,Fukushima,Grossberg,Kohonen经过一段时间的沉寂后,研究继续进行1972年,芬兰的T.Kohonen提出了一个与感知机等神经网络不同的自组织映射理论(SOM)。1975年,福岛提出了一个自组织识别神经网络模型。1976年C.V.Malsburgetal发表了“地形图”的自形成模型。76.20世纪80年代20世纪80年代:Grossberg,Hopfield,Kohonen,Rumelhart随着PC机和工作站计算能力的急剧增强神经网络得到广泛应用新的概念不断引入克服了摆在神经网络研究面前的障碍人们对神经网络的研究热情空前高涨1982年,Hopfield提出了所谓Hopfield神经网络模型。以Rumelhart为首的PDP(ParallelDistributedProcessing)并行分布处理研究集团对联结机制(connectionist)进行了研究。1986年由Rumelhart和Hinton提出误差反向传播神经网络BP8关于神经网络的主要国际性杂志有:(1)NeuralNetworks(国际神经网络协会会刊)(2)IEEETransactionsonNeuralNetworks(3)IEEETransactionsonParallelDistributedSystem(4)ConnectionsScience(5)Neurocomputing(6)NeuralComputation(7)InternationalJournalofNeuralSystems关于神经网络的国际交流第一届神经网络国际会议于1987年6月21至24日在美国加州圣地亚哥召开,标志着神经网络研究在世界范围内已形成了新的热点。1988年,我国在北京召开了神经网络的国际研究工作会议,并出版了论文集。1989年10月在北京又召开了神经网络及其应用讨论会。1990年12月在北京召开了我国首届神经网络学术大会,并决定以后每年召开一次年会。1991年冬在南京召开的第二届中国神经网络学术大会上,宣布成立中国神经网络学会。深圳桑拿Szsn2233.com9神经元是大脑处理信息的基本单元,它的结构如图所示。它是以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞,其形状很像一棵枯树的枝干。它主要由细胞体、树突、轴突和突触(Synapse,又称神经键)组成。3.2神经元与网络结构人脑大约由1012个神经元组成,而其中的每个神经元又与约102~104个其他神经元相连接,如此构成一个庞大而复杂的神经元网络。输入处理输出10神经网络是一个并行和分布式的信息处理网络结构,一般由许多个神经元组成。x1x2xnw1w2wnyyy····················生物神经网络的模型化——人工神经网络11神经元结构xi(i=1,2,…,n)为输入端(突触)上的输入信号;ωi为相应的突触连接权系数,它是模拟突触传递强度的一个比例系数,∑表示突触后信号的空间累加;θ表示神经元的阈值,σ表示神经元的响应函数。该模型的数学表达式为:12如果:x1=1x2=2神经元计算:s=1×(-1)+2×0-0.1=-1.1计算最后输出:y=0(s=-1.10)0.1x1x2-10ys13响应函数阈值单元线性单元非线性单元S型(Sigmoid)函数响应函数的基本作用:①控制输入对输出的激活作用;②对输入、输出进行函数转换;③将可能无限域的输入变换成指定的有限范围内的输出。根据响应函数的不同,人工神经元有以下几种类型:141.前向网络•网络的结构如左图所示,网络中的神经元是分层排列的,每个神经元只与前一层的神经元相连接。最上一层为输出层,隐含层的层数可以是一层或多层。前向网络在神经网络中应用很广泛。•例如,感知器就属于这种类型。人工神经网络的构成152.从输出到输入有反馈的前向网络•网络的结构如左图所示。网络的本身是前向型的,与前一种不同的是从输出到输入有反馈回路。•例如,Fukushima网络就属于这种类型。163.层内互连前向网络可以实现同一层神经元之间横向抑制或兴奋的机制,从而限制层内能同时动作的神经数可把层内神经元分为若干组,让每组作为一个整体来动作。一些自组织竞争型神经网络就属于这种类型。174.互连网络互连网络有局部互连和全互连两种。全互连网络中的每个神经元都与其他神经元相连。局部互连是指互连只是局部的,有些神经元之间没有连接关系。Hopfield网络和Boltzmann机属于互连网络的类型。18人工神经网络的学习学习方法就是网络连接权的调整方法。人工神经网络连接权的确定通常有两种方法:根据具体要求:直接计算出来,如Hopfield网络做优化计算;通过学习得到的,大多数人工神经网络都用这种方法。学习方法是多种多样的。一些基本的、通用的学习规则:19一些基本的、通用的学习规则1.Hebb学习规则是DonallHebb根据生理学中条件反射机理,于1949年提出的神经元连接强度变化的规则。2.学习规则用已知样本作为教师对网络进行学习,又称误差校正规则。3.相近学习规则203.3感知器(Perceptron)感知器是由美国计算机科学家罗森布拉特(F.Roseblatt)于1957年提出的。感知器可谓是最早的人工神经网络。单层感知器是一个具有一层神经元、采用阈值激活函数的前向网络。通过对网络权值的训练,可以使感知器对一组输入矢量的响应达到元素为0或1的目标输出。21如果:x1=1x2=2神经元计算:s=1×(-1)+2×0-0.1=-1.1计算最后输出:y=0(s=-1.10)0.1x1x2-10ys22其中,每一个输入分量pj(j=1,2…,r)通过一个权值分量wj,进行加权求和,并作为阈值函数的输入。偏差b的加入使得网络多了一个可调参数,为使网络输出达到期望的目标矢量提供了方便。感知器特别适合解决简单的模式分类问题。F.Roseblatt已经证明,如果两类模式是线性可分的(指存在一个超平面将它们分开),则算法一定收敛。23感知器的网络结构感知器的网络是由单层的s个感知神经元,通过一组权值{ωij}(i=1,2…s;j=l,2…r)与r个输入相连组成。对于具有输入矢量Pr和目标矢量Ts的感知器网络的简化结构,如图所示。感知器简化结构图1p2prp11wsrw1b2bsb1a2asa1n2nsn..................11124人工神经网络的构成根据网络结构,可以写出第i个输出神经元(i=1,2,…,s)的加权输入和ni及其输出ai为:感知器的输出值是通过测试加权输入和值落在阈值函数的左右来进行分类的,即有:25感知器的图形解释为了简单起见,以下取s=1,即输出为一个节点的网络情况来进行作图解释。以输入矢量r=2为例,对于选定的权值w1、w2和b,可以在以p1和p2分别作为横、纵坐标的输入平面内画出W*P+b=w1p1+w2p2+b=0的轨迹,它是一条直线直线上的及其线以上部分的所有p1、p2值均使w1p1+w2p2+b≥0,这些点若通过由w1、w2和b构成的感知器则使其输出为1;该直线以下部分的点则使感知器的输出为0。26感知器学习规则对于输入矢量P,输出矢量A,目标矢量为T的感知器网络,感知器的学习规则是根据以下输出矢量可能出现的几种情况来进行参数调整的。①如果第i个神经元的输出是正确的,即有:ai=ti,那么与第i个神经元联接的权值wij和偏差值bi保持不变;②如果第i个神经元的输出是0,但期望输出为1,即有ai=0,而ti=1,此时权值修正算法为:新的权值wij为旧的权值wij加上输入矢量pj;类似的,新的偏差bi为旧偏差bi加上1;③如果第i个神经元的输出为1,但期望输出为0,即有ai=1,而ti=0,此时权值修正算法为:新的权值wij等于旧的权值wij减去输入矢量pj;类似的,新的偏差bi为旧偏差bi减去1。27感知器学习规则感知器学习规则的实质为:权值的变化量等于正负输入矢量。具体算法总结如下。对于所有的i和j,i=l,2,…,s;j=1,2,…,r,感知器修正权值公式为:用矢量矩阵来表示为:此处,E为误差矢量,有E=T-A。感知器的学习规则属于梯度下降法,该法则已被证明:如果解存在,则算法在有限次的循环迭代后可以收敛到正确的目标矢量。(3.1)28网络的训练人工神经网络权值通过网络的自身训练来完成的。在输入矢量P的作用下,计算网络的实际输出A,并与相应的目标矢量T进行比较,检查A是否等于T,然后用比较后的误差量,根据学习规则进行权值和偏差的调整;重新计算网络在新权值作用下的输入,重复权值调整过程,直到网络的输出A等于目标矢量T或训练次数达到事先设置的最大值时训练结束。注意:若网络训练成功,那么训练后的网络在网络权值的作用下,对于被训练的每一组输入矢量都能够产生一组对应的期望输出;若在设置的最大训练次数内,网络未能够完成在给定的输入矢量P的作用下,使A=T的目标,则可以通过改用新的初始权值与偏差,并采用更长训练次数进行训练。29感知器设计训练的步骤1)对于所要解决的问题,确定输入矢量P,目标矢量T,并由此确定各矢量的维数以及确定网络结构大小的神经元数目:r,s和q;2)参数初始化:a)赋给权矢量w在(-l,1)的随机非零初始值;b)给出最大训练循环次数max_epoch;3)网络表达式:根据输入矢量P以及最新权矢量W,计算网络输出矢量A;4)检查:检查输出矢量A与目标矢量T是否相同,如果是,或已达最大循环次数训练结束,否则转入5);5)学习:根据(3.1)式感知器的学习规则调整权矢量,并返回3)。30感知器神经网络应用的局限性感知器的输出只能取0或1。单层感知器只能对线性可分的向量集合进行分类。31感知器神经网络设计实例下面给出例题来进一步了解感知器解决问题的方式,掌握设计训练感知器的过程。[例]考虑一个简单的分类问题。设计一个感知器,将二维的四组输入矢量分成两类。输入矢量为:P=[-0.5-0.50.30;-0.50.5-0.51];目标矢量为:T=[1.0l.000]32方程求解通过前面对感知器图解的分析可知,感知器对输