Lecture 11: Hopfield Nets

来源:互联网 发布:2016淘宝店好做吗 编辑:程序博客网 时间:2024/05/21 07:12

首先声明,这是Hinton在coursera上的课程的学习笔记,一切观点以Hinton观点为准,此博客只是我的个人观点,欢迎点评。


第一节:Hopfield Nets

John Hopfield realized that if the connections are symmetric, there is a global energy function.

  • Each binary "configuration" of the whole network has an energy.
  • The binary threshold decision rule causes the network to settle to a minimum of this energy function.


这里的binary values 是指的每个神经元的取值集合中只有两个数值。这里要设置正确的能量函数才能保证能量最小化。

能力函数:

E=-\sum_{i}^{}s_ib_i - \sum_{i<j}^{}s_is_jw_{ij}

这里是一个对称的权重系数,=是所连接的两个神经元的状态。是偏移权重。

能量值越低越好,这是趋于稳定状态。

 

But, if you differentiate it, you'll see you get the binary threshold decision rule, but without the minus sign cuz that's for going down hill in energy. So, by following the binary threshold decision rule, a Hopfield net will go downhill in its global energy.
这个地方讲的有些太笼统了,这里引用一下一个博客的证明http://blog.csdn.net/lanchunhui/article/details/53065144,当然这个博客还缺少一些对应的分类讨论,

只有三种情况{0, 1, -1},对应各种情况分析一下,可以得到能量稳定性。


第二节:The storage capacity of a Hopfield net

N units: 0.15N memories.


Spurious minima limit capacity


理想是为了得到这样的情况,最小值分布均匀,不会互相干扰。但是如果两个最小值距离太近,如下图

这样设计的两个最小值就会合并为一个最小值,所以memory的容量还是1.


Avoiding spurious minima by unlearning

  1. Let the net settle from a random initial state and then do unlearning.
  2. this will get rid of deep, spurious minima and increase memory capacity.

这里基本上没有明白什么意思,还是再重新查找一下文献了。


第三节:Hopfield nets with hidden units.



第四节:Using stochastic units to improve search.

Adding noise can  help system to escape from local minima.

这个图主要说了如何用模拟退火的方法找到全局最小值。

由于hopfield网络具有能量稳定降低的特性,所以在A处是不能跳出来的。所以这里我们要加入noise,同时能量高的地方,跳出去的概率较大,能量低的地方相对应的会减小。在训练的时候,前期在高温度(高跳转率)的情况下进行,后面逐渐减低温度,就可以很大的概率找到最低点。


第五节:How  a Boltzmann machine models data.


这个章节要结合概率论知识,其中计算visible节点的状态分布用得着。




0 0