收藏 分享(赏)

05神经网络原理及应用.ppt

上传人:gsy285395 文档编号:4447130 上传时间:2018-12-29 格式:PPT 页数:120 大小:1.90MB
下载 相关 举报
05神经网络原理及应用.ppt_第1页
第1页 / 共120页
05神经网络原理及应用.ppt_第2页
第2页 / 共120页
05神经网络原理及应用.ppt_第3页
第3页 / 共120页
05神经网络原理及应用.ppt_第4页
第4页 / 共120页
05神经网络原理及应用.ppt_第5页
第5页 / 共120页
点击查看更多>>
资源描述

1、第5章 人工神经网络 原理及应用,人工神经网络概述 人工神经网络基础 前馈人工神经网络,5.1 概述,5.1.1 什么是人工神经网络 所谓人工神经网络就是基于模仿生物大脑的结构和功能而构成的一种信息处理系统(计算机)。 人是地球上具有最高智慧的动物,而人的指挥均来自大脑,人类靠大脑进行思考、联想、记忆和推理判断等,这些功能是任何被称为“电脑”的一般计算机所无法取代的。 长期以来,许多科学家一直致力于人脑内部结构和功能的探讨和研究,并试图建立模仿人类大脑的计算机,虽然到目前对大脑的内部工作机理还不甚完全清楚,但对其结构已有所了解。,5.1.1 什么是人工神经网络 粗略地讲,大脑是由大量神经细胞或

2、神经元组成的。 每个神经元可看作是一个小的处理单元,这些神经元按某种方式连接起来,形成大脑内部的生理神经元网络。 这种神经元网络中各神经元之间联结的强弱,按外部的激励信号做自适应变化,而每个神经元又随着所接收到的多个接收信号的综合大小而呈现兴奋或抑制状态。 现已明确大脑的学习过程就是神经元之间连接强度随外部激励信息做自适应变化的过程,而大脑处理信息的结果则由神经元的状态表现出来。,5.1 概述,5.1.1 什么是人工神经网络 由于我们建立的信息处理系统实际上是模仿生理神经网络,因此称它为人工神经网络。需要指出,尽管人工神经网络是对大脑结构的模仿,但这种模仿目前还处于极低的水平。,5.1 概述,

3、5.1.1 什么是人工神经网络 人工神经网络的两种操作过程 训练学习 训练时,把要教给神经网络的信息(外部输入)作为网络的输入和要求的输出,使网络按某种规则(称为训练算法)调节各处理单元间的连接权值,直至加上给定输入,网络就能产生给定输出为止。 这时,各连接权已调接好,网络的训练就完成了。 正常操作(回忆操作) 对训练好的网络输入一个信号,它就可以正确回忆出相应输出,得到识别结果。,5.1 概述,5.1 概述,5.1.2 人工神经网络的发展-初始(萌发)期 MP模型的提出和人工神经网络的兴起。1943年,美国神经生理学家Warren Mcculloch和数学家Walter Pitts合写了一篇

4、关于神经元如何工作的开拓性文章:“A Logical Calculus of Ideas Immanent in Nervous Activity”。该文指出,脑细胞的活动像断/通开关,这些细胞可以按各种方式相互结合,进行各种逻辑运算。按此想法,他们用电路构成了简单的神经网络模型,并预言大脑的所有活动最终将被解释清楚。虽然问题并非如此简单,但它给人们一个信念,即大脑的活动是靠脑细胞的组合连接实现的。,1949年,心理学家Donala Hebb写了一本书:“The Organization of Behavior”。 在该书中,他强调了心理学和生理学间的联系和沟通,指出脑细胞间的通路每当通过参与

5、某种活动时将被加强,这就是后来的Hebb学习规则。 目前有些神经网络模型仍然采用这种学习规则。,5.1 概述,5.1.2 人工神经网络的发展 第一次高潮期感知器模型和人工神经网络 1957年,计算机专家Frank Rosenblatt开始从事感知器的研究,并制成硬件,通常被认为是最早的神经网络模型。 1959年,两位电机工程师Bernard Widrow和Marcian Haff开发出一种叫作自适应线性单元(ADALINE)的网络模型,并在他们的论文“Adaptive Switching Circuits”中描述了该模型和它的学习算法( Widrow-Haff算法)。 该网络通过训练,可以成功

