RBM概要
受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)是一种可用随机神经网络(stochastic neural network)来解释的概率图模型(probabilistic graphical model)。RBM是Smolensky于1986年在波尔兹曼机(Boltzmann Machine,BM)基础上提出的,所谓“随机”是指网络中的神经元是随机神经元,输出状态只有两种(未激活和激活),状态的具体取值根据概率统计法则来决定。RBM理论是Hinton在2006年提出基于RBM的(Deep Belief Network)模型,大量学者开始研究RBM的理论及其应用。
前置知识
sigmoid 函数
神经网络中常用的激活函数之一


Bayes 定理
两个条件概率之间的关系,包含P(A),P(B)分别表示事件A 、事件B发生的概率。P(A|B)事件B条件下A发生的概率,P(A,B)事件A、B同时发生的概率,则有:


通过上面两个公式得到贝叶斯公式:

- P(A) 为先验概率,对事件A概率的一个判断。
- P(A|B)后验概率,事件B发生后,对A发生概率的重新评估。
- P(B|A) 最大似然估计
马尔科夫链蒙特卡罗方法
马尔科夫链
马氏链的数学定义很简单:
P(Xt+1=x|Xt,Xt−1,⋯)=P(Xt+1=x|Xt) ---- 状态转移的概率只依赖于前一个状态
随着链条往后延伸,最后的状态趋于收敛,而且收敛的行为和初始的概率分布无关,只是和概率转移矩阵有关。

对于给定的概率分布p(x),我们希望能有便捷的方式生成它对应的样本。由于马氏链能收敛到平稳分布, 于是一个很的漂亮想法是:如果我们能构造一个转移矩阵为P的马氏链,使得该马氏链的平稳分布恰好是p(x), 那么我们从任何一个初始状态x0出发沿着马氏链转移, 得到一个转移序列 x0,x1,x2,⋯xn,xn+1⋯,, 如果马氏链在第n步已经收敛了,于是我们就得到了 π(x) 的样本xn,xn+1⋯。
蒙特卡罗数值积分思想
如果我们要求f(x)的积分,如:

这样把q(x)看做是x在区间内的概率分布,而把前面的分数部分看做一个函数,然后在q(x)下抽取n个样本,当n足够大时,可以采用均值来近似:






MCMC理论:
如果我们想在某个分布下采样,只需要模拟以其为平稳分布的马尔科夫过程,经过足够多次的转移之后,我们的样本分布就会充分接近于平稳分布。
正则分布


RBM网络结构
RBM包含两个层,可见层(visible layer)和隐藏层(hidden layer)。神经元之间的连接具有如下特点:层内无连接,层间全连接,显然RBM对应的图是一个二分图。一般来说,可见层单元用来描述观察数据的一个方面或一个特征,而隐藏层单元的意义一般来说并不明确,可以看作特征提取层。RBM和BM的不同之处在于,BM允许层内神经元之间有连接,而RBM则要求层内神经元之间没有连接,因此RBM的性质:当给定可见层神经元的状态时,各隐藏层神经元的激活条件独立;反之当给定隐藏层神经元的状态是,可见层神经元的激活也条件独立。

如图给出了一个RBM网络结构示意图。其中:

梯度计算
参考:

网友评论