人工神经网络算法_第1页
人工神经网络算法_第2页
人工神经网络算法_第3页
人工神经网络算法_第4页
人工神经网络算法_第5页
已阅读5页,还剩270页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章人工神经网络6.1概述6.1.1什么是人工神经网络所谓人工神经网络就是基于模仿生物大脑的结构和功能而构成的一种信息处理系统(计算机)。人是地球上具有最高智慧的动物,而人的指挥均来自大脑,人类靠大脑进行思考、联想、记忆和推理判断等,这些功能是任何被称为“电脑”的一般计算机所无法取代的。长期以来,许多科学家一直致力于人脑内部结构和功能的探讨和研究,并试图建立模仿人类大脑的计算机,虽然到目前对大脑的内部工作机理还不甚完全清楚,但对其结构已有所了解。6.1概述6.1.1什么是人工神经网络粗略地讲,大脑是由大量神经细胞或神经元组成的。每个神经元可看作是一个小的处理单元,这些神经元按某种方式连接起来,形成大脑内部的生理神经元网络。这种神经元网络中各神经元之间联结的强弱,按外部的激励信号做自适应变化,而每个神经元又随着所接收到的多个接收信号的综合大小而呈现兴奋或抑制状态。现已明确大脑的学习过程就是神经元之间连接强度随外部激励信息做自适应变化的过程,而大脑处理信息的结果则由神经元的状态表现出来。6.1概述6.1.1什么是人工神经网络由于我们建立的信息处理系统实际上是模仿生理神经网络,因此称它为人工神经网络。需要指出,尽管人工神经网络是对大脑结构的模仿,但这种模仿目前还处于极低的水平。按美国神经网络学者Nielsen的定义人工神经网络是一个并行、分布处理结构,它由处理单元及其称为联接的无向讯号通道互连而成。这些处理单元具有局部内存,可以完成局部操作,即它必须仅仅依赖于经过输入联接到达处理单元的所有输入信号的当前值和存储在处理单元局部内存中的值。每个处理单元有一个单一的输出联接,输出信号可以是任何需要的数学模型。6.1概述6.1.1什么是人工神经网络人工神经网络与一般计算机的区别在一般的计算机中,通常有一个中央处理器,它可访问其存储器。该处理器可取一条指令和该指令所需的数据,并执行该指令,最后将计算结果存入指定的存储单元中。任何动作都按照确定的操作程序,以串行方式执行。6.1概述6.1.1什么是人工神经网络人工神经网络与一般计算机的区别在人工神经网络中,操作既不是串行的,也不是预先确定的,它根本没有确定的存储器,而是由许多互连的简单处理单元组成。每个处理单元的处理功能只是求其所有输入信号的加权和,当该和值超过某一阈值时,输出呈现兴奋状态(高电平),否则低于阈值时呈现抑制状态(低电平)。人工神经网络并不执行指令序列,它对并行加载的输入信号也按并行方式来处理和响应,结果也不存储在特定的存储单元中。当它达到某种平衡状态后,网络的整个状态就是所求的结果。目前还没有用硬件真正实现的并行处理的人工神经网络,对它的实现还是基于一般计算机的软件模拟,这显然并没有真正发挥出人工神经网络并行快速的特点。6.1概述6.1.1什么是人工神经网络人工神经网络的两种操作过程训练学习训练时,把要教给神经网络的信息(外部输入)作为网络的输入和要求的输出,使网络按某种规则(称为训练算法)调节各处理单元间的连接权值,直至加上给定输入,网络就能产生给定输出为止。这时,各连接权已调接好,网络的训练就完成了。正常操作(回忆操作)对训练好的网络输入一个信号,它就可以正确回忆出相应输出,得到识别结果。6.1概述6.1.1什么是人工神经网络文本(英文)朗读机实例输入装置是一个阅读窗口,当它沿文本的一行移动时,每次前移一个字母,但每个瞬间输入七个相邻的字母(包括空格和句号)信息。由于英文字母的发音与其前后字母有关,所以训练人工神经网络时,只要求每次七个字母的中间字母发音(靠人工神经网络的输出相应状态驱动一个语音综合发生器)。训练时,将一篇有1024个字的文本一行一行通过阅读窗口,并要求对应每个字母时人工神经网络的输出结点能输出相应音素的状态值。6.1概述6.1.1什么是人工神经网络文本(英文)朗读机实例这样通过十遍阅读(训练),可以达到输出可理解的语音。通过50遍阅读(训练),可以达到95%的精确度。训练过程中听上去像小孩学说话一样,由不清楚到清楚。训练完成后,再阅读从未见过的课文,朗读精度仍可达78%,完全可以听懂。6.1概述6.1.1什么是人工神经网络人脸识别实例用10个人的照片,每个人都在不同的角度照5张照片,共有50张照片的输入信息。对人工神经网络进行训练,每个照片信息作为输入时,代表10个人的10个结点中相应的一个结点输出最大,每个人的5张照片都对应着同一个结点的最大输出。经过训练后,再对原来的10个人中的一个从不同角度拍照(尺寸不变),进行识别,结果是他本人对应的结点的输出比其它9个结点的输出都高得多。6.1概述6.1.1什么是人工神经网络总结和讨论传统计算机采用的是串行处理方式,限制了大量信息的快速传输和处理,即使用了多个处理器并行工作,还是会把许多时间浪费在完成串行操作上,而且问题的并行化分解和并行程序的编写也是一个难题。虽然至今开发出的超型计算机,其速度和容量都大得惊人,但仍不能很好地完成诸如小孩可以做到的事情,如认识面孔、学习说话、识别图像等。尽管人工神经网络还是生物大脑的极低水平的模仿,但在图像识别、语音识别、记忆、预测以及优化等方面表现出了良好的智能特性和应用前景,可以完成传统计算机不易实现的智能性工作。6.1概述6.1.2人工神经网络的发展初始(萌发)期——MP模型的提出和人工神经网络的兴起1943年,美国神经生理学家WarrenMcculloch和数学家WalterPitts合写了一篇关于神经元如何工作的开拓性文章:“ALogicalCalculusofIdeasImmanentinNervousActivity”。该文指出,脑细胞的活动像断/通开关,这些细胞可以按各种方式相互结合,进行各种逻辑运算。按此想法,他们用电路构成了简单的神经网络模型,并预言大脑的所有活动最终将被解释清楚。虽然问题并非如此简单,但它给人们一个信念,即大脑的活动是靠脑细胞的组合连接实现的。当时,不少研究人员转向解剖学和生理学去寻找建立智能机的思路。6.1概述6.1.2人工神经网络的发展初始期——MP模型的提出和人工神经网络的兴起1949年,心理学家DonalaHebb写了一本书:“TheOrganizationofBehavior”。在该书中,他强调了心理学和生理学间的联系和沟通,指出脑细胞间的思路每当通过参与某种活动时将被加强,这就是后来的Hebb学习规则。目前有些神经网络模型仍然采用这种学习规则。6.1概述6.1.2人工神经网络的发展初始期——MP模型的提出和人工神经网络的兴起到了二十世纪50年代,随着计算机的发展和软硬件的进步,有些神经系统功能的理论开始在计算机上进行模拟,拓宽了研究的路子。IBM的研究室在Hebb工作的基础上,对神经网络的模型进行了软件模拟,虽然开始时失败了,但在使得模型像人那样适应环境的实验上取得了一定程度的成功。在此情况下,人们开始酝酿人工智能的项目。6.1概述6.1.2人工神经网络的发展初始期——MP模型的提出和人工神经网络的兴起1956年,一个人工智能研究项目(DartmouthSummer)给人工智能领域,同时也给神经计算领域以巨大推动。人们提出两条研究思路采用高级人工智能方法,试图建立描述智能机功能的计算机程序;根据低水平的大脑处理方式构成结构模型,以实现智能化。这宣告了人工神经网络的诞生。6.1概述6.1.2人工神经网络的发展第一次高潮期——感知器模型和人工神经网络1957年,计算机专家FrankRosenblatt开始从事感知器的研究,并制成硬件,通常被认为是最早的神经网络模型。1959年,两位电机工程师BernardWidrow和MarcianHaff开发出一种叫作自适应线性单元(ADALINE)的网络模型,并在他们的论文“AdaptiveSwitchingCircuits”中描述了该模型和它的学习算法(Widrow-Haff算法)。该网络通过训练,可以成功用于抵消通信中的回波和噪声,也可用于天气预报,成为第一个用于实际问题的神经网络。6.1概述6.1.2人工神经网络的发展第一次高潮期——感知器模型和人工神经网络1962年,Rosenblatt出版了一本书“ThePrinciplesofNeurodynamics”,详述了他的感知器模型。该感知器具有输入层、输出层和中间层,通过实验可以模仿人的某些特性,并断言它可以学会任何它可以表示的功能。1967年,StephenGrossberg通过对生理学的研究,开发了一种称作Avalanche(雪崩网)的神经网络模型,可以执行连续语音识别和控制机器人手臂的运动。在这一时期,由于感知器的某些进展和对神经网络的宣传,人们乐观地认为几乎已经找到了实现智能的关键,许多部门开始大批地投入此项研究,希望尽快占领制高点,形成了研究人工神经网络的第一次高潮。由于当时对神经网络的乐观情绪的影响,人们夸大了神经网络的潜力(有人甚至担心制造机器人的人类会很快受到机器人的攻击)。6.1概述6.1.2人工神经网络的发展反思期——神经网络的低潮1969年,MarvinMinsky和SeymourPapert合著了一本书“Perception”,分析了当时的简单感知器,指出它有非常严重的局限性,甚至不能解决简单的“异或”问题,为Rosenblatt的感知器判了“死刑”。此时,批评的声音高涨,导致了停止对人工神经网络研究所需的大量投资。不少研究人员把注意力转向了人工智能,导致对人工神经网络的研究陷入低潮。6.1概述6.1.2人工神经网络的发展反思期——神经网络的低潮虽然如此,二十世纪70年代到80年代早期,仍有一些坚信神经网络的人坚持他们的工作,为人工神经网络的复苏做准备。神经生理学家JamesAnderson开发的盒中脑模型(Brain-State-in-a-Box,BSB)。日本学者KunihikFukushima开发的用于视觉图形识别的认知器模型(Neocognitron)。电气工程师TeuvoKohonen开发的与BSB类似的网络模型。Grossberg,Rumelhart,McClelland,Marr,Amari和Cooper等人的工作。6.1概述6.1.2人工神经网络的发展第二次高潮期——Hopfield网络模型的出现和人工神经网络的复苏1982年,JohnHopfield向美国科学院递交了有关神经网络的报告,主要内容就是建议收集和重视以前对神经网络的工作,其中特别强调了每种模型的实用性。根据对神经网络的数学分析和深入理解,Hopfield揭示了以往的网络是如何工作的,可以做些什么,并提出了他自己的模型,能从失真的或不完善的数据图像中获得完整的数据图像,引起了美国军方的兴趣。当时,人工智能对自动制导车的研究失败,而利用神经网络有可能解决这个问题,从而使人们的注意力重新投向人工神经网络,导致了人工神经网络的第二次高潮。6.1概述6.1.2人工神经网络的发展第二次高潮期——Hopfield网络模型的出现和人工神经网络的复苏1984年,Hopfield设计研制了后来被人们称为Hopfield网的电路,较好地解决了TCP问题,找到了最佳解的近似解,引起了较大轰动。1985年,Hinton、Sejnowsky、Rumelhart等研究者在Hopfield网络中引入随机机制,提出了所谓的Bolziman机。1986年,Rumelhart等研究者重新独立地提出多层网络的学习算法—BP算法,较好地解决了多层网络的学习问题。1990年12月,国内首届神经网络大会在北京举行。6.1概述6.1.2人工神经网络的发展再认识与应用研究期二十世纪90年代后,神经网络的研究趋于平缓,主要问题:应用面还不够宽结果不够精确存在可信度的问题6.1概述6.1.2人工神经网络的发展再认识与应用研究期主要研究内容开发现有模型的应用,并在应用中根据实际运行情况对模型、算法加以改造,以提高网络的训练速度和运行的准确度。充分发挥每种技术各自的优势,寻找更有效的解决方法。希望在理论上寻找新的突破,建立新的专用或通用模型和算法。进一步对生物神经系统进行研究,不断丰富对人脑的认识。6.1概述6.1.3人工神经网络的特点固有的并行结构和并行处理人工神经网络与人类的大脑类似,不但结构上是并行的,其处理顺序也是并行的和同时的。在同一层内的处理单元都是同时工作的,即神经网络的计算功能分布在多个处理单元上,而传统的计算机通常只有一个处理单元,其处理顺序是串行的。目前的神经网络功能常常用一般计算机的串行工作方式来模拟,所以显得很慢,真正意义上的神经网络将会大大提高处理速度,实现快速处理。6.1概述6.1.3人工神经网络的特点知识的分布存储在神经网络中,知识不是存储在特定的存储单元,而是分布在整个系统中,要存储多个知识就需要很多连接。在计算机中,只要给定一个地址就可以得到一个或一组数据,在神经网络中,要获得存储的知识则采用“联想”的办法,这类似于人类和动物的记忆。6.1概述6.1.3人工神经网络的特点知识的分布存储当一个神经网络输入一个激励时,它要在已存储的知识中寻找与该输入匹配最好的知识存储为其解。这犹如人们辨认潦草的笔记,这些笔记可以是变形的、失真的和缺损的。人类根据联想善于正确识别图形,人工神经网络也具有这种能力。6.1概述6.1.3人工神经网络的特点知识的分布存储联想记忆的两个主要特点存储大量复杂数据的能力语音的样本、可视图象、机器人的活动、时空图形的状态、社会的情况等;可以很快地将新的输入图像归并分类为已存储图像的某一类一般计算机善于高速串行运算,但不善于实时的图形识别。6.1概述6.1.3人工神经网络的特点容错性人类大脑具有很强的容错能力,这正是由于大脑中知识是存储在很多处理单元和它们的连接上的。每天大脑的一些细胞都可能会自动死亡,但这并没有影响人们的记忆和思考能力。人工神经网络可以从不完善的数据和图形进行学习和做出决定由于知识存在整个系统中,而不是在一个存储单元内,因此一定比例的结点不参与运算,对整个系统的性能不会产生重大影响。神经网络中承受硬件损坏的能力比一般计算机要强得多。6.1概述6.1.3人工神经网络的特点自适应性人类有很强的适应外部的学习能力 小孩在周围环境的熏陶下可以学会很多事情,如通过学习可以认字、说话、走路、思考、判断等。6.1概述6.1.3人工神经网络的特点自适应性人工神经网络也具有学习能力有指导的训练:将输入样本加到网络输入并给出相应的输出,通过多次训练迭代获得连接权值。好像告诉网络:“当你看到这个图形(比如5)时,请给我指示5”。无指导的训练:网络通过训练自行调节连接加权,从而对输入样本分类。在网络训练时,有时只能给出大量的输入图形,没有指定它们的输出,网络就自行按输入图形的特征对它们进行分类。如小孩通过大量观察可以分辨出哪是狗、哪是猫一样。6.1概述6.1.3人工神经网络的特点自适应性人工神经网络也具有学习能力综合推理的能力:网络具有正确响应和分辨从未见过的输入样本的能力。进行数字图形的识别时,对于不完善的数字图形或失真的数字图形仍能正确辨认。6.1概述6.1.3人工神经网络的特点人工神经网络的局限性人工神经网络不适于高精度的计算正像很多人不善于直接计算类似资金的问题一样,人工神经网络不用于计算资金方面的问题。人工神经网络不适于做类似顺序计数的工作。人工神经网络是以并行方式工作的。人工神经网络的学习和训练往往是一个艰难的过程。网络的设计没有严格确定的方法(一般凭经验),所以选择训练方法和所需网络结构没有统一标准。脱机训练往往需要很长时间,为了获得最佳效果,常常要重复试验多次。网络收敛性的问题。6.1概述6.1.3人工神经网络的特点人工神经网络的局限性人工神经网络必须克服时间域顺序处理方面的困难。为了解决语音处理、自然语言理解和图像随时间的变换情况,需要设计适于连续时间环境的网络。硬件限制目前仍是在一般计算机上用模拟的方法研究人工神经网络的并行处理过程,然而模拟不是最终目标。只有真正的并行硬件处理,才能体现出人工神经网络的高速高效特点。目前这种硬件的实现还未很好解决。6.1概述6.1.3人工神经网络的特点人工神经网络的局限性正确的训练数据的收集大量有代表性样本的采集正确的预处理总之,人工神经网络是基于人类大脑的结构和功能建立起来的学科,尽管它只是大脑的低级近似,但它的许多特点和人类的智能特点类似,有着较强的识别能力和广泛的应用前景。6.2人工神经网络基础目前出现的各种各样的人工神经网络模型,尽管在性能和结构上各有特点,但它们存在很多共同之处。本节介绍人工神经网络的基本术语常用表示符号描述人工神经网络的基本数学概念6.2人工神经网络基础6.2.1人工神经网络的生物原型—大脑简单的神经元6.2人工神经网络基础6.2.1人工神经网络的生物原型—大脑简单的神经元神经元就是神经细胞,它是动物的重要特征之一,在人体内从大脑到全身存在大约1010个神经元。神经元的组成细胞体:它是神经元的本体,内有细胞核和细胞质,完成普通细胞的生存功能。树突:它有大量的分枝,多达103数量级,长度较短(通常不超过1毫米),用以接收来自其它神经元的信号。轴突:它用以输出信号,有些较长(可达1米以上),轴突的远端也有分枝,可与多个神经元相连。突触:它是一个神经元与另一个神经元相联系的特殊部位,通常是一个神经元轴突的端部靠化学接触或电接触将信号传递给下一个神经元的树突或细胞体。6.2人工神经网络基础6.2.1人工神经网络的生物原型—大脑神经元间信号的传递神经元间的信号通过突触传递。通过它,一个神经元内传送的冲击信号将在下一个神经元内引起响应,使下一个神经元兴奋,或阻止下一个神经元兴奋。6.2人工神经网络基础6.2.1人工神经网络的生物原型—大脑神经元的基本工作机制一个神经元有两种状态——兴奋和抑制平时处于抑制状态的神经元,当接收到其它神经元经由突触传来的冲击信号时,多个输入在神经元中以代数和的方式叠加。进入突触的信号会被加权,起兴奋作用的信号为正,起抑制作用的信号为负。如果叠加总量超过某个阈值,神经元就会被激发进入兴奋状态,发出输出脉冲,并由轴突的突触传递给其它神经元。神经元被触发后有一个不应期,在此期间内不能被触发,然后阈值逐渐下降,恢复原来状态。6.2人工神经网络基础6.2.1人工神经网络的生物原型—大脑神经元的基本工作机制神经元是按照“全或无”的原则工作的,只有兴奋和抑制两种状态,但也不能认为神经元只能表达或传递二值逻辑信号。神经元兴奋时往往不是只发一个脉冲,而是发出一串脉冲,如果把一串脉冲看成是一个调频信号,脉冲的密度是可以表达连续量的。6.2人工神经网络基础6.2.1人工神经网络的生物原型—大脑大脑及大脑皮层的结构研究证明,大脑中大约有1000个不同的模块,每个模块包含有50*106个神经元。我们可以假设每个模块就是众多神经网络中的一类。大脑的主要计算机构是大脑皮层,在其断面上一般有3~6层神经细胞排列,大约10万个神经元组成一组。在一个典型的脑模型中,大约有500个神经网络进行计算工作,平均一个神经元向其它神经元发出2000个突触。不同层间神经元的连接方式有平行型、发散型、收敛型和反馈型,这些连接的强度是随机的,随着对外部世界的响应而逐渐形成。6.2人工神经网络基础6.2.1人工神经网络的生物原型—大脑总之,大脑中神经网络的结构是极其复杂的,其工作机理仍未完全搞清。认知器模型的发明者KunihikoFukushima描述了建立人工神经网络模型的原则:“我们试图忠实地遵循生理的证据。我们分析或模拟所建模型的性能,并将它与大脑的某种性能进行比较。如果我们发现模型与大脑在性能方面的差异,我们就变化我们的初始假设和修改模型……,并重复这一过程直到模型的性能与大脑的性能具有相同的方式。”6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元(PE)就是人工神经元,也称为结点,通常用圆圈表示。6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元的结构和功能与生物神经元有类似之处,可以说是生物神经元的一阶近似。处理单元只模拟了生物神经元所能执行的150多个处理功能中的若干个。处理单元的功能对每个输入信号进行处理以确定其强度(加权);确定所有输入信号的组合效果(求和);确定其输出(转移特性)。6.2人工神经网络基础6.2.2人工神经网络处理单元对生物神经元的模拟就像生物神经元中有很多输入(激励)一样,处理单元也有很多输入信号,并且同时加到处理单元上,处理单元以输出作为响应。处理单元的输出像实际神经元一样,输出响应不但受输入信号的影响,同时也受内部其它因素的影响。内部因素:内部阈值或一个额外输入(称为偏置项)6.2人工神经网络基础6.2.2人工神经网络处理单元对生物神经元的模拟处理单元的每一个输入都经过相关的加权,以影响输入的激励作用,这有些像生物神经元中突触的可变强度,它确定了输入信号的强度,一般把它看作连接强度的测度。处理单元的初始加权可以根据确定的规则进行调解修正,这也像生物神经元中的突触强度可受外界因素影响一样。6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元的基本结构和功能6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元的基本结构和功能输入信号来自外部(用黑色圆点表示输入端点)或别的处理单元的输出,在数学上表示为行向量x

