限制玻尔兹曼机(Restricted Boltzmann Machine)学习笔记(一)

原创 2015年02月04日 23:43:49


一、限制玻尔兹曼机的感性认识

要回答这个问题大概还要从神经网络说起。
(1)人工神经网络(artificial neural network

一言以蔽之,人工神经网络用于学习一个输入到输出的映射,通常由三层组成,输入层,隐层和输出层。
各层之间的每个连接都有一个权值,人工神经网络的训练过程就是学习这个权值。典型的,可以使用随机梯度下降法。
(2)递归人工神经网络(recurrent neural network

递归人工神经网络的关键在于“递归”二字,其表现为各节点可以形成一个有向环。
可以看到,递归神经网络和普通的人工神经网络最大不同为各隐层节点之间也可以相互联系了,并组成有向环 的形式。
递归神经网络的种类有很多,上图所示为"simple recurrent networks" (SRN)。
Hopfield网络也是一种递归神经网络。
(3)玻尔兹曼机
A graphical representation of an example Boltzmann machine.
如图所示为一个玻尔兹曼机,其蓝色节点为隐层,白色节点为输入层。
玻尔兹曼机和递归神经网络相比,区别体现在以下几点:
1、递归神经网络本质是学习一个函数,因此有输入和输出层的概念,而玻尔兹曼机的用处在于学习一组数据的“内在表示”,因此其没有输出层的概念。
2、递归神经网络各节点链接为有向环,而玻尔兹曼机各节点连接成无向完全图。
(4)限制玻尔兹曼机

限制玻尔兹曼机和玻尔兹曼机相比,主要是加入了“限制”(这不是废话么)。
所谓的限制就是,将完全图变成了二分图。如图所示,限制玻尔兹曼机由三个显层节点和四个隐层节点组成。
限制玻尔兹曼机可以用于降维(隐层少一点),学习特征(隐层输出就是特征),深度信念网络(多个RBM堆叠而成)等。


二、Hopfield网络及能量函数

再谈RBM之前,必须说一下Hopfield网络。
Hopfield网络是一种循环型神经网络,如下图:

对于Hopfield神经网络来说,当信号输入后,各神经元的状态会不断变化,最后趋于稳定,或呈现周期性震荡。
假设神经元i连接其它神经元j的权重为w(i,j),则在Hopfield中,有W(i,i)=0,即神经元不与自己连接,W(i,j)=W(j,i),即权重矩阵对称。
以上图所示,假设输入的变量为(a1,a2,a3,a4),而在每一轮t神经元i的状态用y(i,t)来表示,再假设神经元激发函数为sigmod,其中激发界用t(i)表示,则容易得到以下递推式
y(i,0)=sigmod(ai-t(i))
Hopfield模型(公式1)
这个公式什么意思呢?简而言之就是这个神经元在下一轮是否激发,依赖原始的输入和其它神经元的反馈输入,这样整个神经元的状态就呈现一个随着时间进行变化的过程,而如果权值给定、输入给定,这个变化过程是确定的。
假设对于任意输入,对于任意节点i我们在有限的时刻内能得到y(i,t+1)=y(i,t),我们就说这个神经网络是稳定的,可以证明,当神经元激发函数是有界连续的,且神经网络各节点连接权重对阵,则Hopfield网络一定是稳定的。
对于一个稳定的神经网络。
我们定义“能量”的增量为以下式子:
Hopfield模型
则根据公式1可以推导出来,节点j的能量增量是小于0的。(如何证明?考虑y取值只能是0或1,再考虑sigmod函数特性很容易得到)
所以我们就能把能量的增量再时间域上进行积分,得到每个节点的能量,再把所有节点的能量加起来,看得到这个神经网络的能量。
推导出来的结果是这样子的:
E = -\frac12\sum_{i,j}{w_{ij}{s_i}{s_j}}+\sum_i{\theta_i\ s_i}
可以看到,神经网络的变化过程,实质是一个能量不断减少的过程,最终达到能量的极小值点,也就是稳态。

总结一下就是:递归神经网络由于其结构特性,神经元状态可随时间而变化,将此过程可以抽象成能量递减过程,变化最终会导致稳态,此稳态为能量极小值点。


(未完待续)


参考资料:
http://en.wikipedia.org/wiki/Restricted_Boltzmann_machine
http://wenku.baidu.com/view/735f472a647d27284b7351dd.html
http://www.zhihu.com/question/22981388/answer/23259540
http://blog.sina.com.cn/s/blog_631475300100oo93.html







限制玻尔兹曼机(RBMs)理论详解

关于RBMs的文章已经有不少了,但是很多资料我在阅读的时候仍然对细节有一些疑惑。在查阅学习了大牛的视频、论文之后,很多问题豁然开朗,就在这片文章中记录下我对RBMs的粗浅了解吧。首先从玻尔兹曼机和限制...
  • wangjian1204
  • wangjian1204
  • 2015年12月07日 17:40
  • 5230

受限制玻尔兹曼机RBM原理简介

引言 受限玻尔兹曼机RBM在深度学习领域一直有重要的应用,之前一直没有接触过RBM,觉得太复杂,公式太多,这几天在Google上找到些好的turtorial,可以在这里做一个总结。 玻尔兹曼机...
  • u010223750
  • u010223750
  • 2017年03月10日 12:49
  • 3291

Deep Learning 读书笔记(二):关于限制玻尔兹曼机的各种

玻尔兹曼机
  • tuqinag
  • tuqinag
  • 2014年09月07日 20:31
  • 2914

受限玻尔兹曼机RBM最通俗易懂的教程

本人来到CSDN已经有一段时间了,写文章也写了好几篇了,本人最喜欢的风格就是用白话讲解一些通俗易懂的东西,在之前,我讲了不少东西,也不知道大家懂没懂,但没关系,你们爱懂不懂,哈哈哈哈哈哈哈哈哈哈。 ...
  • u013631121
  • u013631121
  • 2017年08月04日 00:12
  • 1491

受限玻尔兹曼机(Restricted Boltzmann Machine)分析

受限玻尔兹曼机,简称RBM(下文中统一用RBM表示)。写这篇博客的原因是,下午看到吴恩达在Coursera上的Deep Learning课程中,跟Hinton的40分钟的采访,问Hinton他在AI中...
  • g11d111
  • g11d111
  • 2017年08月17日 21:08
  • 1025

限制玻尔兹曼机(RBM)

1.限制玻尔兹曼机的感性认识要回答这个问题大概还要从神经网络说起。(1)人工神经网络一言以蔽之,人工神经网络用于学习一个输入到输出的映射,通常由三层组成,输入层,隐层和输出层。各层之间的每个连接都有一...
  • a819825294
  • a819825294
  • 2016年12月12日 16:06
  • 3194

受限玻尔兹曼机

前言:Deep Learning (DL深度学习)是近几年来最火的一种机器学习方法,由Hinton(多伦多大学)提出。主要有两分支:Geoffery Hinton和Joshua Bengio这一支...
  • kyang624823
  • kyang624823
  • 2017年11月23日 17:14
  • 194

简单易学的机器学习算法——受限玻尔兹曼机RBM

yi
  • google19890102
  • google19890102
  • 2016年07月26日 18:52
  • 6211

深度学习方法:受限玻尔兹曼机RBM(二)网络模型

欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。 技术交流QQ群:433250724,欢迎对算法、技术、应用感兴趣的同学加入。上解上一篇RBM(一)基本概...
  • xbinworld
  • xbinworld
  • 2015年04月22日 00:20
  • 8749

Deep Boltzmann Machines

转载自:http://blog.csdn.net/win_in_action/article/details/25333671  http://blog.csdn.net/zouxy09/artic...
  • jyl1999xxxx
  • jyl1999xxxx
  • 2016年03月25日 08:33
  • 1036
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:限制玻尔兹曼机(Restricted Boltzmann Machine)学习笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)