zoukankan      html  css  js  c++  java
  • 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的概率也较大。

  • 相关阅读:
    pipeline流水线语法格式
    nexus私服配置npm、nuget、pypi
    正则表达式-grep
    awk 经典案例
    nginx安装,配置,及高可用
    git remote add origin错误
    [转]Git 撤销操作
    [转]git命令之git remote的用法
    [转]git学习------>git-rev-parse命令初识
    转 gerrit
  • 原文地址:https://www.cnblogs.com/yiyiyi4321/p/3752602.html
Copyright © 2011-2022 走看看