Hopfield神经网络(Hopfield Nets)

发布时间:2016-02-12  栏目:深度学习  评论:0 Comments

Hopfield神经网络是一种循环神经网络,由约翰·霍普菲尔德在1982年发明。Hopfield网络是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值(local minimum),而非全局极小(global minimum)的情况也可能发生。Hopfield网络也提供了模拟人类记忆的模型。

 

Hopfield神经网络是一种递归神经网络,由约翰·霍普菲尔德在1982年发明。Hopfield网络是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值(local minimum),而非全局极小(global minimum)的情况也可能发生。Hopfield网络也提供了模拟人类记忆的模型。
离散Hopfield网络是一个单层网络,有n个神经元节点,每个神经元的输出均接到其它神经元的输入。各节点没有自反馈。每个节点都可处于一种可能的状态(1或-1),即当该神经元所受的刺激超过其阀值时,神经元就处于一种状态(比如1),否则神经元就始终处于另一状态(比如 -1)。 整个网络有两种工作方式:即异步方式和同步方式。
联想记忆功能是离散Hopfield网络的一个重要应用范围。要想实现联想记忆,反馈网络必须具有两个基本条件:
① 网络能收敛到稳定的平衡状态,并以其作为样本的记忆信息;
② 具有回忆能力,能够从某一残缺的信息回忆起所属的完整的记忆信息。 离散Hopfield网络实现联想记忆的过程分为两个阶段:学习记忆阶段和联想回忆阶段。在学习记忆阶段中,设计者通过某一设计方法确定一组合适的权值,使网络记忆期望的稳定平衡点。联想回忆阶段则是网络的工作过程。

 

离散Hopfield网络用于联想记忆有两个突出的特点:即记忆是分布式的,而联想是动态的。 离散Hopfield网络局限性,主要表现在以下几点:
① 记忆容量的有限性;
② 伪稳定点的联想与记忆;
③ 当记忆样本较接近时,网络不能始终回忆出正确的记忆等。另外网络的平衡稳定点并不可以任意设置的,也没有一个通用的方式来事先知道平衡稳定点。
与连续Hopfield 网络相比,离散Hopfield 网络[Hopf1982]的主要差别在于神经元激活函数使用了硬极限函数(连续Hopfield 网使用Sigmoid 激活函数),且一般情况下离散Hopfield网络没有自反馈,即。因此,离散Hopfield 网络是一种二值神经网络, 即每个神经元的输出只取1 和-1 这两种状态(分别表示激活和抑制)。

 

1982年,J.Hopfield提出了可用作联想存储器的互连网络,这个网络称为Hopfield网络模型,也称Hopfield模型。Hopfield神经网络模型是一种循环神经网络,从输出到输入有反馈连接。Hopfield网络有离散型和连续型两种。

反馈神经网络由于其输出端有反馈到其输入端;所以,Hopfield网络在输入的激励下,会产生不断的状态变化。当有输入之后,可以求取出Hopfield的输出,这个输出反馈到输入从而产生新的输出,这个反馈过程一直进行下去。如果Hopfield网络是一个能收敛的稳定网络,则这个反馈与迭代的计算过程所产生的变化越来越小,一旦到达了稳定平衡状态;那么Hopfield网络就会输出一个稳定的恒值。对于一个Hopfield网络来说,关键是在于确定它在稳定条件下的权系数。

应该指出:反馈网络有稳定的,也有不稳定的。对于Hopfield网络来说,还存在如何判别它是稳定网络,亦或是不稳定的问题;而判别依据是什么,也是需要确定的。

1.3.1 离散Hopfield网络

Hopfield最早提出的网络是二值神经网络,神经元的输出只取1和0这两个值,所以,也称离散Hopfield神经网络。在离散HopfieId网络中,所采用的神经元是二值神经元;故而,所输出的离散值1和0分别表示神经元处于激活和抑制状态。

首先考虑由三个神经元组成的离散Hopfield神经网络,其结构如图1—13中所示。

在图中,第0层仅仅是作为网络的输人,它不是实际神经元,所以无计算功能;而第一层是实际神经元,故而执行对输人信息和权系数乘积求累加和,并由非线性函数f处理后产生输出信息。f是一个简单的阀值函效,如果神经元的输出信息大于阀值θ,那么,神经元的输出就取值为1;小于阀值θ,则神经元的输出就取值为θ

