第六章 人工神经网络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年,美国神经生理学家Warren Mcculloch和数学家Walter Pitts合写了一篇关于神经元如何工作的开拓性文章:“A Logical Calculus of Ideas Immanent in Nervous Activity”该文指出,脑细胞的活动像断/通开关,这些细胞可以按各种方式相互结合,进行各种逻辑运算按此想法,他们用电路构成了简单的神经网络模型,并预言大脑的所有活动最终将被解释清楚虽然问题并非如此简单,但它给人们一个信念,即大脑的活动是靠脑细胞的组合连接实现的当时,不少研究人员转向解剖学和生理学去寻找建立智能机的思路6.1 概述6.1.2 人工神经网络的发展 初始期 MP模型的提出和人工神经网络的兴起 1949年,心理学家Donala Hebb写了一本书:“The Organization of Behavior”。
在该书中,他强调了心理学和生理学间的联系和沟通,指出脑细胞间的思路每当通过参与某种活动时将被加强,这就是后来的Hebb学习规则目前有些神经网络模型仍然采用这种学习规则6.1 概述6.1.2 人工神经网络的发展 初始期 MP模型的提出和人工神经网络的兴起 到了二十世纪50年代,随着计算机的发展和软硬件的进步,有些神经系统功能的理论开始在计算机上进行模拟,拓宽了研究的路子IBM的研究室在Hebb工作的基础上,对神经网络的模型进行了软件模拟,虽然开始时失败了,但在使得模型像人那样适应环境的实验上取得了一定程度的成功在此情况下,人们开始酝酿人工智能的项目6.1 概述6.1.2 人工神经网络的发展 初始期 MP模型的提出和人工神经网络的兴起 1956年,一个人工智能研究项目(Dartmouth Summer)给人工智能领域,同时也给神经计算领域以巨大推动人们提出两条研究思路 采用高级人工智能方法,试图建立描述智能机功能的计算机程序;根据低水平的大脑处理方式构成结构模型,以实现智能化这宣告了人工神经网络的诞生6.1 概述6.1.2 人工神经网络的发展 第一次高潮期 感知器模型和人工神经网络 1957年,计算机专家Frank Rosenblatt开始从事感知器的研究,并制成硬件,通常被认为是最早的神经网络模型。
1959年,两位电机工程师Bernard Widrow和Marcian Haff开发出一种叫作自适应线性单元(ADALINE)的网络模型,并在他们的论文“Adaptive Switching Circuits”中描述了该模型和它的学习算法(Widrow-Haff算法)该网络通过训练,可以成功用于抵消通信中的回波和噪声,也可用于天气预报,成为第一个用于实际问题的神经网络6.1 概述6.1.2 人工神经网络的发展 第一次高潮期 感知器模型和人工神经网络 1962年,Rosenblatt出版了一本书“The Principles of Neurodynamics”,详述了他的感知器模型该感知器具有输入层、输出层和中间层,通过实验可以模仿人的某些特性,并断言它可以学会任何它可以表示的功能1967年,Stephen Grossberg通过对生理学的研究,开发了一种称作Avalanche(雪崩网)的神经网络模型,可以执行连续语音识别和控制机器人手臂的运动在这一时期,由于感知器的某些进展和对神经网络的宣传,人们乐观地认为几乎已经找到了实现智能的关键,许多部门开始大批地投入此项研究,希望尽快占领制高点,形成了研究人工神经网络的第一次高潮。
由于当时对神经网络的乐观情绪的影响,人们夸大了神经网络的潜力(有人甚至担心制造机器人的人类会很快受到机器人的攻击)6.1 概述6.1.2 人工神经网络的发展 反思期 神经网络的低潮 1969年,Marvin Minsky和Seymour Papert合著了一本书“Perception”,分析了当时的简单感知器,指出它有非常严重的局限性,甚至不能解决简单的“异或”问题,为Rosenblatt的感知器判了“死刑”此时,批评的声音高涨,导致了停止对人工神经网络研究所需的大量投资不少研究人员把注意力转向了人工智能,导致对人工神经网络的研究陷入低潮6.1 概述6.1.2 人工神经网络的发展 反思期 神经网络的低潮 虽然如此,二十世纪70年代到80年代早期,仍有一些坚信神经网络的人坚持他们的工作,为人工神经网络的复苏做准备神经生理学家James Anderson开发的盒中脑模型(Brain-State-in-a-Box,BSB)日本学者Kunihik Fukushima开发的用于视觉图形识别的认知器模型(Neocognitron)电气工程师Teuvo Kohonen开发的与BSB类似的网络模型Grossberg,Rumelhart,McClelland,Marr,Amari和Cooper等人的工作。
6.1 概述6.1.2 人工神经网络的发展 第二次高潮期 Hopfield网络模型的出现和人工神经网络的复苏 1982年,John Hopfield向美国科学院递交了有关神经网络的报告,主要内容就是建议收集和重视以前对神经网络的工作,其中特别强调了每种模型的实用性根据对神经网络的数学分析和深入理解,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个神经元我们可以假设每个模块就是众多神经网络中的一类大脑的主要计算机构是大脑皮层,在其断面上一般有36层神经细胞排列,大约10万个神经元组成一组在一个典型的脑模型中,大约有500个神经网络进行计算工作,平均一个神经元向其它神经元发出2000个突触不同层间神经元的连接方式有平行型、发散型、收敛型和反馈型,这些连接的强度是随机的,随着对外部世界的响应而逐渐形成。
6.2 人工神经网络基础6.2.1 人工神经网络的生物原型大脑 总之,大脑中神经网络的结构是极其复杂的,其工作机理仍未完全搞清认知器模型的发明者Kunihiko Fukushima描述了建立人工神经网络模型的原则:“我们试图忠实地遵循生理的证据我们分析或模拟所建模型的性能,并将它与大脑的某种性能进行比较如果我们发现模型与大脑在性能方面的差异,我们就变化我们的初始假设和修改模型,并重复这一过程直到模型的性能与大脑的性能具有相同的方式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 人工神经网络处理单元 处理单元的基本结构和功能 输入信号来自外部(用黑色圆点表示输入端点)或别的处理单元的输出,在数学上表示为行向量xx=(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=xWj 这一结果是标量,它由两个向量的内积得到,可以作为两个向量相似程度的测量如果向量处于相同的方向,则其内积最大;如果向量处于相反的方向,则其内积最小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 人工神经网络处理单元 斜坡函数 当线性函数值限定在(-r r)的范围内时,线性函数就变为非线性斜坡函数r和-r分别是处理单元的最大值和最小值,称为饱和值,一般|r|=16.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增到正无穷时,增益又由最大返回到0Grossberg在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,即同时具有双级输出当要求输出(-1 1)范围的信号时,它常被采用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。
矩阵的维数是N x n,N是输入信号向量(也称输入图形)的分量数,n是该层内的结点数由第三个输入连接到第二个结点的连接权表示为W326.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 为输入激励时,能得到输出响应Ai6.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算法是由Donald Hebb提出的一种最早的训练算法。
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训练算法 它是Teuvo Kohonen受生物系统的启发而提出的,是无指导的训练算法。
在训练过程中处理单元均参与彼此竞争,具有最大输出的处理单元是获胜者获胜的节点具有抑制其竞争者的能力和激活其近邻结点的能力,只有获胜者和其近邻结点的加权才被允许调节获胜者的近邻结点的范围在训练中是可变的训练开始时,一般将近邻范围取得较大随着训练的进行其近邻范围逐渐缩小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年心理学家Frank Rosenblatt及其合作者首先研究了这种前馈层次网络模型,将其称为感知器(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类)当输入向量为两个分量时,它构成平面上的两维集,此时判决界是一条直线。