6、用于抵消通信中的回波和噪声,也可用于天气预报,成为第一个用于实际问题的神经网络。,5.1 概述,5.1.2 人工神经网络的发展 第一次高潮期 感知器模型和人工神经网络 1962年,Rosenblatt出版了一本书“The Principles of Neurodynamics”,详述了他的感知器模型。 该感知器具有输入层、输出层和中间层,通过实验可以模仿人的某些特性,并断言它可以学会任何它可以表示的功能。 在这一时期,由于感知器的某些进展和对神经网络的宣传,人们乐观地认为几乎已经找到了实现智能的关键,许多部门开始大批地投入此项研究,希望尽快占领制高点,形成了研究人工神经网络的第一次高潮。 由于

7、当时对神经网络的乐观情绪的影响,人们夸大了神经网络的潜力(有人甚至担心制造机器人的人类会很快受到机器人的攻击)。,5.1 概述,5.1.2 人工神经网络的发展 反思期神经网络的低潮 1969年,Marvin Minsky和Seymour Papert合著了一本书“Perception”,分析了当时的简单感知器,指出它有非常严重的局限性,甚至不能解决简单的“异或”问题,为Rosenblatt的感知器判了“死刑”。 此时,批评的声音高涨,导致了停止对人工神经网络研究所需的大量投资。 不少研究人员把注意力转向了人工智能,导致对人工神经网络的研究陷入低潮。,5.1 概述,5.1.2 人工神经网络的发展

8、 反思期 神经网络的低潮 虽然如此,二十世纪70年代到80年代早期,仍有一些坚信神经网络的人坚持他们的工作,为人工神经网络的复苏做准备。 神经生理学家James Anderson开发的盒中脑模型(Brain-State-in-a-Box,BSB)。 日本学者Kunihik Fukushima开发的用于视觉图形识别的认知器模型(Neocognitron)。 电气工程师Teuvo Kohonen开发的与BSB类似的网络模型。 Grossberg, Rumelhart, McClelland, Marr, Amari和Cooper等人的工作。,5.1 概述,5.1.2 人工神经网络的发展 第二次高潮

9、期Hopfield网络模型的出现和人工神经网络的复苏 1982年,John Hopfield向美国科学院递交了有关神经网络的报告,主要内容就是建议收集和重视以前对神经网络的工作,其中特别强调了每种模型的实用性。 根据对神经网络的数学分析和深入理解, Hopfield揭示了以往的网络是如何工作的,可以做些什么,并提出了他自己的模型,能从失真的或不完善的数据图像中获得完整的数据图像,引起了美国军方的兴趣。 当时,人工智能对自动制导车的研究失败,而利用神经网络有可能解决这个问题,从而使人们的注意力重新投向人工神经网络,导致了人工神经网络的第二次高潮。,5.1 概述,5.1.2 人工神经网络的发展 第

10、二次高潮期Hopfield网络模型的出现和人工神经网络的复苏 1984年,Hopfield设计研制了后来被人们称为Hopfield网的电路,较好地解决了TCP问题,找到了最佳解的近似解,引起了较大轰动。 1985年,Hinton、Sejnowsky、Rumelhart等研究者在Hopfield网络中引入随机机制,提出了所谓的Bolziman机。 1986年,Rumelhart等研究者独立地提出多层网络的学习算法BP算法,较好地解决了多层网络的学习问题。 1990年12月,国内首届神经网络大会在北京举行。,5.1 概述,5.1.2 人工神经网络的发展 再认识与应用研究期 主要研究内容 开发现有模

11、型的应用,并在应用中根据实际运行情况对模型、算法加以改造,以提高网络的训练速度和运行的准确度。 充分发挥每种技术各自的优势,寻找更有效的解决方法。 希望在理论上寻找新的突破,建立新的专用或通用模型和算法。 进一步对生物神经系统进行研究,不断丰富对人脑的认识。,5.1 概述,5.1.3 人工神经网络的特点 容错性 人类大脑具有很强的容错能力,这正是由于大脑中知识是存储在很多处理单元和它们的连接上的。 每天大脑的一些细胞都可能会自动死亡,但这并没有影响人们的记忆和思考能力。 人工神经网络可以从不完善的数据和图形进行学习和做出决定 由于知识存在整个系统中,而不是在一个存储单元内,因此一定比例的结点不

12、参与运算,对整个系统的性能不会产生重大影响。 神经网络中承受硬件损坏的能力比一般计算机要强得多。,5.1 概述,5.1.3 人工神经网络的特点 自适应性 人类有很强的适应外部的学习能力 小孩在周围环境的熏陶下可以学会很多事情,如通过学习可以认字、说话、走路、思考、判断等。,5.1.3 人工神经网络的特点 自适应性 人工神经网络也具有学习能力 有指导的训练:将输入样本加到网络输入并给出相应的输出,通过多次训练迭代获得连接权值。 好像告诉网络:“当你看到这个图形(比如5)时,请给我指示5”。 无指导的训练:网络通过训练自行调节连接加权,从而对输入样本分类。 在网络训练时,有时只能给出大量的输入图形

