上一节介绍了受限玻尔兹曼机的模型表示(Representation),本节将介绍推断任务(Inference)。
针对玻尔兹曼机概率图结构过于复杂,计算代价过于庞大的问题,提出一种关于结点间边的约束方式:只有隐变量和观测变量之间存在边连接,隐变量、观测变量内部无边连接。
已知一个受限玻尔兹曼机表示如下:

从图中可以看出,受限玻尔兹曼机将随机变量集合X\mathcal XX分成两个部分:
X=(x1,x2,⋯,xp)T=(hv)\mathcal X = (x_1,x_2,\cdots,x_p)^T = \begin{pmatrix} h \\ v\end{pmatrix}X=(x1,x2,⋯,xp)T=(hv)
基于该模型,随机变量集合X\mathcal XX的联合概率分布P(X)\mathcal P(\mathcal X)P(X)表示如下:
P(X)=P(h,v)=1Zexp{−E(h,v)}=1Zexp(vTWh+bTv+cTh)=1Z{∏j=1m∏i=1nexp(vi⋅wij⋅hj)∏i=1nexp(bivi)∏j=1mexp(cjhj)}\begin{aligned} \mathcal P(\mathcal X) = \mathcal P(h,v) & = \frac{1}{\mathcal Z} \exp \{- \mathbb E(h,v)\} \\ & = \frac{1}{\mathcal Z} \exp (v^T \mathcal W h + b^T v + c^Th) \\ & = \frac{1}{\mathcal Z} \left\{\prod_{j=1}^m \prod_{i=1}^n \exp (v_i \cdot w_{ij} \cdot h_j)\prod_{i=1}^n \exp (b_iv_i) \prod_{j=1}^m \exp (c_jh_j)\right\} \end{aligned}P(X)=P(h,v)=Z1exp{−E(h,v)}=Z1exp(vTWh+bTv+cTh)=Z1{j=1∏mi=1∏nexp(vi⋅wij⋅hj)i=1∏nexp(bivi)j=1∏mexp(cjhj)}
其中W,b,c\mathcal W,b,cW,b,c分别表示针对结点和边的权重信息:
W=(w11,w12,⋯,w1mw21,w22,⋯,w2m⋮wn1,wn2,⋯,wnm)n×mb=(b1b2⋮bn)n×1c=(c1c2⋮cm)m×1\mathcal W = \begin{pmatrix} w_{11},w_{12},\cdots,w_{1m} \\ w_{21},w_{22},\cdots,w_{2m} \\ \vdots \\ w_{n1},w_{n2},\cdots,w_{nm} \\ \end{pmatrix}_{n \times m} \quad b = \begin{pmatrix} b_1 \\b_2 \\ \vdots \\ b_n \end{pmatrix}_{n \times 1} \quad c = \begin{pmatrix} c_1 \\ c_2 \\ \vdots \\ c_m \end{pmatrix}_{m \times 1}W=⎝⎜⎜⎜⎛w11,w12,⋯,w1mw21,w22,⋯,w2m⋮wn1,wn2,⋯,wnm⎠⎟⎟⎟⎞n×mb=⎝⎜⎜⎜⎛b1b2⋮bn⎠⎟⎟⎟⎞n×1c=⎝⎜⎜⎜⎛c1c2⋮cm⎠⎟⎟⎟⎞m×1
关于受限玻尔兹曼机的推断任务,是基于模型参数W,b,c\mathcal W,b,cW,b,c均已给定(模型已知),将随机变量v,hv,hv,h的概率分布求解出来。这里主要求解两方面的概率结果:
这里以隐变量后验P(h∣v)\mathcal P(h \mid v)P(h∣v)为例,进行求解。P(h∣v)\mathcal P(h \mid v)P(h∣v)本质上是针对隐变量集合的联合后验概率分布 进行求解:
P(h∣v)=P(h1,h2,⋯,hm∣v)\mathcal P(h \mid v) = \mathcal P(h_1,h_2,\cdots,h_m \mid v)P(h∣v)=P(h1,h2,⋯,hm∣v)
为了简化运算,定义随机变量集合X\mathcal XX服从伯努利分布(Bernoulli Distribution)。从而无论是观测变量还是隐变量,都仅包含两种选择方式:{0,1}\{0,1\}{0,1}。
然而根据受限玻尔兹曼机的特殊约束,在vvv被观测的条件下,任意两个隐变量hi,hj∈h;i≠jh_i,h_j \in h;i\neq jhi,hj∈h;i=j之间均存在条件独立性。即:
详见马尔可夫随机场的结构表示中的’全局马尔可夫性‘(Global Markov Property),由于hi,hjh_i,h_jhi,hj之间不存在直接关联关系,因而它们只可能与某一观测变量之间达成关联关系。如果该观测变量被观测,hi,hjh_i,h_jhi,hj之间路径阻塞,两者自然条件独立。
hi⊥hj∣vh_i \perp h_j \mid vhi⊥hj∣v
因而,可以将P(h∣v)\mathcal P(h \mid v)P(h∣v)简化为:
P(h∣v)=∏l=1mP(hl∣v)\mathcal P(h \mid v) = \prod_{l=1}^m \mathcal P(h_l \mid v)P(h∣v)=l=1∏mP(hl∣v)
仅需求解出P(hl∣v)\mathcal P(h_l \mid v)P(hl∣v)即可。
首先求解P(hl=1∣v)\mathcal P(h_l = 1 \mid v)P(hl=1∣v),回顾已知条件——模型给定意味着随机变量X\mathcal XX、隐变量hhh、观测变量vvv的 概率密度函数/联合概率分布P(X),P(h),P(v)\mathcal P(\mathcal X),\mathcal P(h),\mathcal P(v)P(X),P(h),P(v)均是已知的。因此,这里将 除去hlh_lhl之外剩余的其他隐变量h−l={hj}j≠lh_{-l} = \{h_j\}_{j \neq l}h−l={hj}j=l引入:
为什么可以将h−lh_{-l}h−l直接写在条件概率的条件部分:因为h−lh_{-l}h−l中的所有隐变量结点均与hlh_lhl条件独立。这相当于h−lh_{-l}h−l是无关条件,不影响hlh_lhl后验概率结果。
P(hl=1∣v)=P(hl=1∣h−l,v)\begin{aligned} \mathcal P(h_l = 1\mid v) = \mathcal P(h_l =1\mid h_{-l},v) \end{aligned}P(hl=1∣v)=P(hl=1∣h−l,v)
使用贝叶斯定理将其展开:
后续推导,前式均使用Δ\DeltaΔ进行表示。
Δ=P(hl=1,h−l,v)P(h−l,v)=P(hl=1,h−l,v)∑hl=0,1P(hl,h−l,v)=P(hl=1,h−l,v)P(hl=1,h−l,v)+P(hl=0,h−l,v)\begin{aligned} \Delta & = \frac{\mathcal P(h_l=1,h_{-l},v)}{\mathcal P(h_{-l},v)} \\ & = \frac{\mathcal P(h_l=1,h_{-l},v)}{\sum_{h_l = 0,1} \mathcal P(h_l,h_{-l},v)}\\ & = \frac{\mathcal P(h_l = 1,h_{-l},v)}{\mathcal P(h_l = 1,h_{-l},v) + \mathcal P(h_l = 0,h_{-l},v)} \end{aligned}Δ=P(h−l,v)P(hl=1,h−l,v)=∑hl=0,1P(hl,h−l,v)P(hl=1,h−l,v)=P(hl=1,h−l,v)+P(hl=0,h−l,v)P(hl=1,h−l,v)
如何求解P(hl=1,h−l,v)\mathcal P(h_l = 1,h_{-l},v)P(hl=1,h−l,v)?此时关于h,vh,vh,v的联合概率分布P(h,v)\mathcal P(h,v)P(h,v)是已知的,它就是P(X)\mathcal P(\mathcal X)P(X)。这里利用联合概率分布P(h,v)\mathcal P(h,v)P(h,v)对P(hl=1,h−l,v)\mathcal P(h_l = 1,h_{-l},v)P(hl=1,h−l,v)进行求解。将表示联合概率分布的能量函数 分解成两部分:
E(h,v)=−(∑j=1m∑i=1nvi⋅wij⋅hj+∑i=1nbivi+∑j=1mcjhj)\mathbb E(h,v) = -\left(\sum_{j=1}^m \sum_{i=1}^n v_i \cdot w_{ij} \cdot h_j + \sum_{i=1}^n b_iv_i + \sum_{j=1}^m c_jh_j\right)E(h,v)=−(j=1∑mi=1∑nvi⋅wij⋅hj+i=1∑nbivi+j=1∑mcjhj)
和隐变量hlh_lhl结点相关的部分表示如下。
当hlh_lhl被确定之后,Ahl(v)\mathcal A_{h_l}(v)Ahl(v)函数和其他隐变量结点之间没有联系;Hl(v)\mathcal H_l(v)Hl(v)表示‘和隐变量’hlh_lhl相关的、仅包含vvv一种变量的函数(因为模型已知,模型参数wil,clw_{il},c_lwil,cl均已知)。除了上述的图描述,剩余的子图全部是‘与hlh_lhl无关的分布’,用H−l(h−l,v)\mathcal H_{-l}(h_{-l},v)H−l(h−l,v)表示。该式子和除去hlh_lhl之外的其他结点均有关联。至此,回归公式Δ\DeltaΔ:
将hl=1h_l=1hl=1代入。将hl=0h_l=0hl=0代入。此时分子、分母同时除以分子:
1Z,H−l(h−l,v)\frac{1}{\mathcal Z},\mathcal H_{-l}(h_{-l},v)Z1,H−l(h−l,v)均消掉了。
Δ=P(hl=1,h−l,v)P(hl=1,h−l,v)+P(hl=0,h−l,v)=11+P(hl=0,h−l,v)P(hl=1,h−l,v)=11+1Zexp[H−l(h−l,v)]1Zexp[Hl(v)+H−l(h−l,v)]=11+exp{−Hl(v)}\begin{aligned} \Delta & = \frac{\mathcal P(h_l = 1,h_{-l},v)}{\mathcal P(h_l = 1,h_{-l},v) + \mathcal P(h_l = 0,h_{-l},v)} \\ & = \frac{1}{1 + \frac{\mathcal P(h_l = 0,h_{-l},v)}{\mathcal P(h_l = 1,h_{-l},v)}} \\ & = \frac{1}{1 + \frac{\frac{1}{\mathcal Z} \exp [\mathcal H_{-l}(h_{-l},v)]}{\frac{1}{\mathcal Z} \exp \left[\mathcal H_l(v) + \mathcal H_{-l}(h_{-l},v)\right]}} \\ & = \frac{1}{1 + \exp \{-\mathcal H_l(v)\}} \end{aligned}Δ=P(hl=1,h−l,v)+P(hl=0,h−l,v)P(hl=1,h−l,v)=1+P(hl=1,h−l,v)P(hl=0,h−l,v)1=1+Z1exp[Hl(v)+H−l(h−l,v)]Z1exp[H−l(h−l,v)]1=1+exp{−Hl(v)}1
这个格式实际上就是 Sigmoid\text{Sigmoid}Sigmoid函数 的表达形式:
Sigmoid(x)=11+e−x\text{Sigmoid}(x) = \frac{1}{1 + e^{-x}}Sigmoid(x)=1+e−x1
因此,基于伯努利分布的离散型随机变量,受限玻尔兹曼机中基于观测变量vvv给定(已被观测) 的条件下,某隐变量hlh_lhl的后验概率分布P(hl=1∣v)\mathcal P(h_l = 1 \mid v)P(hl=1∣v)可以使用Sigmoid\text{Sigmoid}Sigmoid函数进行表示:
哈哈,叠了一堆buff~
此时的表达式中全部是已知的量。wil,clw_{il},c_lwil,cl是模型参数;vi(i=1,2,⋯,n)v_i(i=1,2,\cdots,n)vi(i=1,2,⋯,n)表示观测值。
P(hl=1∣v)=σ[Hl(v)]=11+exp[−Hl(v)]=11+exp[−(∑i=1nwli⋅vi+cl)]\begin{aligned} \mathcal P(h_l = 1 \mid v) & = \sigma [\mathcal H_l(v)] \\ & = \frac{1}{1 + \exp [- \mathcal H_l(v)]} \\ & = \frac{1}{1 + \exp \left[-\left(\sum_{i=1}^n w_{li} \cdot v_i + c_l\right)\right]} \end{aligned}P(hl=1∣v)=σ[Hl(v)]=1+exp[−Hl(v)]1=1+exp[−(∑i=1nwli⋅vi+cl)]1
此时P(hl=1∣v)\mathcal P(h_l = 1 \mid v)P(hl=1∣v)已经求解。同理,P(hl=0∣v)=1−P(hl=1∣v)\mathcal P(h_l = 0 \mid v) = 1 - \mathcal P(h_l = 1 \mid v)P(hl=0∣v)=1−P(hl=1∣v),从而关于P(hl∣v)\mathcal P(h_l \mid v)P(hl∣v)的条件概率分布求解完毕:
P(hl∣v)={11+exp[−(∑i=1nwli⋅vi+cl)]hl=1exp[−(∑i=1nwli⋅vi+cl)]1+exp[−(∑i=1nwli⋅vi+cl)]hl=0\mathcal P(h_l \mid v) = \begin{cases} \frac{1}{1 + \exp \left[-\left(\sum_{i=1}^n w_{li} \cdot v_i + c_l\right)\right]} \quad h_l =1 \\ \quad \\ \frac{\exp \left[-\left(\sum_{i=1}^n w_{li} \cdot v_i + c_l\right)\right]}{1 + \exp \left[-\left(\sum_{i=1}^n w_{li} \cdot v_i + c_l\right)\right]} \quad h_l = 0 \end{cases}P(hl∣v)=⎩⎪⎪⎪⎨⎪⎪⎪⎧1+exp[−(∑i=1nwli⋅vi+cl)]1hl=11+exp[−(∑i=1nwli⋅vi+cl)]exp[−(∑i=1nwli⋅vi+cl)]hl=0
从而,关于所有隐变量结点的后验概率分布P(h∣v)\mathcal P(h \mid v)P(h∣v)即可求解:
P(h∣v)=∏j=1mP(hj∣v)\mathcal P(h \mid v) = \prod_{j=1}^m \mathcal P(h_j \mid v)P(h∣v)=j=1∏mP(hj∣v)
后验概率P(v∣h)\mathcal P(v \mid h)P(v∣h)求解过程和P(h∣v)\mathcal P(h \mid v)P(h∣v)求解思路完全相同:
P(v∣h)=∏i=1nP(vi∣h)\mathcal P(v \mid h) = \prod_{i=1}^n \mathcal P(v_i \mid h)P(v∣h)=i=1∏nP(vi∣h)
由于随机变量集合vvv中各随机变量相互独立,依然从vvv选择一个随机变量vkv_kvk进行求解。由于vkv_kvk同样是伯努利分布,因而P(vk=1∣h)\mathcal P(v_k = 1 \mid h)P(vk=1∣h)可表示为:
对分母进行积分~
这次先将分子、分母同时除以P(vk=1,v−k,h)\mathcal P(v_k = 1,v_{-k},h)P(vk=1,v−k,h);
P(vk=1∣h)=P(vk=1∣v−k,h)=P(vk=1,v−k,h)P(v−k,h)=P(vk=1,v−k,h)P(vk=1,v−k,h)+P(vk=0,v−k,h)=11+P(vk=0,v−k,h)P(vk=1,v−k,h)\begin{aligned} \mathcal P(v_k = 1 \mid h) & = \mathcal P(v_k = 1 \mid v_{-k},h) \\ & = \frac{\mathcal P(v_k = 1,v_{-k},h)}{\mathcal P(v_{-k},h)}\\ & = \frac{\mathcal P(v_k = 1,v_{-k},h)}{\mathcal P(v_k = 1,v_{-k},h) + \mathcal P(v_k = 0,v_{-k},h)} \\ & = \frac{1}{1 + \frac{\mathcal P(v_k = 0,v_{-k},h)}{\mathcal P(v_k = 1,v_{-k},h)}} \end{aligned}P(vk=1∣h)=P(vk=1∣v−k,h)=P(v−k,h)P(vk=1,v−k,h)=P(vk=1,v−k,h)+P(vk=0,v−k,h)P(vk=1,v−k,h)=1+P(vk=1,v−k,h)P(vk=0,v−k,h)1
此时,需要求解P(vk=0,v−k,h),P(vk=1,v−k,h)\mathcal P(v_k = 0,v_{-k},h),\mathcal P(v_k = 1,v_{-k},h)P(vk=0,v−k,h),P(vk=1,v−k,h)。此时与vkv_kvk相关的(存在边相连接的)随机变量集合为:

依然将结点分成两部分,与vkv_kvk相关的和无关的。对应的能量函数表示如下:
E(h,v)=−[vk⋅Vk(h)+V−k(v−k,h)]{Vk(h)=∑j=1mwkj⋅hj+bkV−k(v−k,h)=∑j=1m∑i≠knhj⋅wji⋅vi+∑i≠knbivi+∑j=1mcjhj\begin{aligned} \mathbb E(h,v) & = -[v_k \cdot \mathcal V_k(h) + \mathcal V_{-k}(v_{-k},h)] \\ & \begin{cases} \mathcal V_k(h) = \sum_{j=1}^m w_{kj} \cdot h_j + b_k \\ \mathcal V_{-k}(v_{-k},h) = \sum_{j=1}^m \sum_{i \neq k}^n h_j \cdot w_{ji} \cdot v_i + \sum_{i\neq k}^n b_i v_i + \sum_{j=1}^m c_j h_j \end{cases} \end{aligned}E(h,v)=−[vk⋅Vk(h)+V−k(v−k,h)]{Vk(h)=∑j=1mwkj⋅hj+bkV−k(v−k,h)=∑j=1m∑i=knhj⋅wji⋅vi+∑i=knbivi+∑j=1mcjhj
将vk=1,vk=0v_k= 1,v_k= 0vk=1,vk=0代入,有:
{P(vk=0,v−k,h)=1Zexp{V−k(v−k,h)}P(vk=1,v−k,h)=1Zexp{Vk(h)+V−k(v−k,h)}\begin{cases} \mathcal P(v_k = 0,v_{-k},h) = \frac{1}{\mathcal Z} \exp \{\mathcal V_{-k}(v_{-k},h)\} \\ \mathcal P(v_k = 1,v_{-k},h) = \frac{1}{\mathcal Z} \exp \{\mathcal V_k(h) + \mathcal V_{-k}(v_{-k},h)\} \end{cases}{P(vk=0,v−k,h)=Z1exp{V−k(v−k,h)}P(vk=1,v−k,h)=Z1exp{Vk(h)+V−k(v−k,h)}
最终,得到P(vk=1∣h)\mathcal P(v_k = 1 \mid h)P(vk=1∣h)结果如下:
P(vk=1∣h)=11+exp[−Vk(h)]=11+[−∑j=1mwkj⋅hj+bk]\begin{aligned} \mathcal P(v_k = 1 \mid h) & = \frac{1}{1 + \exp [-\mathcal V_k(h)]} \\ & = \frac{1}{1 + [-\sum_{j=1}^m w_{kj} \cdot h_j + b_k]} \end{aligned}P(vk=1∣h)=1+exp[−Vk(h)]1=1+[−∑j=1mwkj⋅hj+bk]1
重新观察表示P(hl∣v)\mathcal P(h_l \mid v)P(hl∣v)的Sigmoid\text{Sigmoid}Sigmoid函数:
Sigmoid(∑i=1nwil⋅vi+cl)\text{Sigmoid} \left(\sum_{i=1}^n w_{il} \cdot v_i + c_l\right)Sigmoid(i=1∑nwil⋅vi+cl)
Sigmoid\text{Sigmoid}Sigmoid函数内部明显是一个线性计算:
观测变量集合v=(v1,v2,⋯,vn)Tv = (v_1,v_2,\cdots,v_n)^Tv=(v1,v2,⋯,vn)T是自变量;Wl=(w1l,w2l⋯,wnl)T\mathcal W_l = (w_{1l},w_{2l}\cdots,w_{nl})^TWl=(w1l,w2l⋯,wnl)T表示权重信息;clc_lcl表示偏置信息。
∑j=1nwlj⋅vj+cl=(w1l,w2l,⋯,wnl)(v1v2⋮vn)+cl=WlT⋅v+cl\begin{aligned} \sum_{j=1}^n w_{lj} \cdot v_j + c_l & = (w_{1l},w_{2l},\cdots,w_{nl})\begin{pmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{pmatrix} + c_l \\ & = \mathcal W_l^T \cdot v + c_l \end{aligned}j=1∑nwlj⋅vj+cl=(w1l,w2l,⋯,wnl)⎝⎜⎜⎜⎛v1v2⋮vn⎠⎟⎟⎟⎞+cl=WlT⋅v+cl
因此,可以将 受限玻尔兹曼机和神经网络关联起来。将每一个观测变量vi(i=1,2,⋯,n)v_i(i=1,2,\cdots,n)vi(i=1,2,⋯,n)看做一个神经元;因而受限玻尔兹曼机的隐变量可看成 激活函数是Sigmoid\text{Sigmoid}Sigmoid函数的神经网络的隐藏层。
下一节将介绍受限玻尔兹曼机的推断任务——边缘概率求解。
相关参考:
机器学习-受限玻尔兹曼机(5)-模型推断(Inference)-后验概率