第10章人工神经网络

Download Report

Transcript 第10章人工神经网络

第10章
霍普菲尔德(Hopfield)
神经网络
1985年,J.J.Hopfield和D.W.Tank建立了相互连接型的神经
网络模型,简称HNN(Hopfield Neural Network),并用它成
功地探讨了旅行商问题(TSP)的求解方法。前几章介绍的神经
网络模型属于前向神经网络,从学习的观点上看,它们是强
有力的学习系统,结构简单,易于编程。从系统的观点看,
它们属于一种静态的非线性映射,通过简单非线性处理单元
的复合映射可获得复杂的非线性处理能力,但它们因缺乏反
馈,所以并不是一个强有力的动力学系统。
Hopfield模型属于反馈型神经网络,从计算的角度上讲,它
具有很强的计算能力。这样的系统着重关心的是系统的稳定
性问题。稳定性是这类具有联想记忆功能神经网络模型的核
心,学习记忆的过程就是系统向稳定状态发展的过程。
Hopfield网络可用于解决联想记忆和约束优化问题的求解。
反馈型神经网络作为非线性动力学系统,可表现出丰富多样
的动态特性,如稳定性、极限环、奇怪吸引子(混沌)等。这些
特性是神经网络引起研究人员极大兴趣的原因之一。研究表
明,由简单非线性神经元互连而成的反馈动力学神经网络系
统具有两个重要特征:
1. 系统有若干个稳定状态,如果从某一个初始状态开始运动,
系统总可以进入其中某一个稳定状态;
2. 系统的稳定状态可以通过改变各个神经元间的连接权值而
得到。
Hopfield神经网络设计与应用的关键是对其动力学特性的正
确理解:网络的稳定性是其重要性质,而能量函数是判定网
络稳定性的基本概念。
网络结构形式
Hopfield网络是单层对称全反馈网络,根据激励函数选取
的不同,可分为离散型和连续性两种( DHNN,CHNN)。
DHNN:作用函数为δ函数,主要用于联想记忆。
CHNN:作用函数为S型函数,主要用于优化计算
非线性系统状态演变的形式
在Hopfield网络中,由于反馈的存在,其加
权 输入和ui,i=1~n为网络状态,网络的输出为
y1~yn, 则u,y的变化过程为一个非线性动力学系
统。可用非线性差(微)分方程来描述。一般
有如下的几种状态演变形式:
(1)渐进稳定
(2)极限环
(3)混沌现象
(4)状态轨迹发散
离散型 Hopfield神经网络
网络结构及I/O关系
对于以符号函数为激励函数的网络,网络的方程可
写为:
n
ui (t  1)   wij x j t   i
j 1
xi (t  1)  sgn ui (t  1)
i  1,2,, n 
图2.8.2
Hopfield网络为对称网络,wij=wji。当wii=0时为无
自反馈型,反之为全自反馈型
两种工作方式
(1)串行工作方式 在某一时刻只有一个神经元
改变状态,而其它神经元的输出不变。这一变化
的神经元可以按照随机的方式或预定的顺序来选
择。
(2)并行工作方式 在某一时刻有N个神经元改
变状态,而其它的神经元的输出不变。变化的这
一组神经元可以按照随机方式或某种规则来选择。
当N=n时,称为全并行方式。
DHNN的稳定工作点
n
X i ( t  1)  X i ( t )  sgn(  wij xi ( t )   i )
j 1
DHNN的状态变换
•从Hopfield网络的模型定义中可以看到对于n节点的
HNN有2n个可能的状态,即网络状态可以用一个包含
0和1的矢量表示
•每一个时刻整个网络处于一个状态,状态的变化采
用随机异步更新方式,即随机地选择下一个要更新的
神经元,且允许所有神经元具有相同的平均变化概率。
•节点状态更新包括三种情况:由0变为1、由1变为0
和状态保持不变。
•按照单元异步更新工作方式,某一时刻网络中只有
一个节点被选择进行状态更新,当该节点状态变化时,
网络状态就以一概率转移到另一状态;当该节点状态
保持时,网络状态更新的结果保持前一时刻的状态。
DHNN的状态变换
•通常网络从某一初始状态开始经过多次更新后才可
能达到某一稳态。使用异步状态更新策略有以下优点:
(1)算法实现容易,每个神经元节点有自己的状态
更新时刻.不需要同步机制;
(2)以串行方式更新网络的状态可以限制网络的输
出状态,避免不同稳态以等概率出现。
一旦给出HNN的权值和神经元的阈值,网络的状态转
移序列就确定了。
DHNN的状态变换
例 计算如图所示3节点HNN的状态转移关系。
该网络的参数为:
w12  w21  1
w13  w31  2
w23  w32  3
1  5, 2  0, 3  3
现在以初态(可任意选定)v1v2v3=(000)为例,以异步方式运行
网络,考察各个节点的状态转移情况。现在考虑每个节点
v1v2v3以等概率(1/3)被选择。假定首先选择节点v1,则节点状
态为:
3
v1  sgn(  w1 j v j  1 )  sgn(0  0  1  0  2  0  ( 5))  sgn(5)  1
j 1
网络状态由(000)变化到(100),转移概率为I/3
假定首先选择节点v2,则节点状态为:
v2  sgn(1  0  (3)  0  0)  sgn(3)  0
DHNN的状态变换
网络状态由(000)变化到(000)(也可以称为网络状态保持不变),转
移概率为1/3。
假定首先选择节点v3,则节点状态为:
v3  sgn(2  0  (3)  0  3)  sgn(3)  0
网络状态由(000)变化到(000),转移概率为1/3。
从上面网络的运行看出,网络状态(000)不会转移到(010)和(001),
而以1/3的概率转移到(100),以2/3的概率保持不变
同理,可以计算出其他状态之间
的转移关系如图所示。图中标出了
状态保持不变的转移概率,其余未
标注的均为1/3。
DHNN的状态变换
从这个例子,可以看出两个显著的特征:
(1)状态(110)是一个满足前面定义的稳定状态。
(2)从任意初始状态开始,网络经过有限次状态更新后,都
将到达该稳定状态。
Hopfield网络是一类反馈动力学系统,稳定性是这类系统的
重要特性。对于这类模型,有如下稳定性判据:
当网络工作在串行方式下时,若W为对称阵,且其对角元
素非负,则其能量函数单调下降,网络总能收敛到一个稳定点。
DHNN的能量函数
•上例的状态转移关系有这样的规律:任意一个状态要么在同一
“高度”变化,要么从上向下转移。
•Hopfield网络模型是一个多输入、多输出、带阈值的二态非线
性动力学系统。在满足一定的参数条件下,能量函数在网络运
行过程中是不断降低、最后趋于稳定平衡状态的。
•这种以能量函数作为网络计算的求解工具,被称为计算能量函
数。Hopfield网络状态变化分析的核心是对每个网络的状态定
义一个能量E,任意一个神经元节点状态发生变化时,能量值
都将减小。
假设第i个神经元节点状态vi的变化量记为Δvi相应的能量变化
量记为ΔEi。所谓能量Ei随状态变化而减小意味着ΔEi总是负值。
考察两种情况:
(1)当状态vi由0变为1时, Δvi >0。
(2)当状态vi由1变为0时, Δvi <0。
DHNN的能量函数
按照能量变化量为负的思路,可将能量的变化量ΔEi表示为
n
Ei   (  wij v j   i )vi
j 1
故节点i的能量可定义为:
n
Ei   (  wij v j   i )vi
j 1
ji
n
1 n n
E    wij vi v j    i vi
2 i 1 j 1
i 1
ji
显然E是对所有的Ei按照某种方式求和而得到,即式中出现的1
/2因子。其原因在于离散Hopfield网络模型中,wij=wji,如直
接计算E,将会对Ei中的每一项计算两次。如上例中对于3个节
点的网络,其节点能量为:
DHNN的能量函数
DHNN的能量函数
由上面给出E定义,显然有:
(1)在离散Hopfield模型状态更新过程中,能量函数E随状态
变化而严格单调递减。
(2)离散Hopfield模型的稳定状态与能量函数E在状态空间的
局部极小点是一一对应的。
上例中各状态的能量为
DHNN的能量函数
显然,状态v1v2v3=(110)处的能量最小。下图右边的数值变化
说明了能量单调下降的对应状态。从任意初态开始,网络沿能
量减小(包括同一级能量)方向更新状态,最终能达到对应能量
极小的稳态。
DHNN的能量函数
例:运行图所示4节点模型,并计算其各状态的能量。
任意给定一个初始状态为:
v(0)={1,0,1,0},先计算E(0)得
E(0)=1.0
第一轮迭代:
v1(1)=sgn(2.8-6.3)=sgn (-3.5)=0
v2(1)= sgn(3.4+4.7-(-4.3))=sgn (12.4)= 1
v3(1)= sgn(2.8-(-2.5))=sgn (5.3)= 1
v4(1)= sgn(-3.1-5.9-(-9.6))=sgn (0.6)= 1
E(1)=-14.0
v1(2)=sgn(3.4+2.8-3.1-6.3)=sgn (-3.2)=0
v2(2)= sgn(4.7-1.2-(-4.3))=sgn (7.8)= 1
v3(2)= sgn(4.7-5.9-(-2.5))=sgn (1.3)= 1
v4(2)= sgn(-1.2-5.9-(-9.6))=sgn (2.5)= 1
E(2)=-14.0
DHNN的能量函数
因此,v={0,1,1,1}是网络的一个稳定状态。实际上此例中有
4个神经元其可能的状态有16个,为便于验算,将其各状态的
能量列表如下:
显然,网络稳定状态下的能量为最小值-14。
网络能量极小状态即为网络的一个稳定平衡状态。能量极小点的
存在为信息的分布式存储记忆、优化计算提供了基础。如果将记
忆的样本信息存贮于不同的能量极小点,当输入某一模式时,网
络就能“联想记忆”与其相关的存储样本,实现联想记忆。
DHNN能量极小点的设计
•只有当网络的能量极小点可被选择和设定时,网络所
具有的能力才能发挥作用。
•能量极小点的分布是由网络的连接权值和阈值所决定
的。因此设计能量极小点的核心就是如何获取一组合
适的参数值。
•有两种方法供选择:
(1)根据求解问题的要求直接设计出所需要的连接枚值
(2)通过提供的附加机制来训练网络,使其自动调整连
接权值,产生期望的能量极小点。
前者为静态学习方法,对于一个具体应用而言,权矩
阵为定常矩阵、如TSP求解等。后者为动态学习方法,
如联想记忆等。
DHNN能量极小点的设计
例 以3节点Hopfield网络为例,假定要求设计的能量
极小点为状态v1v2v3=(010)和v1v2v3=(111),且网络
参数(权值、阂值)的取值范围为[-1,1]试确定满足条件
的网络参数。
记v1v2v3=(010)为状态A,v1v2v3=(111)为状态B
对于状态A,节点激励函数必须满足下列不等式:
(a ) w12  1  0
(b)   2  0
(c ) w23   3  0
对于状态B,节点激励函数必须满足下列不等式:
(d ) w12  w13  1  0
(e ) w12  w23   2  0
( f ) w23  w13   3  0
DHNN能量极小点的设计
用上面的不等式组,可以求解出6个未知量的允许取
值范围。
假设取w12=0.5,则:
由(a)式,0.5<θ1<1,取θ1=0.7
由(d)式,0.2<w13 < 1,取W13=0.4
由(b)式,-1<θ2<0,取θ2=-0.2
由(e)式,-0.7<w23<1,取w23=0.1
由(c)式,0.1<θ3 < 1,取θ3=0.4;θ3也满足(f)式。
于是,确定了一组权值和阈值:
w12=0.5,w13=0.4,w23=0.1
θ1=0.7,θ2=-0.2,θ3=0.4
可以验证,利用这组参数构成的Hopfield网络对于任
何起始状态,始终都将达到所期望的稳态A和稳态B
DHNN能量极小点的设计
DHNN能量极小点的设计
按照上述方法在设计能量极小点时,网络的权值和网
值可在某个允许区间内取值。因而所选择的一组参数
虽然满足了能量极小点设计的要求,但同时也可能产
生设计所不期望的能量极小点。
比如,如果选择的权值和阈值为:
w12=-0.5, w13=0.5, w23=0.4;
θ1=-0.1, θ2=-0.2, θ3=0.7,
可以验证,这组值也满足(a)一(f)不等式组,但是这
组参数构成的Hopfield网络有三个能量极小点,包括
期望的(010)和(111)以及(100)。
DHNN能量极小点的设计
DHNN的学习和联想记忆
Hopfield网络可用于联想记忆。当它用于计算时,其
权矩阵给定为W,目的是寻找具有最小能量E的网络
稳定状态;而作为记忆的学习时稳定状态是给定的,
通过网络的学习求合适的权矩阵W(对称阵)。一旦学
习完成后,以计算的方式进行联想。
前面设计能量极小点是根据问题的要求用手工计算得
到一组网络的参数。而网络的学习是通过一定的学习
算法,自动地得到所需要的参数。对于Hopfield网络,
可以采用Hebb学习规则和误差型学习算法。
DHNN的学习和联想记忆
用 DHNN实现联想记忆需要考虑两个重要的问题:
①怎样按记忆确定网络的W和;
②网络给定之后如何分析它的记忆容量。下面将分别
讨论:
1、权值的设计方法
2、记忆容量分析
3、权值修正的其它方法
权值的设计方法
权值设计的方法有外积法、伪逆法、正交设计法等。
外积法(Hebb学习规则):是一种比较简单,在
一定条件下行之有效的方法。
给定输入X
W 
K
, K  1 ~ m, X  R n , I为n  n单位阵,则
 X