13、,没有指定它们的输出,网络就自行按输入图形的特征对它们进行分类。 如小孩通过大量观察可以分辨出哪是狗、哪是猫一样。,5.1.3 人工神经网络的特点 自适应性 人工神经网络也具有学习能力 综合推理的能力:网络具有正确响应和分辨从未见过的输入样本的能力。 进行数字图形的识别时,对于不完善的数字图形或失真的数字图形仍能正确辨认。,5.1.3 人工神经网络的特点 人工神经网络的局限性 人工神经网络不适于高精度的计算 正像很多人不善于直接计算类似资金的问题一样,人工神经网络不用于计算资金方面的问题。人工神经网络的学习和训练往往是一个艰难的过程 网络的设计没有严格确定的方法(一般凭经验),所以选择训练方法

14、和所需网络结构没有统一标准。 脱机训练往往需要很长时间,为了获得最佳效果,常常要重复试验多次。 网络收敛性的问题。,5.1.3 人工神经网络的特点 人工神经网络的局限性 正确的训练数据的收集 大量有代表性样本的采集 正确的预处理总之,人工神经网络是基于人类大脑的结构和功能建立起来的学科,尽管它只是大脑的低级近似,但它的许多特点和人类的智能特点类似,有着较强的识别能力和广泛的应用前景。,5.2 人工神经网络基础,目前出现的各种各样的人工神经网络模型,尽管在性能和结构上各有特点,但它们存在很多共同之处。人工神经网络的基本术语 常用表示符号 描述人工神经网络的基本数学概念,5.2.1 人工神经网络的

15、生物原型大脑 简单的神经元,5.2 人工神经网络基础,5.2.1 人工神经网络的生物原型大脑 简单的神经元 神经元就是神经细胞,它是动物的重要特征之一,在人体内从大脑到全身存在大约1010个神经元。 神经元的组成 细胞体:它是神经元的本体,内有细胞核和细胞质,完成普通细胞的生存功能。 树突:它有大量的分枝,多达103数量级,长度较短(通常不超过1毫米),用以接收来自其它神经元的信号。 轴突:它用以输出信号,有些较长(可达1米以上),轴突的远端也有分枝,可与多个神经元相连。 突触:它是一个神经元与另一个神经元相联系的特殊部位,通常是一个神经元轴突的端部靠化学接触或电接触将信号传递给下一个神经元的

16、树突或细胞体。,5.2 人工神经网络基础,5.2.1 人工神经网络的生物原型大脑 神经元间信号的传递 神经元间的信号通过突触传递。通过它,一个神经元内传送的冲击信号将在下一个神经元内引起响应,使下一个神经元兴奋,或阻止下一个神经元兴奋。,5.2 人工神经网络基础,5.2.1 人工神经网络的生物原型大脑 神经元的基本工作机制 一个神经元有两种状态兴奋和抑制 平时处于抑制状态的神经元,当接收到其它神经元经由突触传来的冲击信号时,多个输入在神经元中以代数和的方式叠加。 进入突触的信号会被加权,起兴奋作用的信号为正,起抑制作用的信号为负。 如果叠加总量超过某个阈值,神经元就会被激发进入兴奋状态,发出输

17、出脉冲,并由轴突的突触传递给其它神经元。 神经元被触发后有一个不应期,在此期间内不能被触发,然后阈值逐渐下降,恢复原来状态。,5.2 人工神经网络基础,5.2.1 人工神经网络的生物原型大脑 神经元的基本工作机制 神经元是按照“全或无”的原则工作的,只有兴奋和抑制两种状态,但也不能认为神经元只能表达或传递二值逻辑信号。 神经元兴奋时往往不是只发一个脉冲,而是发出一串脉冲,如果把一串脉冲看成是一个调频信号,脉冲的密度是可以表达连续量的。,5.2 人工神经网络基础,5.2.1 人工神经网络的生物原型大脑 大脑及大脑皮层的结构 研究证明,大脑中大约有1000个不同的模块,每个模块包含有50*106个

18、神经元。 我们可以假设每个模块就是众多神经网络中的一类。 大脑的主要计算机构是大脑皮层,在其断面上一般有36层神经细胞排列,大约10万个神经元组成一组。 在一个典型的脑模型中,大约有500个神经网络进行计算工作,平均一个神经元向其它神经元发出2000个突触。 不同层间神经元的连接方式有平行型、发散型、收敛型和反馈型,这些连接的强度是随机的,随着对外部世界的响应而逐渐形成。,5.2 人工神经网络基础,5.2.1 人工神经网络的生物原型大脑 总之,大脑中神经网络的结构是极其复杂的,其工作机理仍未完全搞清。 认知器模型的发明者Kunihiko Fukushima描述了建立人工神经网络模型的原则: “

