受限玻尔兹曼机

时间:2022-12-14 18:08:07

深度学习通过模拟人类大脑的细胞组织结构以及工作方式来实现机器感知外部世界的目的。本文所要介绍的RBM(受限玻尔兹曼机),是DBN网络的基本结构。

说起RBM又不得不提BM,附上两幅图,来说明二者区别。从下图可以看出来,BM层内存在连接节点不独立,表达能力强,但复杂度高;RBM层内无连接节点相互独立,复杂度低。

受限玻尔兹曼机受限玻尔兹曼机

RBM由可视层与隐含层组成。RBM通过优化网络参数,模拟输入样例的概率分布进行预测与识别。下图是RBM的网络参数结构,其中a1...an代表可视层的偏置,b1....bn代表隐含层的偏置,W为网络权值矩阵。v1....vn代表可视层节点激活状态,h1...hn代表隐含层激活状态。可以把单个节点理解为神经元细胞,偏置相当于细胞传递电流大小,激活状态代表细胞是否工作,网络权值矩阵表示细胞之间的连接结构。

受限玻尔兹曼机

       如前所述,RBM所要做的工作就是利用网络参数模拟出输入样本的概率分布。那么结合起来就是干这样一件事情:  概率分布 <=?=> 网络参数。具体二者如何联系起来呢?

       这就是RBM的主要贡献,RBM又叫受限玻尔兹曼机,玻尔兹曼分布是热力学中描述能量与系统稳定状态的一种关系。公式如下所示,其中pi代表状态i发生的概率,T为开尔文温度,kb为玻尔兹曼常数,Ei为状态i时的系统能量,Z为与状态无关的常量。说白了玻尔兹曼分布解决了这样一个问题: 概率分布 <==> 系统能量。

受限玻尔兹曼机

     聪明如你,下一步该做什么了? 其实就是搞定如下关系:系统能量 <==> 网络参数。请看下面的公式,看到了吗?能量函数完全由上图中的网络参数表达出来。很神奇,有木有。

受限玻尔兹曼机

    整理整理上面的关系: 概率分布 <==>  系统能量 <==> 网络参数,如下式,说明一点,由于P_theta(v,h)是一个概率,所有状态之和应该为一,因此可以把常量Z_theta定义如下图的形式。

受限玻尔兹曼机受限玻尔兹曼机

   OK,既然将概率与网络参数的关系用数学表达清楚了,之后就需求解使得最大似然函数最大情况下的网络参数了,这是一个非线性优化问题,采用梯度上升的方法求解,详情请见下式,theta由w,a,b三类参数组成:

受限玻尔兹曼机   受限玻尔兹曼机    受限玻尔兹曼机

受限玻尔兹曼机

    至此,RBM原理部分结束,但此时的公式求解复杂度还很高,后续还需要引入Gibbs采样(后续补充)才能利用有限的样本的得到参数的无偏估计。