Hopfield模型

图1-13  三神经元组成的Hopfield网络

对于二值神经元,它的计算公式如下

Hopfield模型

其中:xi为外部输入。并且有:

Yi=1,当Uiθi

Yi=0,当Ui<θi

对于一个离散的Hopfield网络,其网络状态是输出神经元信息的集合。对于一个输出层是n个神经元的网络,则其t时刻的状态为一个n维向量:

Y(t)=[Y1(t),Y2(t),,Yn(t)]T

故而,网络状态有2n个状态;因为Yj(t)(j=1……n)可以取值为1或0;故n维向量Y(t)有2n种状态,即是网络状态。

对于三个神经元的离散Hopfield网络,它的输出层就是三位二进制数;每一个三位二进制数就是一种网络状态,从而共有8个网络状态。这些网络状态如图1—14中所示。在图中,立方体的每一个顶角表示一种网络状态。同理,对于n个神经元的输出层,它有2n个网络状态,也和一个n维超立方体的顶角相对应。

Hopfield模型

图1-14   三神经元输出层的网络状态

如果Hopfield网络是一个稳定网络,那么在网络的输入端加入一个输入向量,则网络的状态会产生变化,也就是从超立方体的一个顶角转移向另一个顶角,并且最终稳定于一个特定的顶角。

对于一个由n个神经元组成的离散Hopfield网络,则有n*n权系数矩阵w:

W={Wij} i=1,2,,n  j=1,2,,n

同时,有n维阀值向量θ:

θ=[θ12,θn]T

一船而言,w和θ可以确定一个唯一的离散Hopfield网络。对于图1—13所示的三神经元组成的Hopfield网络,也可以改用图1—15所示的图形表示,这两个图形的意义是一样的。考虑离散Hopfield网络的一船节点状态;用Yj(t)表示第j个神经元,即节点j在时刻t的状态,则节点的下一个时刻(t+1)的状态可以求出如下:

Hopfield模型

Hopfield模型

当Wij在i=j时等于0,则说明一个神经元的输出并不会反馈到它自己的输入;这时,离教的HopfieId网络称为无自反馈网络。

当Wij在i=j时不等于0,则说明—个神经元的输出会反馈到它自己的输入;这时,离散的Hopfield网络称为有自反馈的网络。

Hopfield模型

图1-15 离散Hopfield网络的另外一种图示 离散Hopfield网络有二种不同的工作方式:

1.串行(异步)方式

在时刻t时,只有某一个神经元j的状态产生变化,而其它n-1个神经元的状态不变这时称串行工作方式。并且有

Hopfield模型

Yi(t+1)=Yj(t)  i≠j

在不考虑外部输人时,则有

Hopfield模型

2.并行(同步)方式

在任一时刻t,所有的神经元的状态都产生了变化;则称并行工作方式。并且有

Hopfield模型

在不考虑外部输入时,则有

Hopfield模型    j=1,2,,n

对于一个网络来说,稳定性是一个重大的性能指标。

对于离散Hopfield网络,其状态为Y(t):

Y(t)=[Y1(t),Y2(t),,Yn(t)]T

如果,对于任何△t>0.当神经网络从t=0开始,有初始状态Y(0);经过有限时刻t,有:

Y(t+△t)=Y(t)

则称网络是稳定的。

在串行方式下的稳定性称之为串行稳定性。同理,在并行方式的稳定性称之为并行稳定性。在神经网络稳定时,其状态称稳定状态。

从离散的Hopfield网络可以看出:它是一种多输入,含有阀值的二值非线性动力系统。在动力系统中,平衡稳定状态可以理解为系统的某种形式的能量函数在系统运动过程中,其能量值不断减小,最后处于最小值。

对Hopfield网络引入一个Lyapunov函数,即所谓能量函数:

Hopfield模型

即有:

Hopfield模型 (1-46)
对于神经元j,其能量函数可表示为
Hopfield模型 (1-47)

也即是有

Hopfield模型

神经元j的能量变化量表示为△Ej

Hopfield模型 (1-48)

如果存在条件   Wii=0,i=1,2,…,n

Wij=Wji  i=1,2,…,n   j=1,2,…,n

则有:

Hopfield模型 (1-49)

其中:Ej为神经元j的能量;

△Ej为神经元j的能量变化;