19、我们试图忠实地遵循生理的证据。我们分析或模拟所建模型的性能,并将它与大脑的某种性能进行比较。如果我们发现模型与大脑在性能方面的差异,我们就变化我们的初始假设和修改模型,并重复这一过程直到模型的性能与大脑的性能具有相同的方式。”,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元(PE)就是人工神经元,也称为结点,通常用圆圈表示。,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元的结构和功能与生物神经元有类似之处,可以说是生物神经元的简单近似。 处理单元只模拟了生物神经元所能执行的150多个处理功能中的若干个。 处理单元的功能 对每个输入信号进行处理以确定其

20、强度(加权); 确定所有输入信号的组合效果(求和); 确定其输出(转移特性)。,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 对生物神经元的模拟 就像生物神经元中有很多输入(激励)一样,处理单元也有很多输入信号,并且同时加到处理单元上,处理单元以输出作为响应。 处理单元的输出像实际神经元一样,输出响应不但受输入信号的影响,同时也受内部其它因素的影响。 内部因素:内部阈值或一个额外输入(称为偏置项),5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元的基本结构和功能,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元的基本结构和功能 输入信号来自

21、外部(用黑色圆点表示输入端点)或别的处理单元的输出,在数学上表示为行向量xx = (x1, x2, xN) 其中xi为第i个输入的激励电平,N表示输入数目。,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元的基本结构和功能 连接到结点j的加权表示为加权向量 Wj=(W1j, W2j, WNj)其中Wij表示从结点i(或第i个输入点)到结点j的加权,或称i与j结点之间的连接强度。,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元的基本结构和功能 考虑到内部阈值j,用x0=-1的固定偏置输入点表示,其连接强度取W0j= j。于是,可得输入的加权和为,5.2

22、人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元的基本结构和功能 如果向量x和Wj分别包含了x0和W0j,则有x = (x0, x1, xN)Wj=(W0j, W1j, WNj),5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元的基本结构和功能 于是sj可表示为x和Wj的点积或内积sj= xWj这一结果是标量,它由两个向量的内积得到,可以作为两个向量相似程度的测量。 如果向量处于相同的方向,则其内积最大; 如果向量处于相反的方向,则其内积最小。,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 处理单元的基本结构和功能 处理单元的激励电平sj通过一个转

23、移函数F(),得到处理单元的最后输出值yj,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 转移函数 转移函数F()也称激励函数、传输函数或限幅函数,其作用就是将可能的无限域变换到一指定的有限范围内输出,这类似于生物神经元具有的非线性转移特性。 常用的转移函数 线性函数 斜坡函数 阶跃函数 符号函数 Sigmoid函数 双曲正切函数,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 线性函数 最简单的转移函数y = F(s) = ks其中y为输出值,s为输入信号的加权和,k是一个常数,表示直线的斜率。,5.2 人工神经网络基础,5.2.2 人工神经网络处理单元 斜坡函数,

24、5.2 人工神经网络基础,斜坡函数 当线性函数值限定在(-r r)的范围内时,线性函数就变为非线性斜坡函数。r和-r分别是处理单元的最大值和最小值,称为饱和值,一般|r|=1。,5.2.2 人工神经网络处理单元 阶跃函数 硬限幅函数的一种,5.2.2 人工神经网络处理单元 符号函数(sgn()) 硬限幅函数的一种,5.2.2 人工神经网络处理单元 Sigmoid函数 S型函数的一种y = F(s) = 1/(1+e-s),Grossberg在1973年发现,用该函数可使同一网络既能处理小信号,也能处理大信号。 该函数的中间高增益区解决了处理小信号的问题; 伸向两边的低增益区正好适合于处理大的激

25、励信号; 这种现象正像生物神经元在输入电平范围很大的情况下能正常工作一样。,5.2.2 人工神经网络处理单元 双曲正切函数 S型函数的一种y = tand(s)=(es- e-s)/(es+e-s)相对于Sigmoid函数,它是原点对称的。 当s=0时有y=0,即同时具有双级输出。 当要求输出(-1 1)范围的信号时,它常被采用。,5.2.3 人工神经网络的拓扑结构 虽然单个处理单元可以处理简单的图形检测功能,但更强的识别处理能力是来自多个结点“连成”的网络,即人工神经网络。 这里的“连成”,是靠输入至结点或者结点至结点间的信号传输通路实现的,这一通路相当于生物神经系统中的轴突和突触,它们影响

