DBN、RBM - 涉及的基础知识

最近在看zhirong Wu的3D shapeNets的论文,涉及到RBM及DBN的一些知识,正好趁这个机会整理一下相关知识。

先说一下RBM(Restricted Boltzmann Machine)是指受限玻尔兹曼机,是一种基于随机神经网络来解释的概率图模型。Hinton在2016年提出DBN(Deep Belief Network)后,DBN和RBM在机器学习界引起了很广泛的应用。

涉及知识

蒙特卡洛方法

DBN、RBM - 涉及的基础知识
图片解释参考[1]。

具体思想:求函数h(x)的积分,穷举不现实,通过采样来逼近积分。将h(x)拆成f(x)和p(x)的乘积,其中p(x)是(a,b)上的一个概率密度函数,那么整个积分转换成求f(x)在p(x)概率密度下的期望。如果我们采样一些样本点,使得这些样本点接近于p(x)的分布,那么就可以逼近这个期望,也就是最初要求解的积分。

下面留给我们的问题就是怎么得到这些样本点,均匀分布、正态分布的采样已经可以很好地实现。但是任意分布p(x)呢?方法是马尔科夫链蒙特卡罗方法(MCMC)

MCMC

下面是一大长串来解释马尔科夫链:

DBN、RBM - 涉及的基础知识
DBN、RBM - 涉及的基础知识
图片解释参考[1]。

马尔科夫链

基本思想:马尔科夫链是指这样一个状态序列,满足一下几个条件 1)每个状态在每个时刻有n种状态进行选择。2)每两个状态之间有一定概率相互转换。 3)当前状态的下一个选择只依赖于当前状态。

设状态数目是n,由状态转移矩阵可以得到(1.12)那个转移公式。

马尔科夫过程有这么几种类型:周期性、不可约、各态遍历。
其中各态遍历会收敛到一个稳定的分布,不会再改变。这也是MCMC的基本思想:我们想要采样分布P,只需要模拟以P为平稳分布的马尔科夫过程即可,无论初值是啥,足够多次转移后都会收敛到该平稳分布。

Metropolis-Hastings 采样算法

MCMC算法下一步的关键就是根据平稳分布P,设计出合适的状态转移矩阵,也就是Metropolis-Hastings 采样算法, 他是一个通用的采样框架,且效果取决于转移分布Q的选取。详细证明推导如下图:
DBN、RBM - 涉及的基础知识

Gibbs sampling

MCMC中,Metropolis-Hastings 采样算法的一个问题是Q的选取,如果α\alpha的值一直比较小会,使得马尔科夫过程转换比较慢,使得收敛变慢。因此提出Gibbs采样。
Gibbs sampling 适用于变量维度特征高于一维的情况,即要拟合的分布概率密度P(x)中的X是多维变量,X=(x1,x2...xm)X=(x_1,x_2...x_m), P(x)是联合概率分布。Gibbs sampling 通过条件概率采样拟合联合概率,再由联合概率推出条件分布,迭代循环。
DBN、RBM - 涉及的基础知识
这样每次迭代X不断变化,得到一个马尔科夫链,稳定后,我们迭代取N个,即是我们需要采样的N个样本,拟合联合概率分布P(X)。

参考博客 :

[1]https://blog.csdn.net/itplus/article/details/19168937
[2]https://blog.csdn.net/app_12062011/article/details/54313082