m
k 1
wij 
K
X 
K
T
I

m
 xik x kj
k 1
wii  0
i 1~ n
按上述规则求出权矩阵后,网络已经将模式存入网络的
连接权中。在联想过程中,先给出一个原始模式,使网
络处于某种初始状态下,用网络方程动态运行,最后达
到一个稳定状态。如果此稳定状态对应于网络已存储的
某个模式,则称模式是由模式联想起来的。
[例] 对于一个4神经元的网络,取阈值为0。给定两
个模式存贮于网络之中
m1: V(1)=[v1,v2,v3,v4]=[1,1,1,1]
m2: V(2)=[v1,v2,v3,v4]=[-1,-1,-1,-1]
计算可得权矩阵:
 w11 w12 w13 w14   0 2 2 2 
w
W   21
 w31

 w41
w22
w32
w23
w33
w42
w43
w24   2 0 2 2 


w34   2 2 0 2 
 

w44   2 2 2 0 
给出用于联想的原始模式: mA : V(A)=[1,1,-1,1]
运行网络得到稳定状态V(1)=[1,1,1,1],这个稳定状态
正好是网络已记忆的模式m1
由此可以认为m1是由模式mA联想起来的。
如联想模式为: mB : V(B)=[-1,-1,-1,1]
则得到另一稳定状态:V(2)=[-1,-1,-1,-1],即模式m2
例 设计DHNN,并考察其联想性能。
 1 1 1 