26、着输入信号。 以后我们把这种信号传输通路称为“连接”,每一个连接都具有一个加权值,称为“连接权”,反映连接的强度。,5.2.3 人工神经网络的拓扑结构 单层网络 最简单的网络是把一组结点形成一层。 左边的黑色圆点只起着分配输入信号的作用,没有计算作用,不看作是网络的一层。 右边用圆圈表示的一组结点被看作一层。,5.2.3 人工神经网络的拓扑结构 单层网络 输入信号表示为行向量:x = (x1, x2, xN),其中每一分量通过加权连接到各结点。 每一个结点均可产生一个加权和。 输入和结点间采用全连接,并且都是前馈连接。 在这种单层网络中可把各加权表示为加权矩阵W。 矩阵的维数是N x n,N是

27、输入信号向量的分量数, n是该层内的结点数。 由第三个输入连接到第二个结点的连接权表示为W32。,5.2.3 人工神经网络的拓扑结构 单层网络 输入信号的加权和表示为:s是各结点加权和的行向量,s=(s1, s2, sn)。 输出向量 y=(y1, y2, yn),其中yj=F(sj)。,5.2.3 人工神经网络的拓扑结构 多层网络 一般来说,大而复杂的网络能提供更强的计算能力。 虽然目前已构成了很多网络模型,但它们的结点都是按层排列的,这一点正是模仿了大脑皮层中的网络模块。 多层网络是由单层网络进行级联构成的,即上一层的输出作为下一层的输入。,5.2.3 人工神经网络的拓扑结构 多层网络 两

28、层网络(前馈全连接网络),5.2.3 人工神经网络的拓扑结构 多层网络 三层网络(前馈全连接网络),5.2.3 人工神经网络的拓扑结构 多层网络 注意:在构成多层网络时,层间的转移函数应是非线性的,否则多层网络的计算能力并不比单层网络强。 在线性转移函数的情况下,两层网络输出的计算是第一层的输出xW1作为第二层的输入,通过第二个加权矩阵得到网络的输出y=(xW1) W2=x(W1W2) 这表明两层线性网络等效于单层网络,只是后者的加权矩阵为两个加权矩阵的乘积。,5.2.3 人工神经网络的拓扑结构 多层网络 多层网络中,接收输入信号的层称为输入层。 它不计入网络层数,因为它只起着输入信号缓冲器的

29、作用,没有处理功能。 产生输出信号的层称为输出层。 除此之外的中间层称为隐藏层(或隐蔽层),它不直接与外部环境打交道。 隐藏层的层数可从零到若干层。,5.2.5 人工神经网络的训练(学习) 人工神经网络的最主要特征之一是它可以学习。任何一个人工神经网络模型要实现某种功能的操作,就必须对它进行训练,让它学会要做的事情,并把这些知识记忆(存储)在网络的加权中。 学习或训练的实质就是加权矩阵随外部激励(环境)做自适应的变化。,5.2.5 人工神经网络的训练(学习) 因为学习和训练的实质是变动加权值,因此很多文献中学习和训练的概念是混用的。严格来说,两者是有区别的,训练通常是指调整网络加权的操作动作和

30、过程,这个过程对网络来讲就是学习。 比如举办一个训练班对学生进行某种技能的训练,对学生来讲,它是在该班内学习。,5.2.5 人工神经网络的训练(学习) 人工神经网络被训练后,它每加入一组输入就会产生一组要求的输出。 一组输入(或输出)就是所谓的向量或图形。 训练就是相继加入输入向量,并按预定规则调整网络加权。 在进行训练后,网络的各加权都收敛到一个确定值,以便每个输入向量都会产生一个要求的输出向量。 调整加权所遵循的预定规则就是训练算法。 有指导的训练 无指导的训练,5.2.5 人工神经网络的训练(学习) 有指导的训练 对有指导的训练算法,不但需要训练用的输入向量,同时还要求与之对应的表示所需

31、要输出的目标向量。 输入向量与对应的目标向量一起称作一个训练对。通常训练一个网络需要很多训练对,这些训练对组成训练组。 当加上一个输入向量时,要计算网络的实际输出,并同相应的目标向量做比较,根据比较结果的误差,按规定的算法改变加权。 把训练组中的每个向量对相继加入,对每个向量都计算误差并调节加权,直到训练组中的误差都达到可接受的最低值为止。,5.2.5 人工神经网络的训练(学习) 无指导的训练 无指导的训练不要求有目标向量,网络通过自身的“经历”来学会某种功能。 人们发现在幼儿的早期发育中,存在有自组织的能力,据此,认为无指导的训练是在生物上更有道理的训练算法。 1984年,Kohonen等人