Wij为神经元i到神经元j的权系数:

Yi为神经元j的输出;

Xj为神经元j的外部输入;

θj为神经元j的阀值;

△Yj为神经元j的输出变化。

如果,令

Uj=ΣWijYi+Xj

则△Ej可表示为:

考虑如下两种情况:

1.如果Ujθj,即神经元j的输入结果的值大于阀值,则Ujθj≥0,则从二值神经元的计算公式知道:Yj的值保持为1,或者从0变到1。这说明Yj的变化△Yj只能是0或正值。这时很明显有△Ej

△Ej≤0

这说明Hopfield网络神经元的能量减少或不变。

2.如果Ujθj,即神经元j的输入结果的值小于阀值,则Ujθj≥0,则从二值神经元的计算公式可知:Yj的值保持为0,或者从1变到0。这说明Yj的变化△Yj只能是零或负位。这时则有△Ej

△Ej≤0

这也说明Hopfield网络神经元的能量减少。

上面两点说明了Hopfield网络在权系数矩阵W的对角线元素为0,而且W矩阵元素对称时,Hopfield网络是稳定的。

Coben和Grossberg在1983年给出了关于Hopfield网络稳定的充分条件,他们指出:

如果Hopfield网络的权系数矩阵w是一个对称矩阵,并且,对角线元素为0.则这个网络是稳定的。即是说在权系数矩阵W中,如果

i=j时,Wij=0

i≠j时,Wij=Wji

则Hopfield网络是稳定的。

应该指出:这只是Hopfield网络稳定的充分条件.而不是必要条件。在实际中有很多稳定的Hopfield网络,但是它们并不满足权系数矩阵w是对称矩阵这一条件。

上面的分析可知:

无自反馈的权系数对称Hopfield网络是稳定的网络。它如图1—16,图1—17所示。

Hopfield模型

图1-16  对角线权系数为0的对称Hopfield网络

Hopfield模型

图1-17  对角线权系数为0的对称网另一图示

Hopfield网络的一个功能是可用于联想记忆,也即是联想存储器。这是人类的智能特点之一。人类的所谓“触景生情”就是见到一些类同过去接触的景物,容易产生对过去情景的回昧和思忆。对于Hopfield网络,用它作联想记忆时,首先通过一个学习训练过程确定网络中的权系数,使所记忆的信息在网络的n维超立方体的某一个顶角的能量最小。当网络的权系数确定之后,只要向网络给出输入向量,这个向量可能是局部数据.即不完全或部分不正确的数据,但是网络仍然产生所记忆的信息的完整输出。1984年Hopfield开发了一种用n维Hopfield网络作联想存储器的结构。在这个网络中,权系数的赋值规则为存储向量的外积存储规则(out product storage prescription),其原理如下:

设有m个样本存储向量x1,x2,…,xm

X1={X11,X21,,Xm1}

X2={X12,X22,…,Xm2}

……

Xm={Xm1,Xm2,…,Xmm}

把这m个样本向量存储人Hopfield网络中,则在网络中第i,j两个节点之间权系数的值为:

Hopfield模型

其中:k为样本向量Xk的下标,k=1,2,…m;

i,j分别是样本向量Xk的第i,j分量Xi,Xj的下标;i,j=1,2,…n。

对联想存储器的联想检索过程如下:

给定一个向量X。进行联想检索求取在网络中的存储内容。这时,把向量

X={X1,X2,…Xn}

的各个分量x1,x2,…,xn赋于相对应的节点j,(j=1,2,…,n),则节点有相应的初始状态Yj(0),则有

Yj(0)=Xj,j=1,2,…,n

接着,在Hopfield网络中按动力学系统原则进行计算,得