X  T   1  1  1
  1 1 1 
解:
W 
 X X 
3
K
K 1
K
T

 0 1  1
 I   1 0  3
  1  3 0 
验证: Y 1  sgn WX 1   T !
Y 2  sgn WX 2   T 2
Y 3  sgn WX 3   T 2  T 3
说明所设计的网络没有准确的记忆所有期望的模式。
因此,Hopfield网络用于联想记忆受其记忆容量和样本差异
制约。当记忆的模式较少且模式之间的差异较大,则联想结
果正确;而当需记忆的模式较多就容易引起混淆,网络到达
的稳定状态往往不是已记忆的模式。此外当需记忆的模式之
间较为相近时网络就不能辨别出正确的模式,甚至连自身都
会联想错,即使用已记忆的模式作为联想模式(自联想),也
可能出错。
记忆容量分析
当网络只记忆一个稳定的模式时,该模式
肯定被网络准确无误的记忆住。但当所要
记忆的模式增加时,情况则发生了变化,
主要表现在下列两点上:
1、权值移动
2、交叉干扰
权值移动
在网络的学习过程中,网络对权值的记忆实
际上是逐个实现的。即对权值W,有程序:
W 0
for k  1, q
K
K T
W  W  X X   I
end
当网络准确的记忆X1时,为了记忆X2,需要在记忆样本
X1的权值上加上对样本X2的记忆项X2 X2T-I,将权值在
原来值的基础上产生了移动。这样网络有可能部分地
遗忘了以前已记忆的模式。
从动力学的角度来看,k值较小时,网
络Hebb学习规则可以使输入学习样本成
为其吸引子。随着k值的增加,不但难以
使后来的样本成为网络的吸引子,而且
有可能使已记忆住的吸引子的吸引域变
小,使原来处于吸引子位置上的样本从
吸引子的位置移动。对一记忆的样本发
生遗忘,这种现象称为“疲劳”。
交叉干扰
网络在学习多个样本后,在回忆阶段,即验证该记
忆样本时所产生的干扰,称为交叉干扰。
对外积型设计而言,如果输入样本是彼此正交的,
n个神经元的网络其记忆容量的上界为n。但是在大
多数情况下,学习样本不可能是正交的,因而网络
的记忆容量要比n小得多,一般为(0.13~0.15)n。
权值修正的其它方法
1、学习规则
2、伪逆法
3、正交化权值设计
学习规则
学习规则基本公式是:
W      P
wij t  1  wij t   T t   At P t 
即通过计算该神经元节点的实际激励值
A(t),与期望状态T(t)进行比较,若不满
足要求,将两者的误差的一部分作为调
整量,若满足要求,则相应的权值保持
不变。
伪逆法
X  X X 
1
2