x=(x1,x2,…,xN)

其中xi为第i个输入的激励电平,N表示输入数目。6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元的基本结构和功能连接到结点j的加权表示为加权向量

Wj=(W1j,W2j,…,WNj)

其中Wij表示从结点i(或第i个输入点)到结点j的加权,或称i与j结点之间的连接强度。6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元的基本结构和功能考虑到内部阈值θj,用x0=-1的固定偏置输入点表示,其连接强度取W0j=θj。于是,可得输入的加权和为6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元的基本结构和功能如果向量x和Wj分别包含了x0和W0j,则有

x=(x0,x1,…,xN) Wj=(W0j,W1j,…,WNj)

6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元的基本结构和功能于是sj可表示为x和Wj的点积或内积

sj=x•Wj这一结果是标量,它由两个向量的内积得到,可以作为两个向量相似程度的测量。如果向量处于相同的方向,则其内积最大;如果向量处于相反的方向,则其内积最小。6.2人工神经网络基础6.2.2人工神经网络处理单元处理单元的基本结构和功能处理单元的激励电平sj通过一个转移函数F(•),得到处理单元的最后输出值yj6.2人工神经网络基础6.2.2人工神经网络处理单元转移函数转移函数F(•)也称激励函数、传输函数或限幅函数,其作用就是将可能的无限域变换到一指定的有限范围内输出,这类似于生物神经元具有的非线性转移特性。常用的转移函数线性函数斜坡函数阶跃函数符号函数Sigmoid函数双曲正切函数6.2人工神经网络基础6.2.2人工神经网络处理单元线性函数6.2人工神经网络基础6.2.2人工神经网络处理单元线性函数最简单的转移函数