32、提出了无指导的训练算法。,5.2.5 人工神经网络的训练(学习) 训练算法 目前应用的训练算法很多,其中有很大部分是早期的Hebb算法的变形。 人们仍在以生物学习训练的模式作为目标,继续探索新的算法。 可以相信,真正的生物学习训练过程肯定比目前常用的训练算法复杂得多。,5.2.5 人工神经网络的训练(学习) 训练算法之一 Hebb算法 Hebb算法是由Donald Hebb提出的一种最早的训练算法。 Hebb认为,如果源和目的神经元都被激活(或抑制),它们之间的突触的强度就会增强。,5.2.5 人工神经网络的训练(学习) 训练算法之一 Hebb算法 人工神经网络中Hebb算法的简单描述: 如果

33、一个处理单元从另一个处理单元接收激励信号,而且两者处于相同的激励电平(数学上具有相同的符号),那么处理单元之间的加权就应当增强。,5.2.5 人工神经网络的训练(学习) 训练算法之一 Hebb算法 人工神经网络中Hebb算法的简单描述: 按数学表示,就是两结点的连接权将按两结点的激励电平的乘积来改变其中,Wij(n)是第(n+1)次调节前从结点i到结点j的连接权值; Wij(n+1)是第(n+1)次调节后从结点i到结点j的连接权值;为训练速率系数;yi为结点i的输出,并输入到结点j; yj为结点j的输出。,5.2.5 人工神经网络的训练(学习) 训练算法之二 训练算法 这种算法的基本思路是:按

34、差值(值)最小准则连续地修正各连接权的强度。 所谓差值最小,就是指处理单元所要求的输出与当前实际输出间的差值,靠调节各加权以达到最小。 该算法也称为Widdrow-Hoff训练算法或最小均方(LMS)算法。,5.2.5 人工神经网络的训练(学习) 训练算法之三 梯度下降算法 这是将数学上的优化方法用于使要求的输出与实际输出之差最小。 在该方法中,加权的修正量正比于误差对加权的一阶导数,数学表示如下:其中,E是描述误差的误差函数,Wij(n)是结点i到结点j的连接权,为训练速率系数。 训练算法是梯度下降算法的一个特例。 该算法收敛到稳定点较慢,但它是一种比较有效和普遍应用的训练算法。,5.2.5

35、 人工神经网络的训练(学习) 训练算法之四 随机训练算法 该算法利用了随机过程,用概率和能量关系来调节连接权。 基本思路:在训练过程中,随机改变一个权值,确定权值改变后产生的最终能量,并按如下准则来确定是否保留此加权的变化。 若改变加权后,人工神经网络的能量降低了,则保留这一改变。 若改变加权后,能量没有降低,则根据一个预选的概率分布来保留这一改变。(这一步的目的是为了保证人工神经网络能够获得全局能量最小点,而不是局部能量最小点。) 否则,拒绝这一改变,使权值恢复到原来的值。典型的随机训练算法:模拟退火算法,5.2.6 小结 人工神经网络的原型大脑 神经元的结构 神经元间的连接(突触) 生物神

36、经网络的构成 人工神经网络模型 基本单元是人工神经元(即处理单元和结点),它是生物神经元的简单近似。 网络模型是仿照生物神经元的连接结构,将结点组合连接为层并将几个层组合在一起连接而构成的。 网络可分为单层网络和多层网络。 连接可分为层内横向连接、层间前馈连接和反馈连接。,5.3 前馈神经网络,神经生理学和神经解剖学的研究表明,大脑中实际的神经网络一般具有层次结构,同时结点间的连接很多属于前馈连接,同时这种前馈连接构成的网络(前馈网络)学习过程比较容易,所以首先讨论前馈网络模型。 1958年心理学家Frank Rosenblatt及其合作者首先研究了这种前馈层次网络模型,将其称为感知器(Per

37、ception)。,感知器实例 简单感知器,5.3 前馈神经网络,感知器实例 两层感知器,5.3 前馈神经网络,在感知器模型中,输入向量x=(x1, x2,xN)通过各输入端点分配给下一层的各结点,这下一层称为中间层,它可以是一层,也可以是多层,最后通过输出层结点得到输出向量y=(y1, y2, yn)。 在这种前馈网络模型中,没有层内联接,也没有隔层的前馈联接,每一个结点只能前馈联接到其下一层的所有结点。 由于在早期对于含有隐蔽层的多层感知器没有可行的训练算法,所以初期研究的感知器是一层感知器(或称简单感知器,通常简称为感知器)。 由于多层网络具有较强的处理功能,因此人们一直致力于寻找多层网