N
X
设输入样本
输入输出之间用权值W来映射,则有
N  W * X , Y  sgnN 
由此可得
*
*

W N X
1 T
T
*
*
其中X 为伪逆,有X  X X X , 如果样本之间是
T
X
线性无关的,则 X满秩,其逆存在,则可求出权矩阵
W
用伪逆法求出的权W可以保证在自己输入时仍能收
敛到样本自己。如果N与输入X完全相同,则W也可
以是对称的,因而满足稳定工作的条件。其实只要
满足Y矩阵中每一个元与WX矩阵中的每个元有相同
的符号就可以满足收敛到本身。
正交化权值设计
这一方法是由Li和Mechel提出来的,其出发点为:
(1)要保证系统在异步工作时的稳定性,则它的权是对
称的
(2 )要保证所有的要求的记忆样本都能收敛到自己,不
会出现错误的其他收敛值.
(3)要求伪稳定点的数目尽可能地少。
(4)要求稳定点吸引域尽可能地大。
其状态转换公式为
sgn(WV ( t )  I )  V ( t  1), I  0
双向联想存贮器(BAM Bidirectional Associate Memory)
BAM是一个双层回归联想存贮器,是Hopfield网络的扩展,
也是内容编址存贮器,但各单元可以有自反馈。
其连接矩阵可以构造如下:
W  Y1 X1T  Y2 X 2T      YL X L
L表示模式向量为L对。
为了构造Y层到X层的权值矩阵,将W取成WT即可。
BAM是双向的,输入和输出取决于转播方向。
BAM数学上处理如下:
n
netY 是Y 层总输入,各单元的输入: nety i   wij xi
在X层:
j 1
netX  W Y
T
netX 是X 层总输入,各单元的输入:netx i 
在t 1时刻,xi (t 1) 和yi (t 1)计算如下
 1