y=F(s)=ks

其中y为输出值,s为输入信号的加权和,k是一个常数,表示直线的斜率。6.2人工神经网络基础6.2.2人工神经网络处理单元斜坡函数6.2人工神经网络基础6.2.2人工神经网络处理单元斜坡函数当线性函数值限定在(-rr)的范围内时,线性函数就变为非线性斜坡函数。r和-r分别是处理单元的最大值和最小值,称为饱和值,一般|r|=1。6.2人工神经网络基础6.2.2人工神经网络处理单元阶跃函数6.2人工神经网络基础6.2.2人工神经网络处理单元阶跃函数硬限幅函数的一种6.2人工神经网络基础6.2.2人工神经网络处理单元符号函数(sgn(•))6.2人工神经网络基础6.2.2人工神经网络处理单元符号函数(sgn(•))硬限幅函数的一种6.2人工神经网络基础6.2.2人工神经网络处理单元Sigmoid函数 6.2人工神经网络基础6.2.2人工神经网络处理单元Sigmoid函数S型函数的一种

y=F(s)=1/(1+e-s)6.2人工神经网络基础6.2.2人工神经网络处理单元可以把该型函数看作为处理单元定义了一个非线性增益,增益的大小决定于曲线在给定s点的斜率。当s由负无穷增到0时,增益由0增至最大;当s由0增到正无穷时,增益又由最大返回到0。Grossberg在1973年发现,用该函数可使同一网络既能处理小信号,也能处理大信号。该函数的中间高增益区解决了处理小信号的问题;伸向两边的低增益区正好适合于处理大的激励信号;这种现象正像生物神经元在输入电平范围很大的情况下能正常工作一样。6.2人工神经网络基础6.2.2人工神经网络处理单元双曲正切函数 6.2人工神经网络基础6.2.2人工神经网络处理单元双曲正切函数S型函数的一种