38、络的训练算法,直到Rumelhart等人提出完整的误差反传训练算法(BP算法),解决了多层网络的训练问题。,5.3 前馈神经网络,5.3.1单层感知器,5.3.1.1感知器模型,5.3 前馈神经网络,净输入:,输出:,j=1,2,m,5.3.1单层感知器,5.3.1.1感知器模型,5.3.1.2感知器的功能,(1)设输入向量X=(x1 ,x2)T,输出:,则由方程 w1jx1+w2jx2-Tj=0 确定了二维平面上的一条分界线。,单计算节点感知器,5.3.1.2感知器的功能,5.3.1.2感知器的功能,(2)设输入向量X=(x1,x2,x3)T,输出:,则由方程 w1jx1+w2jx2+w3j

39、 x3Tj=0 确定了三维空间上的一个分界平面。,5.3.1.2感知器的功能,5.3.1.2感知器的功能,(3) 设输入向量X=(x1,x2,,xn)T,则由方程 w1jx1+w2jx2+wnj xnTj=0 确定了n维空间上的一个分界平面。,输出:,sgn(w1jx1+w2jx2+wnjxn Tj),5.3.1.2 感知器的功能,一个最简单的单计算节点感知器具有分类功能。其分类原理是将分类知识存储于感知器的权向量(包含了阈值)中,由权向量确定的分类判决界面将输入模式分为两类。,例一 用感知器实现逻辑“与”功能。,感知器结构,w1x1+w2x2 -T=0 0.5x1+0.5x2-0.75=0,

40、例一 用感知器实现逻辑“与”功能。,例二 用感知器实现逻辑“或”功能。,感知器结构,w1x1+w2x2 -T=0 x1+x2-0.5=0,例二 用感知器实现逻辑“或”功能。,5.3.1.3 感知器的局限性,问题:能否用感知器实现“异或”功能?,5.3.1.4 感知器的学习算法,感知器学习规则的训练步骤:,(1) 对各权值w0j(0),w1j(0),wnj(0),j=1, 2,m (m为计算层的节点数)赋予较小的非零随机数;,(2) 输入样本对Xp,dp,其中Xp=(-1,x1p,x2p,xnp),dp为期望的输出向量(教师信号),上标p代表样本对的模式序号,设样本集中的样本总数为P,则p=1,

41、2,P;,5. 3.1.4 感知器的学习算法,感知器学习规则的训练步骤:,(3)计算各节点的实际输出 ojp(t)=sgnWjT(t)Xp, j=1,2,.,m;,(4)调整各节点对应的权值,Wj(t+1)= Wj(t)+djp-ojp(t)Xp,j=1, 2,m, 其中为学习率,用于控制调整速度,太大会影响训练的稳定性,太小则使训练的收敛速度变慢,一般取01;,(5)返回到步骤(2)输入下一对样本,周而复始直到对所有样本,感知器的实际输出与期望输出相等。,5.3.1.4 感知器的学习算法,设初始权向量W(0)=(0.5,1,-1,0)T,=0.1。注意,输入向量中第一个分量 x0 恒等于-1

42、,权向量中第一个分量为阈值,试根据以上学习规则训练该感知器。,解:第一步 输入X1,得WT(0)X1=(0.5,1,-1,0)(-1,1,-2,0)T=2.5o1(0)=sgn(2.5)=1,W(1)= W(0)+d1- o1(0) X1=(0.5,1,-1,0)T+0.1(-1-1)(-1,1,-2,0)T=(0.7,0.8,-0.6,0)T,5.3.1.4 感知器的学习算法,第二步 输入X2,得WT(1)X2=(0.7,0.8,-0.6,0)(-1,0,1.5,-0.5)T= -1.6o2(1)=sgn(-1.6)= -1,W(2)= W(1)+d2- o2(1) X2=(0.7,0.8,

43、-0.6,0)T+0.1-1-(-1)(-1,0,1.5,-0.5)T=(0.7,0.8,-0.6,0)T,由于d2= o2(1),所以W(2)= W(1)。,5.3.1.4 感知器的学习算法,第三步 输入X3,得WT(2)X3=(0.7,0.8,-0.6,0)(-1,-1,1,0.5)T= -2.1O3(2)=sgn(-2.1)= -1,W(3)= W(2)+d3- o3(2) X3=(0.7,0.8,-0.6,0)T+0.11-(-1)(-1,-1,1,0.5)T=(0.5,0.6,-0.4,0.1)T,第四步 返回到第一步,继续训练直到d p- o p = 0,p=1,2,3。,5.3.