xi (t  1)   xi
 1

netyi  0
netyi  0
netyi  0
1

yi (t  1)   yi
1

m
 yi wij
j 1
netxi  0
netxi  0
netxi  0
举例:
令:X 1  (1,1,1,1,1,1,1,1,1,1) T
Y1  (1,1,1,1,1,1) T
X 2  (1,1,1,1,1,1,1,1,1.  1) T
Y2  (1,1,1,1,1,
 1) T
权矩阵计算可得:
2
0

0
T
T
W  Y1 X 1  Y2 X 2  
0
 2

 0
0
2
0 0 2 0 2
2 2 0 2 0
2
2
0
2 2 0 2 0
2 2 0 2 0
0 0 2 0 2
2 2 2 0
2
0
0 2 0 
2 0  2
2 0  2

2 0  2
0 2 0

 2 0 2 
选 X 0  (1,1,1,1,1,1,1,1,1,1) T
Y0  (1,1,1,1,1,1) T
X向Y传播,Y的总输入netY  (4,12,12,12,4,12)T ,
Ynew  (1,1,1,1,1,1)T
Y向X传播,X的新值:X new  (1,1,1,1,1,1,1,1,1,1)T
说明回忆起第一个的训练样本。
在BAM中,可以找到 BAM的能量函数:
E ( X , Y )  Y T WX
或
m
n
E     y i w ij x i
i 1 j 1
E具有以下性质:
1)BAM处理过程中, X和Y的任何变化,使 E减少;
2)E下限有界, E min   ij W ij ;
3) E变化时,必改变一个有 限量。
连续Hopfield网络
CHNN是在DHNN的基础上提出的,它的原理
和DHNN相似。由于CHNN是以模拟量作为网络的
输入输出量,各神经元采用并行方式工作,所以
它在信息处理的并行性、联想性、实时性、分布
存储、协同性等方面比DHNN更接近于生物神经
网络。
1、网络模型
2、CHNN方程的解及稳定性分析
3、关于Hopfield能量函数的几点说明
4、关于CHNN的几点结论
CHNN的网络模型
对于神经元,放大器的I/O关系可用如下的方程来描述:
n
dui
ui
1
v j  ui   I i
ci


dt
Ri 0
j 1 Rij
vi   ui 
 x  
1
1 ex
或   x   tanh  x 
CHNN的网络模型
对I/O方程变形得:
n
dui
ui
    wij v j  i
dt
 i j 1
n
1
1
1
1
I


, wij 
, i  i
ci
 i Ri 0 ci j 1 Rij ci
Rij ci
矩阵形式:
u    1u  Wv  
 w11  w1n 
W  
 ,   diag 1  2   n , v, 为向量  R n 1
w  w 
nn 
 n1
