【RBM】受限玻尔兹曼机(Restricted Boltzmann Machine, RBM) 简介

       受限玻尔兹曼机(Restricted Boltzmann Machine,简称RBM)是由HintonSejnowski1986年提出的一种生成式随机神经网络(generative stochastic neural network),该网络由一些可见单元(visible unit,对应可见变量,亦即数据样本)和一些隐藏单元(hidden unit,对应隐藏变量)构成,可见变量和隐藏变量都是二元变量,亦即其状态取{0,1}。整个网络是一个二部图,只有可见单元和隐藏单元之间才会存在边,可见单元之间以及隐藏单元之间都不会有边连接,如下图所示:

                                                          

  

  上图所示的RBM含有12个可见单元(构成一个向量v)3个隐藏单元(构成一个向量h)W是一个12*3的矩阵,表示可见单元和隐藏单元之间的边的权重。

1. RBM的学习目标-最大化似然(Maximizing likelihood)

  RBM是一种基于能量(Energy-based)的模型,其可见变量v和隐藏变量h的联合配置(joint configuration)的能量为:

  (式子-1

  其中θRBM的参数{W, a, b}, W为可见单元和隐藏单元之间的边的权重,ba分别为可见单元和隐藏单元的偏置(bias)

  有了vh的联合配置的能量之后,我们就可以得到vh的联合概率:

        (式子-2

  其中Z(θ)是归一化因子,也称为配分函数(partition function)。根据式子-1,可以将上式写为:

    (式子-3

  我们希望最大化观测数据的似然函数P(v)P(v)可由式子-3P(v,h)h的边缘分布得到:

       (式子-4)

  我们通过最大化P(v)来得到RBM的参数,最大化P(v)等同于最大化log(P(v))=L(θ)

    (式子-5)

2. RBM的学习方法-CD(Contrastive Divergence,对比散列)

  可以通过随机梯度下降(stichastic gradient descent)来最大化L(θ),首先需要求得L(θ)W的导数:

       (式子-6)

  经过简化可以得到:

  (式子-7)

  后者等于

    (式子-8)

  式子-7中的前者比较好计算,只需要求vihj在全部数据集上的平均值即可,而后者涉及到vh的全部2|v|+|h|种组合,计算量非常大(基本不可解)

  为了解决式子-8的计算问题,Hinton等人提出了一种高效的学习算法-CD(Contrastive Divergence),其基本思想如下图所示:

    

  首先根据数据v来得到h的状态,然后通过h来重构(Reconstruct)可见向量v1,然后再根据v1来生成新的隐藏向量h1。因为RBM的特殊结构(层内无连接,层间有连接), 所以在给定v时,各个隐藏单元hj的激活状态之间是相互独立的,反之,在给定h时,各个可见单元的激活状态vi也是相互独立的,亦即:

  (式子-9)

  重构的可见向量v1和隐藏向量h1就是对P(v,h)的一次抽样,多次抽样得到的样本集合可以看做是对P(v,h)的一种近似,使得式子-7的计算变得可行。



 

  参考文献:

  1. R. Salakhutdinov. Deep Learning Tutorial.

  2. 张春霞, 姬楠楠, 王冠伟. 受限玻尔兹曼机简介.

  3. Wikipedia: Restricted Boltzmann Machine

  4. Edwin Chen Introduction to Retricted Boltzmann Machine  

 

 

没有更多推荐了,返回首页