What's RBM

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 函数

神经网络中常用的激活函数之一


公式

What's RBM_第1张图片
函数图像

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) ---- 状态转移的概率只依赖于前一个状态

随着链条往后延伸,最后的状态趋于收敛,而且收敛的行为和初始的概率分布无关,只是和概率转移矩阵有关。

What's RBM_第2张图片

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

蒙特卡罗数值积分思想

如果我们要求f(x)的积分,如:


而f(x)的形式比较复杂积分不好求,则可以通过数值解法来求近似的结果。常用的方法是蒙特卡洛积分:

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

因此只要q(x)比较容易采到数据样本就行了。随机模拟方法的核心就是如何对一个概率分布得到样本,即抽样(sampling)。

马尔科夫链蒙特卡罗方法的一种:GIbbs 采样
What's RBM_第3张图片
What's RBM_第4张图片
What's RBM_第5张图片
What's RBM_第6张图片
What's RBM_第7张图片
What's RBM_第8张图片
MCMC理论:

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

正则分布

What's RBM_第9张图片
What's RBM_第10张图片

RBM网络结构

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

What's RBM_第11张图片

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

分别表示可见层和隐藏层中包含神经元的数目,下标v,h代表visible和hidden;
表示可见层的状态向量;
表示隐藏层的状态向量;

表示可见层的偏置向量;
表示隐藏层的偏置向量;
表示隐藏层和可见层之间的权值矩阵,
表示隐藏层中第i个神经元与可见层中第j个神经元之间的连接权重。记
表示RBM中的参数,可将其视为把W,a,b中的所有分量拼接起来得到的长向量。

能量函数和概率分布

参见:(http://blog.csdn.net/itplus/article/details/19168989)
RBM模型是基于能量的模型,需要为其定义一个能量函数,并利用能量函数引入一系列相关的概率分布函数。对于一组给定的状态

,可定义能量函数:
,其矩阵向量形式
利用能量函数给出状态
的联合概率分布
其中,
称作归一化因子,也称作配分函数(Partition Function)。
对于实际问题,我们最关心的是观测数据v的概率分布
,对应于
的边缘分布,也称作似然函数(likelihood function):
。类似地,我们同样可以得到
。对于
的计算包含
项,其计算复杂度非常高,无法直接计算,需要一些数学推导来简化计算量。

对数似然函数

参考:(http://blog.csdn.net/itplus/article/details/19169027)

What's RBM_第12张图片

梯度计算

参考:

  • RBM 的梯度计算公式
  • RBM 的对比散度CD 计算
  • RBM 的训练算法
  • RBM 的评估
What's RBM_第13张图片

你可能感兴趣的:(What's RBM)