神经科学中的数学27.1
2017-01-24 14:54
246 查看
Hopfield 网络
本文主要参考《神经科学中的数学》第27.1节,简单介绍Hopfiled网络及其应用:Hopfiled网络简介
吸引子分析
示例
简介
Hopfiled网络是一种反馈神经网络,常见的两种网络结构形式如图所示:Hopfiled网络的神经元的状态有两种,si∈{−1,1},结点的激活函数一般为符号函数,则从时刻j 到时刻j+1 的状态变化可表示为
sj+1=Hop(Wsj),Hop(x)={1−1x>0x≤0
其中,W∈RN∗N 是权重矩阵。当权重矩阵确定后,输入初始状态,信息在网络中反复传递。如果网络是收敛的,则最终网络的状态将会趋于稳定,实现稳定的输出。
吸引子
假设Hopfield网络训练之后,得到权重矩阵W=ppT ,则对任意一个状态s,有Ws=ppTs=p(pTs)=(pTs)p
并且
Hop(Ws)=⎧⎩⎨p−e−ppTs>0pTs=0pTs<0
其中,e是全为1的向量。由此可以看出,p和−p都是定点,因为
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/
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- C++如何调用matlab函数
- 详解Matlab中 sort 函数用法
- WPF调用Matlab函数的方法
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 简述Matlab中size()函数的用法
- 从java中调用matlab详细介绍
- Ubuntu 如何建立Matlab快捷方式
- 稀疏自动编码器 (Sparse Autoencoder)
- 详解Matlab中 sort 函数用法
- 简述Matlab中size()函数的用法
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域