受限Boltzmann机详解

受限Boltzmann机

1. 马尔科夫过程

  • 随机过程:设T是一个无限实数集,我们把依赖于参数t∈T的一族随机变量称为随机过程,记作{X(t),t∈T}
  • 马尔科夫性:随机过程中的随机变量将来的取值只与现在有关,而与过去无关(即只依赖于现在,不依赖于过去),我们就称随机过程具有马尔可夫性。
  • 马尔科夫过程和马氏链:具有马尔可夫性的随机过程,由马尔科夫过程中的随机变量组成的集合叫做马尔科夫链,简称马氏链。
  • 马氏链的转移概率矩阵:状态转移是指客观事物由一种状态转移到另一种状态的概率。时间间隔为n的称为n步转移概率矩阵。

2. 马氏链的性质

符号约定:n步转移概率矩阵pij(m,m+n)表示马氏链在m时刻处于状态i的条件下,m+n时刻处于状态j的概率

  • 齐次马氏链:当马氏链的状态转移矩阵只与当前状态、目标状态和时间间隔有关,而与初始时间无关时,称转移概率具有平稳性,对应的马氏链是齐次的或时齐的。此时,pij(m,m+n)记作pij(n)
  • 遍历性:即收敛性,当n趋向于无穷大时,n步转移概率矩阵p和马氏链都收敛于π,π的各分量之和为1,那么称该马氏链收敛于π

定理1:齐次马氏链的n步转移概率矩阵等于一步转移概率矩阵的n次方
定理2:设p是s马氏链对应的一步转移概率矩阵,当存在正整数m使得pij(m)>0,那么,该马氏链收敛
细致平稳条件:若
π(i) pij=π(j) pji对任意i,j都成立,那么π(x)是马氏链的平稳分布,即马氏链收敛于π

3. MCMC采样和Gibbs采样

  • MCMC即马尔科夫蒙特卡洛方法:对于任意给定的概率分布P(x),要求他的采样样本,我们可以联想到马氏链,如果马氏链的转移概率矩阵收敛于p,那么马氏链不就是p的样本吗。虽然这个想法很美好,但是怎么保证它收敛于p呢,对于任意一个转移概率矩阵q(i,j),细致平稳条件p(i) q(i,j)=p(j) q(j,i)显然不成立。
    这个问题怎么解决呢?我们可以引入α(i,j),使得:p(i) q(i,j) α(i,j) = p(j) q(j,i) α(j,i),这样新的转移概率矩阵q(i,j) α(i,j)就满足了细致平稳条件,我们称α为接受率

    mcmc采样算法描述如下:

    受限Boltzmann机详解_第1张图片

注意:mcmc采样算法中假设对q采样比对p采样容易得多

  • Gibbs采样:
    由于MCMC采样对于高维随机变量的采样并不能胜任,由此提出Gibbs(吉布斯)采样



    受限Boltzmann机详解_第2张图片

受限Boltzmann机详解_第3张图片

由此,我们可以构造转移概率矩阵:
受限Boltzmann机详解_第4张图片
满足细致平稳条件



给出Gibbs采样算法如下:


受限Boltzmann机详解_第5张图片


在受限Boltzmann机的训练算法中会用到Gibbs采样

4.受限Boltzmann机

我们知道,BM模型虽然能够解决Hopfield神经网络的伪吸引子问题,但是,由于其计算量太大,所以在实际中的应用并不多。
而受限Boltzmann机(RBM)模型的引入就是为了解决这一问题,其基于Gibbs采样的对比散度学习算法使得其学习训练的过程非常快。他还有一个非常重要的应用–可以使用RBM和BP神经网络堆叠出DBN-DNN深度网络。

4.1受限Boltzmann机的结构

受限Boltzmann机详解_第6张图片

从上图可以看出,受限玻尔兹曼机的同层节点之间不连接,层间全连接。
相比于BM模型,RBM模型的这种结构计算量少在哪里呢?由于它层内节点是没有连接的,这就决定了在计算每一层概率的时候可以单独计算层内每个节点的概率在相乘。

4.2受限Boltzmann机的训练算法

  • 符号约定:向量v,h分别代表可见层和隐层,下标i,j分别表示可见层和隐层的节点,向量a,b,w分别表示可见层、隐层的偏置以及层间的权重。能量函数如下:
    在这里插入图片描述
  • 首先,明确训练目标:我们训练RBM的目的是实现类似Hopfield神经网络的联想记忆功能,也就是说,训练完成之后,在将一个新的测试样本输入网络可以输出与之最接近训练样本。所以,我们要尽可能多的让网络输出输入的训练样本。由此,可以给出训练的目标函数:
    在这里插入图片描述
    受限Boltzmann机详解_第7张图片
    Θ表示a,b,w三个待训练参数
    要使目标函数达到最大,可以使用梯度上升法来求解。求导之后,有:
    受限Boltzmann机详解_第8张图片
    其中,<·>p表示对概率分布p求数学期望,data为已知可见层的条件下隐层的条件概率分布,这一项比较好求,model是v,h的联合分布,无法直接求出。

对比散度学习算法(CD算法)
从上面的分析中,我们可以知道,三个偏导数的前一项比较简单,直接求解便可,但是后一项无法直接求出。这时,我们的Gibbs采样就要派上用场了,我们可以用采样的方法来近似数学期望,但是,Gibbs采样要经过若干步之后才能收敛,然后才能模拟出当前的分布。但是,Hinton提出的CD算法指出,只用循环一次,便能够很好的模拟当前的分布,这又一次大大降低了计算量。c描述如下:
受限Boltzmann机详解_第9张图片
RBM模型就介绍到这里,本文主要参考张春霞的受限波尔兹曼机简介一文

你可能感兴趣的:(restricted,boltzmann,machine,神经网络)