受限玻尔兹曼机知识概要(RBM)

受限玻尔兹曼机知识概要(RBM)

  • 学习深度学习(DeepLearning)的小伙伴肯定经常接触到RBM(Restricted Boltzmann Machine)这个概念,本节将简单地梳理一下RBM的知识体系,帮助ML从事者们更加进一步地学习。RBM的本质是一种Unsumervised Machine Learning模型,用于对input数据进行重构,即有效地提取数据特征,构建新的数据结构进行预测分析,基本功能有点儿像AutoEncoder模型(自动编码器)。因此,RBM和AE一样,也可以不断地堆叠实现深层的神经网络挖掘数据的特征。
  • 神经网络的两大基本功能是: 特征变换和分类(回归)预测。每个基本的神经网络模型至少具备两者功能之一。而RBM则是用于进行特征变换的。考虑输入特征为X以及转化的特征为Y(注: 这里YX的另一种表示,而不是预测结果,这里不考虑预测的问题),RBM的任务是找到X\Rightarrow Y的映射关系。基本的神经网络模型,通常用决策函数Y=f(X)表示这种映射关系,而对于RBM来说,则用联合概率分布P(X,Y)表示这种映射关系。无论是判别函数还是联合概率分布,都是可以描述变量关系的,且在任意条件下二者可以互相转化。因此,RBM从概率的角度去描述变量之间的关系,提供了另外一种解决特征提取问题的思路。
  • RBM是基于二分(概率)图的的结构:
  • 存在两个变量表示层,Visibel Layer和Hidden Layer。层内变量无连接,层间变量是全连接,和传统MLP的结构是一样的,尽管如此,我们还是忘掉关于MLP的内容,因为RBM和MLP的理论基础是不同的。MLP是基于决策函数的变量转换,而RBM是基于概率分布的变量转换。Visible Layer表示输入变量层,Hidden Layer表示被转换的变量层,每个节点对应一个维度,同一个层内,各个维度之间互相独立。该二分(概率)图表示了变量之间的依赖关系,但是无法描述P(X,Y)具体形式。如果知道P(X,Y)的具体形式,则可以很容易通过极大似然函数求解概率分布的参数,而在不知道P(X,Y)具体形式只知道变量间的依赖关系时,则可以借助Energy Based Model (EBM) 构建概率分布的形式。(根据概率图,先定义一个能量函数,然后根据能量函数,再找到对应的概率分布形式)。
  • 构建了P(X,Y)之后,就要确定P(X,Y|\varrho )包含的参数\varrho =\left\{ w,a,b\right\} ——每个节点的偏置项以及连接的权重,可以用梯度下降法求解。在实际的求解过程中需要估计\sum_{X}^{}{P(X)} ,而P(X)难以直接估计,可以借助于Gibbs Sampling的方法,先Sample一个Visible Layer再Sample一个Hidden Layer,依次迭代。。。每次梯度更新都需要若干次Gibbs Sampling的计算,导致算法的开销非常大,因此Hinton等人提出了对比散度方法(Contrastive Divergence)对参数的估计进行加速。
  • 提供两篇非常好的参考资料:
  • 深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling
  • 受限玻尔兹曼机和深度置信网络 - jh.ding - 博客园
编辑于 2017-01-22

文章被以下专栏收录

    本栏目将与朋友们分享并讨论关于自然语言处理的前沿技术,探讨有趣的文本挖掘知识,用浅显易懂的方式带朋友们畅游大数据的世界!