1、第三讲 反馈神经网络,本章知识结构,概述 离散Hopfield网络 连续Hopfield网络 连续Hopfield网络的应用优化计算,3.1 概述,联想特性是ANN的一个重要特性。前面介绍的网络模型属于前向NN,从学习的角度看,具有较强的学习能力,结构简单,易于编程。从系统角度看,属于静态的非线性映射,通过简单的非线性处理单元的复合映射可获得复杂的非线性处理能力。但他们因此缺乏反馈,所以并不是强有力的动力学系统。联想特性是ANN的一个重要特性,主要包括联想映射和联想记忆。前馈网络具有诱人的联想映射能力,而不具备联想记忆能力。在反馈NN中,我们将着重介绍NN的联想记忆和优化计算的能力。,3.1
2、概述,联想记忆是指当网络输入某个矢量后,网络经过反馈演化,从网络输出端得到另一个矢量,这样输出矢量就称作网络从初始输入矢量联想得到的一个稳定记忆,即网络的一个平衡点。优化计算是指当某一问题存在多种解法时,可以设计一个目标函数,然后寻求满足这一目标函数的最优解法。例如,在很多情况下可以把能量函数作为目标函数,得到的最优解法需要使能量函数达到极小点,即能量函数的稳定平衡点。总之,反馈网络的设计思想就是在初始输入下,使网络经过反馈计算最后到达稳定状态,这时的输出即是用户需要的平衡点。,1982年,美国加州工学院J.Hopfield提出了可用作联想存储器和优化计算的反馈网络,这个网络称为Hopfiel
3、d神经网络(HNN)模型,也称Hopfield模型.,HNN是一种循环NN,从输出到输入有反馈连接. HNN有 离散型和 连续型 两种.,3.1 概述,反馈网络(Recurrent Network),又称自联 想记忆网络,如下图所示:,3.1 概述,反馈网络的目的是为了设计一个网络,储存一 组平衡点,使得当给网络一组初始值时,网络通过 自行运行而最终收敛到这个设计的平衡点上。 反馈网络能够表现出非线性动力学系统的动态 特性。它所具有的主要特性为以下两点: 第一、网络系统具有若干个稳定状态。当网络从某 一初始状态开始运动,网络系统总可以收敛到某一 个稳定的平衡状态; 第二、系统稳定的平衡状态可以
4、通过设计网络的权 值而被存储到网络中。,3.1 概述,由于HNN为动力学系统,且其平衡态关系到信息的存储与联想记忆,其平衡态与稳定性是非常关键的问题。 反馈网络根据信号的时间域的性质的分类为 如果激活函数f()是一个二值型的阶跃函数,则称此网络为离散型反馈网络,主要用于联想记忆; 如果f()为一个连续单调上升的有界函数,这类网络被称为连续型反馈网络,主要用于优化计算。,3.1 概述,反馈NN由于其输出端有反馈到其输入端,所以,HNN在输入的激励下,会产生不断的状态变化. 当有输入之后,可以求取出HNN的输出,这个输出反馈到输入从而产生新的输出,这个反馈过程一直进行下去. 如果HNN是一个能稳定
5、的网络,则这个反馈与迭代的计算过程所产生的变化越来越小,一旦到达了稳定平衡状态,那么HNN就会输出一个稳定的恒值. 对于HNN来说,关键是在于确定它在稳定条件下的权系数. 应该指出,反馈网络有稳定的,也有不稳定的. 对于HNN来说,还存在如何判别它是稳定网络,亦或是不稳定的问题.而判别依据是什么,也是需要确定的.,3.1 概述,3.1 概述,反馈网络与前向网络的区别 结构不同前向神经网络:没有反馈环节。反馈神经网络:一个动态系统,存在稳定性问题。(关键问题) 模型不同前向网络:从输入到输出的映射关系,不考虑延时。反馈网络:考虑延时,是一个动态系统,模型是动态方程(微分方程)。,3.1 概述,网
6、络的演变过程不同 前向网络:通过学习得到连接权然后完成指定任务。反馈网络:(优化计算时)首先确定w(不是通过学习而来的,而是通过目标函数用解析算法得到的),设定网络的初始状态,然后系统运动,若稳定,则最后达到一个稳定状态,对应的输出就是优化问题的解。,3.1 概述,学习方法不同前向网络:误差修正算法(BP算法)。反向网络:海布(Hebb)算法(用于联想、分类的时候),3.1 概述,应用范围不同前向网络:只能用于联想映射及其分类。反馈网络:同时也可以用于联想记忆和约束优化问题的求解。,对于如HNN类似的反馈网络,研究的重点为: 如何通过网络神经元状态的变迁而最终稳定于平衡状态,得到联想存储或优化
7、计算的结果 网络的稳定性问题 怎样设计和利用稳定的反馈网络 网络系统能够达到稳定收敛 网络的稳定点 吸引域的设计 下面开始介绍HNN,分别介绍两种主要的HNN: 离散Hopfield网络 连续Hopfield网络,3.1 概述,3.2 离散Hopfield网络,Hopfield最早提出的网络是神经元的输出为0-1二值的NN,所以,也称离散的HNN (简称为DHNN). 下面分别讨论DHNN的 结构 动力学稳定性(网络收敛性) 联想存储中的应用 记忆容量问题,在DHNN网络中,神经元所输出的离散值1和0分别表示神经元处于兴奋和抑制状态. 各神经元通过赋有权重的连接来互联. 下面,首先考虑由三个神
8、经元组成的DHNN,其结构如图3.1所示.,3.2.1离散Hopfield网络的结构,3.2.1离散Hopfield网络的结构,在图中,第0层仅仅是作为网络的输入,它不是实际神经元,所以无计算功能; 而第一层是实际神经元,故而执行对输入信息和权系数乘积求累加和,并由非线性函数f处理后产生输出信息. f是一个简单的阈值函效,如果 神经元的输入信息的综合大于阈值,那么,神经元的输出就取值为1; 小于阈值,则神经元的输出就取值为0. 对于二值神经元,它的计算公式如下,3.2.1离散Hopfield网络的结构,其中xj为外部输入,并且有 yj=1,当ujj时 yj=0,当ujj时对于DHNN,其网络状
9、态是输出神经元信息的集合. 对于一个输出层是n个神经元的网络,则其t时刻的状态为一个n维向量: y(t)=y1(t),y2(t),.,yn(t) 因为yi(t)可以取值为1或0,故n维向量y(t),即网络状态,有2n种状态.,3.2.1离散Hopfield网络的结构,对于3个神经元的DHNN,它的输出层就是3位二进制数.每一个3位二进制数就是一种网络状态,从而共有8个网络状态,如图2中所示.,在图中,立方体的每一个顶角表示一种网络状态.,同理,对于n个神经元的输出层,它有2n个网络状态,也和一个n维超立方体的顶角相对应. 如果HNN是一个稳定网络,那么在网络的输入端加入一个输入向量,则网络的状
10、态会产生变化,也就是从超立方体的一个顶角转移向另一个顶角,并且最终稳定于某顶角.,3.2.1离散Hopfield网络的结构,对于一个由n个神经元组成的DHNN,则有nn权系数矩阵w=wij|i=1,2,.,n; j=1,2,.,n,同时,有n维阈值向量=1,2,.,n. 一般而言,w和可以确定一个唯一的DHNN. 对于图3.1所示的三神经元组成的HNN,也可以用图3.3所示的图形表示,这两个图形的意义是一样的.,3.2.1离散Hopfield网络的结构,考虑DHNN的节点状态,用yj(t)表示第j个神经元,即节点j在时刻t的状态,则节点的下一个时刻t+1的状态可以求出如下:,3.2.1离散Ho
11、pfield网络的结构,对图3所示的DHNN网络 当wi,j在i=j时等于0,则说明一个神经元的输出并不会反馈到它自己的输入. 这时,DHNN称为无自反馈网络. 当wi,j在i=j时不等于0,则说明个神经元的输出会反馈到它自己的输入. 这时,DHNN称为有自反馈的网络. DHNN有二种不同的工作方式: 串行(异步)方式和 并行(同步)方式. 下面分别加以介绍.,3.2.1离散Hopfield网络的结构,3.2.1离散Hopfield网络的结构,(1) 串行(异步)方式在时刻t时,只有某一个神经元j的状态产生变化,而其它n-1个神经元的状态不变这时称串行工作方式.并且有,在不考虑外部输入时,则有
12、,3.2.1离散Hopfield网络的结构,(2) 并行(同步)方式在任一时刻t,所有的神经元的状态都产生了变化,则称并行工作方式.并且有,在不考虑外部输入时,则有,3.2.2 DHNN的动力学稳定性,由于HNN为一非线性动力学系统,因此在其状态的演变过程中,存在一个动力学稳定性问题. 对于动力学系统来说,稳定性是一个重要的性能指标,也可以说是第一重要的性能指标. 对于DHNN, 在串行方式下的DHNN稳定性称之为串行稳定性. 同理,在并行方式的稳定性称之为并行稳定性. 在NN稳定时,其状态称稳定状态. 类似于研究动力学系统稳定性的Lyapunov稳定性分析方法,下面讨论HNN的动力学稳定性问
13、题.,3.2.2 DHNN的动力学稳定性,定义 对于DHNN,其状态为y(t): y(t)=y1(t),y2(t),.,yn(t) 如果,经有限时刻t,对于任何t0,有: y(t+t)=y(t) 则称网络是稳定的. 吸引子:若y(t)是网络的稳定状态,则称y(t)是网络的稳定吸引子。 吸引域:能够稳定在吸引子y(t)的所有初始状态y(0)的集合,称为吸引子y(t)的吸引域。,从DHNN可以看出: 它是一种多输入,含有阈值的二值非线性动力系统. 在动力系统中,平衡稳定状态可以理解为系统的某种形式的能量函数在系统运动过程中,其能量值不断减小,最后处于最小值. 因此,对HNN可引入一个Lyapuno
14、v函数,即所谓能量函数:,3.2.2 DHNN的动力学稳定性,即有,3.2.2 DHNN的动力学稳定性,对HNN的能量函数有几点说明: 当对反馈网络应用能量函数后,从任一初始状态开始,因为在每次迭代后都能满足E0,所以网络的能量将会越来越小. 由于能量函数存在下界,因此其最后趋于稳定点E=0. Hopfield能量函数的物理意义是: 在那些渐进稳定点的吸引域内,离吸引点越远的状态,所具有的能量越大. 由于能量函数的单调下降特性,保证状态的运动方向能从远离吸引点处,不断地趋于吸引点,直到达到稳定点.,3.2.2 DHNN的动力学稳定性,能量函数是反馈网络中的重要概念.根据能量函数可以方便的判断系
15、统的稳定性; Hopfield选择的能量函数,只是保证系统稳定和渐进稳定的充分条件,而不是必要条件,其能量函数也不是唯一的. 在状态更新过程中,包括三种情况:由0变为1;由1变为0及状态保持不变。,3.2.2 DHNN的动力学稳定性,类似于研究动力学系统稳定性的Lyapunov稳定性理论,上述DHNN的稳定性可由分析上述定义的Lyapunov函数E的变化规律而揭示. 因此,由神经元j的状态变化量yj(t)所引起的的能量变化量Ej为:,若所讨论的HNN是对称网络,即有wi,j=wj,i,i,j=1,2,.,n,则有,则 yj(t+1)=fuj(t)-j 式(3)则可记为: Ej(t)=-uj(t
16、)+jyj(t) (3A)下面分别对 串行异步方式和 并行同步方式, 证明对称二值型HNN是稳定的.,3.2.2 DHNN的动力学稳定性,如果,令,A.串行异步方式 对串行异步和对称权值型的HNN,基于式(3A) Ej(t)=-uj(t)+jyj(t) (3A) 考虑如下两种情况: 如果ujj,即神经元j的输入综合大于阈值,则从二值神经元的计算公式知道: yj的值保持为1,或者从0变到1. 这说明yj的变化yj只能是0或正值.这时很明显有Ej: Ej0 这说明HNN神经元的能量减少或不变.,3.2.2 DHNN的动力学稳定性,如果ujj,即神经元j的输入综合小于阈值,则知yj的值保持为0,或者
17、从1变到0,而yj小于等于零.这时则有Ej: Ej0 这也说明HNN神经元的能量减少.上面两点说明了DHNN在权系数矩阵W的对角线元素为0,而且W矩阵元素对称时,串行异步方式的DHNN是稳定的.,3.2.2 DHNN的动力学稳定性,B. 并行同步方式 由上述对串行异步和对称权值型的DHNN的稳定性分析过程知,单个神经元的状态变化引起的Lyapunov函数的变化量 Ej(t)0因此, 并行同步且权值对称的DHNN的所有神经元引起的 Lyapunov函数的变化量为:,3.2.2 DHNN的动力学稳定性,故上面两点说明了DHNN在权系数矩阵W的对角线元素为0, 而且W矩阵元素对称时,并行同步方式的D
18、HNN是稳定的.,基于上述分析,Coben和Grossberg在1983年给出了关于HNN稳定的充分条件,他们指出: 如果权系数矩阵W是一个对称矩阵,并且,对角线元素为0.则这个网络是稳定的. 即是说在权系数矩阵W中,若 i=j时, Wij=0 ij时,Wij=Wji 则HNN是稳定的. 应该指出: 这只是HNN稳定的充分条件,而不是必要条件. 在实际中有很多稳定的HNN,但是它们并不满足权系数矩阵w是对称矩阵这一条件.,3.2.2 DHNN的动力学稳定性,3.2.2 DHNN的动力学稳定性,由上面的分析可知: 无自反馈的权系数对称HNN是稳定. 它如图3.4所示.,2.2.3 HNN的联想记
19、忆,所谓联想可以理解为从一种事物联系到与其相关的事物的过程. 日常生活中,从一种事物出发,人们会非常自然地联想到与该事物密切相关或有因果关系的种种事务. 两种联想形式 自联想(Auto-association) : 由某种代表事物(或该事物的主要特征,或部分主要特征)联想到其所标示的实际事物。 从英文字头“Newt”联想到“Newton”。 听到歌曲的一部分可以联想起整个曲子。,2.2.3 HNN的联想记忆,异联想(他联想)(Hetero -association) : 由一种事物(或该事物的主要特征,或部分主要特征)联想到与其密切相关的另一事物。 从质能关系式E=mc2联想到其发明者爱因斯坦
20、。 看到某人的名字会联想起他的相貌和特点。 人脑从一种事物得到对应事物的两种途径 按时间顺序对相关事物进行思考 可通过时间表来回忆某一阶段所做的工作. 通过事物本质特征的对比来确定事物的属性 由提示信息或局部信息对事物进行回忆或确认.,2.2.3 HNN的联想记忆,HNN的一个功能是可用于联想记忆,也即是联想存储器.这是人类的智能特点之一. 人类的所谓“触景生情”就是见到一些类同过去接触的景物,容易产生对过去情景的回昧和思忆. 对于HNN,用它作联想记忆时,首先通过一个学习训练过程确定网络中的权系数,使所记忆的信息在网络的n维超立方体的某一个顶角的能量最小. 当网络的权系数确定之后,只要向网络
21、给出输入向量,这个向量可能是局部数据. 即不完全或部分不正确的数据,但是网络仍然产生所记忆的信息的完整输出.,2.2.3 HNN的联想记忆,1984年Hopfield提出一种用n维HNN作联想存储器的结构. HNN联想存储器的主要思想为: 根据欲存储的信息的表示形式和维数,设计相应的HNN结构 将欲存储的信息设计为HNN的动力学过程的已知的渐近稳定平衡点 通过学习和设计算法寻求合适的权值矩阵将稳定状态存储到网络中,2.2.3 HNN的联想记忆,在HNN联想存储器中,权系数的赋值规则Hebb规则,即为存储向量的外积存储规则,其原理如下: 设有m个样本存储向量X1,X2,Xm,其中 Xi=Xi1,
22、Xi2,.,Xi,n 把这m个样本向量存储入HNN中,则在网络中第i,j两个节点 之间权系数的值为(权值学习规则):,其中k为样本向量Xk的下标,k=1,2,m; i,j分别是样本向量Xk的第i,j分量Xk,i,Xk,j的下标.,2.2.3 HNN的联想记忆,如果把系统的稳定点视做一个记忆的话,那么从初始状态朝这个稳定点移动的过程就是寻找该记忆的过程。例1:计算如图3.5所示3节点DHNN的状态转移关系。考虑到DHNN的权值特性wijwji,可简化为图3.6右边的等价图。,2.2.3 HNN的联想记忆,图3.6 一个3节点的DHNN结构图,2.2.3 HNN的联想记忆,设网络参数为:,现在以初
23、始状态(可任意选定)y1y2y3=(000)为例,以异步运行网络,考察各个节点的状态转移情况。现在考虑每个节点y1y2y3以等概率(1/n)被选择。 假定首先选择节点y1,则节点状态为:Net1=1*0+2*0-(-5)=50 节点1输出为: y1=1 即,网络状态由(000)变化到(100),转移概率为1/3。,2.2.3 HNN的联想记忆,如选择节点y2 ,则节点状态为:Net2=1*0+(-3)*0-0=0 节点2输出为: y1=0 即,网络状态由(000)变化到(000),转移概率为1/3。 如选择节点y3 ,则节点状态为:Net3=2*0+(-3)*0-3=-30 节点3输出为: y
24、3=0 即,网络状态由(000)变化到(000),同样,转移概率为1/3。 从上面的网络运行可以看出,在网络参数给定的情况下,网络状态以1/3的概率转移到(100),以2/3的概率转移到(000),即保持不变,而不会转移到(010)等其它状态。,2.2.3 HNN的联想记忆,同理,还可以计算出其它状态之间的转移关系。从这个例子可以看出: (1)状态(110)是一个满足前面稳定定义的状态,即为稳定状态; (2)从任意初始状态开始,网络经过有限次状态更新后,都将到达该稳定状态。,2.2.3 HNN的联想记忆,例2:计算例1中3节点模型的个状态的能量。 首先选择状态y1y2y3=(011),此时,网
25、络的能量为:再选择状态y1y2y3=(110),同理,网络的能量为:,2.2.3 HNN的联想记忆,其余状态能量如表2所示:表2.模型各状态能量表,显然,状态y1y2y3=(110)处的能量最小。从任意状态开始,网络沿能量减小(包括同一级能量)方向更新状态,最终能达到对应能量极小的稳态。,2.2.4 记忆容量问题,设计DHNN网络的目的,是希望通过所设计的权值矩阵W储存多个期望模式. 因此,在DHNN用于联想记忆问题,记忆容量问题是一个必须回答的基本问题. 当网络只记忆一个稳定模式时,该模式肯定被网络准确无误地记忆住,即所设计的W值一定能够满足正比于输入和输出矢量的乘积关系. 但当需要记忆的模
26、式增多时,网络记忆可能出现问题.,2.2.4 记忆容量问题,按照Hebb规则求出权矩阵后,可以认为已有M个模式存入网络的连接权中。在联想过程中,先给出原始模式m0,使网络处于某种初始状态下,用网络方程动态运行,最后到达一个稳定状态。如果此稳定状态对应于已存储的M个模式中的某个模式mk,则称模式mk是由模式m0联想起来的。在这里举例说明。 例3.对于一个4神经元的网络,取阈值为0。给定两个模式存储于网络中:m1:Y(1)=y1,y2,y3,y4=1,1,1,1,m2:Y(2)=y1,y2,y3,y4=-1,-1,-1,-1.,2.2.4 记忆容量问题,按照Hebb规则可求得权矩阵:,2.2.4
27、记忆容量问题,给出用于联想的原始模式:mA:Y=y1,y2,y3,y4=1,1,-1,1, 运用网络方程:,得到: Y(1)=1,1,1,1, 再次运行,得到 Y(2)=1,1,1,1。这时网络已处于稳定状态:Y=1,1,1,1。而这个稳定状态正好是网络已记忆的模式m1,由此可以认为m1是由模式mA联想起来的。,2.2.4 记忆容量问题,若给出用于联想的原始模式为:mB:Y=y1,y2,y3,y4=-1,-1,-1,1, 则得到另一稳定状态Y=-1,-1,-1,-1 即模式m2。,2.2.4 记忆容量问题,再看一例。 例4.存储如下记忆模式:若给出用于联想的原始模式为:m1:Y(1)=y1,y
28、2,y3,y4=-1,1,1,1,m2:Y(2)=y1,y2,y3,y4=-1,-1,1,1,m3:Y(3)=y1,y2,y3,y4=-1,1,1,-1. 则其权矩阵为:,2.2.4 记忆容量问题,给出联想模式:m3:Y(3)=y1,y2,y3,y4=-1,1,1,-1. 但网络运行稳定在模式m1:Y(1)=-1,1,1,1 而不是其自身模式m3。,2.2.4 记忆容量问题,因此,DHNN用于记忆联想时,是受其记忆容量和样本差异制约的。当记忆模式较少,且模式之间的差异较大,则联想的结果就比较正确;而当需记忆的模式较多,容易引起混淆时,网络到达的稳定状态往往不是已记忆的模式;再者,当需记忆的模式之间较为相近时,网络就不能辨别出正确的模式,甚至连自身都会搞错,即使用已记忆的模式作为联想模式(自联想),也可能出错,如例4。,2.2.4 记忆容量问题,当网络用于联想记忆时,就涉及到网络的记忆容量问题。对此不做专门讨论,仅给出一些研究结果。 对于由N个神经元构成的DHNN的存储能量,通过适当选择网络的连接权矩阵和阈值所能达到稳定的N维矢量的最大数目k:Hopfield给出的实验估计为(推导见:杨行俊,第七章):Mc Eliece给出的一个结果是:对于精确地决定DHNN的记忆容量问题,还有待于进一步的理论分析和实验验证。,