Hopfield Nets学习笔记

最近想学RBM(限制玻尔兹曼机),找来Hinton在coursera上的神经网络课程,首先复习Hopfield网络吧。

Hopfield Nets with hidden Unit

https://class.coursera.org/neuralnets-2012-001/lecture/125

简单来说,就是用隐藏节点的状态来表达输入节点的信息,用能量来表示The badness of the interpretation 如下图所示:


举例来说,二维图像里的一条边,在三维世界里可能对应无数条边,


如果将图像上每一条可能的线段都用一个“2D-Line”单元表示,这些单元就形成了一个集合,且任何一个特定的图片只能激活这个集合中一个很小的子集。


如果将场景中每一条可能的3D线段都用一个“3D-Line”单元表示,每一个“2D-Line”单元都可能是很多“3D-Line”单元的投影,我们可以用已被激活的“2D-Line”单元将其对应的“3D-Line”单元激活,由于我们一次只能看到一条直线,因此我们让这些“3D-Line”单元竞争。(图中红线表示竞争关系)

当两个“3D-Line”单元表示的直线在三维世界中相交,就让这两个单元相互Support对方,也就是在他们之间加入一条连接。

如果他们之间形成了right angle,我们就加入一条强连接。

 

现在我们有了这样一个网络,它记录了现实世界中的线段是如何连接的,以及他们是如何投影到图像上的。

给这个网络一个图像,它将形成对这个图像的一个interpretation。

然而,对于一个图像,我们可以有不同的interpretation,(比如对于纳克方块,就可以有两种理解,纳克方块是个有歧义性的图,一种诠释方式是在一个较高位置看透明立方体的俯视图,另一种诠释方式是在一个较低位置看透明立方体的仰视图。)

我们用低的能量状态来表达一个好的interpretation

 

问题一:如何避免能量函数陷入局部极值

问题二:如何学习节点之间的权值(输入节点与隐藏节点、隐藏节点与隐藏节点)

 

Using stochastic units to improv search

https://class.coursera.org/neuralnets-2012-001/lecture/127

这堂课,主要讲如何通过增加噪声来避免陷入局部极值。

Hopfield Nets的决策总是使得能量函数减小,这样就容易陷入局部极小点。

我们可以用随机噪声来避免陷入局部极小点,

开始时,加入大量的噪声,这样可以很容易的通过能量的屏障(barrier)

然后慢慢减小噪声,这样整个系统最终进入一个deep minimun,这个过程就是“模拟退火(simulated annealing)”,这个算法和Hopfield Nets是同一时期提出的。

 

那么,温度是怎样影响转移概率(transition probability)的呢?如图所示


当温度高时,系统能很容易从局部极小穿过能量屏障,但是跳出deep minimun的概率也较大。

当温度低时,跳出局部极小的概率变小了,但是两概率的比率变的更好了,公式如下:


模拟退火算法是对陷入局部最小值的搜索算法的一种改进。

它是导致玻尔兹曼机出现的一个思想。

但是它和玻尔兹曼机主要思想还有很大的分歧,所以此课程不会对它进行过多介绍,从此我们都将每个二进制随机单元的

temperature 设为1,这样它就是一个Sigmoid函数。

要理解玻尔兹曼机,其中的一个关键概念是热平衡( Thermal equilibrium 
热平衡是一个较难理解的概念,很多人认为它表示settled down ,不再变化,这是“平衡”( equilibrium) 的一般理解
但是它并不表示个体单元的状态是 settled down,
实际上在配置后settled down的是概率分布,settled 到了一个平稳分布。

对于热平衡的一个直观(intuitive)想法是,想象一个集成系统,它子系统都是相同的,有着相同的能量函数。
因此,想象有大量的随机(stochastic )Hopfield Nets,他们有着相同的权值,




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值