HopfieldNetwork霍普菲尔德网络入门

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HopfieldNetwork霍普菲尔德⽹络⼊门
简介
Hopfield Network (霍普菲尔德⽹络),是 Hopfield 在1982年提出的⼀种基于能量的模型,发表的⽂章是 Neural networks and physical systems with emergent collective computational abilities。

基本结构如下图所⽰:
⾸先我们来看Hopfield Network的⼀句话定义:
Hopfield Network is a model that can reconstruct data after being fed with corrupt versions of the same data.
也就是说利⽤Hopfield Network的过程是:
some data→Hopfield Network→full data
可以看到Hopfield Network的⼏个基本特点:
只有单层
神经元节点之间是全连接的
只有输⼊,没有输出
主要功能是:
联想记忆 associatIve memory,例如重新构建图形。

假设我们在⽹络中存储了右侧的三张图⽚,如果我们只输⼊⼀部分图⽚,例如左侧的六张图⽚,⽹络可以从记忆中取出完整的图像。

Energy Function
能量函数:Energy Function,可以看作⼀种代价函数。

这个概念最先在热⼒学中被提出,⽤来描述系统的能量值。

当能量函数求得的能量值达到最⼩值的时候,整个热⼒学系统达到稳定状态。

在深度学习之中,引⼊这个概念也是为了使模型达到稳定的状态。

Energy Based Models
利⽤了能量函数的模型被称为Energy Based Models,EBM。

Energy Function for Images
对于有d个像素的⿊⽩图像,假设每⼀个图像都有参数x={x j}1≤j≤d,那么
我们可以建⽴如下形式的能量函数:
如果我们有p个图像,我们就能得到基于E(x)的p个极⼩值。

当两个像素x i和x j有相同的颜⾊的时候,w ij为正值。

当两个像素x i和x j有相反的颜⾊的时候,w ij为负值。

通常情况下,对于所有的像素x i,w ii=0。

对于所有的像素x i和x j,w ij=w ji。

Hopfield Network
整个⽹络的使⽤过程可以总结为,我们⾸先利⽤⼀个完整的pattern来训练⽹络得到所有的权值,这样这个⽹络本⾝就是我们的output。

以后当我们只有pattern的⼀部分数据的时候,我们可以把这⼀部分数据输⼊到⽹络中,通过达到最⼩的E(x)来复原完整的pattern。

假设我们根据上述的Energy Function for Images中的内容来定义⼀个Hopfield Network。

这很像⼀个有权重、有偏差的普通的神经⽹络。

但是它⼜和普通的前馈神经⽹络有所不同容:
对于离散型Hopfield Network中的神经元x i,只能取到离散值1/−1。

根据相邻神经元的当前值,神经元同步或者异步的迭代更新。

同步:⼀次更新所有的神经元的值
异步:⼀次更新⼀个神经元的值
根据上述的所有定义,我们可以发现,其实关于神经元的定义,权重的定义最终形成的就是⼀个类似我们最开始看到的神经⽹络的样⼦:
训练模型
Hopfield Network训练的核⼼⽬标就是求出所有的权重w ij。

⾸先假设我们要存储p个pattern到⼀个有d个神经元的⽹络中,假设b i=0,
换句话说,
c是x(k)i=x(k)j在所有训练数据中的⽐例。

存储的pattern p的数⽬和Hopfield Network中的神经元数⽬成正⽐。

p/d<0.138,我们可以认为所有的pattern存储和恢复成功。

如果我们试图存储⽐这些更多的模式,额外的“虚假”稳定状态可能会出现。

这个过程就是著名的Hebbian Learning,类似于⼤脑中的过程,当两个神经元同时或者快速放电的时候,它们之间的连接强度会增加。

⼀旦所有的pattern都存储完毕,对于任意的图像x=x(l),有如下的公式:
右侧最后⼀项被叫做crosstalk项,代表了来⾃其他存储图像的⼲扰。

x(l)i:原始图像。

对于所有的i,⼲扰项的绝对值⼩于1。

⽣成图像
为了能够产⽣图像,我们从最初始的x开始,尝试去反转x的值,最终使能量函数达到最⼩值。

于是,我们可以利⽤能量函数的公式,得到x的变化,达到我们减⼩E(x)的⽬的:
⼀旦达到了最⼩值,那么就说明我们的⽹络达到了稳定状态,这时的x就是完整的图像。

相关文档
最新文档