y=tand(s)=(es-e-s)/(es+e-s)相对于Sigmoid函数,它是原点对称的。当s=0时有y=0,即同时具有双级输出。当要求输出(-11)范围的信号时,它常被采用。6.2人工神经网络基础6.2.2人工神经网络处理单元讨论人工神经网络处理单元是生物神经元的简单近似,在模仿生物神经网络时,具备了生物神经元的某些特性。至于模仿效果,还需进一步研究,修改模型。人工神经网络处理单元忽略了生物神经元的很多特征。它没有考虑影响系统动态特性的时间延迟,而认为一个输入立即产生一个输出。它没有包括同步机能和神经元的频率调制功能的影响。其它未知的生物神经元的功能和特性。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构虽然单个处理单元可以处理简单的图形检测功能,但更强的识别处理能力是来自多个结点“连成”的网络,即人工神经网络。这里的“连成”,是靠输入至结点或者结点至结点间的信号传输通路实现的,这一通路相当于生物神经系统中的轴突和突触,它们影响着输入信号。以后我们把这种信号传输通路称为“连接”,每一个连接都具有一个加权值,称为“连接权”,反映连接的强度。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构单层网络最简单的网络是把一组结点形成一层。左边的黑色圆点只起着分配输入信号的作用,没有计算作用,不看作是网络的一层。右边用圆圈表示的一组结点被看作一层。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构单层网络输入信号表示为行向量:x=(x1,x2,…,xN),其中每一分量通过加权连接到各结点。每一个结点均可产生一个加权和。输入和结点间采用全连接,并且都是前馈连接。实际的人工神经网络和生物神经网络中有些连接可能不存在。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构单层网络在这种单层网络中,可把各加权表示为加权矩阵W。矩阵的维数是Nxn,N是输入信号向量(也称输入图形)的分量数,n是该层内的结点数。由第三个输入连接到第二个结点的连接权表示为W32。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构单层网络输入信号的加权和表示为:s是各结点加权和的行向量,s=(s1,s2,…,sn)。输出向量y=(y1,y2,…,yn),其中yj=F(sj)。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构多层网络一般来说,大而复杂的网络能提供更强的计算能力。虽然目前已构成了很多网络模型,但它们的结点都是按层排列的,这一点正是模仿了大脑皮层中的网络模块。多层网络是由单层网络进行级联构成的,即上一层的输出作为下一层的输入。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构多层网络两层网络(前馈全连接网络)6.2人工神经网络基础6.2.3人工神经网络的拓扑结构多层网络三层网络(前馈全连接网络)6.2人工神经网络基础6.2.3人工神经网络的拓扑结构多层网络注意:在构成多层网络时,层间的转移函数应是非线性的,否则多层网络的计算能力并不比单层网络强。在线性转移函数的情况下,两层网络输出的计算是第一层的输出xW1作为第二层的输入,通过第二个加权矩阵得到网络的输出

