玩命加载中 . . .

Boltzmann Machine,玻尔兹曼机


模型简介

玻尔兹曼机是一种基于能量的概率模型。常见的玻尔兹曼机有两层:显层和隐层,示意图如下。

玻尔兹曼机

其中,显层$\mathbf{v}\in \{0,1\}^D$,隐层$\mathbf{h}\in\{0,1\}^P$。即显层有D个结点,隐层有P个结点,每一个结点的状态用0或者1表示,整体服从伯努利分布:

  • $\mathbf{v}=[v_1,v_2,…,v_D]^T$
  • $\mathbf{h}=[h_1,h_2,…,h_P]^T$

下面约定权重系数:

  • $w_{ij}$表示连接显层结点$v_i$和隐层结点$h_j$的边权重
  • $l_{ij}$表示连接两个显层结点$v_i$和$v_j$的边权重
  • $j_{ij}$表示连接两个隐层结点$h_i$和$h_j$的边权重

基于能量定义玻尔兹曼机的概率密度函数

其中$Z$为配分函数

其中$E(\mathbf{v},\mathbf{h})$即为模型的能量,定义为

$E(\mathbf{v},\mathbf{h})=-(\mathbf{v}^TW\mathbf{h}+\frac{1}{2}\mathbf{v}^TL\mathbf{v}+\frac{1}{2}\mathbf{h}^TJ\mathbf{h})$

上述公式上由三部分构成,可以看作隐层内部、显层内部和隐层显层之间的能量之和。不妨以隐层和显层之间进行分析:取任意两个结点$v_i,h_j$和之间的边$w_{ij}$,计算局部能量

则这一部分的总的能量为

基于对数极大似然估计的梯度上升

这一部分,我们从极大似然估计出发,对概率密度$P(v,h)$进行极大值推导,其中

假设现在有样本集$V$,极大似然估计要求每一个样本出现的概率达到极大值,即边缘密度$\prod\limits_vP(v)$达到最大,其中

由对数极大似然估计,将乘积进行转换

记参数$\theta=[W,J,L]$,它们的含义上文已经提过;只需求解

具体的数学推导见附录,这里直接给出结果

$\theta$由三个参数组成,我们以其中一个为例($W$)进行说明

其中$P(h|v)$是真实数据的经验分布,记作$P_{data}$;而$P(v,h)$看作模型的后验分布,记作$P_{model}$。上式用期望表示为

同理有

因此,基于对数极大似然估计的梯度上升法,每一步的参数更新表示为

其中$\eta \in \mathbb{R}$指步长。

基于MCMC的梯度上升

我们已经建立了基于极大似然估计求出了梯度上升的数学模型。但是实际上对于普通的玻尔兹曼机(并非受限玻尔兹曼机),后验分布是无法求出的。基于MCMC的方法提供了一条解决思路,转化到受限玻尔兹曼机(简称RBM)中求解。

相比于普通的玻尔兹曼机,RBM有更多特性,都是基于它的网络结构是一个偶图

受限玻尔兹曼机

显层$v$,隐层$h$,我们约定

普通的玻尔兹曼机中有条件概率:

在RBM中,由于显层内部、隐层内部不再有边相连,因此不同的隐层之间的状态互不相关,下式成立

平均场推断

虽然MCMC可以一定程度上解决上述问题,但是一旦采样规模变大,后验概率仍然无法求出。接下来从变分推断的平均场理论来求出后验概率。


文章作者: 鹿卿
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 鹿卿 !
评论
  目录