44、1.4 感知器的学习算法,5.3.2 多层感知器,双层感知器,“异或”问题分类,例四 用两计算层感知器解决“异或”问题。,“异或”的真值表,5.3 前馈神经网络,双层感知器,“异或”问题分类,例四 用两计算层感知器解决“异或”问题。,“异或”的真值表,5.3.2 多层感知器,5.3 前馈神经网络,双层感知器,“异或”问题分类,例四 用两计算层感知器解决“异或”问题。,“异或”的真值表,5.3.2 多层感知器,5.3 前馈神经网络,双层感知器,“异或”问题分类,例四 用两计算层感知器解决“异或”问题。,“异或”的真值表,5.3.2 多层感知器,5.3 前馈神经网络,5.3.2 多层感知器,5.3

45、 前馈神经网络,具有不同隐层数的感知器的分类能力对比,5.3.2 多层感知器,5.3 前馈神经网络,5.3 前馈神经网络,5.3.4 误差反传(BP)算法,5.3.4.1 基于BP算法的多层前馈网络模型,输入向量: X=(x1,x2,xi,xn)T 隐层输出向量: Y=(y1,y2,yj,ym)T 输出层输出向量: O=(o1,o2,ok,ol)T 期望输出向量:d=(d1, d2,dk,dl)T 输入层到隐层之间的权值矩阵:V=(V1,V2,Vj,Vm) 隐层到输出层之间的权值矩阵:W=(W1,W2,Wk,Wl),5.3 前馈神经网络,5.3.4 误差反传(BP)算法,5.3.4.1 基于B

46、P算法的多层前馈网络模型,5.3.4.1 基于BP算法的多层前馈网络模型,5.3 前馈神经网络,5.3.4 误差反传(BP)算法,双极性Sigmoid函数:,5.3.4.1 基于BP算法的多层前馈网络模型,5.3 前馈神经网络,5.3.4 误差反传(BP)算法,5.3.4.2 BP学习算法,一、网络误差 定义与权值调整思路,将以上误差定义式展开至隐层:,5.3 前馈神经网络,5.3.4 误差反传(BP)算法,一、网络误差与权值调整,进一步展开至输入层:,5.3.4.2 BP学习算法,5.3 前馈神经网络,5.3.4 误差反传(BP)算法,式中负号表示梯度下降,常数(0,1)表示比例系数。,在全

47、部推导过程中,对输出层有j=0,1,2,m; k=1,2,l 对隐层有 i=0,1,2,n; j=1,2,m,5.3.4.2 BP学习算法,5.3 前馈神经网络,5.3.4 误差反传(BP)算法,5.3.4.2 BP学习算法,二、BP算法推导,对于输出层,式(3.4.9a)可写为,(3.4.10a),综合应用上式,可将式 (3.4.10a)的权值调整式改写为,同理,可将式 (3.4.10b)的权值调整式改写为,(3.4.12a),(3.4.12b),可以看出,只要计算出式(3.4.12)中的误差信号o和y,权值调整量的计算推导即可完成。下面继续推导如何求误差信号o和y 。,对于输出层, o可展

48、开为,对于隐层, y可展开为,下面求式(3.4.13)中网络误差对各层输出的偏导。,(3.4.13a),(3.4.13b),对于输出层:,对于隐层,利用式(3.4.7):,(3.4.14b),可得:,将以上结果代入式,(3.4.15b),至此两个误差信号的推导已完成。,并应用式,同理,将式(3.4.15)代回到式(3.4.12),得到三层前馈网的BP学习算法权值调整计算公式为:,5.3.4.3 BP算法的程序实现,(1)初始化;,(4)计算各层误差信号;,(5)调整各层权值;,(6)检查是否对所有样本完成一次轮训;,(7)检查网络总误差是否达到精度要求。,(2)输入训练样本对X Xp、d dp

49、 计算各层输出;,(3)计算网络输出误差;,5.3.4.4 多层前馈网(感知器)的主要能力,(1)非线性映射能力,多层前馈网能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式供BP网络进行学习训练,它便能完成由n 维输入空间到m 维输出空间的非线性映射。,(2)泛化能力,当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为多层前馈网的泛化能力。,(3)容错能力,输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。,5.3.4.4 多层前馈网(感知器)的主要能力,5.3.4.5 误差曲面与BP算法的局限性,误差函数的可调整参数的个数 nw 等于各层权值数加上阈值数,即:,误差 E 是 nw+1 维空间中一个形状极为复杂的曲面,该曲面上的每个点的“高度”对应于一个误差值,每个点的坐标向量对应着 nw 个权值,因此称这样的空间为误差的权空间。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 网络与通信

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报