y=(xW1)W2=x(W1W2)这表明两层线性网络等效于单层网络,只是后者的加权矩阵为两个加权矩阵的乘积。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构多层网络多层网络中,接收输入信号的层称为输入层。它不计入网络层数,因为它只起着输入信号缓冲器的作用,没有处理功能。产生输出信号的层称为输出层。除此之外的中间层称为隐藏层(或隐蔽层),它不直接与外部环境打交道。隐藏层的层数可从零到若干层。实际情况中,层与层之间可能有部分连接的情况。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构回归型网络(反馈网络)一般来说,凡包含反馈连接的网络均称为回归型网络,或称反馈网络。一层反馈网络6.2人工神经网络基础6.2.3人工神经网络的拓扑结构回归型网络(反馈网络)一层反馈网络中,连接均限于一层之内,这种连接称为层内连接或层内横向反馈连接。相对于一层反馈网络的为多层反馈网络,其连接不限于一层之内。6.2人工神经网络基础6.2.3人工神经网络的拓扑结构回归型网络(反馈网络)二层反馈网络6.2人工神经网络基础6.2.3人工神经网络的拓扑结构非回归型网络与回归型网络(反馈网络)的比较非回归型网络不需存储记忆,它的输出只是由当前的输入和加权值确定。而在反馈网络中,要将以前的输出循环返回到输入,所以其输出不但取决于当前的输入,还要取决于以前的输出。反馈网络类似于人类的短期记忆,即网络的输出状态部分取决于以前的输入,是一类广泛应用的网络。6.2人工神经网络基础6.2.4存储和回忆存储就是将信息或图形存在某种存储器中,而回忆则是将已存储的信息按某种方式恢复出来。为了与人类大脑的功能类比,我们把这种信息的恢复称为回忆。6.2人工神经网络基础6.2.4存储和回忆人工神经网络中存储图形的类型在计算机中,数据和信息是存放在存贮器中(RAM或ROM),以8比特字节作为存储单位。在人工神经网络中,信息或图形不再限定为8比特,它是多维的二进制数据或连续信息。6.2人工神经网络基础6.2.4存储和回忆人工神经网络中存储的两类图形空间图形的存储存储单个空间静态图像,如一幅画面。时空图形的存储存储一系列随时间变化的图像,比如电影。我们讨论的人工神经网络存储的图形大多是空间图形,因它是构成时空图形的基础。6.2人工神经网络基础6.2.4存储和回忆人工神经网络中图形的存储人工神经网络中的图形存储器与计算机中存储器的差别在计算机中,一般采用RAM,将数据信息存在确定地址的存储单元内,有了地址就可检索数据。在人工神经网络中,则是用内容寻址存储器和联想存储器来存储图形信息。6.2人工神经网络基础6.2.4存储和回忆人工神经网络中图形的存储内容寻址存储器它是在人工神经网络的训练过程中形成的,相当于通过训练将信息存储在加权矩阵W中。训练一旦完成,数据就相当于变换到加权矩阵的稳定状态中,因此这种存储是长期存储。联想存储器它是在人工神经网络的回忆操作中出现的。当对网络输入激励信号时,作为回忆结果,网络的输出给出一个响应状态。这一响应状态实际上也相当于一个所需的存储数据(响应),因此这种存储为短期存储。6.2人工神经网络基础6.2.4存储和回忆回忆的概念回忆是人类智能的一个主要特征,要想回忆某个人或某件事,通常可通过联想进行。当看到一本书的封面颜色和作者时,会联想到这是一本什么书(书的内容)。当丢失东西时,可以通过联想到过什么地方,做过什么事情,最后回忆起把东西放在什么地方。这两种情况都有一个特点,就是不管是哪本书,还是与东西有关的地点和事情,都是经历过的,相应的记忆才有可能联想出所需的结果。6.2人工神经网络基础6.2.4存储和回忆回忆的概念联想的两种方式自联想:由本身的部分特征联想起整个事物的全部特征。他联想:由一件事情联想到另一件事情。在人工神经网络中,回忆操作也有两种联想变换自联想变换他联想变换6.2人工神经网络基础6.2.4存储和回忆回忆的概念自联想变换要求通过训练已在W中的存储向量图形A1,A2,…,Ap来实现。该变换可由失真或缺损的向量图形Ai’(i=1,2,…,p),联想回忆Ai,即当Ai’

为输入激励时,能得到输出响应Ai。6.2人工神经网络基础6.2.4存储和回忆回忆的概念他联想变换要求通过训练已在W中的存储向量图形对(A1,B1),(A2,B2),…,(Ap,Bp)来实现。对这种网络,联想回忆是从激励A1,A2,…,Ap(可能是失真的或不完善的)获得B1,B2,…,Bp的响应(或相反),即6.2人工神经网络基础6.2.4存储和回忆回忆的概念在他联想变换中,可以定义两种基本的回忆机制最近邻回忆内插回忆6.2人工神经网络基础6.2.4存储和回忆回忆的概念最近邻回忆寻找与外部激励Ai’最佳匹配的(距离最近的)已存储的输入,并按这一输入求得相应的输出,即,其中Ai’与Ai有如下关系: 这里d(•)可指Ai’与Ai间的欧式距离。6.2人工神经网络基础6.2.4存储和回忆回忆的概念内插回忆是在接受一个输入激励时,从已存储的输入图形集中找到一个内插值,并从该输入的内插值得到一个相应的内插输出。假如内插是线性的,则可表示为

其中A’和B’可由图形对(Ai,Bi)和(Ai+1,Bi+1)内插得到,即且。6.2人工神经网络基础6.2.4存储和回忆回忆的概念在人工神经网络中,不管是自联想回忆还是他联想回忆,信息的回忆方式有两种。前馈回忆反馈回忆6.2人工神经网络基础6.2.4存储和回忆回忆的概念前馈回忆输入激励只需通过一次存储矩阵就可产生所需的响应。6.2人工神经网络基础6.2.4存储和回忆回忆的概念反馈回忆输入激励通过存储矩阵W产生响应,该响应作为激励再反馈通过W,这样依次循环,直到激励和响应停止变化为止,即得到所要求的响应。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)人工神经网络的最主要特征之一是它可以学习。任何一个人工神经网络模型要实现某种功能的操作,就必须对它进行训练,让它学会要做的事情,并把这些知识记忆(存储)在网络的加权中。学习或训练的实质就是加权矩阵随外部激励(环境)做自适应的变化。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)因为学习和训练的实质是变动加权值,因此很多文献中学习和训练的概念是混用的。严格来说,两者是有区别的,训练通常是指调整网络加权的操作动作和过程,这个过程对网络来讲就是学习。比如举办一个训练班对学生进行某种技能的训练,对学生来讲,它是在该班内学习。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)人工神经网络被训练后,它每加入一组输入就会产生一组要求的输出。一组输入(或输出)就是所谓的向量或图形。训练就是相继加入输入向量,并按预定规则调整网络加权。在进行训练后,网络的各加权都收敛到一个确定值,以便每个输入向量都会产生一个要求的输出向量。调整加权所遵循的预定规则就是训练算法。有指导的训练无指导的训练6.2人工神经网络基础6.2.5人工神经网络的训练(学习)有指导的训练对有指导的训练算法,不但需要训练用的输入向量,同时还要求与之对应的表示所需要输出的目标向量。输入向量与对应的目标向量一起称作一个训练对。通常训练一个网络需要很多训练对,这些训练对组成训练组。当加上一个输入向量时,要计算网络的实际输出,并同相应的目标向量做比较,根据比较结果的误差,按规定的算法改变加权。把训练组中的每个向量对相继加入,对每个向量都计算误差并调节加权,直到训练组中的误差都达到可接受的最低值为止。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)无指导的训练无指导的训练不要求有目标向量,网络通过自身的“经历”来学会某种功能。人们发现在幼儿的早期发育中,存在有自组织的能力,据此,认为无指导的训练是在生物上更有道理的训练算法。1984年,Kohonen等人提出了无指导的训练算法。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)无指导的训练因为无指导的训练不要求输出的目标向量,因此无需比较产生控制误差。训练组织只是由输入向量组成。训练算法也修改网络的加权,使得产生的输出具有某种可理解的规律性。比如,训练组的某两个向量非常类似时,它们将会产生相同的输出。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)无指导的训练这个训练过程实质上是抽取训练组的某种统计特性,并把输入向量按图形类似程度分为不同的类别。从给定的一类中取一个向量加到网络上,它将产生一个特定的输出。在训练之前,没有办法知道哪种类型的输入向量将产生哪种特定的输出,但通过这种训练,网络的输出总是变换为一个可理解的序列形式。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)训练算法目前应用的训练算法很多,其中有很大部分是早期的Hebb算法的变形。人们仍在以生物学习训练的模式作为目标,继续探索新的算法。可以相信,真正的生物学习训练过程肯定比目前常用的训练算法复杂得多。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)训练算法之一—Hebb算法Hebb算法是由DonaldHebb提出的一种最早的训练算法。Hebb认为,如果源和目的神经元都被激活(或抑制),它们之间的突触的强度就会增强。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)训练算法之一—Hebb算法人工神经网络中Hebb算法的简单描述:如果一个处理单元从另一个处理单元接收激励信号,而且两者处于相同的激励电平(数学上具有相同的符号),那么处理单元之间的加权就应当增强。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)训练算法之一—Hebb算法人工神经网络中Hebb算法的简单描述:按数学表示,就是两结点的连接权将按两结点的激励电平的乘积来改变 其中,Wij(n)是第(n+1)次调节前从结点i到结点j的连接权值;Wij(n+1)是第(n+1)次调节后从结点i到结点j的连接权值;η为训练速率系数;yi为结点i的输出,并输入到结点j;yj为结点j的输出。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)训练算法之二—σ训练算法这种算法的基本思路是:按差值(σ值)最小准则连续地修正各连接权的强度。所谓差值最小,就是指处理单元所要求的输出与当前实际输出间的差值,靠调节各加权以达到最小。该算法也称为Widdrow-Hoff训练算法或最小均方(LMS)算法。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)训练算法之三—梯度下降算法这是将数学上的优化方法用于使要求的输出与实际输出之差最小。在该方法中,加权的修正量正比于误差对加权的一阶导数,数学表示如下:

