Hopfield 网络
本文主要参考《神经科学中的数学》第27.1节,简单介绍Hopfiled网络及其应用:
- Hopfiled网络简介
- 吸引子分析
- 示例
简介
Hopfiled网络是一种反馈神经网络,常见的两种网络结构形式如图所示:
Hopfiled网络的神经元的状态有两种,
si∈{−1,1}
,结点的激活函数一般为符号函数,则从时刻
j
到时刻
sj+1=Hop(Wsj),Hop(x)={1−1x>0x≤0
其中, W∈RN∗N 是权重矩阵。当权重矩阵确定后,输入初始状态,信息在网络中反复传递。如果网络是收敛的,则最终网络的状态将会趋于稳定,实现稳定的输出。
吸引子
假设Hopfield网络训练之后,得到权重矩阵
W=ppT
,则对任意一个状态
s
,有
并且
Hop(Ws)=⎧⎩⎨p−e−ppTs>0pTs=0pTs<0
其中, e 是全为1的向量。由此可以看出,
Hop(Wp)=p,Hop(W(−p))=−p
这些定点就叫做吸引子,意味着Hopfiled网络从任意一个初始状态开始运行,最终都会稳定在这些定点中的一个。
将其推广到到多个训练模式,比如有 p1 和 p2 两个模式,则令
P=(p1,p2)W=PPT
则得到结点的加权和为
Ws=PPTs=(sTp1)p1+(sTp2)p2
如果 p1 和 p2 是正交的, p1Tp2=0 ,则 ±p1 和 ±p2 都是定点。如果两者不正交,则输入模式将会组合成虚定点。具体例子如下。
示例
如图,以二值图片作为训练好的模式保存在网络中。
每个字母图片的大小为67*71,分别展开为两个列向量, P=(p1,p2) 。对源图像加入噪声,送入Hopfiled网络,发现该网络能够正确识别噪声图片中的字母。效果如下图所示。
源图片和代码见网站http://booksite.elsevier.com/9780123748829/pictures/code/networks/