第六章 人工神经网络
概述
什么是人工神经网络
所谓人工神经网络就是基于模仿生物大脑的结构和功能而构成的一种信息处理系统(计算机)。
人是地球上具有最高智慧的动物,而人的指挥均来自大脑,人类靠大脑进行思考、联想、记忆和推理判断等,这些功能是任何被称为“电脑”的一般计算机所无法取代的。
长期以来,许多科学家一直致力于人脑内部结构和功能的探讨和研究,并试图建立模仿人类大脑的计算机,虽然到目前对大脑的内部工作机理还不甚完全清楚,但对其结构已有所了解。
概述
什么是人工神经网络
粗略地讲,大脑是由大量神经细胞或神经元组成的。
每个神经元可看作是一个小的处理单元,这些神经元按某种方式连接起来,形成大脑内部的生理神经元网络。
这种神经元网络中各神经元之间联结的强弱,按外部的激励信号做自适应变化,而每个神经元又随着所接收到的多个接收信号的综合大小而呈现兴奋或抑制状态。
现已明确大脑的学习过程就是神经元之间连接强度随外部激励信息做自适应变化的过程,而大脑处理信息的结果则由神经元的状态表现出来。
概述
什么是人工神经网络
由于我们建立的信息处理系统实际上是模仿生理神经网络,因此称它为人工神经网络。
需要指出,尽管人工神经网络是对大脑结构的模仿,但这种模仿目前还处于极低的水平。
按美国神经网络学者Nielsen的定义
人工神经网络是一个并行、分布处理结构,它由处理单元及其称为联接的无向讯号通道互连而成。
这些处理单元具有局部内存,可以完成局部操作,即它必须仅仅依赖于经过输入联接到达处理单元的所有输入信号的当前值和存储在处理单元局部内存中的值。
每个处理单元有一个单一的输出联接,输出信号可以是任何需要的数学模型。
概述
什么是人工神经网络
人工神经网络与一般计算机的区别
在一般的计算机中,通常有一个中央处理器,它可访问其存储器。
该处理器可取一条指令和该指令所需的数据,并执行该指令,最后将计算结果存入指定的存储单元中。
任何动作都按照确定的操作程序,以串行方式执行。
概述
什么是人工神经网络
人工神经网络与一般计算机的区别
在人工神经网络中,操作既不是串行的,也不是预先确定的,它根本没有确定的存储器,而是由许多互连的简单处理单元组成。
每个处理单元的处理功能只是求其所有输入信号的加权和,当该和值超过某一阈值时,输出呈现兴奋状态(高电平),否则低于阈值时呈现抑制状态(低电平)。
人工神经网络并不执行指令序列,它对并行加载的输入信号也按并行方式来处理和响应,结果也不存储在特定的存储单元中。当它达到某种平衡状态后,网络的整个状态就是所求的结果。
目前还没有用硬件真正实现的并行处理的人工神经网络,对它的实现还是基于一般计算机的软件模拟,这显然并没有真正发挥出人工神经网络并行快速的特点。
概述
什么是人工神经网络
人工神经网络的两种操作过程
训练学习
训练时,把要教给神经网络的信息(外部输入)作为网络的输入和要求的输出,使网络按某种规则(称为训练算法)调节各处理单元间的连接权值,直至加上给定输入,网络就能产生给定输出为止。
这时,各连接权已调接好,网络的训练就完成了。
正常操作(回忆操作)
对训练好的网络输入一个信号,它就可以正确回忆出相应输出,得到识别结果。
概述
什么是人工神经网络
文本(英文)朗读机实例
输入装置是一个阅读窗口,当它沿文本的一行移动时,每次前移一个字母,但每个瞬间输入七个相邻的字母(包括空格和句号)信息。
由于英文字母的发音与其前后字母有关,所以训练人工神经网络时,只要求每次七个字母的中间字母发音(靠人工神经网络的输出相应状态驱动一个语音综合发生器)。
训练时,将一篇有1024个字的文本一行一行通过阅读窗口,并要求对应每个字母时人工神经网络的输出结点能输出相应音素的状态值。
概述
什么是人工神经网络
文本(英文)朗读机实例
这样通过十遍阅读(训练),可以达到输出可理解的语音。
通过50遍阅读(训练),可以达到95%的精确度。
训练过程中听上去像小孩学说话一样,由不清楚到清楚。
训练完成后,再阅读从未见过的课文,朗读精度仍可达78%,完全可以听懂。
概述
什么是人工神经网络
人脸识别实例
用10个人的照片,每个人都在不同的角度照5张照片,共有50张照片的输入信息。
对人工神经网络进行训练,每个照片信息作为输入时,代表10个人的10个结点中相应的一个结点输出最大,每个人的5张照片都对应着同一个结点的最大输出。
经过训练后,再对原来的10个人中的一个从不同角度拍照(尺寸不变),进行识别,结果是他本人对应的结点的输出比其它9个结点的输出都高得多。
概述
什么是人工神经网络
总结和讨论
传统计算机采用的是串行处理方式,限制了大量信息的快速传输和处理,即使用了多个处理器并行工作,还是会把许多时间浪费在完成串行操作上,而且问题的并行化分解和并行程序的编写也是一个难题。
虽然至今开发出的超型计算机,其速度和容量都大得惊人,但仍不能很好地完成诸如小孩可以做到的事情,如认识面孔、学习说话、识别图像等。
尽管人工神经网络还是生物大脑的极低水平的模仿,但在图像识别、语音识别、记忆、预测以及优化等方面表现出了良好的智能特性和应用前景,可以完成传统计算机不易实现的智能性工作。
概述
人工神经网络的发展
初始(萌发)期—— MP模型的提出和人工神经网络的兴起
1943年,美国神经生理学家Warren Mcculloch和数学家Walter Pitts合写了一篇关于神经元如何工作的开拓性文章:“A Logical Calculus of Ideas Immanent in Nervous Activity”。
该文指出,脑细胞的活动像断/通开关,这些细胞可以按各种方式相互结合,进行各种逻辑运算。
按此想法,他们用电路构成了简单的神经网络模型,并预言大脑的所有活动最终将被解释清楚。
虽然问题并非如此简单,但它给人们一个信念,即大脑的活动是靠脑细胞的组合连接实现的。
当时,不少研究人员转向解剖学和生理学去寻找建立智能机的思路。
概述
人工神经网络的发展
初始期 —— MP模型的提出和人工神经网络的兴起
1949年,心理学家Donala Hebb写了一本书:“The Organization of Behavior”。
在该书中,他强调了心理学和生理学间的联系和沟通,指出脑细胞间的思路每当通过参与某种活动时将被加强,这就是后来的Hebb学习规则。
目前有些神经网络模型仍然采用这种学习规则。
概述
人工神经网络的发展
初始期 —— MP模型的提出和人工神经网络的兴起
到了二十世纪50年代,随着计算机的发展和软硬件的进步,有些神经系统功能的理论开始在计算机上进行模拟,拓宽了研究的路子。
IBM的研究室在Hebb工作的基础上,对神经网络的模型进行了软件模拟,虽然开始时失败了,但在使得模型像人那样适应环境的实验上取得了一定程度的成功。
在此情况下,人们开始酝酿人工智能的项目。
概述
人工神经网络的发展
初始期 —— MP模型的提出和人工神经网络的兴起
1956年,一个人工智能研究项目(Dartmouth Summer)给人工智能领域,同时也给神经计算领域以巨大推动。
人们提出两条研究思路
采用高级人工智能方法,试图建立描述智能机功能的计算机程序;
根据低水平的大脑处理方式构成结构模型,以实现智能化。
这宣告了人工神经网络的诞生。
概述
人工神经网络的发展
第一次高潮期 —— 感知器模型和人工神经网络
1957年,计算机专家Frank Rosenblatt开始从事感知器的研究,并制成硬件,通常被认为是最早的神经网络模型。
1959年,两位电机工程师Bernard Widrow和Marcian Haff开发出一种叫作自适应线性单元(ADALINE)的网络模型,并在他们的论文“Adaptive Switching Circuits”中描述了该模型和它的学习算法( Widrow- Haff算法)。
该网络通过训练,可以成功用于抵消通信中的回波和噪声,也可用于天气预报,成为第一个用于实际问题的神经网络。
概述
人工神经网络的发展
第一次高潮期 —— 感知器模型和人工神经网络
1962年,Rosenblatt出版了一本书“The Principles of Neurodynamics”,详述了他的感知器模型。
该感知器具有输入层、输出层和中间层,通过实验可以模仿人的某些特性,并断言它可以学会任何它可以表示的功能。
1967年,Stephen Grossberg通过对生理学的研究,开发了一种称作Avalanche(雪崩网)的神经网络模型,可以执行连续语音识别和控制机器人手臂的运动。
在这一时期,由于感知器的某些进展和对神经网络的宣传,人们乐观地认为几乎已经找到了实现智能的关键,许多部门开始大批地投入此项研究,希望尽快占领制高点,形成了研究人工神经网络的第一次高潮。
由于当时对神经网络的乐观情绪的影响,人们夸大了神经网络的潜力(有人甚至担心制造机器人的人类会很快受到机器人的攻击)。
概述
人工神经网络的发展
反思期 —— 神经网络的低潮
1969年,Marvin Minsky和Seymour Papert合著了一本书“Perception”,分析了当时的简单感知器,指出它有非常严重的局限性,甚至不能解决简单的“异或”问题,为Rosenblatt的感知器判了“死刑”。
此时,批评的声音高涨,导致了停止对人工神经网络研究所需的大量投资。
不少研究人员把注意力转向了人工智能,导致对人工神经网络的研究陷入低潮。
概述
人工神经网络的发展
反思期 —— 神经网络的低潮
虽然如此,二十世纪70年代到80年代早期,仍有一些坚信神经网络的人坚持他们的工作,为人工神经网络的复苏做准备。
神经生理学家James Anderson开发的盒中脑模型(Brain-State-in-a-Box,BSB)。
日本学者Kunihik Fukushima开发的用于视觉图形识别的认知器模型(Neocognitron)。
电气工程师Teuvo Kohonen开发的与BSB类似的网络模型。
Grossberg, Rumelhart, McClelland, Marr, Amari和Cooper等人的工作。
概述
人工神经网络的发展
第二次高潮期 —— Hopfield网络模型的出现和人工神经网络的复苏
1982年,John Hopfield向美国科学院递交了有关神经网络的报告,主要内容就是建议收集和重视以前对神经网络的工作,其中特别强调了每种模型的实用性。
根据对神经网络的数学分析和深入理解, Hopfield揭示了以往的网络是如何工作的,可以做些什么,并提出了他自己的模型,能从失真的或不完善的数据图像中获得完整的数据图像,引起了美国军方的兴趣。
当时,人工智能对自动制导车的研究失败,而利用神经网络有可能解决这个问题,从而使人们的注意力重新投向人工神经网络,导致了人工神经网络的第二次高潮。
概述
人工神经网络的发展
第二次高潮期 —— Hopfield网络模型的出现和人工神经网络的复苏
1984年,Hopfield设计研制了后来被人们称为Hopfield网的电路,较好地解决了TCP问题,找到了最佳解的近似解,引起了较大轰动。
1985年,Hinton、Sejnowsky、Rumelhart等研究者在Hopfield网络中引入随机机制,提出了所谓的Bolziman机。
1986年, Rumelhart等研究者重新独立地提出多层网络的学习算法—BP算法,较好地解决了多层网络的学习问题。
1990年12月,国内首届神经网络大会在北京举行。
概述
人工神经网络的发展
再认识与应用研究期
二十世纪90年代后,神经网络的研究趋于平缓,主要问题:
应用面还不够宽
结果不够精确
存在可信度的问题
概述
人工神经网络的发展
再认识与应用研究期
主要研究内容
开发现有模型的应用,并在应用中根据实际运行情况对模型、算法加以改造,以提高网络的训练速度和运行的准确度。
充分发挥每种技术各自的优势,寻找更有效的解决方法。
希望在理论上寻找新的突破,建立新的专用或通用模型和算法。
进一步对生物神经系统进行研究,不断丰富对人脑的认识。
概述
人工神经网络的特点
固有的并行结构和并行处理
人工神经网络与人类的大脑类似,不但结构上是并行的,其处理顺序也是并行的和同时的。
在同一层内的处理单元都是同时工作的,即神经网络的计算功能分布在多个处理单元上,而传统的计算机通常只有一个处理单元,其处理顺序是串行的。
目前的神经网络功能常常用一般计算机的串行工作方式来模拟,所以显得很慢,真正意义上的神经网络将会大大提高处理速度,实现快速处理。
概述
人工神经网络的特点
知识的分布存储
在神经网络中,知识不是存储在特定的存储单元,而是分布在整个系统中,要存储多个知识就需要很多连接。
在计算机中,只要给定一个地址就可以得到一个或一组数据,在神经网络中,要获得存储的知识则采用“联想”的办法,这类似于人类和动物的记忆。
概述
人工神经网络的特点
知识的分布存储
当一个神经网络输入一个激励时,它要在已存储的知识中寻找与该输入匹配最好的知识存储为其解。
这犹如人们辨认潦草的笔记,这些笔记可以是变形的、失真的和缺损的。
人类根据联想善于正确识别图形,人工神经网络也具有这种能力。
概述
人工神经网络的特点
知识的分布存储
联想记忆的两个主要特点
存储大量复杂数据的能力
语音的样本、可视图象、机器人的活动、时空图形的状态、社会的情况等;
可以很快地将新的输入图像归并分类为已存储图像的某一类
一般计算机善于高速串行运算,但不善于实时的图形识别。
概述
人工神经网络的特点
容错性
人类大脑具有很强的容错能力,这正是由于大脑中知识是存储在很多处理单元和它们的连接上的。
每天大脑的一些细胞都可能会自动死亡,但这并没有影响人们的记忆和思考能力。
人工神经网络可以从不完善的数据和图形进行学习和做出决定
由于知识存在整个系统中,而不是在一个存储单元内,因此一定比例的结点不参与运算,对整个系统的性能不会产生重大影响。
神经网络中承受硬件损坏的能力比一般计算机要强得多。
概述
人工神经网络的特点
自适应性
人类有很强的适应外部的学习能力
小孩在周围环境的熏陶下可以学会很多事情,如通过学习可以认字、说话、走路、思考、判断等。
概述
人工神经网络的特点
自适应性
人工神经网络也具有学习能力
有指导的训练:将输入样本加到网络输入并给出相应的输出,通过多次训练迭代获得连接权值。
好像告诉网络:“当你看到这个图形(比如5)时,请给我指示5”。
无指导的训练:网络通过训练自行调节连接加权,从而对输入样本分类。
在网络训练时,有时只能给出大量的输入图形,没有指定它们的输出,网络就自行按输入图形的特征对它们进行分类。
如小孩通过大量观察可以分辨出哪是狗、哪是猫一样。
概述
人工神经网络的特点
自适应性
人工神经网络也具有学习能力
综合推理的能力:网络具有正确响应和分辨从未见过的输入样本的能力。
进行数字图形的识别时,对于不完善的数字图形或失真的数字图形仍能正确辨认。
概述
人工神经网络的特点
人工神经网络的局限性
人工神经网络不适于高精度的计算
正像很多人不善于直接计算类似资金的问题一样,人工神经网络不用于计算资金方面的问题。
人工神经网络不适于做类似顺序计数的工作。
人工神经网络是以并行方式工作的。
人工神经网络的学习和训练往往是一个艰难的过程。
网络的设计没有严格确定的方法(一般凭经验),所以选择训练方法和所需网络结构没有统一标准。
脱机训练往往需要很长时间,为了获得最佳效果,常常要重复试验多次。
网络收敛性的问题。
概述
人工神经网络的特点
人工神经网络的局限性
人工神经网络必须克服时间域顺序处理方面的困难。
为了解决语音处理、自然语言理解和图像随时间的变换情况,需要设计适于连续时间环境的网络。
硬件限制
目前仍是在一般计算机上用模拟的方法研究人工神经网络的并行处理过程,然而模拟不是最终目标。
只有真正的并行硬件处理,才能体现出人工神经网络的高速高效特点。
目前这种硬件的实现还未很好解决。
概述
人工神经网络的特点
人工神经网络的局限性
正确的训练数据的收集
大量有代表性样本的采集
正确的预处理
总之,人工神经网络是基于人类大脑的结构和功能建立起来的学科,尽管它只是大脑的低级近似,但它的许多特点和人类的智能特点类似,有着较强的识别能力和广泛的应用前景。
人工神经网络基础
目前出现的各种各样的人工神经网络模型,尽管在性能和结构上各有特点,但它们存在很多共同之处。
本节介绍
人工神经网络的基本术语
常用表示符号
描述人工神经网络的基本数学概念
人工神经网络基础
人工神经网络的生物原型—大脑
简单的神经元
人工神经网络基础
人工神经网络的生物原型—大脑
简单的神经元
神经元就是神经细胞,它是动物的重要特征之一,在人体内从大脑到全身存在大约1010个神经元。
神经元的组成
细胞体:它是神经元的本体,内有细胞核和细胞质,完成普通细胞的生存功能。
树突:它有大量的分枝,多达103数量级,长度较短(通常不超过1毫米),用以接收来自其它神经元的信号。
轴突:它用以输出信号,有些较长(可达1米以上),轴突的远端也有分枝,可与多个神经元相连。
突触:它是一个神经元与另一个神经元相联系的特殊部位,通常是一个神经元轴突的端部靠化学接触或电接触将信号传递给下一个神经元的树突或细胞体。
人工神经网络基础
人工神经网络的生物原型—大脑
神经元间信号的传递
神经元间的信号通过突触传递。通过它,一个神经元内传送的冲击信号将在下一个神经元内引起响应,使下一个神经元兴奋,或阻止下一个神经元兴奋。
人工神经网络基础
人工神经网络的生物原型—大脑
神经元的基本工作机制
一个神经元有两种状态——兴奋和抑制
平时处于抑制状态的神经元,当接收到其它神经元经由突触传来的冲击信号时,多个输入在神经元中以代数和的方式叠加。
进入突触的信号会被加权,起兴奋作用的信号为正,起抑制作用的信号为负。
如果叠加总量超过某个阈值,神经元就会被激发进入兴奋状态,发出输出脉冲,并由轴突的突触传递给其它神经元。
神经元被触发后有一个不应期,在此期间内不能被触发,然后阈值逐渐下降,恢复原来状态。
人工神经网络基础
人工神经网络的生物原型—大脑
神经元的基本工作机制
神经元是按照“全或无”的原则工作的,只有兴奋和抑制两种状态,但也不能认为神经元只能表达或传递二值逻辑信号。
神经元兴奋时往往不是只发一个脉冲,而是发出一串脉冲,如果把一串脉冲看成是一个调频信号,脉冲的密度是可以表达连续量的。
人工神经网络基础
人工神经网络的生物原型—大脑
大脑及大脑皮层的结构
研究证明,大脑中大约有1000个不同的模块,每个模块包含有50*106个神经元。
我们可以假设每个模块就是众多神经网络中的一类。
大脑的主要计算机构是大脑皮层,在其断面上一般有3~6层神经细胞排列,大约10万个神经元组成一组。
在一个典型的脑模型中,大约有500个神经网络进行计算工作,平均一个神经元向其它神经元发出2000个突触。
不同层间神经元的连接方式有平行型、发散型、收敛型和反馈型,这些连接的强度是随机的,随着对外部世界的响应而逐渐形成。
人工神经网络基础
人工神经网络的生物原型—大脑
总之,大脑中神经网络的结构是极其复杂的,其工作机理仍未完全搞清。
认知器模型的发明者Kunihiko Fukushima描述了建立人工神经网络模型的原则:
“我们试图忠实地遵循生理的证据。我们分析或模拟所建模型的性能,并将它与大脑的某种性能进行比较。如果我们发现模型与大脑在性能方面的差异,我们就变化我们的初始假设和修改模型……,并重复这一过程直到模型的性能与大脑的性能具有相同的方式。”
人工神经网络基础
人工神经网络处理单元
处理单元(PE)就是人工神经元,也称为结点,通常用圆圈表示。
人工神经网络基础
人工神经网络处理单元
处理单元的结构和功能与生物神经元有类似之处,可以说是生物神经元的一阶近似。
处理单元只模拟了生物神经元所能执行的150多个处理功能中的若干个。
处理单元的功能
对每个输入信号进行处理以确定其强度(加权);
确定所有输入信号的组合效果(求和);
确定其输出(转移特性)。
人工神经网络基础
人工神经网络处理单元
对生物神经元的模拟
就像生物神经元中有很多输入(激励)一样,处理单元也有很多输入信号,并且同时加到处理单元上,处理单元以输出作为响应。
处理单元的输出像实际神经元一样,输出响应不但受输入信号的影响,同时也受内部其它因素的影响。
内部因素:内部阈值或一个额外输入(称为偏置项)
人工神经网络基础
人工神经网络处理单元
对生物神经元的模拟
处理单元的每一个输入都经过相关的加权,以影响输入的激励作用,这有些像生物神经元中突触的可变强度,它确定了输入信号的强度,一般把它看作连接强度的测度。
处理单元的初始加权可以根据确定的规则进行调解修正,这也像生物神经元中的突触强度可受外界因素影响一样。
人工神经网络基础
人工神经网络处理单元
处理单元的基本结构和功能
人工神经网络基础
人工神经网络处理单元
处理单元的基本结构和功能
输入信号来自外部(用黑色圆点表示输入端点)或别的处理单元的输出,在数学上表示为行向量x
x = (x1, x2,…, xN)
其中xi为第i个输入的激励电平,N表示输入数目。
人工神经网络基础
人工神经网络处理单元
处理单元的基本结构和功能
连接到结点j的加权表示为加权向量
Wj=(W1j, W2j,…, WNj)
其中Wij表示从结点i(或第i个输入点)到结点j的加权,或称i与j结点之间的连接强度。
人工神经网络基础
人工神经网络处理单元
处理单元的基本结构和功能
考虑到内部阈值θj,用x0=-1的固定偏置输入点表示,其连接强度取W0j= θj。于是,可得输入的加权和为
人工神经网络基础
人工神经网络处理单元
处理单元的基本结构和功能
如果向量x和Wj分别包含了x0和W0j,则有
x = (x0, x1,…, xN)
Wj=(W0j, W1j,…, WNj)
人工神经网络基础
人工神经网络处理单元
处理单元的基本结构和功能
于是sj可表示为x和Wj的点积或内积
sj= x•Wj
这一结果是标量,它由两个向量的内积得到,可以作为两个向量相似程度的测量。
如果向量处于相同的方向,则其内积最大;
如果向量处于相反的方向,则其内积最小。
人工神经网络基础
人工神经网络处理单元
处理单元的基本结构和功能
处理单元的激励电平sj通过一个转移函数F(•),得到处理单元的最后输出值yj
人工神经网络基础
人工神经网络处理单元
转移函数
转移函数F(•)也称激励函数、传输函数或限幅函数,其作用就是将可能的无限域变换到一指定的有限范围内输出,这类似于生物神经元具有的非线性转移特性。
常用的转移函数
线性函数
斜坡函数
阶跃函数
符号函数
Sigmoid函数
双曲正切函数
人工神经网络基础
人工神经网络处理单元
线性函数
人工神经网络基础
人工神经网络处理单元
线性函数
最简单的转移函数
y = F(s) = ks
其中y为输出值,s为输入信号的加权和,k是一个常数,表示直线的斜率。
人工神经网络基础
人工神经网络处理单元
斜坡函数
人工神经网络基础
人工神经网络处理单元
斜坡函数
当线性函数值限定在(-r r)的范围内时,线性函数就变为非线性斜坡函数。
r和-r分别是处理单元的最大值和最小值,称为饱和值,一般|r|=1。
人工神经网络基础
人工神经网络处理单元
阶跃函数
人工神经网络基础
人工神经网络处理单元
阶跃函数
硬限幅函数的一种
人工神经网络基础
人工神经网络处理单元
符号函数(sgn(•))
人工神经网络基础
人工神经网络处理单元
符号函数(sgn(•))
硬限幅函数的一种
人工神经网络基础
人工神经网络处理单元
Sigmoid函数
人工神经网络基础
人工神经网络处理单元
Sigmoid函数
S型函数的一种
y = F(s) = 1/(1+e-s)
人工神经网络基础
人工神经网络处理单元
可以把该型函数看作为处理单元定义了一个非线性增益,增益的大小决定于曲线在给定s点的斜率。
当s由负无穷增到0时,增益由0增至最大;
当s由0增到正无穷时,增益又由最大返回到0。
Grossberg在1973年发现,用该函数可使同一网络既能处理小信号,也能处理大信号。
该函数的中间高增益区解决了处理小信号的问题;
伸向两边的低增益区正好适合于处理大的激励信号;
这种现象正像生物神经元在输入电平范围很大的情况下能正常工作一样。
人工神经网络基础
人工神经网络处理单元
双曲正切函数
人工神经网络基础
人工神经网络处理单元
双曲正切函数
S型函数的一种
y = tand(s)=(es- e-s)/(es+e-s)
相对于Sigmoid函数,它是原点对称的。
当s=0时有y=0,即同时具有双级输出。
当要求输出(-1 1)范围的信号时,它常被采用。
人工神经网络基础
人工神经网络处理单元
讨论
人工神经网络处理单元是生物神经元的简单近似,在模仿生物神经网络时,具备了生物神经元的某些特性。
至于模仿效果,还需进一步研究,修改模型。
人工神经网络处理单元忽略了生物神经元的很多特征。
它没有考虑影响系统动态特性的时间延迟,而认为一个输入立即产生一个输出。
它没有包括同步机能和神经元的频率调制功能的影响。
其它未知的生物神经元的功能和特性。
人工神经网络基础
人工神经网络的拓扑结构
虽然单个处理单元可以处理简单的图形检测功能,但更强的识别处理能力是来自多个结点“连成”的网络,即人工神经网络。
这里的“连成”,是靠输入至结点或者结点至结点间的信号传输通路实现的,这一通路相当于生物神经系统中的轴突和突触,它们影响着输入信号。
以后我们把这种信号传输通路称为“连接”,每一个连接都具有一个加权值,称为“连接权”,反映连接的强度。
人工神经网络基础
人工神经网络的拓扑结构
单层网络
最简单的网络是把一组结点形成一层。
左边的黑色圆点只起着分配输入信号的作用,没有计算作用,不看作是网络的一层。
右边用圆圈表示的一组结点被看作一层。
人工神经网络基础
人工神经网络的拓扑结构
单层网络
输入信号表示为行向量:x = (x1, x2,…, xN),其中每一分量通过加权连接到各结点。
每一个结点均可产生一个加权和。
输入和结点间采用全连接,并且都是前馈连接。
实际的人工神经网络和生物神经网络中有些连接可能不存在。
人工神经网络基础
人工神经网络的拓扑结构
单层网络
在这种单层网络中,可把各加权表示为加权矩阵W。
矩阵的维数是N x n,N是输入信号向量(也称输入图形)的分量数,n是该层内的结点数。
由第三个输入连接到第二个结点的连接权表示为W32。
人工神经网络基础
人工神经网络的拓扑结构
单层网络
输入信号的加权和表示为:
s是各结点加权和的行向量,s=(s1, s2,…, sn)。
输出向量 y=(y1, y2,…, yn),其中yj=F(sj)。
人工神经网络基础
人工神经网络的拓扑结构
多层网络
一般来说,大而复杂的网络能提供更强的计算能力。
虽然目前已构成了很多网络模型,但它们的结点都是按层排列的,这一点正是模仿了大脑皮层中的网络模块。
多层网络是由单层网络进行级联构成的,即上一层的输出作为下一层的输入。
人工神经网络基础
人工神经网络的拓扑结构
多层网络
两层网络(前馈全连接网络)
人工神经网络基础
人工神经网络的拓扑结构
多层网络
三层网络(前馈全连接网络)
人工神经网络基础
人工神经网络的拓扑结构
多层网络
注意:在构成多层网络时,层间的转移函数应是非线性的,否则多层网络的计算能力并不比单层网络强。
在线性转移函数的情况下,两层网络输出的计算是第一层的输出xW1作为第二层的输入,通过第二个加权矩阵得到网络的输出
y=(xW1) W2=x(W1W2)
这表明两层线性网络等效于单层网络,只是后者的加权矩阵为两个加权矩阵的乘积。
人工神经网络基础
人工神经网络的拓扑结构
多层网络
多层网络中,接收输入信号的层称为输入层。
它不计入网络层数,因为它只起着输入信号缓冲器的作用,没有处理功能。
产生输出信号的层称为输出层。
除此之外的中间层称为隐藏层(或隐蔽层),它不直接与外部环境打交道。
隐藏层的层数可从零到若干层。
实际情况中,层与层之间可能有部分连接的情况。
人工神经网络基础
人工神经网络的拓扑结构
回归型网络(反馈网络)
一般来说,凡包含反馈连接的网络均称为回归型网络,或称反馈网络。
一层反馈网络
人工神经网络基础
人工神经网络的拓扑结构
回归型网络(反馈网络)
一层反馈网络中,连接均限于一层之内,这种连接称为层内连接或层内横向反馈连接。
相对于一层反馈网络的为多层反馈网络,其连接不限于一层之内。
人工神经网络基础
人工神经网络的拓扑结构
回归型网络(反馈网络)
二层反馈网络
人工神经网络基础
人工神经网络的拓扑结构
非回归型网络与回归型网络(反馈网络)的比较
非回归型网络不需存储记忆,它的输出只是由当前的输入和加权值确定。
而在反馈网络中,要将以前的输出循环返回到输入,所以其输出不但取决于当前的输入,还要取决于以前的输出。
反馈网络类似于人类的短期记忆,即网络的输出状态部分取决于以前的输入,是一类广泛应用的网络。
人工神经网络基础
存储和回忆
存储就是将信息或图形存在某种存储器中,而回忆则是将已存储的信息按某种方式恢复出来。
为了与人类大脑的功能类比,我们把这种信息的恢复称为回忆。
人工神经网络基础
存储和回忆
人工神经网络中存储图形的类型
在计算机中,数据和信息是存放在存贮器中(RAM或ROM),以8比特字节作为存储单位。
在人工神经网络中,信息或图形不再限定为8比特,它是多维的二进制数据或连续信息。
人工神经网络基础
存储和回忆
人工神经网络中存储的两类图形
空间图形的存储
存储单个空间静态图像,如一幅画面。
时空图形的存储
存储一系列随时间变化的图像,比如电影。
我们讨论的人工神经网络存储的图形大多是空间图形,因它是构成时空图形的基础。
人工神经网络基础
存储和回忆
人工神经网络中图形的存储
人工神经网络中的图形存储器与计算机中存储器的差别
在计算机中,一般采用RAM,将数据信息存在确定地址的存储单元内,有了地址就可检索数据。
在人工神经网络中,则是用内容寻址存储器和联想存储器来存储图形信息。
人工神经网络基础
存储和回忆
人工神经网络中图形的存储
内容寻址存储器
它是在人工神经网络的训练过程中形成的,相当于通过训练将信息存储在加权矩阵W中。训练一旦完成,数据就相当于变换到加权矩阵的稳定状态中,因此这种存储是长期存储。
联想存储器
它是在人工神经网络的回忆操作中出现的。当对网络输入激励信号时,作为回忆结果,网络的输出给出一个响应状态。这一响应状态实际上也相当于一个所需的存储数据(响应),因此这种存储为短期存储。
人工神经网络基础
存储和回忆
回忆的概念
回忆是人类智能的一个主要特征,要想回忆某个人或某件事,通常可通过联想进行。
当看到一本书的封面颜色和作者时,会联想到这是一本什么书(书的内容)。
当丢失东西时,可以通过联想到过什么地方,做过什么事情,最后回忆起把东西放在什么地方。
这两种情况都有一个特点,就是不管是哪本书,还是与东西有关的地点和事情,都是经历过的,相应的记忆才有可能联想出所需的结果。
人工神经网络基础
存储和回忆
回忆的概念
联想的两种方式
自联想:由本身的部分特征联想起整个事物的全部特征。
他联想:由一件事情联想到另一件事情。
在人工神经网络中,回忆操作也有两种联想变换
自联想变换
他联想变换
人工神经网络基础
存储和回忆
回忆的概念
自联想变换
要求通过训练已在W中的存储向量图形A1, A2,…, Ap来实现。
该变换可由失真或缺损的向量图形Ai’ (i=1,2,…,p),联想回忆Ai,即当Ai’ 为输入激励时,能得到输出响应Ai。
人工神经网络基础
存储和回忆
回忆的概念
他联想变换
要求通过训练已在W中的存储向量图形对(A1, B1), (A2, B2),…, (Ap, Bp)来实现。
对这种网络,联想回忆是从激励A1, A2,…, Ap(可能是失真的或不完善的)获得B1, B2,…, Bp的响应(或相反),即
人工神经网络基础
存储和回忆
回忆的概念
在他联想变换中,可以定义两种基本的回忆机制
最近邻回忆
内插回忆
人工神经网络基础
存储和回忆
回忆的概念
最近邻回忆
寻找与外部激励Ai’最佳匹配的(距离最近的)已存储的输入,并按这一输入求得相应的输出,即 ,其中Ai’与Ai有如下关系:
这里d(•)可指Ai’与Ai间的欧式距离。
人工神经网络基础
存储和回忆
回忆的概念
内插回忆
是在接受一个输入激励时,从已存储的输入图形集中找到一个内插值,并从该输入的内插值得到一个相应的内插输出。
假如内插是线性的,则可表示为
其中A’和B’可由图形对(Ai, Bi)和(Ai+1, Bi+1)内插得到,即 且 。
人工神经网络基础
存储和回忆
回忆的概念
在人工神经网络中,不管是自联想回忆还是他联想回忆,信息的回忆方式有两种。
前馈回忆
反馈回忆
人工神经网络基础
存储和回忆
回忆的概念
前馈回忆
输入激励只需通过一次存储矩阵就可产生所需的响应。
人工神经网络基础
存储和回忆
回忆的概念
反馈回忆
输入激励通过存储矩阵W产生响应,该响应作为激励再反馈通过W,这样依次循环,直到激励和响应停止变化为止,即得到所要求的响应。
人工神经网络基础
人工神经网络的训练(学习)
人工神经网络的最主要特征之一是它可以学习。任何一个人工神经网络模型要实现某种功能的操作,就必须对它进行训练,让它学会要做的事情,并把这些知识记忆(存储)在网络的加权中。
学习或训练的实质就是加权矩阵随外部激励(环境)做自适应的变化。
人工神经网络基础
人工神经网络的训练(学习)
因为学习和训练的实质是变动加权值,因此很多文献中学习和训练的概念是混用的。严格来说,两者是有区别的,训练通常是指调整网络加权的操作动作和过程,这个过程对网络来讲就是学习。
比如举办一个训练班对学生进行某种技能的训练,对学生来讲,它是在该班内学习。
人工神经网络基础
人工神经网络的训练(学习)
人工神经网络被训练后,它每加入一组输入就会产生一组要求的输出。
一组输入(或输出)就是所谓的向量或图形。
训练就是相继加入输入向量,并按预定规则调整网络加权。
在进行训练后,网络的各加权都收敛到一个确定值,以便每个输入向量都会产生一个要求的输出向量。
调整加权所遵循的预定规则就是训练算法。
有指导的训练
无指导的训练
人工神经网络基础
人工神经网络的训练(学习)
有指导的训练
对有指导的训练算法,不但需要训练用的输入向量,同时还要求与之对应的表示所需要输出的目标向量。
输入向量与对应的目标向量一起称作一个训练对。通常训练一个网络需要很多训练对,这些训练对组成训练组。
当加上一个输入向量时,要计算网络的实际输出,并同相应的目标向量做比较,根据比较结果的误差,按规定的算法改变加权。
把训练组中的每个向量对相继加入,对每个向量都计算误差并调节加权,直到训练组中的误差都达到可接受的最低值为止。
人工神经网络基础
人工神经网络的训练(学习)
无指导的训练
无指导的训练不要求有目标向量,网络通过自身的“经历”来学会某种功能。
人们发现在幼儿的早期发育中,存在有自组织的能力,据此,认为无指导的训练是在生物上更有道理的训练算法。
1984年,Kohonen等人提出了无指导的训练算法。
人工神经网络基础
人工神经网络的训练(学习)
无指导的训练
因为无指导的训练不要求输出的目标向量,因此无需比较产生控制误差。训练组织只是由输入向量组成。
训练算法也修改网络的加权,使得产生的输出具有某种可理解的规律性。
比如,训练组的某两个向量非常类似时,它们将会产生相同的输出。
人工神经网络基础
人工神经网络的训练(学习)
无指导的训练
这个训练过程实质上是抽取训练组的某种统计特性,并把输入向量按图形类似程度分为不同的类别。
从给定的一类中取一个向量加到网络上,它将产生一个特定的输出。
在训练之前,没有办法知道哪种类型的输入向量将产生哪种特定的输出,但通过这种训练,网络的输出总是变换为一个可理解的序列形式。
人工神经网络基础
人工神经网络的训练(学习)
训练算法
目前应用的训练算法很多,其中有很大部分是早期的Hebb算法的变形。
人们仍在以生物学习训练的模式作为目标,继续探索新的算法。
可以相信,真正的生物学习训练过程肯定比目前常用的训练算法复杂得多。
人工神经网络基础
人工神经网络的训练(学习)
训练算法之一 — Hebb算法
Hebb算法是由Donald Hebb提出的一种最早的训练算法。
Hebb认为,如果源和目的神经元都被激活(或抑制),它们之间的突触的强度就会增强。
人工神经网络基础
人工神经网络的训练(学习)
训练算法之一 — Hebb算法
人工神经网络中Hebb算法的简单描述:
如果一个处理单元从另一个处理单元接收激励信号,而且两者处于相同的激励电平(数学上具有相同的符号),那么处理单元之间的加权就应当增强。
人工神经网络基础
人工神经网络的训练(学习)
训练算法之一 — Hebb算法
人工神经网络中Hebb算法的简单描述:
按数学表示,就是两结点的连接权将按两结点的激励电平的乘积来改变
其中,Wij(n)是第(n+1)次调节前从结点i到结点j的连接权值; Wij(n+1)是第(n+1)次调节后从结点i到结点j的连接权值;η为训练速率系数;yi为结点i的输出,并输入到结点j; yj为结点j的输出。
人工神经网络基础
人工神经网络的训练(学习)
训练算法之二 — σ训练算法
这种算法的基本思路是:按差值( σ值)最小准则连续地修正各连接权的强度。
所谓差值最小,就是指处理单元所要求的输出与当前实际输出间的差值,靠调节各加权以达到最小。
该算法也称为Widdrow-Hoff训练算法或最小均方(LMS)算法。
人工神经网络基础
人工神经网络的训练(学习)
训练算法之三 — 梯度下降算法
这是将数学上的优化方法用于使要求的输出与实际输出之差最小。
在该方法中,加权的修正量正比于误差对加权的一阶导数,数学表示如下:
其中,E是描述误差的误差函数,Wij(n)是结点i到结点j的连接权,η为训练速率系数。
σ训练算法是梯度下降算法的一个特例。
该算法收敛到稳定点较慢,但它是一种比较有效和普遍应用的训练算法。
人工神经网络基础
人工神经网络的训练(学习)
训练算法之四 — 随机训练算法
该算法利用了随机过程,用概率和能量关系来调节连接权。
基本思路:在训练过程中,随机改变一个权值,确定权值改变后产生的最终能量,并按如下准则来确定是否保留此加权的变化。
若改变加权后,人工神经网络的能量降低了,则保留着一改变。
若改变加权后,能量没有降低,则根据一个预选的概率分布来保留这一改变。(这一步的目的是为了保证人工神经网络能够获得全局能量最小点,而不是局部能量最小点。)
否则,拒绝这一改变,使权值恢复到原来的值。
典型的随机训练算法:模拟退火算法
人工神经网络基础
人工神经网络的训练(学习)
训练算法之五— Kohonen训练算法
它是Teuvo Kohonen受生物系统的启发而提出的,是无指导的训练算法。
在训练过程中处理单元均参与彼此竞争,具有最大输出的处理单元是获胜者。
获胜的节点具有抑制其竞争者的能力和激活其近邻结点的能力,只有获胜者和其近邻结点的加权才被允许调节。
获胜者的近邻结点的范围在训练中是可变的。
训练开始时,一般将近邻范围取得较大。
随着训练的进行其近邻范围逐渐缩小。
人工神经网络基础
人工神经网络的稳定性和收敛性
不论是训练操作还是回忆操作,人工神经网络的状态总是变化的。
所谓人工神经网络的状态,是指人工神经网络所有结点的输出信号值,状态变化可以指某个结点的状态发生变化,也可指所有结点的状态发生变化。
人工神经网络的这种动态特性受两种性能的约束
系统的稳定性
系统的收敛性
人工神经网络基础
人工神经网络的稳定性和收敛性
人工神经网络的稳定性
系统的稳定性定义为一种非线性动态系统,当在该系统上加入一个初始输入时,系统的状态发生变化,但最后达到一个固定点(收敛点或平衡点)。这些固定点就是存储信息的点。
虽然稳定的人工神经网络总能保证所有输入被映射到固定点,但不能保证该固定点就是所要求的固定点。
人工神经网络系统的稳定性是与反馈网络的回忆操作相联系的。
这种反馈网络的稳定性可用李亚普诺夫准则判定。
人工神经网络基础
人工神经网络的稳定性和收敛性
李亚普诺夫稳定性准则
所谓稳定的动态系统,就是其系统变量从某一个初始状态变化到最后达到稳定值的过程中,系统存储的能量随时间的增长而衰减,直至能量最小点为止。
要研究系统的稳定性,需要找到系统的李亚普诺夫能量函数,它是一个广义的能量函数(记作E)。
人工神经网络基础
人工神经网络的稳定性和收敛性
李亚普诺夫稳定性准则
设有一系统,其参变量为y=(y1, y2,…, yn),系统微分方程组为
李亚普诺夫准则描述如下:
对于一个非线性动态系统,能找到一个以Yi变量表示的能量函数E,对于所有输入y=(y1, y2,…, yn) ,如上述能量函数满足李亚普诺夫四个基本条件,则该系统的动态过程收敛,并判定为整体稳定。
人工神经网络基础
人工神经网络的稳定性和收敛性
李亚普诺夫四个基本条件
(1) Yi=0,如果yi=0,i=1,2,…,n,即Yi变量只在原点为零。
(2) Yi是全纯的,即在给定域内的任一点,其一阶导数存在。
(3)
式中t0和H均为常数,且H总是非零值,即在t>=t0时,yi总是有界的。
人工神经网络基础
人工神经网络的稳定性和收敛性
李亚普诺夫四个基本条件
(4)
对所有的i=1,2,…,n成立,这表明能量随着变量yi的变化总是减小的。
李亚普诺夫能量函数没有统一的规定,只要它具有能量的形式(如二次型),并满足系统的物理意义即可,因此,系统的能量函数E的形式不是唯一的。
人工神经网络基础
人工神经网络的稳定性和收敛性
人工神经网络的收敛性
系统的收敛性是指,在训练过程中输出结点的实际输出值与要求的输出值的误差,最后能达到可接受的最小值。
一般要求收敛过程迅速和精确,即输出能尽快趋于目标值。
收敛性是与有指导的训练操作相联系的,收敛过程严格依赖于所采用的具体训练算法和训练参数。
人工神经网络基础
小结
人工神经网络的原型 — 大脑
神经元的结构
神经元间的连接(突触)
生物神经网络的构成
人工神经网络模型
基本单元是人工神经元(即处理单元和结点),它是生物神经元的简单近似。
网络模型是仿照生物神经元的连接结构,将结点组合连接为层并将几个层组合在一起连接而构成的。
网络可分为单层网络和多层网络。
连接可分为层内横向连接、层间前馈连接和反馈连接。
人工神经网络基础
小结
人工神经网络模型的特性
具有较强的信息处理能力和存储能力
存储不像一般计算机将信息存入RAM或ROM,而是将信息存入网络的连接权或结点状态中。
两种信息存储方式
内容寻址存储器或长期存储器:网络通过训练操作将信息存入加权中。
联想存储器或短期存储器:当网络加一外部激励时,存储器就通过回忆操作产生输出响应,该响应反映在输出结点的状态上。
人工神经网络基础
小结
人工神经网络模型的两种基本操作
训练操作
各种训练算法,常用的有Hebb算法、σ规则算法、梯度下降算法、Kohonen算法和随机算法等。
训练算法分为有指导和无指导两类
有指导的算法存在收敛问题,一般要求收敛迅速而准确。
回忆操作
前馈回忆
反馈回忆
反馈回忆存在稳定性问题
为判定系统的稳定性,对人工神经网络常采用李亚普诺夫稳定准则,借助李亚普诺夫能量函数进行直观检查,如果能量函数随时间是衰减的,网络就是稳定的。
前馈神经网络
神经生理学和神经解剖学的研究表明,大脑中实际的神经网络一般具有层次结构,同时结点间的连接很多属于前馈连接,同时这种前馈连接构成的网络(前馈网络)学习过程比较容易,所以首先讨论前馈网络模型。
1958年心理学家Frank Rosenblatt及其合作者首先研究了这种前馈层次网络模型,将其称为感知器(Perception)。
前馈神经网络
感知器实例
简单感知器
前馈神经网络
感知器实例
两层感知器
前馈神经网络
在感知器模型中,输入向量x=(x1, x2,…, xN)通过各输入端点分配给下一层的各结点,这下一层称为中间层,它可以是一层,也可以是多层,最后通过输出层结点得到输出向量y=(y1, y2,…, yn)。
在这种前馈网络模型中,没有层内联接,也没有隔层的前馈联接,每一个结点只能前馈联接到其下一层的所有结点。
由于在早期对于含有隐蔽层的多层感知器没有可行的训练算法,所以初期研究的感知器是一层感知器(或称简单感知器,通常简称为感知器)。
由于多层网络具有较强的处理功能,因此人们一直致力于寻找多层网络的训练算法,直到Rumelhart等人提出完整的误差反传训练算法(BP算法),解决了多层网络的训练问题。
前馈神经网络
早期的人工神经网络 — 感知器
网络描述
该网络由N个输入和一个含有n个结点的输出层,没有隐蔽层。输入向量为x=(x1, x2,…, xN),输出向量为y=(y1, y2,…, yn),相应的加权向量为W1=(W11, W21,…, WN1), … Wj=(W1j, W2j,…, WNj),… Wn=(W1n, W2n,…, WNn) 。
对于结点j,其输入加权和sj为:
前馈神经网络
早期的人工神经网络 — 感知器
网络描述
对于结点j,其输出值yj为:
其中F(sj)为结点j的转移函数,如符号函数、线性函数和非线性函数等。具有不同转移函数的感知器,具有不同的功能。
前馈神经网络
早期的人工神经网络 — 感知器
网络描述
一般感知器的功能是实现他联想,即当给定一个输入激励xk,就产生一个实际的响应yk
要求yk等于所需的目标向量
对第k个输入向量在结点j上应有 ,
其中
若定义P为训练组中输入输出对的数目,则k=1,2,…,P
前馈神经网络
早期的人工神经网络 — 感知器
网络描述
通常称感知器的他联想能力为功能表示能力。
感知器的功能表示能力是通过学习而记忆在加权W中的,这个特定的加权W是通过有指导的训练得到的。
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
处理单元的转移函数采用符号函数 F(S)=sgn(S)
一个结点的结构图
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
网络的输入可以是连续值,也可以是二进制数。
网络的输出有两种状态
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
此时处理单元实际上是输入信息的分类器,判决输入信息属于两类中的哪一类(A或B类)。
当输入向量为两个分量时,它构成平面上的两维集,此时判决界是一条直线。
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
当输入向量为三个分量时,它构成三维信号集,此时判决界是一个平面。
当输入向量为多个分量时,它构成多维信息空间,此时判决界是一个多维面。
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
感知器实现逻辑“与”的功能
逻辑“与”的真值表
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
感知器实现逻辑“与”的功能
因只有两个输入,构成二维空间。
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
感知器实现逻辑“与”的功能
通过真值表中的4个输入输出对,训练调节对应的加权W1、W2和阈值θ,可得表示“与”动能的感知器。
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
感知器在表示能力方面存在局限性,有很多功能,不管如何调节加权和阈值,也不能被识别或表示。
“异或问题”
逻辑“异或”的真值表
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
感知器不能实现逻辑“异或”的功能
因只有两个输入,构成二维空间。
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
感知器不能实现逻辑“异或”的功能
要实现“异或”功能,要求A类在直线的一边,B类在直线的另一边,这显然是不可能的,因为它是线性不可分的。这意味着不管如何改变参数W1、W2和θ都不能使单层感知器产生“异或”功能。
对于线性不可分的功能,训练中找不到一条直线(或多维判决界面)将A和B两类分开,使得加权总是来回摆动,不能收敛到一个确定的判决界,此时,训练是不收敛的。
要想用感知器表示某种功能,必须知道这种功能是否是线性可分的。
遗憾的是,并没有通用的办法来确定这种线性可分性(尤其是当输入分量很大时)。
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
感知器的训练算法
它是有指导的训练,其指导就是输入向量时所要求的输出目标值。
训练的基本思路
将输入向量加到网络上,对每个输入向量计算相应的输出;
如果计算的输出就是要求的输出,则保持联到该结点的加权值不变;
如果计算的输出不是要求的输出,则按照Hebb规则修改各加权值,即每个加权的修正量正比于该加权对应的输入和输出的乘积。
前馈神经网络
早期的人工神经网络 — 感知器
符号单元
感知器的训练算法
感知器训练算法的关系式推导
感知器训练算法
[例子:感知器实现逻辑“与”的功能]
讨论
经过有限次迭代可使误差达到最小,即δ=0。
收敛的速度(迭代次数)与初始条件W(0)、θ和η有关,收敛后的权值也不是唯一的。
在实际中θ并不指定,可以作为偏置加权同其它加权一样参与训练调整。
作业和编程
试用感知器算法实现逻辑“或”的功能(初始加权值、阈值和训练速率系数可自己设定)。
试编写一程序,用感知器算法实现逻辑“与”(如例题)或逻辑“或”(如上题)的功能。(可选)
前馈神经网络
早期的人工神经网络 — 感知器
线性单元
具有连续转移函数的感知器,转移函数是线性函数,且是处处可微的。
为了导出训练算法,可采用优化技术,使输出误差最小,从而达到系统最佳性能。
优化函数:梯度下降法
前馈神经网络
早期的人工神经网络 — 感知器
线性单元
线性单元描述
加权的直接求解法
对一个线性网络,可用求解线性方程的办法求其加权值。
方程描述
σ规则训练算法
借助于梯度下降法,从任意起始点开始调解网络的加权,当所有加权调到最佳时,网络的实际输出值与要求的目标值的差值达到最小。
σ规则训练算法描述
前馈神经网络
早期的人工神经网络 — 感知器
线性单元
σ规则训练算法和感知器算法比较
虽然算法的表达式相同,但σ规则训练算法是基于梯度算法得到的,它要求连续的转移函数,很容易推广到多层网络;而感知器算法是基于Hebb假设得到的,无上述特性。
两种算法的有解(实现功能表示)条件不同。
感知器算法是线性可分性
σ规则训练算法是线性独立的。
前馈神经网络
早期的人工神经网络 — 感知器
非线性单元
转移函数是非线性函数,且是处处可微的。
加权求解描述
Sigmoid函数情况
前馈神经网络
误差反传训练算法(Back Propagation,简称BP算法)
它是有指导训练的前馈多层网络训练算法,是靠调节各层的加权,使网络学会由输入输出对组成的训练组。
类似于感知器中线性单元和非线性单元的训练算法,执行优化的基本方法仍是梯度下降法。
BP算法是使用非常广泛的一种算法,最常用的转移函数是Sigmoid函数。
前馈神经网络
误差反传训练算法
两层网络的描述
符号描述
训练组输入输出对:{xik, Tjk}
输出结点的输出: yjk
隐蔽层结点的输出: yhk
输入信号: xik
由输入层结点至隐蔽层结点的加权表示:Wih
由隐蔽层结点至输出层结点的加权表示: Whj
下标i、h、j分别表示某一输入结点、隐蔽层结点和输出结点,上标k表示训练对的序号,k=1,2,…,P。
xik既可以是二进制值,也可以是连续值。
输入端点数目为N。
前馈神经网络
误差反传训练算法
两层网络的描述
推算过程
前馈神经网络
误差反传训练算法
两层网络的描述
每一层误差值σ的求取
输出层 可直接计算,因此误差值σjk很容易得到
对前一隐蔽层没有直接给出目标值,不能直接计算Δhk ,需要利用输出层的σjk计算: ,算出Δhk 后, σhk也就求出了。
若前面还有隐蔽层,用σhk再按上述方法计算Δlk 和σlk ,以此类推,一直将输出误差σ推算到第一隐蔽层为止。
各层的σ求得后,各层的加权调解量即可按公式ΔWpq= σoyin求得。
由于误差σjk相当于由输出向输入反向传播,所以这种训练算法成为误差反传算法(BP算法)。
前馈神经网络
误差反传训练算法
隐蔽层δ的计算方法示意图
采用Sigmoid函数时δ的推算
前馈神经网络
误差反传训练算法
BP训练算法实现步骤
讨论
网络层次的选择
对多层网络要确定选用几个隐蔽层。
Heche-Nielsen证明,当各结点具有不同的阈值时,具有一个隐蔽层的网络可以表示其输入的任意函数,但由于该条件很难满足,该结论意义不大。
Cybenko指出,当各结点均采用S型函数时,一个隐蔽层就足以实现任意判决分类问题,两个隐蔽层则足以实现输入向量的任意输出函数。
网络层次的选取依经验和情况而定,通常不宜过多。
前馈神经网络
误差反传训练算法
讨论
层内结点数的确定
BP网络中各层结点数的选择对网络的性能影响很大。
对输出结点,它取决于输出的表示方法和要识别(或分类)的输入向量的类别数目。
比如要输出能表示8个不同向量的分类,可以用8个输出结点,一个结点表示一类,也可以采用三个输出结点,用它们的二进制编码表示8个不同的分类。
如果用了编码方式,会减少输出结点的数量,但会增加隐蔽层的附加工作以完成编码功能,甚至有时需增加一个隐蔽层以满足要求。
前馈神经网络
误差反传训练算法
讨论
层内结点数的确定
对输入结点,输入层的结点数通常应等于输入向量的分量数目。
对隐蔽层结点数的选择,Nielson等指出:
除了图像情况,在大多数情况下,可使用4-5个隐蔽层结点对应一个输入结点。
在图像情况下,像素的数目决定了输入结点的数目,此时隐蔽层结点可取输入结点数的10%左右。
隐蔽层的结点数取得太少,网络将不能建立复杂的判决界面;取得太多,会使得判决界面仅包封了训练点而失去了概括推断的能力。
隐蔽层结点数的选择要根据实际情况和经验来定。
前馈神经网络
误差反传训练算法
BP训练算法存在的问题
尽管BP训练算法应用得很广泛,但其训练过程存在不确定性。
完全不能训练
网络的麻痹现象
局部最小
训练时间过长,尤其对复杂问题需要很长时间训练。
选取了不适当的调节阶距(训练速率系数η)。
前馈神经网络
误差反传训练算法
BP训练算法存在的问题
网络的麻痹现象
在训练过程中(如采用Sigmoid函数),加权调得较大可能迫使所有的或大部分的加权和输出sj较大,从而使得操作会在S型函数的饱和区进行,此时函数处在其导数F’(s)非常小的区域内。
由于在计算加权修正量时,σ正比于F’(s),因此当F’(s)->0时σ ->0, 这使得 ,相当于调节过程几乎停顿下来。
前馈神经网络
误差反传训练算法
BP训练算法存在的问题
局部最小
BP训练算法实际上采用梯度下降法,训练过程从某一起始点沿误差函数的斜面最陡方向逐渐达到最小点E->0。
对于复杂的网络,其误差函数面在多维空间,其表面可能凹凸不平,因而在训练过程中可能会陷入某一个小谷区,称之为局部最小点。
由此点向各方向变化均使E增加,以致无法逃出这个局部最小点。
前馈神经网络
误差反传训练算法
BP训练算法存在的问题
局部最小
局部最小点示意图
前馈神经网络
误差反传训练算法
BP训练算法存在的问题
局部最小
初始随机加权的大小对局部最小的影响很大。如果这些加权太大,可能一开始就使网络处于S型函数的饱和区,系统就很有可能陷入局部最小。
一般来说,要避免局部最小点可采用统计训练的方法。
随机神经网络
前馈神经网络
误差反传训练算法
BP训练算法存在的问题
阶距(训练速率系数η)大小
如果η选得太小,收敛会很慢;
如果η选得太大,可能出现连续不稳定现象。
需按照实验和经验确定η。
可取η值为~1
Wasserman曾提出自适应的阶距算法,在训练过程中自动调节阶距的大小。
前馈神经网络
误差反传训练算法
讨论:BP训练算法的改进
附加冲量项
该方法是为每个加权调节量加上一个正比于前次变化量的值,即每次加权调节完成后,记住该调节量,以便在下面的调节中使用。
附加有冲量项的加权调节公式为:
其中α为冲量系数
前馈神经网络
误差反传训练算法
讨论:BP训练算法的改进
附加冲量项
加入冲量项可起到缓冲平滑的作用,若系统进入误差函数面的平坦区,则δq->0,于是
通过调整α可使调节尽快逃离饱和区。
前馈神经网络
误差反传训练算法
讨论:BP训练算法的改进
改进误差函数
前面定义的误差函数是二次项函数,但这不是唯一的选择,可以通过选用其它的函数来代替。
所选函数应在Tj=yj时达到最小,此时导出的BP算法除输出层的δj不同外,其它各层与基本BP算法相似。
例如,可选如下误差函数以克服网络麻痹现象:
前馈神经网络
误差反传训练算法
讨论:BP训练算法的改进
自适应参数变化
调节参数的准则是检查某特定加权的修正是否确实降低了误差函数。
如果不是,而是产生了过调,则η应该减小。
如果连续几部迭代都降低了误差函数,则表明所选的η值可能太保守了,应将η增加一个量。
经验表明,η的增加量最好是一个常数,但η的减小应按几何规律减少。
前馈神经网络
误差反传训练算法
讨论:BP训练算法的改进
自适应参数变化
例如,一种自适应关系可为:
其中,a和b是适当的常数
前馈神经网络
小结
前馈网络是最早开发的人工神经网络,由于历史条件的限制,早期研究的多是单层网络(感知器)或类似的网络,虽然有过成功的应用,但其功能表示能力是有限的。
为克服单层网络的限制,开发了多层网络,其中最典型的训练算法就是BP训练算法,它使多层网络的应用范围大大扩展。
BP训练算法也存在一些不大令人满意的地方,如在训练过程中,有时会陷入局部最小,或收敛太慢,甚至出现“麻痹现象”等。
克服这些问题也是人工神经网络的研究问题之一。
反馈神经网络
按照神经网络运行过程中的信息流向分类:
前馈网络
通过许多具有简单处理能力的神经元的复合作用,使整个网络具有复杂的非线性映射能力。
反馈网络
通过网络神经元状态的变迁,最终稳定于某一状态,得到联想存储或神经计算的结果。
典型的(应用广泛的)反馈神经网络
Hopfield网络
反馈神经网络
Hopfield网络(离散型)
网络拓扑结构及描述
反馈神经网络
Hopfield网络(离散型)
网络运行方式
Hopfield网络为一层结构的反馈网络,能处理双极型离散数据(即输入x属于{-1, +1})或二进制数据(即输入x属于{0, +1})。
当网络经过适当训练后,可以认为网络处于等待工作状态。
对网络给定初始输入x时,网络处于特定的初始状态。由此初始状态开始运行,可得到网络的输出(即网络的下一个状态)。
这个输出状态通过反馈连接送到网络的输入端,作为网络下一阶段运行的输入信号。该信号可与初始输入信号x不同。
反馈神经网络
Hopfield网络(离散型)
网络运行方式
由这个新的输入又可得下一步的输出,该输出也可能与上一步的输出不同。如此下去,网络的整个运行过程就是上述反馈过程的重复。
如果网络是稳定的,则随着多次反馈运行,网络状态的变化逐渐减少,最后不再变化,达到稳态。此时由输出端可得到网络的稳定输出。
运行过程的公式表达
反馈神经网络
Hopfield网络(离散型)
网络运行过程中神经元的两种演变形式
异步更新
在任一时刻t,只有某一个神经元Nj的状态发生了改变,其余神经元的状态保持不变,则称为异步更新。
数学表示
若以某种确定的次序选择神经元Nj,使其发生此变化,则称为顺序更新;
若以某种预先设定的概率选择神经元Nj,使其发生此变化,则称为随机更新;
反馈神经网络
Hopfield网络(离散型)
网络运行过程中神经元的两种演变形式
同步更新
在任一时刻t,更新的神经元数目多余一个,则称为同步更新。
特殊情况下,所有神经元都同时更新,则称为全并行工作方式的更新。
数学表示
反馈神经网络
Hopfield网络(离散型)
网络运行过程中状态变迁的相关概念
网络的稳定性
若网络从初始状态v(0)开始,经过有限时间t后,网络的状态不再发生变化,即
则称网络是稳定的。
反馈神经网络
Hopfield网络(离散型)
网络运行过程中状态变迁的相关概念
网络的吸引子
设t=0时对网络输入模式x,网络处于状态v(0),而在时刻t,网络到达状态v(t)。若v(t)是稳定的,则称v(t)为网络的稳定吸引子,否则称v(t)为非稳定吸引子。
在非稳定吸引子的情况下,若网络状态有规律地在某些状态之间振荡,则称网络处于有限环(limited circle)状态;若网络状态无规律地在某些状态之间振荡,则称网络处于混沌(chaos)状态。
吸引子的吸引域
对于某些特定的初始状态,网络按一定的运行规则最后可能都稳定在同一个吸引子v(t)上,则称能够稳定在吸引子v(t)的所有状态集合为v(t)的吸引域。
反馈神经网络
Hopfield网络(离散型)
Hopfield网络是一种自联想记忆网络
网络存储及联想方法
首先把模式向量x1,x2,…,xp编码学习至网络的连接权矩阵W中,随后给出测试模式x,将其作为网络输入向量,让网络运行,且网络状态之间的转换服从如下演变方程:
反馈神经网络
Hopfield网络(离散型)
网络存储及联想方法
若网络已经过充分训练,则网络对于输入x稳定且联想正确。网络稳定后可在输出端得到最佳匹配xk 。
网络运行过程描述
学习阶段:形成W(与x1,x2,…,xp有关)
初始阶段:v(0)=x(假设输入x= xk )
运行过程:v(t+1)=sgn(v(t)W)
稳定输出:v= xk
反馈神经网络
Hopfield网络(离散型)
网络存储及联想方法
示意图
反馈神经网络
Hopfield网络(离散型)
网络训练
基本学习规则
网络最初建立时处于空白状态,只有使网络具有知识,网络才能具有对给定问题的联想能力。
学习过程就相应于形成连接权矩阵W的过程。
学习过程
[学习及联想实例]
随机神经网络
前面讨论的神经网络模型属于确定性的网络。
使用BP算法可以使多层前馈网络实现确定性的非线性映射。
应用Hebb学习规则(及其改进的学习方法)可以使反馈网络形成多个稳定吸引子。若网络以一定的初始状态开始运行,则经过确定性的状态转换,网络将最终稳定在吸引子上。
随机神经网络
前面讨论的神经网络模型属于确定性的网络。
所谓确定性网络,一般来说有两个含义。
网络的学习方法是确定性的
BP算法是利用输出误差反向传播来对连接权值进行确定性的调整,使输出误差沿梯度方向下降。
Hebb学习规则是对模式集合进行确定性的死记。
网络的运行过程是确定性的
给定初始输入,前馈网络的信息流向前馈送,按确定性的网络方程把输入数据转换成隐蔽层结点的输出,再转换成网络的最终输出。
反馈网络的信息流反馈运行,从初始状态开始进行确定性的状态转移,经过一系列中间状态最后达到稳态。
随机神经网络
本节讨论随机型神经网络(也称统计型神经网络)
随机型神经网络的两个特点
网络的学习过程不再完全基于确定性的权值改变,有时按某种概率分布对其进行修改,以使网络适应于环境。
网络的运行过程不再完全按照确定性的网络方程来进行,而同时考虑到随机的因素,按一定的概率分布来决定状态的转移。
与随机神经网络密切相关的理论方法是模拟退火算法。
随机神经网络
模拟退火算法
基本思想
把某类优化问题的求解过程与统计热力学的热平衡问题进行对比,试图通过模拟高温物体退火过程的方法,来找到优化问题的全局最优或近似全局最优解。
物体(金属)的退火过程
首先对物体高温加热(熔化),此时物体内的原子就可高速自由运行,处于较高的能量状态。
然而,作为一个实际的物理系统,原子的运行总是趋于最低的能量状态。
一开始温度较高时,高温使系统具有较高的内能,但随着温度的下降,原子越来越趋于低能态,最后整个物体形成最低能量的基态。
随机神经网络
模拟退火算法
在物体的降温退火过程中,其能量状态服从玻尔兹曼(Boltzmann)分布规律:
P(E)正比于exp(-E/kT)
其中,P(E)是系统处于能量E的状态,k是玻尔兹曼常数,T为系统温度。
在神经网络的模拟过程中注重的是基本概念与过程,不是定量关系,因此为方便起见,可把k并入T中计算。
随机神经网络
模拟退火算法
从玻尔兹曼分布规律可以看出:
当温度T很高时,概率分布对一定范围内的能量E没有显著差别,即物体处于高能状态与低能状态的可能性差别不大。
随着温度降低,物体处于高能状态的可能性逐渐减少,最后当温度下降到充分低时,物体将在低能状态。
对于优化问题:
可以调节参量以使优化目标函数(对应于物体的能量)下降,同时定义一种假想温度(对应于物体温度)确定物体处于某一能量状态的概率,表征系统的活动状况。
开始允许随着参数的调整,目标函数偶尔向增加的方向发展(对应于能量有时上升),以利于跳出局部极小区域,随着假想温度的下降(对应于物体的退火),系统活动性降低,最终稳定在全局最小区域。
随机神经网络
模拟退火算法
神经网络的能量曲面图(一维情况)
Emin为能量的全局最小点,Emin*为局部最小点。
随机神经网络
模拟退火算法
采用梯度下降法有可能只能达到局部最小
假设网络能量初态处于Wij(0)所对应的E(0)点,能量在下降过程中,若权值变化步长没有达到足以跨过Emin与Emin*之间的山峰,则网络能量最终将达到局部最小点Emin*,而不能达到全局最小点Emin。
然而,梯度下降法的下降步长又不能过大,否则将使迭代不易收敛。
采用模拟退火算法有可能克服上述问题。
随机神经网络
模拟退火算法
模拟退火算法过程
首先在能量函数中定义一个假想温度T,一开始让T足够高,然后按某种规律逐渐下降。
在任何一个温度T下,调节权值以使网络能量降低,若能量确实是降低的,则确认这种变化。
若能量是上升的,则按照一定的概率决定是否确认这种变化。
能量上升从局部区域来看是一种错误方向的运行,因为这种运行伴随着网络能量的上升,但从全局来看,这种运行提供了跳出能量局部最小点,到达全局最小点的机会。
随机神经网络
模拟退火算法
能量状态变迁示意图
在模拟过程中,初始温度和温度下降规律要合理选择
温度选择过低,状态(小球)可能滞留于局部最小点而难以跳出。
温度选择过高,状态(小球)可能在Emin和Emin*来回跳动而难以稳定。
对多维情况,可将能量曲线扩展到能量曲面。
随机神经网络
模拟退火算法
解决抽象化组合问题的模拟退火算法
模拟退火实现过程中的三个基本因素
怎样按某种概率过程产生新的搜索状态,而向该状态的转移应不受能量曲面的限制。
怎样根据当前温度以及新状态与原状态在能量曲面的相应位置,确立新状态的接受标准。
怎样选择初始温度T0以及怎样更新温度,确定温度的下降过程。
上述三点影响模拟退火的收敛性及收敛速度,且影响退火结束后以多大的概率使状态稳定在全局最小点。
关于这几点目前没有一般的结论,可结合具体问题具体分析。
随机神经网络
玻尔兹曼机
玻尔兹曼机是一种结合模拟退火算法的神经网络模型。
玻尔兹曼机的拓扑结构
随机神经网络
玻尔兹曼机
网络由输入层(结点数为n)、隐蔽层(结点数为q)及输出层(结点数为m)组成。
网络是异联想模式匹配器,能够存储任意二进制模式对集合{(A1,C1), (A2,C2),…, (Ap,Cp)},其中
随机神经网络
玻尔兹曼机
玻尔兹曼机拓扑结构与一般前馈网络相似,其运行过程也与BP网络相似。
玻尔兹曼机与BP网络的三点差别
在网络结构上,玻尔兹曼机由输入层结点到隐蔽层结点的连接权,以及从隐蔽层结点到输出层结点的连接权都是对称的,即
而一般BP网络无此要求。
随机神经网络
玻尔兹曼机
玻尔兹曼机与BP网络的三点差别
在数据表示上,玻尔兹曼机的输入、输出及隐蔽层状态都为二进制数{0,1},而一般BP感知器可为连续型输入和输出。
在状态转换上,玻尔兹曼机结点状态的转移是按照某种概率进行的,而一般BP感知器的状态转移是确定的。
随机神经网络
玻尔兹曼机
玻尔兹曼机训练算法
该训练算法可分解为两个阶段,即正向学习阶段和反向学习阶段。
在正向学习阶段,对网络环境结点(即输入层结点和输出层结点)加上固定信息Ak和Ck,k=1,2,…,p,而使隐蔽层结点自由动作。退火完毕后,记录相连的环境结点和隐蔽层结点同时为状态1的概率Qhi和Rij。
在反向学习阶段,只是对输入层加上固定信息Ak,而使输出层结点自由动作。退火完毕后,再次记录相连的环境结点和隐蔽层结点同时为状态1的概率Q’hi和R’ij。
在实际退火过程中,正向学习和反向学习一直是交叉进行的,直到正向学习和反向学习达到足够的平衡(即ΔW1hi和ΔW2ij足够小 ),此时认为网络已基本上适应了环境。
随机神经网络
小结
模拟退火算法是一种能在一定程度上摆脱局部极小区域,而找到优化问题的全局最小解的算法。
随机神经网络是指网络的学习过程或运行过程不再遵循确定性方程,而按一定的概率分布来进行变化的网络。
把模拟退火算法应用于随机网络,使网络能够实现复杂的非线性映射及解决许多优化问题。
常用的随机神经网络为玻尔兹曼机(还有柯西机,是玻尔兹曼机的改进形式)。
网络以多大的概率到达全局最优点与退火快慢密切相关。
自组织神经网络
按神经网络在整个训练过程中是否有指导信号对神经网络进行分类,所有的神经网络可分为两种类型。
有指导训练的网络:前述讨论的网络
例如BP型感知器,有一个明确的指导信号(网络的理想输出),用该指导信号来对网络当前状况进行评价,从而调整网络下一步的行为,即用理想输出与实际输出之间的差别作为误差信号,反向传送以逐级调整网络的权值,使整个网络幅度沿梯度方向下降。
Hebb规则,严格地讲,是通过对输入模式向量集合的死记硬背来达到学习的目的。
自组织神经网络
按神经网络在整个训练过程中是否有指导信号对神经网络进行分类,所有的神经网络可分为两种类型。
无指导训练的网络
人类的学习特点,除了根据明确的提示信息来判断概念正确与否,从而达到知识更新以及依靠强闻博记来丰富知识外,最显著的优点就是具有自适应和自组织的能力,也就是说能够根据环境的变化来调整自己的思维和观念,根据对外界事物的观察和学习,找到其内在的规律和本质属性。
通过这种自组织特性来寻找外界事物的内在规律,通过自适应过程来稳定地保持记忆的网络,统称为自组织网络。
自组织神经网络
本节主要内容
普通的无指导信号的训练过程
一种常用的无指导学习方法
竞争学习,包括:
竞争过程的权值调整
竞争过程的网络组织
一种典型的自组织网络
Hamming网络
自组织神经网络
无指导训练方法
问题的提出
假设训练模式样本为(x1, x2,…, xp),其中
若xi是由某种概率分布函数fp(x)所产生的n维实数随机向量,则如何用fp(x)产生足够多的样本数据xi对网络进行训练,以使网络再输入模式x时,输出y能够反映该输入x与整体样本的相似程度。
自组织神经网络
无指导训练方法
问题的提出
为分析方便,假设有前馈网络,其输出层只有一个结点,且该结点的输出转移函数为线性函数,则网络输出结点Nj的输出yj为:
其中
自组织神经网络
无指导训练方法
问题的提出
用服从某一概率分布fp(x)的充分多的样本数据x1, x2,…, xp来训练网络,如果训练方法适当,则可使Wj成为能够反映fp(x)分布的本质特征的向量。
此时,再对网络送入模式x时,就能由网络的输出来判断该输入与总体分布的相似性。
例如可以训练网络,使得x按fp(x)出现的概率越高,输出yj的绝对值越大。
因此,可以在训练阶段,使用自组织方法使网络抓住数据分布的本质特性;在工作阶段,以此为依据来判断输入数据的特征。
自组织训练是试图从大量数据中抽取本质特征
自组织神经网络
无指导训练方法
无指导学习的基本思想
假设使相近的模式输入时,其输出幅度|yj|增加,即采用类似于Hebb规则的方法
(1)
其中η>0为常数。
此时,若网络再输入x,则下一次网络输出为
因此,若连续输入相同(或相近)的模式,可以期望在输出端得到更大的输出。
自组织神经网络
无指导训练方法
无指导学习的基本思想
用所给的样本数据按式(1)训练网络,即把x1, x2,…, xp逐个按确定或随机的次序送入网络,然后按式(1)修改权值。
可以设想,经充分训练后,在训练样本数据中出现频度最高的模式(或相近模式)将会得到最大的输出。
换句话说,若按照某种标准找到了样本数据x1, x2,…, xp的主要规律,即可对后来的模式进行相应的判断。
自组织神经网络
无指导训练方法
无指导学习中限制权值无限增长的方法
问题:在无指导学习中,随着训练集中模式数目的增多,由式(1)所决定的权值幅度将无限增长。
归一化处理
在每次利用式(1)对权值调整后,对其进行归一化。
权值限幅
对权值进行幅度“剪裁”,将其限制在一定范围内。
权值动态限制
对每次权值调整的幅度加以动态限制,即在式(1)中加上与输出有关的衰减项。
自组织神经网络
竞争学习(Competitve Learning):自组织网络中常用的学习方法
生理学实验证实,生物视网膜中有许多特定的细胞对特定的图形(直线、圆、椭圆等)较为敏感。
当视网膜中有若干个接收单元受到特定模式刺激时,就会使大脑皮层中的特定神经元开始兴奋。
这种有特定刺激引起局部兴奋的反射功能不可能是由某种遗传因素先天性成的,必定是受后天环境影响而形成的一种生理现象。
自组织神经网络
竞争学习(Competitve Learning)
受此启发,人们设计了一种自组织网络。
该网络为层次结构(可以是多层的,也可以是反馈的)。
输入端相当于视网膜的接收装置,当环境信息来到网络的输入层时,将对输出层的结点产生刺激。
输出层不同的结点将对输入模式作出不同的反应,作出最大反应的结点被激活(该结点表征了这类模式),即网络确认了模式所属类别。
上述过程相应于大脑皮层反应所看到的模式属于什么图形。
自组织神经网络
竞争学习(Competitve Learning)
竞争学习的概念
由特定输入模式产生特定激活结点的过程称为竞争过程,被激活的结点称竞争获胜结点。
由于不同的输出层结点对不同类的输入模式作出的反应能力难以在网络设计时产生,因此网络必须具有自组织的能力,能够提取输入数据的本质信息,使得每一个输出结点对应于某一个输入模式类。
具体那一个结点对应于哪一类模式不是事先指定的(事实上也难以事先指定),获胜结点的产生是通过所有输出结点的相互竞争实现的。
自组织神经网络
竞争学习(Competitve Learning)
竞争学习的过程
网络输入模式向量后,按某一规则让输出层结点开始竞争。
当某一结点竞争获胜后,对权结构进行相应调整,而且调整的方向是使获胜的结点对该类模式更加敏感。
当网络再输入这个模式(或相近模式)时,该结点就更易获胜,同时其它结点受到抑制,从而对该类模式不敏感而难以获胜。
当有其它类模式输入时,这些结点再重新进行竞争。
自组织神经网络
竞争学习(Competitve Learning)
竞争系统的一般结构
低层网络(称之为匹配子网络)
用于按某一规则计算输入模式
与所有已存储模式的相似测度。
上层网络(称之为竞争子网络)
用于输出结点按其受刺激程度
相互竞争。
自组织神经网络
竞争学习(Competitve Learning)
例:一种前馈匹配竞争网络
自组织神经网络
竞争学习(Competitve Learning)
一种前馈匹配竞争网络
输入层有n个结点,输出层有m个结点。
自底向上的输入层到输出层的连接为完全互联,完成信息的馈送及匹配计算。
输出层m个结点的连接为自兴奋和邻抑制类型,用以完成结点间的相互竞争。
自兴奋:从结点到其自身构成一个正向连接环。
邻抑制:从一个结点到另一个结点的负向抑制连接。
自组织神经网络
竞争学习的权值调整 — 最佳匹配
对于前馈匹配竞争网络,假设只处理二进制数据信息,即输入模式x属于{0,1}n(或{-1,1}n) 。
当网络输入x=(x1, x2,…, xn)后,一开始输出层结点的输出,表示x与各结点所代表模式类的匹配程度。
随着竞争过程的开始,各输出结点的输出发生变迁,最终只有一个结点保持激活,该结点就是获胜结点。
形式化描述
自组织神经网络
竞争学习的权值调整 — 最佳匹配
修改连接权值的学习方法
目的:实现神经网络的聚类特性,即相似的输入模式使同一个输出结点受到最大的刺激而激活,而不同类的模式给予不同的节点最大的刺激。当网络输入一个模式时,可立即由输出来判断其属于哪一类模式。
设训练模式集合为{x1, x2,…, xp},所有这些模式分别属于按某种标准设定的m类模式之一,网络共有m个输出结点,每个输出结点代表某一类模式,而与该结点相连的权向量包含了本类模式的基本信息。
训练模式集合中的模式数量p应充分大,以使网络能够受到充分训练。
自组织神经网络
竞争学习的权值调整 — 最佳匹配
修改连接权值的学习方法
训练过程
设x1, x2, …,xP按照某种确定或随机的次序出现在网络输入端,考虑各结点所受的刺激及获胜的结点。
对于样本模式xk,若结点Nj竞争获胜,则调整权值,使网络以后遇到xk或与xk接近的模式时,Nj以更大的可能性获胜。
Δwij的调整
对权值增长的需要加以限制,否则若某一输出结点所连接的权向量幅度过大,将剥夺其它结点获胜的机会。
对权值增长的限制方式
自组织神经网络
竞争过程的网络组织 — 胜者为王(The Winner Takes All)
网络输入模式之后,匹配子网络将输入与所有已存储的m类模式按某种规则进行比较(如计算各个结点受到刺激的大小),比较结果送入竞争子网络开始竞争,以确定获胜的结点。
竞争过程按照“胜者为王”的方式组织,即竞争过程结束后,获胜的结点输出yj为1,表示此次输入模式所属类别,然后对其权值进行相应调整;未获胜的结点输出为0,与这些结点相连的权向量不做任何变动。
自组织神经网络
竞争过程的网络组织 — 胜者为王
获胜结点的选择过程
自组织神经网络
Hamming网络
Hamming网络能够对离散输入模式进行Hamming距离最小意义下的识别和聚类。
Hamming距离:两个向量中对应元素不同的个数,称为这两个向量的Hamming距离。
Hamming网络拓扑结构
自组织神经网络
Hamming网络构成
下层为匹配子网络
学习阶段:该子网络记忆存储样本输入模式。
工作阶段:该子网络计算输入模式与各样本模式的匹配程度。
上层为竞争子网络
各结点竞争输出,胜者为王
网络学习算法
网络运行过程
输入初始模式x后,网络的运行就是信息前向馈送和并行计算。
在隐蔽层输出得到x与所有m类代表模式的匹配程度sj, j=1,2,…,m。
竞争子网络引用横向抑制机制开始竞争,直到输出端只有一个结点输出高电平为止。设该结点为sj*,则表示输入x与样本xj*在Hamming距离意义下是最为接近的模式。
自组织神经网络
Kohonen网络
尽管人脑具有大量细胞,但生理学研究表明其作用并不相同。
在空间中处于不同位置的脑细胞区域控制着人体不同部位的运动;
处于不同区域的细胞对来自某一方面(或特定)的刺激信号的敏感程度不同,这种特定细胞对特定信号的特别反应能力似乎是由后来的经历和训练形成的。
Kohonen根据人脑的上述特点,提出了一种自组织特征映射神经网络,称为Kohonen网络。
自组织神经网络
Kohonen网络的拓扑结构
自组织神经网络
Kohonen网络的拓扑结构
网络上层为输出结点(假设为m个),按二维形式排成一个结点矩阵。
输入结点处于下方,若输入向量由n个元素,则输入端共有n个结点。
所有输入结点到输出结点都有权值连接,而在二维平面的输出结点相互间也可能有局部连接。
Kohonen网络的功能就是通过自组织方法,用大量的样本训练数据来调整网络的权值,使得最后网络的输出能够反映样本数据的分布情况。
自组织神经网络
网络自组织算法
网络开始训练时,某个输出结点能对某一类模式作出特别的反应,以代表该模式类,但这里规定二维平面上相邻的结点能对实际模式分布中相近的模式类作出特别的反应。
当某类数据模式输入时,对其某一输出结点给予最大的刺激,以指示该类模式的所属区域,而同时对获胜结点周围的一些结点给予较大的刺激。
自组织神经网络
网络自组织算法
当输入模式从一个模式区域移到相邻的模式区域时,二维平面上的获胜结点也从原来的结点移到其相邻的结点。
因此,从Kohonen网络的输出状况,不但能判断输入模式所属的类别并使输出结点代表某一类模式,还能够得到整个数据区域的大体分布情况,即从样本数据中抓到所有数据分布的大体本质特性。
自组织神经网络
网络自组织算法
为了能使二维输出平面上相邻的输出结点对相近的输入模式类作出特别反应,在训练过程中需定义获胜结点的邻域结点。
假设本次获胜结点为Nj,它在t时刻的邻域结点用NEj(t)表示,NEj(t)包含以结点Nj为中心而距离不超过某一半径的所有结点。
随着训练的进行, NEj(t)的半径逐渐缩小,最后只包含获胜结点Nj自身,即在训练初始阶段,不但对获胜的结点做权值调整,也对其较大范围内的几何邻接结点做相应的调整,而随着训练过程的继续,与输出结点相连的权向量也越来越接近其代表的模式类。
自组织神经网络
网络自组织算法
此时,对获胜结点进行较细微的权值调整时,只对其几何邻域接近的结点(包括其自身)进行相应调整,直到最后只对获胜的结点本身做细微的权值调整。
在训练结束后,几何上相近的输出结点所连接的权向量既有联系(类似性)又互相区别,从而保证对于某一类输入模式,获胜结点能做出最大响应,而相邻结点做出较大响应。
几何上相邻的结点代表特征上相近的模式类别。
自组织神经网络
网络自组织算法
Kohonen网络训练算法
在算法中,η(t)是一种可变学习速度,随时间而衰减,表示随着训练过程的进行,权值调整的幅度越来越小,以使竞争获胜结点所连的权向量代表模式的本质属性。
NEj*(t)也随时间而收缩,最后当t充分大时, NEj*(t)={Nj*},即只训练获胜结点本身以实现Kohonen网络的自组织特征映射功能。
η(t)和NEj*(t)都有许多不同的形式,在具体训练过程中可根据不同的数据分布进行选择和设计。
人工神经网络的应用开发设计
人工神经网络应用的可行性
在决定选用人工神经网络技术时,还可以考虑用一般的计算方法、统计方法以及人工智能方法。
人工神经网络技术与一般的计算方法
对于计算强度不大的问题,若采用合适的算法,用一般的计算方法也是可行的。
但问题在于一般的计算方法不具备容错能力,而有些数据常受客观环境的影响,如噪声、模糊、自然失真和变形等,将对结果产生严重影响,此时采用人工神经网络技术更为合适。
人工神经网络的应用开发设计
人工神经网络应用的可行性
人工神经网络技术与统计方法
对于涉及大量数据而又不能用符号或数学方法描述的问题,统计方法一直是传统的工具。
但在图像处理、雷达和声纳图形识别、过程控制以及语音处理问题等领域,人工神经网络技术表现出更大的灵活性和自适应性,具有更强的处理能力,有可能取得更好的处理效果。
人工神经网络的应用开发设计
人工神经网络应用的可行性
人工神经网络技术与人工智能方法
在某些情况下,传统的人工智能方法或基于规则的方法可能更有效。当处理相对简单或是一个封闭的系统时,人工智能方法比较合适,因为在这种系统中,问题的特征和规律都是可理解的,并可以用逻辑或数学式精确描述。
对处理较复杂的问题或开放的系统,人工神经网络技术显得更为优越,因为在这种系统中,内部规律不甚了解,也不能用一组规则或方程进行描述,尤其是对于要求容错的任务,如图形的检测和识别、特征提取、预测和推论等,人工神经网络往往是最合适的处理手段。
人工神经网络的应用开发设计
人工神经网络应用的特点
对于给定的实际问题,要确定是否用人工神经网络技术解决,还要看其应用特点。
一些成功的人工神经网络应用,都有一些共同的特点:
该应用涉及一批密集的数据,而这些数据又依赖于多个相关的参数;
在该应用所涉及的范围内,已积累或收集了大量历史性数据和样本;
在该应用中提供的数据组是不完善的、有误差的,但它们却描述了确定的样本。
人工神经网络的应用开发设计
人工神经网络应用的特点
一般来说,比较适合人工神经网络的应用大多数都涉及图形识别或统计变换,例如:
字符识别
物体检测
信息预测
过程监控
信号处理
机器人控制
…
人工神经网络的应用开发设计
人工神经网络应用的特点
一般来说,比较不适合人工神经网络的应用大多数都涉及精确运算和数据管理,例如:
在数字上要求高精确度的应用,如收支账目、货物盘存等;
要求临时加载、分析和报告的应用,如销售数据分析、资源管理等;
一些要求演绎和步进逻辑的场合;
…
人工神经网络的应用开发设计
人工神经网络应用的特点
全面考察了一些人工神经网络的成功应用之后,可概括出选择人工神经网络应用的一些启发性原则:
用一般的计算机方法是不够的或困难的;
问题的解是从一些高度相关的参数中导出,而这些参数又没有确定的数量表示;
数据虽然是可用的,但它们是多变的、伴有噪声的或有误差的;
要求项目的开发时间对训练网络来说时间是足够的。
人工神经网络的应用开发设计
人工神经网络应用的特点
另外,进一步评价选用人工神经网络的可行性的方法是,把应用问题的特点和要求与人工神经网络的特性和能力进行对照比较,检查其匹配程度。
人工神经网络的特性和能力,一般包括:
网络模型的并行性;
网络模型的适应性;
网络模型的灵活性;
网络模型的速度;
不同的网络模型具有不同的特性。
人工神经网络的应用开发设计
人工神经网络应用的特点
决定了选用人工神经网络技术,就需明确选取和设计人工神经网络模型的要求,包括:
资源的约束条件
开发期限、可用的设备环境、提供的费用等
数据资源
数据的类型、产生数据的成本、数据的精度、时间的限定等
对结果的要求
类型、精度、一致性等
时限
项目完成时间、训练时间的限定、操作时间的限定等
一旦确定采用人工神经网络方法,关键的问题就是选取最适合的人工神经网络模型。
人工神经网络的应用开发设计
人工神经网络模型的应用情况
图像识别和信号滤波
对于大多数图像识别、信号处理和类似的应用,所选用的网络是多层前馈网络,即BP网络。
如果输入向量的分量为几百个或更少些,并且在输入阵列中要识别的图像的大小和位置变化不大时,采用BP模型往往是最好的。
如果需要识别随时间变化的图形或空间—时间图形,要求将时间图形表示成空间图形处理,采用具有反馈的多层网络常常是最好的。
人工神经网络的应用开发设计
人工神经网络模型的应用情况
数据压缩
Kohonen的线性矢量量化网,通过产生码本实现简单的压缩编码系统。
特定结构的BP网
输入层和输出层具有相同的结点数,而其最里的隐蔽层的结点数比输入输出层少。
训练时,其目标向量就是输入向量,而结点少的隐蔽层学会表示输入的特征。
将该特征输出,然后通过输出层加权,在输出时恢复原信息数据。
人工神经网络的应用开发设计
人工神经网络模型的应用情况
优化问题
从理论上说,Hopfield网络可执行优化任务。
推销员问题
最佳任务分配问题
但Hopfield网只能做到近似最优,不能保证获得理想的最优解。
具有前馈结构的玻尔兹曼统计算法也可用于优化工作,但这种方法训练比较复杂,训练时间较长。
人工神经网络的应用开发设计
人工神经网络模型的选取原则
选取人工神经网络模型,要基于应用的要求和人工神经网络模型的能力间的匹配,主要考虑因素包括:
网络大小
所需输出类型
联想记忆类型
训练方法
时间的限定
人工神经网络的应用开发设计
人工神经网络模型的选取原则
人工神经网络的大小
一旦应用问题选定,首先要把问题的大小限定在一定的范围内,并对其提出约束,使问题不受外部次要因素的影响,把问题标定到适合于人工神经网络的计算能力。
根据经验估计,非统计型网络模型,如BP模型,工作较好的范围是小于1000个结点。
对统计型模型,如波尔兹曼机和柯西模型,一般要求更小的网络,最好小于200个结点。
人工神经网络的应用开发设计
人工神经网络模型的选取原则
要求的输出类型
应用中所要求的输出类型也限制了可选择的人工神经网络模型。
在人工神经网络中,一般有四种输出表示
分类
图像
实数
最优化
人工神经网络的应用开发设计
人工神经网络模型的选取原则
要求的输出类型
分类
把输入统计变换为有限的输出类别。
一般情况下,网络输出具有两个或多个结点,但在给定时刻只有一个结点被激活。
例如,一个过程控制应用可以有三种情况,即正常状态、紧急状态和告警状态,但在给定时刻只有一个状态是适合的。
适于分类输出的应用包括:
过程控制
预测
信号和信息处理
景物图像分类
人工神经网络的应用开发设计
人工神经网络模型的选取原则
要求的输出类型
图像
这种类型中输出有多个结点,其中某些结点激活以形成对输入响应的图像。
输出结点的激活输出值可以是二进制数,也可以是具有灰度级的值,取决于所选择的网络模型。
适于图像输出的应用包括:
图象处理
数据变换
符号识别
人工神经网络的应用开发设计
人工神经网络模型的选取原则
要求的输出类型
实数
把输出变换为一些实际值,如货币数目、级别数、距离数等。
产生实数的结点可以是一组,也可以是几组以表示不同的类型。
适于实数输出的应用包括:
金融预测
功能变换
过程控制
机器人
人工神经网络的应用开发设计
人工神经网络模型的选取原则
要求的输出类型
最优化
这种输出通常被解释为一组用作判据的特殊图形,表示所研究的特定问题的运行结果或解。
这种特定问题可用矩阵表示。
适于最优化输出的应用包括:
推销员问题
任务最优分配问题
其它组合优化问题
人工神经网络的应用开发设计
人工神经网络模型的选取原则
联想记忆的类型
自联想
变换一组数据为其特定的原型信息。
可用于自联想的网络模型有Hopfield网和Hamming网等。
自联想记忆的应用包括
将部分图形或有错误的图形恢复到它的整体原型
将某种问题处理以获得完善结果
图像鉴别和信号重建等
人工神经网络的应用开发设计
人工神经网络模型的选取原则
联想记忆的类型
他联想
变换一组图形为另一组图形。
通常将图形、分类和实数存储起来作为他联想的输出。
可用于他联想的网络模型有BP网、Kohonen网和一些统计模型。
他联想记忆的应用包括
目标图形分类
金融行情分析
过程监督
人工神经网络的应用开发设计
人工神经网络模型的选取原则
训练方法
对于一个人工神经网络应用,其合适的训练方法取决于数据的可用性和时间要求。
两类主要训练方法
有指导的训练
要求成对的数据对,包括一个输入图形和所要求的正确结果。
训练数据必须包含网络所要提供的解,这种解有时很难获得,但又必须设法得到它。
训练时间取决于所用网络模型和问题的特性,可从几个小时到几天。
无指导的训练
只需训练输入图形,不需要所期望的输出值。
无指导训练所需要的数据较容易得到,且往往用较少的费用就可获得。
这种训练所需的时间比有指导的训练所用时间短,一般不超过几个小时。
人工神经网络的应用开发设计
人工神经网络模型的选取原则
时间的限制
训练时间
从输入数据加载到网络上开始训练到网络权值全部调节完成为止。
训练时间主要取决于网络系统大小和训练数据对的质量。
训练时间一般比执行时间长得多,训练通常是脱机进行的。
执行时间
从输入数据加载到已训练过的网络开始,到网络产生一个结果为止。
执行时间主要取决于计算环境和网络的动态特性。
时间限制有时要满足联机或实时的约束。
人工神经网络的应用开发设计
人工神经网络模型的设计
目的:确定所选择的模型在结点级、网络级以及训练级的初始条件和初始值。
主要设计工作包括:
确定结点的类型
确定网络、层的大小和连接要求
确定学习算法和参数(略)
人工神经网络的应用开发设计
人工神经网络模型的设计
结点级设计
设计人工神经网络的第一步是要确定用什么类型的结点,其依据是输入类型、组合方式及转移函数。
输入类型:二进制的输入和连续值的输入
组合方式:输入的加权和
转移函数:决定结点的激励电平
类型:线性函数、符号函数、阶跃函数、S型函数等;
转移函数的选择取决于输入输出类型和所用的训练算法
二进制(0和1)输入输出对可以用阶跃函数
双极(+1和-1)输入输出对可以用符号函数
结点处理连续函数可以用线性函数或S型函数
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
设计人工神经网络的第二步是要确定网络内不同层的数目、大小和联接,包括:
层数
每层的结点数
期望的输入输出大小
每层如何连接
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
层数
大多数通用的人工神经网络模型都有一预先确定的层数,当网络层数超过两层时,包含有不同的隐蔽层。
隐蔽层具有抽象的作用,能从输入提取特征,增加隐蔽层可以增强网络的处理能力。
但增加隐蔽层将增大训练样本数目和训练时间,使训练复杂化,所以作为经验规则,开始可先设定一个隐蔽层,然后按要求在增加隐蔽层数。
根据经验,对于分类或边界问题,选用一个隐蔽层就足够了;
如果网络的输出需要表示成输入的任意连续函数或复杂功能,可选用两个隐蔽层。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
层数
增加网络处理能力的另一个方法是,在一个隐蔽层中采用多个组。这种分组作法是模仿大脑的一组神经元的结构,这些神经元可对视觉输入进行特征鉴别。
在同一层内,多个并行组可用不同类型和不同数目的结点,使各并行组同时提取不同的特征。
大多数应用并不要求有多个组的隐蔽层,但这种结构对单个隐蔽层的多功能变化提供了一个有效的解决方法。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
输入层的结点数
输入层是起到缓冲器的作用,把数据源加到网络上,其结点数目取决于数据源的维数,即这些结点能代表每个数据源,所以设计判据时要弄清楚正确的数据源。
如果数据源中有大量未经处理的或虚假的信息数据,则会妨碍对网络的正确训练,所以应剔除各种无效数据。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
输入层的结点数
确定数据源合适数目的四个步骤:
确定与应用有关的所有数据;
剔除那些边沿的或不可靠的数据源;
剔除那些在技术上和经济上不实际的数据源;
开发一个能组合和预处理数据的方法,使这些数据更有实际意义。
数据源确定后,即可将它们加到网络的输入层。
对于能接收实数的网络,每个输入结点可接收一个随时间连续变化的数据,或任一个实数参量。
对于只接收二进制或双极输入的网络,每个输入结点可表示一定范围的数值。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
输入层的结点数
接收实数的网络
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
输入层的结点数
接收二进制或双极输入的网络
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
隐蔽层的结点数
在隐蔽层的结点数目满足要求后,一个给定网络均可统计变换一组数据为另一组所要求的数据,但要精确确定隐蔽层的结点数仍是很困难的。
以BP网络为例,讨论如何选取实现“异或”功能的BP网隐蔽层结点数。
网络有两个输入结点和一个输出结点(均为二进制数)
隐蔽层结点数不同,可选1-4个结点
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
隐蔽层的结点数(举例)
隐蔽层取1个结点的BP网络
此时,输出结点的两种可能值可变换为隐蔽层结点的两种可能值,显然,该输出结点是多余的,网络不能正常工作,需要增加隐蔽层的结点数。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
隐蔽层的结点数(举例)
隐蔽层取4个结点的BP网络
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
隐蔽层的结点数(举例)
隐蔽层取4个结点的BP网络
此时,调节加权可以使每个隐蔽层结点学会响应一个不同的输入(00, 01, 10, 11)。
这种情况不是最佳的。
首先,隐蔽层结点用于响应输入图形的特征,而不是精确地响应输入图形;
其次,应尽可能保持隐蔽层结点数目最少,以减少训练时间。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
隐蔽层的结点数(举例)
隐蔽层取2-3个结点的BP网络
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
隐蔽层的结点数(举例)
隐蔽层取2-3个结点的BP网络
隐蔽层取2个结点时,隐蔽层结点用于提取特征,可使网络达到最佳效果。
但此时训练过程并非100%收敛,根据不同的初始随机加权值和不同的训练算法(BP算法的变形),收敛的概率为50-90%。
隐蔽层取3个结点时,由于隐蔽层结点数的增加使提取的特征相对减少了,但训练收敛的机会增加了。
隐蔽层取2-3个结点的BP网络是较好的选择
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
隐蔽层的结点数(按经验选择)
Hecht-Nielsen讨论了具有单隐蔽层的人工神经网络的功能,提出其隐蔽层结点数目为2N+1,其中N为输入结点数。
Lippmann利用对多层网络功能的几何解释,提出对于图形识别问题,假设输出判别边界是任意形状,则平均来说,由于每个非凸域的输出边界是靠组合第二隐蔽层的两个凸子域形成的,所以第二隐蔽层的结点数应为2M,其中M为输出层的结点数。
Kuarycki根据实验进一步指出,在高维输入时,第一隐蔽层对第二隐蔽层的最佳结点数的比例为3:1。
例子:有两个隐蔽层的BP网络实现图像识别时,若输出结点数为8,则按Lippmann的关系,第二隐蔽层的结点数为2*M=16个,又据Kuarycki的推论,第一隐蔽层的结点数为3*16=48个。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
隐蔽层的结点数(按经验选择)
Nielsen和Illingworth进一步建议:
对用于过程控制的人工神经网络,隐蔽层结点数应为4N;
对用于图像识别的人工神经网络,隐蔽层结点数大为减少,当输入维数较高时,结点数最少可为。
总之,增加隐蔽层的结点数可以改善网络与训练组匹配的精确度(该精确度近似比例于隐蔽层结点数的平方),但为了改善网络的概括推论能力,又要求适当减少隐蔽层的结点数,因此对一个特定的网络,其隐蔽层的结点数应是按精确度和概括性统一考虑。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
输出层的结点数
人工神经网络的输出结点数由所用网络模型和所需的输出表示方式确定。
自联想模型的输出与输入有着相同的数目。
他联想模型的输出结点数少于输入结点数。
如果输出要求是二进制数,则既可用一个结点激活代表一类,也可用编码办法输出特定的图形编码。
采用特定的图形编码会加重隐蔽层的工作量,有时会迫使增加隐蔽层的结点数目和隐蔽层的层数。
如果输出结点是连续输出,则一个结点可以表示多个类。
例如用一个结点表示八个类,则可用表示第一类,表示第二类,…,表示第八类。
在连续输出时,要求的输出精度高,相应的训练时间要长。
总之,不管如何表示,对输出一定要有明确的解释。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
连接数目的选择
网络的连接描述了结点如何被连接到一起,连接方式包括:
前馈连接
层内连接
反馈连接
给定了连接方式,则一个结点应当连接到多少个其它的结点,是由网络模型确定的,例如:
Hopfield网是全部层内连接;
一般BP多层网络中,层间最好是实现全连接。
人工神经网络的应用开发设计
人工神经网络模型的设计
网络级设计
连接数目的选择
全连接比较灵活,当通过训练算法寻求加权时,不必要的连接会自动调节取消,即调节到最后会将相关权值调到零。
在有的网络中也采用部分连接,即第i层的一个结点并不连到第i+1层的每一个结点。
例如在字符识别中,借助于部分连接可以辨别字符的位移和旋转,识别器利用部分连接可以实现移位、标度大小和旋转不变的线状图形的识别。
人工神经网络的应用开发设计
人工神经网络应用系统的评价
网络的大小
一般网络的大小用网络的结点数和总连接数表示
例如对有两个隐蔽层的全连接网络,若输入层有64个结点,第一隐蔽层有64个结点,第二隐蔽层有20个结点,输出层有一个结点,则
总连接数为:(64*64)+(64*20)+(20*1)=5396
结点数为:64+20+1=85 (输入层结点只起缓冲存储器的作用,通常不计入网络结点数)
网络大小为:5396+85=5481
训练网络所需的时间直接正比于网络的大小和加到网络上的训练组数。
人工神经网络的应用开发设计
人工神经网络应用系统的评价
速度
衡量人工神经网络模型的运行速度通常采用“每秒钟处理多少个连接”,即连接/秒。
每个连接包括一个乘法和一个累加运算,如果考虑到转移函数的计算量,处理每个连接的平均实际时间比一个乘-加运算量稍高。
目前,软件模拟的人工神经网络的运行速度大致相当于某些低等生物(如昆虫)的神经网络计算能力。
人工神经网络的应用开发设计
人工神经网络应用系统的评价
完全训练标准
为了确定一个应用网络是否得到了完全训练(简称全训练),一般采用如下测度:
要求训练过的网络对训练组进行回忆。当回忆的精确度(或平均误差)是可接受的(如平均误差小于%,按具体任务要求而定),再对该网络进行进一步的验收试验。
准备一组网络从未见过的实验数据组(包括历史上积累的相关数据),让网络对该试验数据组进行联想回忆。同样,当平均误差(或标准偏差,或任何所希望的测度标准)在可接受的范围内时,网络才被认为是得到完全训练,可付诸实用。
人工神经网络的应用开发设计
人工神经网络应用系统的评价
网络的实验
在进行网络实验时,不但要考虑网络的精确度,还要考虑网络所引起的噪声和其它参数。
实验数据组可如下获得:
当收集了大量的相关数据后,在用它构成数据训练组之前,随机地从中选取20-30%的数据放在一边备用。
当网络进行了完全训练,可从余下的数据来构成实验数据组。
对实验数据能正确判决的比例应达到较高的百分比(如95%以上),这种概括推论的能力有时是非常必要的。
如果概括推论能力很低,可考虑用较少的隐蔽层结点,以改善网络的推论能力,或者构成更完善的训练组,对网络重新训练。
总之,需用大量实验数据对网络进行实验,才能保证网络在实际应用中得到满意的结果。
人工神经网络的应用开发设计
小结
本节讨论了人工神经网络应用的开发设计步骤和方法。
首先,根据人工神经网络技术的特点,与其它技术,如计算方法、统计方法、人工智能方法等进行对照比较,以确定采用人工神经网络技术的可行性和优点。
其次,根据任务提出的要求和限定条件,对照网络模型的特点和能力,参照相应领域的应用情况,选取一合适的模型。
第三,对模型进行具体设计,包括网络大小、层数、结点的转移函数、各层的结点数的决定、连接类型与方式的确定等,其中对隐蔽层结点及其数目的确定进行了较多的讨论,并给出一些经验数据。
最后,对网络进行评价,提出了几个评价标准,包括网络大小、速度、训练标准等,并给出了进行实验的方法。