如果令u  0, 则有
u  Wv  
上式与DHNN 模型有相同的形式。由此可见,DHNN 可以
视为CHNN的一种特殊情况。
•该动态方程描述了神经元i的输出和其内部状态ui之间的关系。
•CHNN实质上是连续的非线性动力学系统,由一组非线性微分
方程来描述。
•当给定初始状态,通过求解非线性微分方程组即可求得网络状
态的运动轨迹。
•若系统是稳定的,则它最终可收敛到一个稳定状态。
•若用模拟电路的硬件来实现该模型,则这个求解非线性微分方
程的过程将由该电路自动完成,其求解速度非常快。
CHNN有如下一些特性:
(1)系统在运行过程中,其能量函数将会逐渐减小到某一极小
状态。
(2)系统的极小状态一般不止一个,存在有限个平衡点
(3)CHNN可以用模拟电路实现。电路中的放大器和电阻电容
等器件的电气特性在物理上对生物神经网络的某些特征有较好
的模拟。
CHNN方程的解及稳定性分析
对于CHNN来说,关心的同样是稳定性问
题。在所有影响电路系统稳定的参数中,
一个比较特殊的参数值是放大器的放大倍
数。当放大器的放大倍数足够大时,网络
由连续性转化成离散型,状态与输出之间
的关系表现了建立函数的形状,而正是激
励函数代表了一个网络的特点,所以着重
分析不同激励函数关系对系统的稳定性的
影响。
当激励函数为线性函数时
v i   ui
此时系统的状态方程为:
U  AU  B
1
其中A    WB。
R
此系统的特征方程为:
A  I  0
其中I为单位对角阵。通过对解出的特征值1, 2,
, r
的不同情况,可以得到不同的系统解的情况。
对于非线性系统进行稳定性分析,方法之
一就是在系统的平衡点附近对系统进行线性化
处理。也可以基于网络的能量函数。下面介绍
Hopfield能量函数法。
能量函数定义为 :
n
n
1 n n
1 v i 1  
E     wij v i v j   v i I i     i v dv
0
2 i 1 j 1
i 1
i 1 R i
上式第三项表示一种输入状态和输出值关系的 能量项。
关于 CHNN 的稳定性有如下的定理 :
1