其中,E是描述误差的误差函数,Wij(n)是结点i到结点j的连接权,η为训练速率系数。σ训练算法是梯度下降算法的一个特例。该算法收敛到稳定点较慢,但它是一种比较有效和普遍应用的训练算法。6.2人工神经网络基础6.2.5人工神经网络的训练(学习)训练算法之四—随机训练算法该算法利用了随机过程,用概率和能量关系来调节连接权。基本思路:在训练过程中,随机改变一个权值,确定权值改变后产生的最终能量,并按如下准则来确定是否保留此加权的变化。若改变加权后,人工神经网络的能量降低了,则保留着一改变。若改变加权后,能量没有降低,则根据一个预选的概率分布来保留这一改变。(这一步的目的是为了保证人工神经网络能够获得全局能量最小点,而不是局部能量最小点。)否则,拒绝这一改变,使权值恢复到原来的值。典型的随机训练算法:模拟退火算法6.2人工神经网络基础6.2.5人工神经网络的训练(学习)训练算法之五—Kohonen训练算法它是TeuvoKohonen受生物系统的启发而提出的,是无指导的训练算法。在训练过程中处理单元均参与彼此竞争,具有最大输出的处理单元是获胜者。获胜的节点具有抑制其竞争者的能力和激活其近邻结点的能力,只有获胜者和其近邻结点的加权才被允许调节。获胜者的近邻结点的范围在训练中是可变的。训练开始时,一般将近邻范围取得较大。随着训练的进行其近邻范围逐渐缩小。6.2人工神经网络基础6.2.6人工神经网络的稳定性和收敛性不论是训练操作还是回忆操作,人工神经网络的状态总是变化的。所谓人工神经网络的状态,是指人工神经网络所有结点的输出信号值,状态变化可以指某个结点的状态发生变化,也可指所有结点的状态发生变化。人工神经网络的这种动态特性受两种性能的约束系统的稳定性系统的收敛性6.2人工神经网络基础6.2.6人工神经网络的稳定性和收敛性人工神经网络的稳定性系统的稳定性定义为一种非线性动态系统,当在该系统上加入一个初始输入时,系统的状态发生变化,但最后达到一个固定点(收敛点或平衡点)。这些固定点就是存储信息的点。虽然稳定的人工神经网络总能保证所有输入被映射到固定点,但不能保证该固定点就是所要求的固定点。人工神经网络系统的稳定性是与反馈网络的回忆操作相联系的。这种反馈网络的稳定性可用李亚普诺夫准则判定。6.2人工神经网络基础6.2.6人工神经网络的稳定性和收敛性李亚普诺夫稳定性准则所谓稳定的动态系统,就是其系统变量从某一个初始状态变化到最后达到稳定值的过程中,系统存储的能量随时间的增长而衰减,直至能量最小点为止。要研究系统的稳定性,需要找到系统的李亚普诺夫能量函数,它是一个广义的能量函数(记作E)。6.2人工神经网络基础6.2.6人工神经网络的稳定性和收敛性李亚普诺夫稳定性准则设有一系统,其参变量为y=(y1,y2,…,yn),系统微分方程组为李亚普诺夫准则描述如下:对于一个非线性动态系统,能找到一个以Yi变量表示的能量函数E,对于所有输入y=(y1,y2,…,yn)

,如上述能量函数满足李亚普诺夫四个基本条件,则该系统的动态过程收敛,并判定为整体稳定。6.2人工神经网络基础6.2.6人工神经网络的稳定性和收敛性李亚普诺夫四个基本条件

(1)Yi=0,如果yi=0,i=1,2,…,n,即Yi变量只在原点为零。

(2)Yi是全纯的,即在给定域内的任一点,其一阶导数存在。

(3)

式中t0和H均为常数,且H总是非零值,即在t>=t0时,yi总是有界的。6.2人工神经网络基础6.2.6人工神经网络的稳定性和收敛性李亚普诺夫四个基本条件

(4)