Yj(t+1)=f[ΣWijYj(0)-θj , i,j=1,2,…,n

其中,f[·]是非线性函数,可取阶跃函数。

通过状态不断变化,最后状态会稳定下来.最终的状态是和给定向量x最接近的样本向量。所以,Hopfield网络的最终输出也就是给定向量联想检索结果。这个过程说明,即使给定向量并不完全或部分不正确,也能找到正确的结果。在本质上,它也有滤波功能。

1.3.2连续Hopfield网络

连续Hopfield网络的拓朴结构和离散Hopfield网络的结构相同。这种拓朴结构和生物的神经系统中大量存在的神经反馈回路是相一致的。在连续Hopfield网络中,和离散Hopfield网络一样,其稳定条件也要求Wij=Wji
连续Hopfield网络和离散Hopfield网络不同的地方在于其函数g不是阶跃函数,而是S形的连续函数。一般取

g(u)=1/(1+e-u       (1-50)

连续Hopfield网络在时间上是连续的.所以,网络中各神经元是处于同步方式工作的。考虑对于一个神经细胞,即神经元j,其内部膜电位状态用uj表示.细胞膜输入电容为Cj,细胞膜的传递电阻为Rj,输出电压为Vj,外部输入电流用Ij表示,则连续Hopfield网络可用图1—18所示的电路表示。

Hopfield模型 (1-51)

其中:n是神经网络神经元的个数

vj(t)为输出电位;

Uj(t)为输入电位。

Hopfield模型

图1-18  连续Hopfield网络的电路形式

对于连续Hopfield网络,Hopfield给出如下稳定性定理

给出能量函数E(t)

Hopfield模型 (1-52)

其中:g-1(v)是Vj(t)=gj(uj(t))的反函数。

如果连续Hopfield网络中神经元传递函数是单调增长的连续并有界函数,并且Wij=Wji,则有

Hopfield模型

当并且仅当

Hopfield模型

时,有

Hopfield模型

这个定理的意义可以解释如下:当网络神经元的传递函数是S函数,并且网络权系数矩阵对称;则随时间的变化网络的能量会下降或不变;而且仅当输出电位随时间变化不变时.网络的能量才会不变。换而言之,在上述条件下的网络是能量不变或下降的。

这个定理的证明过程如下:

对能量函数E(t)求时间的导数dE(t)/dt,则有

Hopfield模型

(1-53)

如果存在Wij=Wji,则上式可写为

Hopfield模型 (1-54)
从连续Hopfield网络的动态方程,有
Hopfield模型 (1-55)
故上面(1—54)式可写成
Hopfield模型 (1-56)
由于  Vj(t)=gj(Uj(t)) (1-57)
故而有  Uj(t)=gj-1(Vj(t)) (1-58)
从而有
Hopfield模型 (1-59)
   g(u)=1/(1+exp(-u)) (1-60)

可知其反函数为单调升函数。因而对于dE(t)/dt中的gj-1(vj(t)),必有单调升的特点.则其导数必定大于0,即

[gj-1(vj(t))]’>0

同时容易知道

Cj>0

Hopfield模型

很明显,在dE(t)/dt时,必定有

Hopfield模型

而且当,仅当

Hopfield模型

Hopfield模型

至此,则定理证明完毕。

这个定理说明Hopfield网络的能量函数E(t)是单调下降的;如果E(t)有下界,即有确定的极小值;那么网络必定是稳定的。而且,可以知道稳定点对应于能量函数的下界,即极小值。

下一步工作,只需证明能量函数有下界,那么.就可以证明网络是稳定的。

可以证明,如果Hopfield网络的传递函数g是连续而且有界的,那么,能量函数E(t)是有界的

最后,有如下结论:

当Hopfield网络的神经元传递函数g是连续且有界的,例如Sigmoid函数,并且网络的权系数矩阵对称,则这个连续Hopfield网络是稳定的。在实际应用中,任何一个系统,如果其优化问题可以用能量函数E(t)作为目标函数,那么,总可以用连续Hopfield网络对其进行求解。由于引入能量函数E(t),Hopfield使神经网络和问题优化直接对应;这种工作是具开拓性的。利用神经网络进行优化计算,就是在神经网络这一动力系统给出初始的估计点,即初始条件;然后随网络的运动传递而找到相应极小点。这样,大量的优化问题都可以用连续的Hopfield网来求解。这也是Hopfield网络用于神经计算的基本原因。

留下评论

You must be logged in to post a comment.

相册集

pix pix pix pix pix pix

关于自己

杨文龙,微软Principal Engineering Manager, 曾在各家公司担任影像技术资深总监、数据科学团队资深经理、ADAS算法总监、资深深度学习工程师等职位,热爱创新发明,专注于人工智能、深度学习、图像处理、机器学习、算法、自然语言处理及软件等领域,目前发明有国际专利19篇,中国专利28篇。

联系我

个人技术笔记

welonshen@gmail.com

2015 in Shanghai