在学习Hinton的stack autoencoder算法(论文 Reducing the Dimensionality of Data with Neural Networks)之前需要了解什么是RBM,现在就我学习的情况,查找的资料(大部分来自博客、论文),简单介绍一下RBM。(当然,这里面还有同组实验的同学提供的资料,借用一下。。。)
目录
RBM简介、网络结构
Hopfield 神经网络
RBM能量模型
RBM学习算法——Gibbs采样、变分方法、对比散度、模拟退火
RBM训练算法
RBM评估
首先简单介绍一下RBM。受限波尔兹曼机(Restricted Boltzmann Machine,RBM )是一种可用随机神经网络(stochastic neural network)来解释的概率图模型(probability graphical model)。是一类具有两层结构、对称连接且无自反馈的随机神经网络模型,层间全连接,层内无连接。RBM是一种有效的特征提取方法,用于初始化前馈神经网络可明显提高泛化能力,堆叠多个RBM组成的深度信念网络能提取更抽象的特征。
RBM是由 Hopfield网络、BM(波尔兹曼机)演化而来。
详细可看 机器学习:Hopfield 神经网络 ( http://blog.csdn.net/omenglishuixiang1234/article/details/49531937 )
波尔兹曼机(BM)是Hinton和Sejnowsky于1986年提出的一种根植于统计力学的随机神经网络。这种网络中的神经元是随机神经元,神经元的输出只有两种状态(未激活、激活),一般用二进制的0和1表示,状态的取值根据概率统计法则决定。从功能上讲,BM是由随机神经元全连接组成的反馈神经网络,且对称连接,无自反馈,包含一个可见层和一个隐层的BM模型。
BM分为一般BM、半RBM和RBM三种结构
(1)一般波尔兹曼机
一般BM的可见层节点与隐层节点、可见层节点与可见层节点以及隐层节点与隐层节点之间都有连接权。如下图:
由于一般BM的结构比较复杂,可见层节点与可见层节点以及隐层节点与隐层节点之间均存在连接权,难以求解BM的能量最小值,算法复杂性高,需要耗费大量的网络训练与学习时间,因此很难对一般BM进行训练学习,在语音和图像识别上通常采用半RBM或RBM结构。
(2)半受限波尔兹曼机
半RBM的网络拓扑结构只有可见层节点与隐层节点及可见层节点与可见层节点之间的连接,而隐层节点与隐层节点之间没有连接,即R=0,网络结构如下图:
半RBM的结果相对于上面描述的一般BM简单,这意味着需要的网络训练与学习时间比一般BM少得多,但是在进行大型数据训练时仍需耗费大量的训练与学习时间。
(3)受限波尔兹曼机
RBM是一个双向概率图模型,只有可见层节点与隐层节点之间有连接权,而可见层节点与可见层节点及隐层节点与隐层节点之间没有连接权,即L=0且R=0,如下图
RBM的结构相对于前面介绍的2种BM的网络拓扑结构更简单,因为各层内部神经元之间没有连接,在很大程度上提高了网络训练与学习的效率。RBM的一个应用实例是用于改进语音识别软件的性能。由于RBM的结构简单,因此在构造DBN时,一般都是先构造出RBM,然后将得到的RBM堆栈起来得到想要的DBN。
RBM是Hinton和Sejnowski在1986年提出的一种根植于统计力学的随机神经网络。这种神经网络层内无连接,层间全连接。它的神经元是随机神经元,神经元的输出只有两种状态(未激活、激活),一般用二进制的0和1表示,状态的取值根据统计法则决定。
参考资料
Peghoty的博客 http://blog.csdn.net/peghoty/article/category/1824627/2
ROger_Wong的博客 http://blog.csdn.net/roger__wong
Celerychen2009的博客
http://blog.csdn.net/celerychen2009/article/details/8984316
Tornadomeet的博客园
http://www.cnblogs.com/tornadomeet/archive/2013/03/27/2984725.html
参考文档: 受限波尔兹曼机简介 (张春霞,姬楠楠,王冠伟)( http://download.csdn.net/detail/omenglishuixiang1234/9229043 )
波尔兹曼机研究进展(http://download.csdn.net/detail/omenglishuixiang1234/9229189)