对所有的i=1,2,…,n成立,这表明能量随着变量yi的变化总是减小的。李亚普诺夫能量函数没有统一的规定,只要它具有能量的形式(如二次型),并满足系统的物理意义即可,因此,系统的能量函数E的形式不是唯一的。6.2人工神经网络基础6.2.6人工神经网络的稳定性和收敛性人工神经网络的收敛性系统的收敛性是指,在训练过程中输出结点的实际输出值与要求的输出值的误差,最后能达到可接受的最小值。一般要求收敛过程迅速和精确,即输出能尽快趋于目标值。收敛性是与有指导的训练操作相联系的,收敛过程严格依赖于所采用的具体训练算法和训练参数。6.2人工神经网络基础6.2.7小结人工神经网络的原型—大脑神经元的结构神经元间的连接(突触)生物神经网络的构成人工神经网络模型基本单元是人工神经元(即处理单元和结点),它是生物神经元的简单近似。网络模型是仿照生物神经元的连接结构,将结点组合连接为层并将几个层组合在一起连接而构成的。网络可分为单层网络和多层网络。连接可分为层内横向连接、层间前馈连接和反馈连接。6.2人工神经网络基础6.2.7小结人工神经网络模型的特性具有较强的信息处理能力和存储能力存储不像一般计算机将信息存入RAM或ROM,而是将信息存入网络的连接权或结点状态中。两种信息存储方式内容寻址存储器或长期存储器:网络通过训练操作将信息存入加权中。联想存储器或短期存储器:当网络加一外部激励时,存储器就通过回忆操作产生输出响应,该响应反映在输出结点的状态上。6.2人工神经网络基础6.2.7小结人工神经网络模型的两种基本操作训练操作各种训练算法,常用的有Hebb算法、σ规则算法、梯度下降算法、Kohonen算法和随机算法等。训练算法分为有指导和无指导两类有指导的算法存在收敛问题,一般要求收敛迅速而准确。回忆操作前馈回忆反馈回忆反馈回忆存在稳定性问题为判定系统的稳定性,对人工神经网络常采用李亚普诺夫稳定准则,借助李亚普诺夫能量函数进行直观检查,如果能量函数随时间是衰减的,网络就是稳定的。6.3前馈神经网络神经生理学和神经解剖学的研究表明,大脑中实际的神经网络一般具有层次结构,同时结点间的连接很多属于前馈连接,同时这种前馈连接构成的网络(前馈网络)学习过程比较容易,所以首先讨论前馈网络模型。1958年心理学家FrankRosenblatt及其合作者首先研究了这种前馈层次网络模型,将其称为感知器(Perception)。6.3前馈神经网络感知器实例简单感知器6.3前馈神经网络感知器实例两层感知器6.3前馈神经网络在感知器模型中,输入向量x=(x1,x2,…,xN)通过各输入端点分配给下一层的各结点,这下一层称为中间层,它可以是一层,也可以是多层,最后通过输出层结点得到输出向量y=(y1,y2,…,yn)。在这种前馈网络模型中,没有层内联接,也没有隔层的前馈联接,每一个结点只能前馈联接到其下一层的所有结点。由于在早期对于含有隐蔽层的多层感知器没有可行的训练算法,所以初期研究的感知器是一层感知器(或称简单感知器,通常简称为感知器)。由于多层网络具有较强的处理功能,因此人们一直致力于寻找多层网络的训练算法,直到Rumelhart等人提出完整的误差反传训练算法(BP算法),解决了多层网络的训练问题。6.3前馈神经网络6.3.1早期的人工神经网络—感知器网络描述该网络由N个输入和一个含有n个结点的输出层,没有隐蔽层。输入向量为x=(x1,x2,…,xN),输出向量为y=(y1,y2,…,yn),相应的加权向量为W1=(W11,W21,…,WN1),

