@zhuanxu
2018-01-01T22:48:12.000000Z
字数 1204
阅读 4071
神经网络
本文参考 Hinton 的课程,学习总结Hopfield 网络,然后整个学习的脉络是:Hopfield 网络 -> 玻尔兹曼机 BM -> 受限玻尔兹曼机 RBM,本文是第一部分 Hopfield 网络。
首先我们需要知道 Hopfield 网络是一种递归神经网络,从输出到输入有反馈连接。Hopfield 网络的一个特性是能实现联想功能,能够以动力学的方式运行。
其典型的结构如下:
对于每一个节点单元,它只有两种状态:0 或者 1,代表闭或开,节点之间彼此之间互相连接,但是这种网络是很难分析的,其可能的状态有:
人们研究发现如果模型是对称的,那么整个网络就会存在一个全局能量函数,系统能够收敛到一个最低能量处。因此,我们研究的 Hopfield 网络是一个对称网络。
能量函数定义如下:
定义两个差值变量:
则可以得出能量变化为:
我们假设t时刻,只有1个神经元调整状态,假设神经元为j,则此时带入上式,得到:
因为神经元不存在自反馈,所以wii为0,则最终能量变化为:
我们考虑:
因此能量E是不断减少的。
下面以一个例子来说明能量减少的整个过程。
上图表示有3个节点,每个节点之间的权重x12=x21=-0.5,x13=x31=0.2,x23=x32=0.6,每个节点的阈值为:-0.1,0.0,0.0。
假设每个节点状态为0或者1,则3个节点共有2*2*2=8种状态,对应上面的右图,我们以000为第一个状态,即x1=x2=x3=0,此时我们假设先变化x1=1,则,其他节点状态不变,,此时如果先更新x2或者x3,则网络状态还是000,所以上面图中从000,有1/3概率变为100,2/3概率保持不变,最终我们计算所有的状态转移概率,我们发现011是一个稳定状态,系统从任意状态出发,经过若干次更新,最终都能稳定到011。
记忆可以是一个具有对称权重的 神经网络 的能量最小状态。
二值阈值局侧可以用来清理不完整的记忆,即使我们只知道部分记忆,也能通过网络最终知道全部(怎么理解呢?个人理解是因为最后状态都会趋于能量极小,而神经元只会取0或者1,因此状态是有限的,所以在能量极小附近的相似输入,最后都会趋于同一个能量极小状态)
如果我们取节点状态为-1或者1,则根据能量公式:
我们取,T=0,则此时能量,很明显,这时候 E 是最小的。
本文主要根据 Hinton 大神 Hopfield 部分的第一节整理而来,主要介绍了 Hopfield 网络的定义,能量函数以及记忆存储,下面一节将会介绍如何在 Hopfield 网络中处理 伪极小值。
人工神经网络理论、设计及应用_第2版
从 Hopfiled 网络到 BM(玻尔兹曼机)
Hopfield 神经网络?
Lecture 12.1 — Boltzmann machine learning
这是 Hopfield 网络 的第一篇,你的鼓励是我继续写下去的动力,期待我们共同进步。