定理:若 i v 为单调连续递增的函数 ,且 ci f 0,
wij  w ji , 则随着网络状态的变化 ,有
dE 
dv
dE
0, 当且仅当 i  0时,  0,i  1,2,  , n
dt
dt
dt
此定理表明,随着时间的演化,网络的状态总是朝能量减少
的方向运动,网络的平衡点就是E的极小点。
关于Hopfield能量函数的
几点说明
当对反馈网络应用能量函数后,从任一初始状态
开始,因为在每次迭代后都能满足E≤0,所以网络
的能量将会越来越小,最后趋于稳定点E=0。
Hopfield能量函数的物理意义是:在那些渐进稳定
点的吸引域内,离吸引点越远的状态,所具有的能量
越大,由于能量函数的单调下降特性,保证状态的运
动方向能从远离吸引点处,不断地趋于吸引点,直到
达到稳定点。
几点说明:
1 能量函数为反馈网络的重要概念。
根据能量函数可以方便的判断系统的稳
定性;
2 Hopfield选择的能量函数,只是保
证系统稳定和渐进稳定的充分条件,而
不是必要条件,其能量函数也不是唯一
的。
关于CHNN的几点结论
1)具有良好的收敛性;
2)具有有限个平衡点;
3)如果平衡点是稳定的,那么它也一定是渐进稳
定的;
4)渐进稳定平衡点为其能量函数的局部极小点;
5)能将任意一组希望存储的正交化矢量综合为网
络的渐进平衡点;
6)网络的存储信息表现为神经元之间互连的分布
式动态存储;
7)网络以大规模、非线性、连续时间并行方式处
理信息,其计算时间就是网络趋于平衡点的时间。
Hopfield网络
在组合优化中的应用
• 组合优化问题,就是在给定约束条件下,
求出使目标函数极小(或极大)的变量
组合问题。
• 将Hopfield网络应用于求解组合优化问
题,就是把目标函数转化为网络的能量
函数,把问题的变量对应于网络的状态。
这样当网络的能量函数收敛于极小值时,
问题的最优解也随之求出。
• 旅 行 商 问 题 , 简 称 TSP ( Traveling
Salesman Problem)。问题的提法是:
设有N个城市, c1 , c 2 , , c N
,记为:
C  c1 , c 2 ,  , c N  ,用dij 表示ci 和cj 之间的距
离, dij>0,(i,j=1,2,…n) 。
• 有一旅行商从某一城市出发,访问各城
市一次且仅一次后再回到原出发城市。
要求找出一条最短的巡回路线。
N=5 TSP Probelm
n=5,并用字母A、B、C、D、E、分别代表这
5个城市。当任选一条路径如B->D->E->A->C,,
则其总路径长度可表示为
S  d B D  d D E  d E A  d A C  d CB
第一步就是将问题映射到一个神经网络。假定
每个神经元的放大器有很高的放大倍数,神经
元的输出限制在二值0和1上,则映射问题可以
用一个换位矩阵(PM, Permutation Matrix)
来进行,换位矩阵可如下图所示。
换位矩阵
次序
1
2
3
4
5
A
0
0
0
1
0
B
1
0
0
0
0
C
0
0
0
0
1
D
0
1
0
0
0
E
0
0
1
0
0
城市
对于n个城市需用由n2个神经元构成的n x n阶PM来表
示旅行路线。在该换位矩阵中每一列只有一个元素为1,
其余为0,列的大小表示对某城市访问的次序。同样每
一行也只有一个元素为1,其余为0。通过这样的PM,
可唯一地确定一条旅行路线。
对于n个城市的TSP,存在n!个输出状态。然而一个旅
行只是描述一条访问城市的路线。对于访问n个城市,
这是一个n个城市沿闭合路径排列的问题,它共有
n!/n=(n-1)!种方案。如果将沿同一闭合路径但方向相
反的两个方案合算为一种方案,n个城市的TSP共有n!
/2n条城市旅行路线。显然,TSP的计算时间随城市
数目n呈指数增长。
约束条件和最优条件
矩阵的每个元素对应于神经网络中的每个神经元,
则这个问题可用n2=52=25个神经元组成的
Hopfield网络来求解。
问题的约束条件和最优条件如下:
(1) 一个城市只能被访问一次=>换位矩阵每行只
有一个“1”。
(2)一次只能访问一个城市=>换拉矩阵每列只有
一个“1”。
(3)总共有n个城市=>换位矩阵元素之和为n。
(4)求巡回路径最短=>网络能量函数的最小值对
应于TSP的最短路径。
对于用HNN来求解TSP问题,就是要恰当地构造
一个能量函数,使得HNN网络中的n个神经元能
够求得问题的解,并使其能量处于最低状态。为
此,构造能量函数需考虑以下两个问题;
(1)能量函数要具有适合于PM的稳定状态(约束
条件)。
(2)能量函数要有利于表达在TSP所有合法旅行
路线中最短路线的解(目标函数)。
用vij表示换位矩阵第i行、第j列的元素,显然只能
取1或0。同时vij也是网络神经元的状态。
结论:
构成最短路径的换位矩阵一定是形成网络能
量函数极小点的网络状态。
网络能量函数的构成
n 1 n
u xiu xj 应为 0。
1) 第 x 行的所有元素 u xi 按顺序两两相乘之和 x1 j 
 i 1
2) n 个行的所有元素按顺序两两相乘之和
n
n 1 n
   u xiu yi 也应为
x 1 i 1 j  i  1
0。
3) 将第 2)项前乘系数 A/2 ,则可作为网络能量函数的第一项
n 1 n
A
 
 u u
2 x  1 i  1 j  i  1 xi xj
n
同理,对应于第( 2)个约束条件(列),可得能量函数的第二项
B n n 1 n
   u xiu yi
2 i 1 x 1 y  x  1
式中, B/2 为系数。
应于第(3)个约束条件,换位矩阵中所有为“1”元素
之和应等于 N
n
n
 u
x 1 i 1
xi
n 0
由此可得网络能量函数的第三项
C n n

u xi  n


2  x 1 i 1

2
式中,取平方值是为了使这项符合能量的表达形式,同时
也体现了对不符合约束条件时的一种惩罚;C/2 为系数约
束条件时的一种惩罚;C/2 为系数。
第(4)项为优化目标,即优化要求其表达式为
d xy v xi v y ,i 1和d xy v xi v y ,i 1
由前三个约束条件可知,这两项至少有一项为 0,顺序访
问 X、Y 两城市所有可能途径(长度)可表示为
 (d
xy
v xi v y ,i 1 d xy v xi v y ,i 1 ) 
d
xy
v xi (v y ,i 1  v y ,i 1 )
N 个城市两两之间所有可能的访问路径的长度
可表示为
n
n
n
 d
x 1 y 1 i 1
u xi (u y ,i 1 u y ,i 1 )
xy
当这项最小时,则它就表示访问 N 个城市的最短距
离。由此得到网络能量函数的第四项
D n n n
d xyu xi (u y ,i 1 u y , i  1)