…Wj=(W1j,W2j,…,WNj),…Wn=(W1n,W2n,…,WNn)。对于结点j,其输入加权和sj为:6.3前馈神经网络6.3.1早期的人工神经网络—感知器网络描述对于结点j,其输出值yj为: 其中F(sj)为结点j的转移函数,如符号函数、线性函数和非线性函数等。具有不同转移函数的感知器,具有不同的功能。6.3前馈神经网络6.3.1早期的人工神经网络—感知器网络描述一般感知器的功能是实现他联想,即当给定一个输入激励xk,就产生一个实际的响应yk要求yk等于所需的目标向量对第k个输入向量在结点j上应有, 其中若定义P为训练组中输入输出对的数目,则k=1,2,…,P6.3前馈神经网络6.3.1早期的人工神经网络—感知器网络描述通常称感知器的他联想能力为功能表示能力。感知器的功能表示能力是通过学习而记忆在加权W中的,这个特定的加权W是通过有指导的训练得到的。6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元处理单元的转移函数采用符号函数 F(S)=sgn(S)一个结点的结构图6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元网络的输入可以是连续值,也可以是二进制数。网络的输出有两种状态6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元此时处理单元实际上是输入信息的分类器,判决输入信息属于两类中的哪一类(A或B类)。当输入向量为两个分量时,它构成平面上的两维集,此时判决界是一条直线。6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元当输入向量为三个分量时,它构成三维信号集,此时判决界是一个平面。当输入向量为多个分量时,它构成多维信息空间,此时判决界是一个多维面。6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元感知器实现逻辑“与”的功能逻辑“与”的真值表6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元感知器实现逻辑“与”的功能因只有两个输入,构成二维空间。6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元感知器实现逻辑“与”的功能通过真值表中的4个输入输出对,训练调节对应的加权W1、W2和阈值θ,可得表示“与”动能的感知器。6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元感知器在表示能力方面存在局限性,有很多功能,不管如何调节加权和阈值,也不能被识别或表示。“异或问题”逻辑“异或”的真值表6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元感知器不能实现逻辑“异或”的功能因只有两个输入,构成二维空间。6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元感知器不能实现逻辑“异或”的功能要实现“异或”功能,要求A类在直线的一边,B类在直线的另一边,这显然是不可能的,因为它是线性不可分的。这意味着不管如何改变参数W1、W2和θ都不能使单层感知器产生“异或”功能。对于线性不可分的功能,训练中找不到一条直线(或多维判决界面)将A和B两类分开,使得加权总是来回摆动,不能收敛到一个确定的判决界,此时,训练是不收敛的。要想用感知器表示某种功能,必须知道这种功能是否是线性可分的。遗憾的是,并没有通用的办法来确定这种线性可分性(尤其是当输入分量很大时)。6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元感知器的训练算法它是有指导的训练,其指导就是输入向量时所要求的输出目标值。训练的基本思路将输入向量加到网络上,对每个输入向量计算相应的输出;如果计算的输出就是要求的输出,则保持联到该结点的加权值不变;如果计算的输出不是要求的输出,则按照Hebb规则修改各加权值,即每个加权的修正量正比于该加权对应的输入和输出的乘积。6.3前馈神经网络6.3.1早期的人工神经网络—感知器符号单元感知器的训练算法感知器训练算法的关系式推导感知器训练算法[例子:感知器实现逻辑“与”的功能]讨论经过有限次迭代可使误差达到最小,即δ=0。收敛的速度(迭代次数)与初始条件W(0)、θ和η有关,收敛后的权值也不是唯一的。在实际中θ并不指定,可以作为偏置加权同其它加权一样参与训练调整。作业和编程试用感知器算法实现逻辑“或”的功能(初始加权值、阈值和训练速率系数可自己设定)。试编写一程序,用感知器算法实现逻辑“与”(如例题)或逻辑“或”(如上题)的功能。(可选)6.3前馈神经网络6.3.1早期的人工神经网络—感知器线性单元具有连续转移函数的感知器,转移函数是线性函数,且是处处可微的。为了导出训练算法,可采用优化技术,使输出误差最小,从而达到系统最佳性能。优化函数:梯度下降法6.3前馈神经网络6.3.1早期的人工神经网络—感知器线性单元线性单元描述加权的直接求解法对一个线性网络,可用求解线性方程的办法求其加权值。方程描述σ规则训练算法借助于梯度下降法,从任意起始点开始调解网络的加权,当所有加权调到最佳时,网络的实际输出值与要求的目标值的差值达到最小。σ规则训练算法描述6.3前馈神经网络6.3.1早期的人工神经网络—感知器线性单元σ规则训练算法和感知器算法比较虽然算法的表达式相同,但σ规则训练算法是基于梯度算法得到的,它要求连续的转移函数,很容易推广到多层网络;而感知器算法是基于Hebb假设得到的,无上述特性。两种算法的有解(实现功能表示)条件不同。感知器算法是线性可分性σ规则训练算法是线性独立的。6.3前馈神经网络6.3.1早期的人工神经网络—感知器非线性单元转移函数是非线性函数,且是处处可微的。加权求解描述Sigmoid函数情况6.3前馈神经网络6.3.2误差反传训练算法(BackPropagation,简称BP算法)它是有指导训练的前馈多层网络训练算法,是靠调节各层的加权,使网络学会由输入输出对组成的训练组。类似于感知器中线性单元和非线性单元的训练算法,执行优化的基本方法仍是梯度下降法。BP算法是使用非常广泛的一种算法,最常用的转移函数是Sigmoid函数。6.3前馈神经网络6.3.2误差反传训练算法两层网络的描述符号描述训练组输入输出对:{xik,Tjk}输出结点的输出:yjk隐蔽层结点的输出:yhk输入信号:xik由输入层结点至隐蔽层结点的加权表示:Wih由隐蔽层结点至输出层结点的加权表示:Whj下标i、h、j分别表示某一输入结点、隐蔽层结点和输出结点,上标k表示训练对的序号,k=1,2,…,P。xik既可以是二进制值,也可以是连续值。输入端点数目为N。6.3前馈神经网络6.3.2误差反传训练算法两层网络的描述推算过程6.3前馈神经网络6.3.2误差反传训练算法两层网络的描述每一层误差值σ的求取输出层可直接计算,因此误差值σjk很容易得到对前一隐蔽层没有直接给出目标值,不能直接计算Δhk,需要利用输出层的σjk计算:,算出Δhk后,σhk也就求出了。若前面还有隐蔽层,用σhk再按上述方法计算Δlk和σlk,以此类推,一直将输出误差σ推算到第一隐蔽层为止。各层的σ求得后,各层的加权调解量即可按公式ΔWpq=σoyin求得。由于误差σjk相当于由输出向输入反向传播,所以这种训练算法成为误差反传算法(BP算法)。6.3前馈神经网络6.3.2误差反传训练算法隐蔽层δ的计算方法示意图采用Sigmoid函数时δ的推算6.3前馈神经网络6.3.2误差反传训练算法BP训练算法实现步骤讨论网络层次的选择对多层网络要确定选用几个隐蔽层。Heche-Nielsen证明,当各结点具有不同的阈值时,具有一个隐蔽层的网络可以表示其输入的任意函数,但由于该条件很难满足,该结论意义不大。Cybenko指出,当各结点均采用S型函数时,一个隐蔽层就足以实现任意判决分类问题,两个隐蔽层则足以实现输入向量的任意输出函数。网络层次的选取依经验和情况而定,通常不宜过多。6.3前馈神经网络6.3.2误差反传训练算法讨论层内结点数的确定BP网络中各层结点数的选择对网络的性能影响很大。对输出结点,它取决于输出的表示方法和要识别(或分类)的输入向量的类别数目。比如要输出能表示8个不同向量的分类,可以用8个输出结点,一个结点表示一类,也可以采用三个输出结点,用它们的二进制编码表示8个不同的分类。如果用了编码方式,会减少输出结点的数量,但会增加隐蔽层的附加工作以完成编码功能,甚至有时需增加一个隐蔽层以满足要求。6.3前馈神经网络6.3.2误差反传训练算法讨论层内结点数的确定对输入结点,输入层的结点数通常应等于输入向量的分量数目。对隐蔽层结点数的选择,Nielson等指出:除了图像情况,在大多数情况下,可使用4-5个隐蔽层结点对应一个输入结点。在图像情况下,像素的数目决定了输入结点的数目,此时隐蔽层结点可取输入结点数的10%左右。隐蔽层的结点数取得太少,网络将不能建立复杂的判决界面;取得太多,会使得判决界面仅包封了训练点而失去了概括推断的能力。隐蔽层结点数的选择要根据实际情况和经验来定。6.3前馈神经网络6.3.2误差反传训练算法BP训练算法存在的问题尽管BP训练算法应用得很广泛,但其训练过程存在不确定性。完全不能训练网络的麻痹现象局部最小训练时间过长,尤其对复杂问题需要很长时间训练。选取了不适当的调节阶距(训练速率系数η)。6.3前馈神经网络6.3.2误差反传训练算法BP训练算法存在的问题网络的麻痹现象在训练过程中(如采用Sigmoid函数),加权调得较大可能迫使所有的或大部分的加权和输出sj较大,从而使得操作会在S型函数的饱和区进行,此时函数处在其导数F’(s)非常小的区域内。由于在计算加权修正量时,σ正比于F’(s),因此当F’(s)->0时σ->0,这使得,相当于调节过程几乎停顿下来。6.3前馈神经网络6.3.2误差反传训练算法BP训练算法存在的问题局部最小BP训练算法实际上采用梯度下降法,训练过程从某一起始点沿误差函数的斜面最陡方向逐渐达到最小点E->0。对于复杂的网络,其误差函数面在多维空间,其表面可能凹凸不平,因而在训练过程中可能会陷入某一个小谷区,称之为局部最小点。由此点向各方向变化均使E增加,以致无法逃出这个局部最小点。6.3前馈神经网络6.3.2误差反传训练算法BP训练算法存在的问题局部最小局部最小点示意图6.3前馈神经网络6.3.2误差反传训练算法BP训练算法存在的问题局部最小初始随机加权的大小对局部最小的影响很大。如果这些加权太大,可能一开始就使网络处于S型函数的饱和区,系统就很有可能陷入局部最小。一般来说,要避免局部最小点可采用统计训练的方法。随机神经网络6.3前馈神经网络6.3.2误差反传训练算法BP训练算法存在的问题阶距(训练速率系数η)大小如果η选得太小,收敛会很慢;如果η选得太大,可能出现连续不稳定现象。需按照实验和经验确定η。可取η值为0.01~1Wasserman曾提出自适应的阶距算法,在训练过程中自动调节阶距的大小。6.3前馈神经网络6.3.2误差反传训练算法讨论:BP训练算法的改进附加冲量项该方法是为每个加权调节量加上一个正比于前次变化量的值,即每次加权调节完成后,记住该调节量,以便在下面的调节中使用。附加有冲量项的加权调节公式为: 其中α为冲量系数6.3前馈神经网络6.3.2误差反传训练算法讨论:BP训练算法的改进附加冲量项加入冲量项可起到缓冲平滑的作用,若系统进入误差函数面的平坦区,则δq->0,于是通过调整α可使调节尽快逃离饱和区。6.3前馈神经网络6.3.2误差反传训练算法讨论:BP训练算法的改进改进误差函数前面定义的误差函数是二次项函数,但这不是唯一的选择,可以通过选用其它的函数来代替。所选函数应在Tj=yj时达到最小,此时导出的BP算法除输出层的δj不同外,其它各层与基本BP算法相似。例如,可选如下误差函数以克服网络麻痹现象:6.3前馈神经网络6.3.2误差反传训练算法讨论:BP训练算法的改进自适应参数变化调节参数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论