• Hopfield Nets 学习笔记


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

    Hopfield Nets with hidden Unit

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

    简单来说,就是用隐藏节点的状态来表达输入节点的信息,

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

    如果将图像上每一条可能的线段都用一个“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的概率也较大。

  • 相关阅读:
    判断两个对象是否相同
    参数的修饰符
    异常处理
    类型转换
    值类型和引用类型
    抽象方法实现计算器
    静态
    多态
    访问修饰符
    面向对象三大特性
  • 原文地址:https://www.cnblogs.com/yiyiyi4321/p/3752602.html
Copyright © 2020-2023  润新知