2 x 1 y 1 i 1
式中,D/2 为系数。
能量函数表达式
网络能量函数的最后表达式
A n n 1 n
B n n 1 n
E   u xiu xj   u xiu yi
2 x 1 i 1 j i 1
2 i 1 x 1 y  x 1
C n n
 (u xi  n) 2
2 x 1 i 1
D n n n
    d xy v xi (u y ,i 1 u y ,i 1 )
2 x 1 y 1 i 1
E 达到极小时,由网络状 u 构成的换位矩阵表达
了最佳旅行路径。
ij
网络加权及阈值
第三步:确定网络神经元之间的连接权及神经元输出
的阈值。设网络(xi )神经元与 yj  神经元之间的连接权为
 xi , yi ,神经元(xi )输出的阈值为 I xi ,则有
 xi , yj   A xy (1   ij )  B ij (1   xy )  C
 Dd xy ( j , i 1  j , i 1 )
I xi  CN
1(i  j )
 ij  
0(i  j )
求解TSP网络的迭代方程
第四步:求解 TSP 网络的迭代方程
n
n
u xi
dui
 Au xi  B u yi

c xi
Rxi
dt
y 1
j 1
j 1
n
y x
n
 C (u xy  n)
x 1 y 1
N
 D  d xy (u y , i 1 u y , i  1)
y 1
1
2
u xi   xi (u xi )  [1  tanh(
u xi
)]
u0
计算步骤
(1) 初始化:给定一个 u0 值(例如 u0  0.02 )
。按
下式取网络各神经元的初始状态:
u xi  u00   uxi
式中,u00 
1
u0 ln( N  1) ,其中
2
N 为网络神经元个数; uxi
为(-1,+1)区间的随机值。
(2) 求出各神经元的输出
u xi (t0 ) 
1
u xi (t0 )  1  tanh(
)
2
u0 
du xi
(3). 求
dt
t  t0
。
(4). 求下一时刻的状态量
du xi
i. u xi (t0  t )  u xi (t0 ) 
dt
(5). 返回步骤(2)
t  t0
t
(1)网络参数的选择
网络参数A,B,C,D,u0等对网络的变化相当敏感,原则上不
能随意改变,
Hopfield和Tank给出的参数值为:A=B=D=500,C=200,
u0=0.02。
这种选择是考虑了以下两点后的折中:
①D值较小时,容易获得合法路径;D值较大时,可增加路径
长度的权重,从而使合法路径趋于最优;
②u0是放大器的增益,太小时阈值函数接近于符号函数,不
能获得较好的解;太大时,S型阈值函数过于平坦,神经元状态
不易于收敛到0和1,从而使获得合法路径的概率下降。
除了以上两点外,考虑网络参数对收敛速度的影响。实际上选
择为A=B=D=0.5.C=0.2,u0=0.02。这样的选择使能量函
数数量级差异减小,从而使能量的数值也减小。程序中是以∆E
为收敛判据,因而这种选择加快了程序收敛的速度。
(2)网络初始状态的选择
对于网络初始状态u0的选择问题,常采用随机扰动的方法。
即给初始值u0增加一个小的扰动δ
(3)阈值函数的处理
双曲正切函数阈值函数的计算包括二次指数计算、二次除法计
算、三次加法计算,运算量很大,并且在每次迭代中都要调用
N2次,这祥的运算严重彤响了网络的收敛速度。为此把该函数
离散化,即在函数值变化敏感区域预先计算好足够多的离散函
数值,形成表格存入计算机。这样在迭代过程中就无需经常计
算函数值,而代之以查表值(只需一次乘法和一次加法),可大
大提高计算速度。
(4)神经元的状态值需取为模拟量
由于在迭代过程中,城市位置的选取可能有很多种选择,采
用模拟值来处理单元的状态是必然的。利用连续网络的模拟特
性进行中间处理,可以在一次处理中同时考虑多条路径。这样
可大量减少迭代次数,使计算具有一定的并行特征。
用上述方法对10个城市的TSP做100次仿真试验,发
现在1000步迭代计算以内有15次收敛到有效路径的
解(可行解),45次收敛到对应于无效路径的解(不满
足约束条件),还有40次未达到收敛,试验中所用常
数为a=b=d=500,c=200,u0=0.02,I=1000。说
明上述方法存在问题,即经常收敛到无效解,而且
对常数a,b等的选择较敏感,而这些常数的选择又没
有可遵循的规律。针对上述问题,学者们做了许多
研究来分析上述问题产生的原因和解决方法。