第 07讲 反馈网络
zoujiang@public.wh.hb.cn
邹江反馈网络 (Recurrent Network),又称自联想记忆网络,其目的是为了设计一个网络,储存一组平衡点,使得当给网络一组初始值时,网络通过自行运行而最终收敛到这个设计的平衡点上。
1982年,美国加州工学院物理学家霍普菲尔德
(J,Hopfield)发表了一篇对人工神经网络研究颇有影响的论文。
反馈网络能够表现出非线性动力学系统的动态特性。它所具有的主要特性为以下两点:
第一、网络系统具有若干个稳定状态。当网络从某一初始状态开始运动,网络系统总可以收敛到某一个稳定的平衡状态;
第二,系统稳定的平衡状态可以通过设计网络的权值而被存储到网络中。
在本章中,我们将集中讨论反馈网络,通过网络神经元状态的变迁而最终稳定于平衡状态,得到联想存储或优化计算的结果。
在这里,着重关心的是网络的稳定性问题,研究的重点是怎样得到和利用稳定的反馈网络。
霍普菲尔德网络是单层对称全反馈网络,根据其激活函数的选取不同,可分为离散型的霍普菲尔德网络
(Discrete Hopfield Neural Network,简称 DHNN)和连续型的霍普菲尔德网络 (Continuous Hopfield Neural
Network,简称 CHNN)。
DHNN的激活函数为二值型的,其输入、输出为 {0,1}的反馈网络,主要用于联想记忆。
CHNN的激活函数的输入与输出之间的关系为连续可微的单调上升函数,主要用于优化计算。
7,1 霍普菲尔德网络模型图 7,1 反馈网络结构图在反馈网络中如果其激活函数 f(·)是一个二值型的硬函数,如图 7,2所示,即 ai= sgn(ni),i= l,2,… r,则称此网络为离散型反馈网络;
如果 ai=f(ni)中的 f(·)为一个连续单调上升的有界函数,这类网络被称为连续型反馈网络 。 图 7,3中所示为一个具有饱和线性激活函数,它满足连续单调上升的有界函数的条件,常作为连续型的激活函数。
图 7,2 DHNN中的激活函数 图 7,3 CHNN中的激活函数
7,2 状态轨迹设状态矢量 N=[n1,n2,…,nr],网络的输出矢量为 A= [a1,a2…,as]T,
在一个 r维状态空间上,可以用一条轨迹来描述状态变化情况。
从初始值 N(t0)出发,
N(t0+Δ t)→ N(t0+2Δ t)→ … → N(t0+mΔ t),这些在空间上的点组成的确定轨迹,是演化过程中所有可能状态的集合,我们称这个状态空间为相空间。
图 7,4 三维空间中的状态轨迹对于 DHNN,因为 N(t)中每个值只可能为 ± 1,或 {0,
1},对于确定的权值 wij,其轨迹是跳跃的阶梯式,如图中 A所示。
对于 CHNN,因为 f(·)是连续的,因而,其轨迹也是连续的。如图中 B,C所示。
对于不同的连接权值 wij和输入 Pj(i,j=1,2,… r),反馈网络状态轨迹可能出现以下几种情况。
7,2,1 状态轨迹为稳定点状态轨迹从系统在 t0时状态的初值 N(t0)开始,经过一定的时间 t(t> 0)后,到达 N(t0+t)。如果 N(t0+t+Δ t)=N(t0+t),
Δ t> 0,则状态 N(t0+t)称为网络的稳定点,或平衡点。
即反馈网络从任一初始态 P(0)开始运动,若存在某一有限时刻 t,从 t以后的网络状态不再发生变化:
P(t+Δ t)= P(t),Δ t> 0,则称该网络是稳定的。
处于稳定时的网络状态叫做稳定状态,又称为定吸引子。
在一个反馈网络中,存在很多稳定点,根据不同情况,
这些稳定点可以分为:
1)渐近稳定点,如果在稳定点 Ne周围的 N(σ )区域内,从任一个初始状态 N(t0)出发的每个运动,当 t→∞ 时都收敛于 Ne,则称 Ne为渐近稳定点。
2)不稳定平衡点 Nen:在某些特定的轨迹演化过程中,网络能够到达稳定点 Nen,但对于其它方向上的任意一个小的区域 N(σ ),不管 N(σ )取多么小,其轨迹在时间 t
以后总是偏离 Nen;
3)网络的解,如果网络最后稳定到设计人员期望的稳定点,
且该稳定点又是渐近稳定点,那么这个点称为网络的解;
4)网络的伪稳定点,网络最终稳定到一个渐近稳定点上,
但这个稳定点不是网络设计所要求的解,这个稳定点为伪稳定点。
7,2,2 状态轨迹为极限环如果在某些参数的情况下,状态 N(t)的轨迹是一个圆,或一个环,状态 N(t)沿着环重复旋转,
永不停止,此时的输出 A(t)也出现周期变化,
即出现振荡,如图 7,4中 C的轨迹即是极限环出现的情形。
对于 DHNN,轨迹变化可能在两种状态下来回跳动,其极限环为 2。如果在 r种状态下循环变化,
称其极限环为 r。
7,2,3 混沌现象如果状态 N(t)的轨迹在某个确定的范围内运动,
但既不重复,又不能停下来,状态变化为无穷多个,而轨迹也不能发散到无穷远,这种现象称为混沌 (chaos)。
在出现混沌的情况下,系统输出变化为无穷多个,
并且随时间推移不能趋向稳定,但又不发散。
7,2,4 状态轨迹发散如果状态 N(t)的轨迹随时间一直延伸到无穷远,
此时状态发散,系统的输出也发散。
在人工神经网络中,由于输入、输出激活函数上一个有界函数,虽然状态 N(t)是发散的,但其输出 A(t)还是稳定的,而 A( t)的稳定反过来又限制了状态的发散。
一般非线性人工神经网络中发散现象是不会发生的,除非神经元的输入输出激活函数是线性的。
目前的人工神经网络是利用第一种情况即稳定的专门轨迹来解决某些问题的。
如果把系统的稳定点视做一个记忆的话,那么从初始状态朝这个稳定点移动的过程就是寻找该记忆的过程。
状态的初始值可以认为是给定的有关该记忆的部分信息,
状态 N(t)移动的过程,是从部分信息去寻找全部信息,
这就是联想记忆的过程。
如果把系统的稳定点考虑为一个能量函数的极小点,在状态空间中,从初始状态 N(t0)= N(t0+t),最后到达 N*。
若 N*为稳定点,则可以看作是 N*把 N(t0)吸引了过去,
在 N(t0)时能量比较大,而吸引到 N*时能量已为极小了。
根据这个道理,可以把这个能量的极小点作为一个优化目标函数的极小点,把状态变化的过程看成是优化某一个目标函数的过程。
因此反馈网络的状态移动的过程实际上是一种计算联想记忆或优化的过程。它的解并不需要真的去计算,只需要去形成一类反馈神经网络,
适当地讨论其权重值 wij,使其初始输入 A(t0)向稳定吸引子状态的移动就可以达到这个目的。
霍普菲尔德网络是利用稳定吸引子来对信息进行储存的,利用从初始状态到稳定吸引子的运行过程来实现对信息的联想存取的。
通过对神经元之间的权和阈值的设计,要求单层的反馈网络达到下列目标:
(1)网络系统能够达到稳定收敛
(2)网络的稳定点
(3)吸引域的设计
7,3 离散型霍普菲尔德网络( DHNN)
7,3,1 DHNN模型结构其输出类似于 MP神经元,可表示为:
在上式中,取 b= 0,权矩阵中有 wij= wji,且取 wii= 0。
即 DHNN采用对称联接。
因此,其网络结构可以用一个加权元向量图表示。
图 7,5 霍普菲尔德网络图由图 7,5(a),考虑到 DHNN的权值特性 wij= wji,网络各节点加权输入和分别为:
对于以符号函数为激活函数的网络,网络的方程可写为:
7,3,2 联想记忆联想记忆功能是 DHNN的一个重要应用范围。要想实现联想记忆,反馈网络必须具有两个基本条件:
①网络能收敛到稳定的平衡状态,并以其作为样本的记忆信息;
②具有回忆能力,能够从某一残缺的信息回忆起所属的完整的记忆信息。
DHNN实现联想记忆的过程分为两个阶段:学习记忆阶段和联想回忆阶段。
在学习记忆阶段中,设计者通过某一设计方法确定一组合适的权值,使网络记忆期望的稳定平衡点。
联想回忆阶段则是网络的工作过程。
反馈网络有两种基本的工作方式:串行异步和并行同步方式。
1)串行异步方式:
2)并行同步方式:
在状态更新过程中,包括三种情况:由 -1变为 1;由 1变为
-1及状态保持不变。
在任一时刻,网络中只有一个神经元被选择进行状态更新或保持,所以异步状态更新的网络从某一初态开始需经过多次更新状态后才可以达到某种稳态。
这种更新方式的特点是:
实现上容易,每个神经元有自己的状态更新时刻,不需要同步机制;
功能上的串行状态更新可以限制网络的输出状态,避免不同稳态等概率的出现;
异步状态更新更接近实际的生物神经系统的表现。
7,3,3 DHNN的海布 (Hebb)学习规则在 DHNN的网络训练过程中,运用的是海布调节规则:
当神经元输入与输出节点的状态相同 (即同时兴奋或抑制 )时,从第 j个到第 i个神经元之间的连接强度则增强,否则则减弱。
海布法则是一种无指导的死记式学习算法。
离散型霍普菲尔德网络的学习目的:
对具有 q个不同的输入样本组 Pr× q= [P1,P2 …P q],希望通过调节计算有限的权值矩阵 W,使得当每一组输入样本 Pk,k=1,2,…,q,作为系统的初始值,经过网络的工作运行后,系统能够收敛到各自输入样本矢量本身。
当 k= 1时,对于第 i个神经元,由海布学习规则可得网络权值对输入矢量的学习关系式为:
其中,α> 0,i= 1,2…,r; j=1,2…,r。在实际学习规则的运用中,一般取 α= 1或 1/r。
那么由 (7,2)式求出的权值 wij是否能够保证 ai= pi? 取 α=
l,我们来验证一下,对于第 i个输出节点,有:
根据海布规则的权值设计方法,当 k由 1增加到 2,直至 q
时,则是在原有己设计出的权值的基础上,增加一个新量 pjkpik,k= 2…,q,所以对网络所有输入样本记忆权值的设计公式为:
(7.3)
式中矢量 T为记忆样本,T= P。上式称为推广的学习调节规则。当系数 α= 1时,称 (7,3)式为 T的外积和公式。
DHNN的设计目的是使任意输入矢量经过网络循环最终收敛到网络所记忆的某个样本上 。
因为霍普菲尔德网络有 wij= wji,所以完整的霍普菲尔德网络权值设计公式应当为:
用向量形式表示为:
当 α = 1时有:
其中,I为单位对角矩阵。
( 7.4)
( 7.5)
( 7.6)
在神经网络工具箱中有关采用海布公式求解网络权矩阵变化的函数为 learnh.m和 learnhd.m,后者为带有衰减学习速率的函数:
dW= 1earnh(P,A,lr);
或 dW= learnhd(W,P,A,lr,dr);
对于简单的情况,lr可以选择 1;对于复杂的应用,
可取 lr= 0.1~0.5,dr= lr/ 3。
7,3,4 影响记忆容量的因素设计 DHNN网络的目的,是希望通过所设计的权值矩阵 W
储存多个期望模式 。
从海布学习公式的推导过程中可以看出:当网络只记忆一个稳定模式时,该模式肯定被网络准确无误地记忆住,即所设计的 W值一定能够满足正比于输入和输出矢量的乘积关系 。
但当需要记忆的模式增多时,情况则发生了变化,主要表现在下面两点上:
(1)权值移动当 k=1时,有:
此时,网络准确的记住了样本 T1,当 k=2时,为了记忆样本 T2,需要在记忆了样本 Tl的权值上加上对样本 T2的记忆项 T2T2T-I,将权值在原来值的基础上产生了移动。
另一方面,由于在学习样本 T2时,权矩阵 W是在已学习了 T1的基础上进行修正的。此时,因 W起始值不再为零,
所以由此调整得出的新的 W值,对记忆样本 T2来说,也未必对所有的 s个输出同时满足符号函数的条件,即难以保证网络对 T2的精确的记忆。
随着学习样本数 k的增加,权值移动现象将进一步发生,
当学习了第 q个样本 Tq后,权值又在前 q— 1个样本修正的基础上产生了移动,这也是网络在精确的学习了第一个样本后的第 q-1次移动。
对已记忆的样本发生遗忘,这种现象成为,疲劳,。
(2)交叉干扰设输入矢量 P维数为 r× q,取 α =1/r,因为对于 DHNN有
Pk∈ {-1,1},k=1,2,…,q,所以有 pik*pjk= pjk*pjk
= 1。当网络某个矢量 Pl,l∈ [1,q],作为网络的输入矢量时,可得网络的加权输入和 nil为:
上式右边中第一项为期望记忆的样本,而第二项则是当网络学习多个样本时,在回忆阶段即验证该记忆样本时,所产生的相互干扰,称为交叉干扰项。
7,3,5 网络的记忆容量确定只要满足 r> q,则有 sgn(Nl)= Pl,保证 Pl为网络的稳定解。
DHNN用于联想记忆有两个突出的特点:即记忆是分布式的,而联想是动态的。
DHNN局限性,主要表现在以下几点:①记忆容量的有限性;②伪稳定点的联想与记忆;③当记忆样本较接近时,网络不能始终回忆出正确的记忆等。
另外网络的平衡稳定点并不可以任意设置的,也没有一个通用的方式来事先知道平衡稳定点。
所以真正想利用好霍普菲尔德网络并不是一件容易的事情。
7,3,6DHNN权值设计的其他方法
(1) δ 学习规则:
(2)伪逆法
W= N× P* ( 7,9)
其中 P*为 P的伪逆,有 P*= (PTP)-1PT,如果样本之间是线性无关的,则 PTP满秩,其逆存在,则可求出 (7,9)式求权矩阵 W来。
由于存在求逆等运算,伪逆法较为繁琐,而海布法则要容易求得多。
(3)正交化的权值设计这一方法的基本思想和出发点是为了满足下面四个要求:
1)保证系统在异步工作时的稳定性 ;
2)保证所有要求记忆的稳定平衡点都能收敛到自己;
3)使伪稳定点的数目尽可能的少;
4)使稳定点的吸引域尽可能的大。
虽然正交化设计方法的数学设计较为复杂,但与外积和法相比较,所设计出的平衡稳定点能够保证收敛到自己并且有较大的稳定域。更主要的是在 MATLAB工具箱中已将此设计方法写进了函数 solvehop.m中:
[W,b]= solvehop(T);
[例 7,1]考虑一个具有两个神经元的霍普菲尔德网络,每个神经元具有两个权值和一个偏差。
网络所要存储的目标平衡点为一个列矢量 T:
T= [1 -1;
-1 1];
[W,b]=solvehop(T); 设计 Hopfield网络。
用来进行测试的函数为 simuhop.m;
7,4 连续型霍普菲尔德网络霍普菲尔德网络可以推广到输入和输出都取连续数值的情形 。 这时网络的基本结构不变,状态输出方程形式上也相同 。 若定义网络中第 i个神经元的输入总和为 ni,
输出状态为 ai,则网络的状态转移方程可写为:
其中神经元的激活函数 f为 S型的函数 (或线性饱和函数 ):
或图 7,8 连续霍普菲尔德网络激活函数
[例 7,2]TSP问题。
所谓 TSP(Traveling Salesman Problem)问题,即,旅行商问题,是一个十分有名的难以求解的优化问题,其要求很简单:在 n个城市的集合中,找出一条经过每个城市各一次,最终回到起点的最短路径。
如果已知城市 A,B,C,D,…,之间的距离为 dAB,dBC,
dCD… ;那么总的距离 d= dAB+dBC+dCD+…,对于这种动态规化问题,要去求其 min(d)的解。
因为对于 n个城市的全排列共有 n!种,而 TSP并没有限定路径的方向,即为全组合,所以对于固定的城市数 n的条件下,其路径总数 Sn为 Sn= n!/ 2n (n≥4)
图 7,9 n= 4时的 TSP路径图表 7,2 城市数和对应的旅行方案数采用连续时间的霍普菲尔德网络模型来求解 TSP,开辟了一条解决这一问题的新途径。其基本思想是把 TSP映射到 CHNN上,通过网络状态的动态演化逐步趋向稳态而自动地搜索出优化解。
TSP的解是若干城市的有序排列,任何一个城市在最终路径上的位置可用一个 n维的 0,1矢量表示,对于所有
n个城市,则需要一个 n× n维矩阵,例如以 5个城市为例,一种可能的排列矩阵为:
该矩阵唯一地确定了一条有效的行程路径:
C→A→D→B→E
若用 dxy表示从城市 x到城市 y的距离,则上面路径的总长度为,dxy= dCE+dAD+dDB+dBE
TSP的最优解是求长度 dxy为最短的一条有效的路径。
(1)目标函数 f(V)
(2)约束条件 g(V)
约束条件要保证关联矩阵的每一行每一列中只有一个值为 1,其他值均为零,用三项表示为:
(3)总的能量函数 E
选择使用高增益放大器,这样能量函数中的积分分项可以忽略不计,求解得网络的联接权值为:
式中:
外部输入偏置电流为:
求解 TSP的连接神经网络模型的运动方程可表示为:
霍普菲尔德和泰克 (Tank)经过实验,认为取初始值为:
S= Q= P= 500,T= 200,RC= 1,U0= 0.02时,其求解 10个城市的 TSP得到良好的效果。
人们后来发现,用连续霍普菲尔德网络求解像 TSP这样约束优化问题时,系统 S,Q,P,T的取值对求解过程有很大影响。
7,5 本章小结设计 Hopfield网络的目的是用来存储一些平衡点集,当给定初始状态后,该网络最终能在设计点上平衡 。 该网络是递归的,其输出反馈为网络的输入 。 在理想状态下,网络的输出恰好是原始的设计点 。
Hopfield网络可以作为误差纠正或向量归类网络。
从理论上说,Hopfield网络有意义,但实际上很少使用。因为即使是最好的 Hopfield网络,
也会有伪平衡点,从而导致错误结果。
7,6 作业:
设计一个三元的霍普菲尔德网络,使网络存储的目标平衡点为: