1、人工神经网络,ArtificialNeuralNetwork,目录,第1章概述11人工神经网络研究与发展12生物神经元13人工神经网络的构成第2章人工神经网络基本模型21MP模型22感知器模型23自适应线性神经元第3章EBP网络(反向传播算法)31含隐层的前馈网络的学习规则32Sigmoid激发函数下的BP算法33BP网络的训练与测试34BP算法的改进35多层网络BP算法的程序设计多层前向网络BP算法源程序,第4章Hopfield网络模型41离散型Hopfield神经网络42连续型Hopfield神经网络Hopfield网络
3、3CMAC的输出计算84CMAC控制器模型,目录,神经网络研究与发展,40年代初,美国McCulloch和PiMs从信息处理的角度,研究神经细胞行为的数学模型表达提出了二值神经元模型。MP模型的提出开始了对神经网络的研究进程。1949年心理学家Hebb提出著名的Hebb学习规则,即由神经元之间结合强度的改变来实现神经学习的方法。虽然Hebb学习规则在人们研究神经网络的初期就已提出,但是其基本思想至今在神经网络的研究中仍发挥着重要作用。,50年代末期,Rosenblatt提出感知机模型(Perceptron),首先从工程角度出发,研究了用于信息处理的神经网络模型.这是一种学习和自组织的心
4、理学模型,它基本符合神经生理学的原理。感知机虽然比较简单,却已具有神经网络的一些基本性质,如分布式存贮、并行处理、可学习性、连续计算等。这些神经网络的特性与当时流行串行的、离散的、符号处理的电子计算机及其相应的人工智能技术有本质上的不同,由此引起许多研究者的兴趣,在60代掀起了神经网络研究的第一次高潮。但是,当时人们对神经网络研究过于乐观,认为只要将这种神经元互连成一个网络,就可以解决人脑思维的模拟问题,然而,后来的研究结果却又使人们走到另一个极端上。,在60年代末,美国著名人工智能专家Minsky和Papert对Rosenblatt的工作进行了深人研究,出版了有较大影响的(Perceptro
5、n)一书,指出感知机的功能和处理能力的局限性,甚至连XOR(异或)这样的问题也不能解决,同时也指出如果在感知器中引入隐含神经元,增加神经网络的层次,可以提高神经网络的处理能力,但是却无法给出相应的网络学习算法。因此Minsky的结论是悲观的。另一方面,由于60年代以来集成电路和微电子技术日新月异的发展,使得电子计算机的计算速度飞速提高,加上那时以功能模拟为目标、以知识信息处理为基础的知识工程等研究成果,给人工智能从实验室走向实用带来了希望,这些技术进步给人们造成这样的认识:以为串行信息处理及以它为基础的传统人工智能技术的潜力是无穷的,这就暂时掩盖了发展新型计算机和寻找新的人工智能途径的必要性和
7、能技术面临着重重困难。模拟人脑的智能信息处理过程,如果仅靠串行逻辑和符号处理等传统的方法来济决复杂的问题,会产生计算量的组合爆炸。因此,具有并行分布处理模式的神经网络理论又重新受到人们的重视。对神经网络的研究又开始复兴,掀起了第二次研究高潮。,1982年,美国加州理工学院物理学家JJHopfield提出了一种新的神经网络HNN。他引入了“能量函数”的概念,使得网络稳定性研究有了明确的判据。HNN的电子电路物理实现为神经计算机的研究奠定了基础,并将其应用于目前电子计算机尚难解决的计算复杂度为NP完全型的问题,例如著名的“巡回推销员问”(TSP),取得很好的效果。从事并行分布处理研究的学者,于19
8、85年对Hopfield模型引入随机机制,提出了Boltzmann机。1986年Rumelhart等人在多层神经网络模型的基础上,提出了多层神经网络模型的反向传播学习算法(BP算法),解决了多层前向神经网络的学习问题,证明了多层神经网络具有很强的学习能力,它可以完成许多学习任务,解决许多实际问题。,近十几年来,许多具备不同信息处理能力的神经网络已被提出来并应用于许多信息处理领域,如模式识别、自动控制、信号处理、决策辅助、人工智能等方面。神经计算机的研究也为神经网络的理论研究提供了许多有利条件,各种神经网络模拟软件包、神经网络芯片以及电子神经计算机的出现,体现了神经网络领域的各项研究均取得了长足
9、进展。同时,相应的神经网络学术会议和神经网络学术刊物的大量出现,给神经网络的研究者们提供了许多讨论交流的机会。,虽然人们已对神经网络在人工智能领域的研究达成了共识,对其巨大潜力也毋庸置疑,但是须知,人类对自身大脑的研究,尤其是对其中智能信息处理机制的了解,还十分肤浅。因而现有的研究成果仅仅处于起步阶段,还需许多有识之士长期的艰苦努力。概括以上的简要介绍,可以看出,当前又处于神经网络理论的研究高潮,不仅给新一代智能计算机的研究带来巨大影响,而且将推动整个人工智能领域的发展。但另一方面,由于问题本身的复杂性,不论是神经网络原理自身,还是正在努力进行探索和研究的神经计算机,目前,都还处于起步发展阶
10、段。为了了解ANN,我们首先分析一下现行计算机所存在的问题。尽管冯诺依曼型计算机在当今世界发挥着巨大的作用,但它在智能化信息处理过程中存在着许多局限性。我们简单分析一下冯诺依曼型计算机求解某个问题所采用的方法。,(1)根据该问题的特点,建立合适的数学模型。(2)根据所建立的数学模型的原始数据资料,生成适合于输入计算机的程序和数据。(3)计算机的控制器命令输入器将计算步骤的初始数据记录到存贮器中。(4)控制器根据计算步骤的顺序,依次按存贮器地址读出第一个计算步骤,然后根据读出步骤的规定,控制运算器对相应数据执行规定的运算操作。(5)反馈器从反馈信号中得知运算器操作完毕,把所得的中间结
11、果记录到存贮器某个确定位置存贮好。(6)反馈信号通知控制器再取第二个计算步骡,然后重复上述的执行过程。一直到整个运算完成后,控制器就命令输出器把存贮器中存放的最终结果用打印、显示或绘图等方式输出。,将以上整个计算过程概括起来,可以看出现行冯诺依曼计算机有以下三个主要特点:(1)它必须不折不如地按照人们已经编制好的程序步骤来进行相应的数值计算或逻辑运算,它没有主动学习的能力和自适应能力,因此它是被动的。(2)所有的程序指令都要调入CPU一条接一条地顺序执行。因此它的处理信息方式是集中的、串行的。(3)存贮器的位置(即地址)和其中历存贮的具体内容无关。因此,在调用操作的指令或数据时,总是先
13、而对一些低层次的模式处理则至今还有许多困难。,正是由于认识到传统的冯诺依曼计算机在智能信息处理中的这种难以逾越的局限性使得人们考虑到有必要进一步了解分析人脑神经系统信息处理和存贮的机理特征以便寻求一条新的人工神经网络智能信息处理途径。人工神经网络研究是采用自下而上的方法,从脑的神经系统结构出发来研究脑的功能,研究大量简单的神经元的集团信息处理能力及其动态行为。目前,神经网络的研究使得对多年来困扰计算机科学和符号处理的一些难题可以得到比较令人满意的解答,特别是对那些时空信息存贮及并行搜索、自组织联想记亿、时空数据统计描述的自组织以及从一些相互关联的活动中自动获取知识等一般性问题的求解,更显示
15、自己的分界线或原生质膜。,生物神经元之间的相互连接从而让信息传递的部位披称为突触(Synapse)。突触按其传递信息的不同机制,可分为化学突触和电突触、其中化学突触占大多数,其神经冲动传递借助于化学递质的作用。生物神经元的结构大致描述如下图所示。,神经元由细胞体和延伸部分组成。延伸部分按功能分有两类,一种称为树突,占延伸部分的大多数,用来接受来自其他神经元的信息;另一种用来传递和输出信息,称为轴突。神经元对信息的接受和传递都是通过突触来进行的。单个神经元可以从别的细胞接受多达上千个的突触输入。这些输入可达到神经元的树突、胞体和轴突等不同部位,但其分布各不相同对神经元的影响也不同。人类大脑皮质
16、的全部表面积约有20104mm2,平均厚度约25mm,皮质的体积则约为50104mm3。如果皮质中突触的平均密度是6l09mm3左右,则可认为皮质中的全部突触数为31015个。如果再按上述人脑所含的全部神经元数目计算,则每个神经元平均的突触数目可能就有1530万个左右。,神经元之间的联系主要依赖其突触的联接作用。这种突触的联接是可塑的,也就是说突触特性的变化是受到外界信息的影响或自身生长过程的影响。生理学的研究归纳有以下几个方面的变化:(1)突触传递效率的变化。首先是突触的膨胀以及由此产生的突触后膜表面积扩大,从而突触所释放出的传递物质增多,使得突触的传递效率提高。其次是突触传递物质质
17、量的变化,包括比例成分的变化所引起传递效率的变化。(2)突触接触间隙的变化。在突触表面有许多形状各异的小凸芽,调节其形状变化可以改变接触间隙,并影响传递效率。(3)突触的发芽。当某些神经纤维被破坏后,可能又会长出新芽,并重新产生附着于神经元上的突触形成新的回路。由于新的回路的形成,使得结合模式发生变化,也会引起传递效率的变化。(4)突触数目的增减。由于种种复杂环境条件的刺激等原因,或者由于动物本身的生长或衰老,神经系统的突触数目会发生变化,并影响神经元之间的传递效率。,神经元对信息的接受和传递都是通过突触来进行的。单个神经元可以从别的细胞接受多个输入。由于输入分布于不同的部位,对神经元影
19、机体对环境作出适当的反应。,以上是从宏观上分析了人脑信息处理特点。从信息系统研究的观点出发,对于人脑这个智能信息处理系统,有如下一些固有特征:(1)并行分布处理的工作模式。实际上大脑中单个神经元的信息处理速度是很慢的,每次约1毫秒(ms),比通常的电子门电路要慢几个数量级。每个神经元的处理功能也很有限,估计不会比计算机的一条指令更复杂。但是人脑对某一复杂过程的处理和反应却很快,一般只需几百毫秒。例如要判定人眼看到的两个图形是否一样,实际上约需400ms,而在这个处理过程中,与脑神经系统的一些主要功能,如视觉、记亿、推理等有关。按照上述神经元的处理速度,如果采用串行工作模式,就必须在几百
21、的神经细胞之间的突触结合强度会增强。这种可塑性反映出大脑功能既有先天的制约因素,也有可能通过后天的训练和学习而得到加强。神经网络的学习机制就是基于这种可塑性现象,并通过修正突触的结合强度来实现的。(3)信息处理与信息存贮合二为一。大脑中的信息处理与信息存贮是有机结合在一起的,而不像现行计算机那样存贮地址和存贮内容是彼此分开的。由于大脑神经元兼有信息处理和存贮功能,所以在进行回亿时,不但不存在先找存贮地址而后再调出所存内容的问题,而且还可以由一部分内容恢复全部内容。(4)信息处理的系统性大脑是一个复杂的大规模信息处理系统,单个的元件“神经元”不能体现全体宏观系统的功能。实际上,可以将大脑
22、的各个部位看成是一个大系统中的许多子系统。各个子系统之间具有很强的相互联系,一些子系统可以调节另一些子系统的行为。例如,视觉系统和运动系统就存在很强的系统联系,可以相互协调各种信息处理功能。(5)能接受和处理模糊的、模拟的、随机的信息。(6)求满意解而不是精确解。,人类处理日常行为时,往往都不是一定要按最优或最精确的方式去求解,而是以能解决问题为原则,即求得满意解就行了。(7)系统的恰当退化和冗余备份(鲁棒性和容错性)。,人工神经网络研究与应用的主要内容人工种经网络的研究方兴末艾,很难准确地预测其发展方向。但就目前来看,人工神经网络的研究首先须解决全局稳定性、结构稳定性、可编程性等问题
23、。现今的研究工作应包含以下的一些基本内容:(1)人工神经网络模型的研究。神经网络原型研究,即大脑神经网络的生理结构、思维机制。神经元的生物特性如时空特性、不应期、电化学性质等的人工模拟易于实现的神经网络计算模型。利用物理学的方法进行单元间相互作用理论的研究如:联想记忆模型。神经网络的学习算法与学习系统。,(2)神经网络基本理论研究。神经网络的非线性特性,包括自组织、自适应等作用。神经网络的基本性能,包括稳定性、收敛性、容错性、鲁棒性、动力学复杂性。神经网络的计算能力与信息存贮容量。开展认知科学的研究。探索包括感知、思考、记忆和语言等的脑信息处理模型。采用诸如连接机制等方法
25、和硬件实现。在通用计算机、专用计算机或者并行计算机上进行软件模拟,或由专用数字信号处理芯片构成神经网络仿真器。由模拟集成电路、数字集成电路或者光器件在硬件上实现神经芯片。软件模拟的优点是网络的规模可以较大,适合于用来验证新的模型和复杂的网络特性。硬件实现的优点是处理速度快,但由于受器件物理因素的限制,根据目前的工艺条件,网络规模不可能做得太大。仅几千个神经元。但代表了未来的发展方向,因此特别受到人们的重视。,(5)神经网络计算机的实现。计算机仿真系统。专用神经网络并行计算机系统。数字、模拟、数模混合、光电互连等。光学实现。生物实现。关于智能本质的研究是自然科学和哲学的重大课题
26、之一,对于智能的模拟和机器再现肯定可以开发拓展出一代新兴产业。由于智能本质的复杂性,现代智能研究已超越传统的学科界限,成为脑生理学、神经科学、心理学、认知科学、信息科学、计算机科学、微电子学,乃至数理科学共同关心的“焦点”学科。人工神经网络的重大研究进展有可能使包括信息科学在内的其他学科产生重大突破和变革。展望人工神经网络的成功应用,人类智能有可能产生一次新的飞跃。,人工神经网络的信息处理能力,人工神经网络的信息处理能力人工神经网络的信息处理能力包括两方面的内容:一、神经网络信息存贮能力即要解决这样的一个问题:在一个有N个神经元的神经网络中,可存贮多少值的信息二、神经网络的计算能力。需
27、要解决的问题是:神经网络能够有效地计算哪些问题在众多的文献中,人们都一致认为:存贮能力和计算能力是现代计算机科学中的两个基本问题,同样,它们也构成了人工神经网络研究中的基本问题。,前面提到在传统的冯诺依曼型计算机中,其计算与存贮是完全独立的两个部分。这两个独立部分存贮器与运算器之间的通道,就成为提高计算机计算能力的瓶颈,并且只要这两个部分是独立存在的,这个问题就始终存在。对不同的计算机而言,只是这一问题的严重程度不同而已。神经网络模型从本质上解决了传统计算机的这个问题。它将信息的存贮与信息的处理完善地结合在一起。这是因为神经网络的运行是从输入到输出的值传递过程,在信息传递的同时也就完成了信息
28、的存贮与计算。,(1)神经网络的存贮能力。神经网络的存贮能力因不同的网络而不相同。这里我们给出Hopfield的一些结论。定义:一个存贮器的信息表达能力定义为其可分辨的信息类型的对数值。在一个M1的随机存贮器RAM中,有M位地址,一位数据,它可存贮2M位信息这个RAM中,可以读写长度为2M的信息串,而M长度为2M的信息串有22种,所以,可以分辨上述这么多种信息串。按上面的定义,M1的RAM的存贮能力为:C2M(位)。,定理1.1N个神经元的神经网络的信息表达能力上限为:C(位)。,定理12N个神经元的神经网络的信息表达能力下限为:C(位)。其中N2指小于或等
30、此来响应输入的数据基记录。脑中盒模型(BSB)有能力进行这种计算。形成拓扑连续及统计意义上的同构映射:它是对固定概率密度函数选择的适应输入数据的一种自组织映射,其最终使得数据空间上的不同项有某种同构。SOM模型适合计算此类问题。,最近相邻模式分类:通过比较大量的存贮数据来进行模式分类,但首先应通过学习样本模式进行分类。可用层次性的存贮模式来进行分类信息的表示。绝大多数的神经网络模型均能进行这种计算。如自适应共振理论模型(ART)、双向联想记亿模型(BAM)、BP模型、玻尔兹曼机模型(BM)、BSB模型、CPN模型、Hopfield模型等等。数据聚类:采用自组织的方法形成所选择的“颗粒”或
31、模式的聚类,以此来响应输人数据。聚类是可变的但要限制其鞍点的个数。对于任何新的目标,只要系统中没有对其提供聚类,都要形成新的聚类。很显然这种能力可直接应用于复杂的多目标跟踪。ART模型最适合于这种计算。最优化问题:用来求解局部甚至是全局最优解。Hopfield模型、玻尔兹曼机模型(BM)有能力进行这种计算。,自从80年代中期人工神经网络复苏以来,其发展速度及应用规模令人惊叹。技术发达国家和集团推行了一系列有关的重要研究计划、投资总额在数亿美元,出现了一批神经网络企业和在众多领域中的应用产品。有关神经网络的大型国际会议已召开了许多次,我国也召开了三次。在前几年的热浪过去之后,当前对于神经网络
32、的研究正在转入稳定、但发展步伐依然是极其迅速的时期。这一时期的研究和发展有以下几个特点:,(1)神经网络研究工作者对于研究对象的性能和潜力有了更充分的认识从而对研究和应用的领域有了更恰当的理解。在头脑冷静下来之后,可以看到,尽管神经网络所能做的事情比当初一些狂热鼓吹者所设想的要少,但肯定比那些悲观论者要多得多。现在普遍认识到神经网络比较适用于特征提取、模式分类、联想记忆、低层次感知、自适应控制等场合,在这些方面,严格的解析方法会遇到很大困难。当前对神经网络的研究目标,就是从理论上和实践上探讨一种规模上可控的系统,它的复杂程度虽然远比不上大脑,但又具有类似大脑的某些性质,这种性质如果用常规手段则
33、难以实现。可以说,国际上关于人工神经网络研究的主要领域不是对神经网络建模的基础研究,而是一个工程或应用领域,即它从对脑的神经模型研究中受到启发和鼓舞,但试图解决的却是工程问题。虽然对脑工作机理的理解十分重要,但这种理解是一个相当长期的过程。而对于神经网络的应用需求则是大量的和迫切的。,(2)神经网络的研究,不仅其本身正在向综合性发展,而且愈来愈与其他领域密切结合起来,发展出性能更强的结构。为了更好地把现有各种神经网络模型的特点综合起来,增强网络解决问题的能力,80年代末和90年代初出现了混合网络系统,如把多层感知器与自组织特征级联起来,在模式识别中可以取得比单一网络更好的结果。1991年美国w
34、ardSystemGroup公司推出的软件产品Neurowindows(Brain1)是这方面的典型代表。它可以产生128个交互作用的神经网络,每个网可是自组织网也可是多层感知器网,最多可达32层,每层可达32个节点,且可以与其他8层相联。据称这是近年来神经网络发展方面的一个跃进。它在微软公司的VB上运行,被认为是近些年来最重要的软件进展和最高水平的智能工具。,神经网络与传统人工智能方法相结合是近年来发展员快的一个方面。虽然在人工神经网络复苏之初有人喊过“人工智能已死,神经网络万岁”,虽然在传统的人工智能领域工作的许多人对于神经网络的发展抱有怀疑或否定态度但这几年的发展日益证明,把这两者
35、结合起来是一条最佳途径。采用综合方法可以取长补短,更好地发挥各自的特点。比如,神经网络的节点和连接可明确地与规定的目标和关系联系在一起,可把特定的推理规则作为目标节点之间的规定联接,节点数可以由所描写的规则所决定,可对节点的权及阈值加以选择以便描写所需的逻辑关系,利用组合规则解释节点的激活从而解释网络的行为,并按神经网络方式设计专家系统。最近所出现的把神经网络与人工智能系统结合起来的方式大体可分为两类,一类是把人工智能系统作为神经网络的前端,一类是把神经网络作为人工智能系统的前端。在前一类中,人工智能系统可以与使用者交互作用(如向使用者提出问题,了解使用者的需求),然后利用知识与神经网络准备数
36、据。这方面的第一个商用系统是美国杜邦公司的LAM系统。它把人工智能系统、神经网络和文本检索系统结合起来,供建筑师、玻璃切割与装配工程师使用,使得对建筑物玻璃结构的设计、选配和施工更简单、灵活、省时,适应性更强。目前正在建筑行业大力推广。也可以利用人工智能系统作为信息流的控制器,利用教师机制和基于规则的指南,帮助使用者从大量选择项中选择正确的神经网络来解决某一专门问题。这种系统已在化工领域中得到应用,帮助用户由所需化合物的性质来确定化学公式,或由公式产生出相应的物理特性,或由性质产生出相应的化合物等等。,神经网络理论研究重大成果,1.Hornik等人证明了:仅有一个非线性隐层的前馈网络就能以任意
37、精度逼近任意复杂度的函数。2.神经网络训练后,所表达的函数是“可以”求出的。3.神经网络的几何意义。4.神经网络集成。5.自主的神经网络。,第2章人工神经网络基本模型,一、MP模型MP模型属于一种阈值元件模型,它是由美国McCulloch和Pitts提出的最早神经元模型之一。MP模型是大多数神经网络模型的基础。,标准MP模型,wij代表神经元i与神经元j之间的连接强度(模拟生物神经元之间突触连接强度),称之为连接权;ui代表神经元i的活跃值,即神经元状态;vj代表神经元j的输出,即是神经元i的一个输入;i代表神经元i的阈值。函数f表达了神经元的输入输出特性。在MP模
38、型中,f定义为阶跃函数:,如果把阈值i看作为一个特殊的权值,则可改写为:其中,w0i-i,v01为用连续型的函数表达神经元的非线性变换能力,常采用s型函数:该函数的图像如下图所示,MP模型在发表时并没有给出一个学习算法来调整神经元之间的连接权。但是,我们可以根据需要,采用一些常见的算法来调整神经元连接权,以达到学习目的。下面介绍的Hebb学习规则就是一个常见学习算法。Hebb学习规则神经网络具有学习功能。对于人工神经网络而言,这种学习归结为神经元连接权的变化。调整wij的原则为:若第i和第j个神经元同时处于兴奋状态,则它们之间的连接应当加强,即:wijuivj这一规则与“条件反射
40、间连接权的变化。感知器的连接权定义为可变的,这样感知器就被赋予了学习的特性。利用简单感知器可以实现逻辑代数中的一些运算。Y=f(w1x1+w2x2-)(1)“与”运算。当取w1w21,1.5时,上式完成逻辑“与”的运算。,(2)“或”运算,当取wlw21,0.5时,上式完成逻辑“或”的运算。(3)“非”运算,当取wl=-1,w20,-1时完成逻辑“非”的运算。,与许多代数方程一样,上式中不等式具有一定的几何意义。对于一个两输入的简单感知器,每个输入取值为0和1,如上面结出的逻辑运算,所有输入样本有四个,记为(x1,x2):(0,0),(0,1),(1,0),(1,1),构成了样本输入空间。例如,在二维平面上,对于“或”运算,各个样本的分布如下图所示。直线1*x1+1*x2-050将二维平面分为两部分,上部为激发区(y,=1,用表示),下部为抑制区(y0,用表示)。,简单感知器引入的学习算法称之为误差学习算法。该算法是神经网络学习中的一个重要算法,并已被广泛应用。现介绍如下:误差型学习规则:(1)选择一组初始权值wi(0)。(2)计算某一输入模式对应的实际输出