机器学习笔记之玻尔兹曼机——基于平均场推断梯度求解

  • 引言
    • 回顾:玻尔兹曼机模型参数梯度求解困难与MCMC方法的处理方式
    • 变分推断方法处理玻尔兹曼机对数似然梯度

引言

上一节介绍了使用马尔可夫链蒙特卡洛方法(MCMC)处理波尔兹曼机模型参数梯度求解过程中概率分布不可求的问题,本节将介绍变分推断方法处理梯度问题

回顾:玻尔兹曼机模型参数梯度求解困难与MCMC方法的处理方式

相比于受限玻尔兹曼机玻尔兹曼机对于随机变量之间关联关系的约束更加宽松,观测变量、隐变量自身之间也存在关联关系。这里以观测变量与隐变量之间关联关系的模型参数W\mathcal WW 为例,关于W\mathcal WW的对数似然梯度(Log Likelihood Gradient)可表示为:
∇W[log⁡P(v(i);θ)]=EPdata[v(i)(h(i))T]−EPmodel[v(i)(h(i))T]\nabla_{\mathcal W} \left[\log \mathcal P(v^{(i)};\theta)\right] = \mathbb E_{\mathcal P_{data}} \left[v^{(i)}(h^{(i)})^T\right] - \mathbb E_{\mathcal P_{model}} \left[v^{(i)}(h^{(i)})^T\right]∇W​[logP(v(i);θ)]=EPdata​​[v(i)(h(i))T]−EPmodel​​[v(i)(h(i))T]
其中Pdata\mathcal P_{data}Pdata​表示真实分布。其底层逻辑是从客观存在的概率模型Pdata(V)\mathcal P_{data}(\mathcal V)Pdata​(V)随机生成NNN个样本,构成当前的样本集合V={v(1),v(2),⋯,v(N)}\mathcal V = \{v^{(1)},v^{(2)},\cdots,v^{(N)}\}V={v(1),v(2),⋯,v(N)}。

但这里的真实分布Pdata\mathcal P_{data}Pdata​和配分函数——随机最大似然正相中的Pdata\mathcal P_{data}Pdata​中存在稍许不同:

  • 随机最大似然中的Pdata\mathcal P_{data}Pdata​是纯粹使用蒙特卡洛方法的逆向推导产生的分布:
    EPdata[∇θlog⁡P^(x(i);θ)]≈1N∑i=1N∇θlog⁡P^(x(i);θ)\mathbb E_{\mathcal P_{data}} \left[\nabla_{\theta} \log \hat {\mathcal P}(x^{(i)};\theta)\right] \approx \frac{1}{N} \sum_{i=1}^N \nabla_{\theta} \log \hat {\mathcal P}(x^{(i)};\theta)EPdata​​[∇θ​logP^(x(i);θ)]≈N1​i=1∑N​∇θ​logP^(x(i);θ)
  • 可模型参数W\mathcal WW(玻尔兹曼机的其他参数也是一样的)梯度的正相并不仅仅包含蒙特卡洛方法的逆向推导,还包含关于隐变量的后验概率
    详细推导见:玻尔兹曼机——基本介绍
    1N∑i=1N∑h(i)P(h(i)∣v(i))[v(i)(h(i))T]=1N∑i=1N{EP(h(i)∣v(i))[v(i)(h(i))T]}≈EPdata(v(i)∈V){EP(h(i)∣v(i))[v(i)(h(i))T]}=EPdata[v(i)(h(i))T]Pdata⇒Pdata(v(i)∈V)⋅Pmodel(h(i)∣v(i))\begin{aligned} \frac{1}{N} \sum_{i=1}^{N} \sum_{h^{(i)}} \mathcal P(h^{(i)} \mid v^{(i)}) \left[v^{(i)}(h^{(i)})^T\right] & = \frac{1}{N}\sum_{i=1}^N \left\{\mathbb E_{\mathcal P(h^{(i)} \mid v^{(i)})} \left[v^{(i)}(h^{(i)})^T\right]\right\} \\ & \approx \mathbb E_{\mathcal P_{data}(v^{(i)} \in \mathcal V)} \left\{\mathbb E_{\mathcal P(h^{(i)} \mid v^{(i)})} \left[v^{(i)}(h^{(i)})^T\right]\right\} \\ & = \mathbb E_{\mathcal P_{data}} \left[v^{(i)}(h^{(i)})^T\right] \\ \mathcal P_{data} \Rightarrow \mathcal P_{data}(v^{(i)} \in \mathcal V) & \cdot \mathcal P_{model}(h^{(i)} \mid v^{(i)}) \end{aligned}N1​i=1∑N​h(i)∑​P(h(i)∣v(i))[v(i)(h(i))T]Pdata​⇒Pdata​(v(i)∈V)​=N1​i=1∑N​{EP(h(i)∣v(i))​[v(i)(h(i))T]}≈EPdata​(v(i)∈V)​{EP(h(i)∣v(i))​[v(i)(h(i))T]}=EPdata​​[v(i)(h(i))T]⋅Pmodel​(h(i)∣v(i))​

从上式推导可以看出,玻尔兹曼机中无论是正相还是负相,均存在包含隐变量的概率分布
Pdata⇒Pmodel(h(i)∣v(i))Pmodel⇒Pmodel(h(i),v(i))\begin{aligned} \mathcal P_{data} \Rightarrow \mathcal P_{model}(h^{(i)} \mid v^{(i)}) \\ \mathcal P_{model} \Rightarrow \mathcal P_{model}(h^{(i)},v^{(i)}) \end{aligned}Pdata​⇒Pmodel​(h(i)∣v(i))Pmodel​⇒Pmodel​(h(i),v(i))​

玻尔兹曼机的约束条件中,无论是Pmodel(h(i),v(i))\mathcal P_{model}(h^{(i)},v^{(i)})Pmodel​(h(i),v(i))还是Pmodel(h(i)∣v(i))\mathcal P_{model}(h^{(i)} \mid v^{(i)})Pmodel​(h(i)∣v(i)),都是极难近似求解的。

在80年代早期,没有给出变分推断概念时,针对模型参数W\mathcal WW的对数似然梯度是通过吉布斯采样的方式进行求解。这种方式求解的核心思路是:针对单个变量(观测变量、隐变量)的后验概率进行表示,而不是隐变量/观测变量的后验概率
关于单个变量后验概率的推导过程详见玻尔兹曼机——梯度求解(MCMC方法)
P(vi(i)∣h(i),v−i(i))={Sigmoid{∑j=1PWij⋅hj(i)+∑k≠iDLik⋅vk(i)}vi(i)=11−Sigmoid{∑j=1PWij⋅hj(i)+∑k≠iDLik⋅vk(i)}vi(i)=0P(hj(i)∣v(i),h−j(i))={Sigmoid{∑i=1DWij⋅vi(i)+∑m≠jJjm⋅hm(i)}hj(i)=11−Sigmoid{∑i=1DWij⋅vi(i)+∑m≠jJjm⋅hm(i)}hj(i)=0\begin{aligned} \mathcal P(v_i^{(i)} \mid h^{(i)},v_{-i}^{(i)}) = \begin{cases} \text{Sigmoid} \left\{\sum_{j=1}^{\mathcal P} \mathcal W_{ij} \cdot h_j^{(i)} + \sum_{k \neq i}^{\mathcal D} \mathcal L_{ik} \cdot v_k^{(i)}\right\} \quad v_i^{(i)} = 1\\ 1 - \text{Sigmoid} \left\{\sum_{j=1}^{\mathcal P} \mathcal W_{ij} \cdot h_j^{(i)} + \sum_{k \neq i}^{\mathcal D} \mathcal L_{ik} \cdot v_k^{(i)}\right\} \quad v_i^{(i)} = 0 \end{cases} \\ \mathcal P(h_j^{(i)} \mid v^{(i)},h_{-j}^{(i)}) = \begin{cases} \text{Sigmoid} \left\{\sum_{i=1}^{\mathcal D} \mathcal W_{ij} \cdot v_i^{(i)} + \sum_{m \neq j} \mathcal J_{jm} \cdot h_m^{(i)}\right\} \quad h_j^{(i)} = 1 \\ 1 - \text{Sigmoid} \left\{\sum_{i=1}^{\mathcal D} \mathcal W_{ij} \cdot v_i^{(i)} + \sum_{m \neq j} \mathcal J_{jm} \cdot h_m^{(i)}\right\} \quad h_j^{(i)} = 0 \\ \end{cases} \end{aligned}P(vi(i)​∣h(i),v−i(i)​)=⎩⎨⎧​Sigmoid{∑j=1P​Wij​⋅hj(i)​+∑k=iD​Lik​⋅vk(i)​}vi(i)​=11−Sigmoid{∑j=1P​Wij​⋅hj(i)​+∑k=iD​Lik​⋅vk(i)​}vi(i)​=0​P(hj(i)​∣v(i),h−j(i)​)=⎩⎨⎧​Sigmoid{∑i=1D​Wij​⋅vi(i)​+∑m=j​Jjm​⋅hm(i)​}hj(i)​=11−Sigmoid{∑i=1D​Wij​⋅vi(i)​+∑m=j​Jjm​⋅hm(i)​}hj(i)​=0​​

此时,上述两种概率是可求的,在吉布斯采样过程中,通过固定待采样之外的其他随机变量,针对待采样的随机变量计算概率分布,并进行采样。直到所有随机变量均采样完毕,第一次迭代结束;最终通过若干次迭代,最终达到平稳分布

基于该分布的采样结果可以直接近似模型参数的梯度∇W[log⁡P(v(i);θ)]\nabla_{\mathcal W} \left[\log \mathcal P(v^{(i)};\theta)\right]∇W​[logP(v(i);θ)]使之跳过对正相、负相期望的求解
这里如果有不同理解的小伙伴,欢迎评论区一起讨论。

变分推断方法处理玻尔兹曼机对数似然梯度

该方法的核心在于使用变分推断直接近似求解后验概率Pmodel(h(i)∣v(i))\mathcal P_{model}(h^{(i)} \mid v^{(i)})Pmodel​(h(i)∣v(i)),从而避免原先使用MCMC采样的方式进行求解。
这种方法针对于大规模的随机变量集合,它的采样时间同样是随着随机变量数量的增加指数级别地增长

关于正向部分Pdata⇒Pdata(v(i)∈V)⋅Pmodel(h(i)∣v(i))\mathcal P_{data} \Rightarrow \mathcal P_{data}(v^{(i)} \in \mathcal V) \cdot \mathcal P_{model}(h^{(i)} \mid v^{(i)})Pdata​⇒Pdata​(v(i)∈V)⋅Pmodel​(h(i)∣v(i))在之前的MCMC采样方法需要将Pmodel(h(i)∣v(i))\mathcal P_{model}(h^{(i)} \mid v^{(i)})Pmodel​(h(i)∣v(i))近似出来或者使用受限玻尔兹曼机的约束条件将Pmodel(h(i)∣v(i))\mathcal P_{model}(h^{(i)} \mid v^{(i)})Pmodel​(h(i)∣v(i))使用Sigmoid\text{Sigmoid}Sigmoid函数描述出来。本节使用基于平均场假设的变分推断(Variational Inference)对Pmodel(h(i)∣v(i))\mathcal P_{model}(h^{(i)} \mid v^{(i)})Pmodel​(h(i)∣v(i))进行描述。

关于Pmodel(h(i)∣v(i))\mathcal P_{model}(h^{(i)} \mid v^{(i)})Pmodel​(h(i)∣v(i))变分推断的核心是找到一个 合适的分布 Q(h(i)∣v(i))\mathcal Q(h^{(i)} \mid v^{(i)})Q(h(i)∣v(i)),使得 Q(h(i)∣v(i))\mathcal Q(h^{(i)} \mid v^{(i)})Q(h(i)∣v(i))近似Pmodel(h(i)∣v(i))\mathcal P_{model}(h^{(i)} \mid v^{(i)})Pmodel​(h(i)∣v(i))。而变分推断的底层逻辑依然是极大似然估计
v(i)v^{(i)}v(i)在模型中对应的隐变量h(i)h^{(i)}h(i)引进来。
log⁡P(v(i);θ)=log⁡[P(v(i),h(i);θ)P(h(i)∣v(i);θ)]=log⁡P(v(i),h(i);θ)−log⁡P(h(i)∣v(i);θ){θ={W,L,J}v(i)∈V={v(1),v(2),⋯,v(N)}\begin{aligned} \log \mathcal P(v^{(i)};\theta) & = \log \left[\frac{\mathcal P(v^{(i)},h^{(i)};\theta)}{\mathcal P(h^{(i)} \mid v^{(i)};\theta)}\right]\\ & = \log \mathcal P(v^{(i)},h^{(i)};\theta) - \log \mathcal P(h^{(i)} \mid v^{(i)};\theta) \end{aligned} \\ \begin{cases} \theta = \{\mathcal W,\mathcal L,\mathcal J\} \\ v^{(i)} \in \mathcal V = \{v^{(1)},v^{(2)},\cdots,v^{(N)}\} \end{cases}logP(v(i);θ)​=log[P(h(i)∣v(i);θ)P(v(i),h(i);θ)​]=logP(v(i),h(i);θ)−logP(h(i)∣v(i);θ)​{θ={W,L,J}v(i)∈V={v(1),v(2),⋯,v(N)}​
在此基础上,将近似分布Q(h(i)∣v(i);ϕ)\mathcal Q(h^{(i)}\mid v^{(i)};\phi)Q(h(i)∣v(i);ϕ)引入,其中ϕ\phiϕ表示这个近似分布的参数信息。
log⁡P(v(i);θ)=[log⁡P(v(i),h(i);θ)−log⁡Q(h(i)∣v(i);ϕ)]−[log⁡P(h(i)∣v(i);θ)−log⁡Q(h(i)∣v(i);ϕ)]=log⁡[P(v(i),h(i);θ)Q(h(i)∣v(i);ϕ)]−log⁡[P(h(i)∣v(i);θ)Q(h(i)∣v(i);ϕ)]\begin{aligned} \log \mathcal P(v^{(i)};\theta) & = \left[\log \mathcal P(v^{(i)},h^{(i)};\theta) - \log \mathcal Q(h^{(i)}\mid v^{(i)};\phi)\right] - \left[\log \mathcal P(h^{(i)} \mid v^{(i)};\theta) - \log \mathcal Q(h^{(i)}\mid v^{(i)};\phi)\right] \\ & = \log \left[\frac{\mathcal P(v^{(i)},h^{(i)};\theta)}{\mathcal Q(h^{(i)}\mid v^{(i)};\phi)}\right] - \log \left[\frac{\mathcal P(h^{(i)} \mid v^{(i)};\theta)}{\mathcal Q(h^{(i)}\mid v^{(i)};\phi)}\right] \end{aligned}logP(v(i);θ)​=[logP(v(i),h(i);θ)−logQ(h(i)∣v(i);ϕ)]−[logP(h(i)∣v(i);θ)−logQ(h(i)∣v(i);ϕ)]=log[Q(h(i)∣v(i);ϕ)P(v(i),h(i);θ)​]−log[Q(h(i)∣v(i);ϕ)P(h(i)∣v(i);θ)​]​
等式两端同时对h(i)h^{(i)}h(i)求解积分,由于是玻尔兹曼机,所有变量均是服从伯努利分布的离散型随机变量。因此使用∑h(i)\sum_{h^{(i)}}∑h(i)​~
再次强调,有负号才是KLDivergence\mathcal K\mathcal L\text{ Divergence}KL Divergence.
Equation Left : ∑h(i)Q(h(i)∣v(i);ϕ)log⁡P(v(i);θ)=log⁡P(v(i);θ)⋅∑h(i)Q(h(i)∣v(i);ϕ)⏟=1=log⁡P(v(i);θ)Equation Right :∑h(i)Q(h(i)∣v(i);ϕ){log⁡[P(v(i),h(i);θ)Q(h(i)∣v(i);ϕ)]−log⁡[P(h(i)∣v(i);θ)Q(h(i)∣v(i);ϕ)]}=∑h(i)Q(h(i)∣v(i);ϕ)log⁡[P(v(i),h(i);θ)Q(h(i)∣v(i);ϕ)]⏟ELBO−∑h(i)Q(h(i)∣v(i);ϕ)log⁡[P(h(i)∣v(i);θ)Q(h(i)∣v(i);ϕ)]⏟KL[Q(h(i)∣v(i);ϕ)∣∣P(h(i)∣v(i);θ)]\begin{aligned}\text{Equation Left : } \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \log \mathcal P(v^{(i)};\theta) & = \log \mathcal P(v^{(i)};\theta) \cdot \underbrace{\sum_{h^{(i)}} \mathcal Q(h^{(i)}\mid v^{(i)};\phi)}_{=1} = \log \mathcal P(v^{(i)};\theta) \end{aligned}\\ \begin{aligned} \text{Equation Right :}&\quad \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \left\{\log \left[\frac{\mathcal P(v^{(i)},h^{(i)};\theta)}{\mathcal Q(h^{(i)}\mid v^{(i)};\phi)}\right] - \log \left[\frac{\mathcal P(h^{(i)} \mid v^{(i)};\theta)}{\mathcal Q(h^{(i)}\mid v^{(i)};\phi)}\right]\right\} \\ & = \underbrace{\sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi)\log \left[\frac{\mathcal P(v^{(i)},h^{(i)};\theta)}{\mathcal Q(h^{(i)}\mid v^{(i)};\phi)}\right]}_{ELBO} \underbrace{- \sum_{h^{(i)}}\mathcal Q(h^{(i)} \mid v^{(i)};\phi) \log \left[\frac{\mathcal P(h^{(i)} \mid v^{(i)};\theta)}{\mathcal Q(h^{(i)}\mid v^{(i)};\phi)}\right]}_{\mathcal K\mathcal L\left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi) || \mathcal P(h^{(i)} \mid v^{(i)};\theta)\right]} \end{aligned}Equation Left : h(i)∑​Q(h(i)∣v(i);ϕ)logP(v(i);θ)​=logP(v(i);θ)⋅=1h(i)∑​Q(h(i)∣v(i);ϕ)​​=logP(v(i);θ)​Equation Right :​h(i)∑​Q(h(i)∣v(i);ϕ){log[Q(h(i)∣v(i);ϕ)P(v(i),h(i);θ)​]−log[Q(h(i)∣v(i);ϕ)P(h(i)∣v(i);θ)​]}=ELBOh(i)∑​Q(h(i)∣v(i);ϕ)log[Q(h(i)∣v(i);ϕ)P(v(i),h(i);θ)​]​​KL[Q(h(i)∣v(i);ϕ)∣∣P(h(i)∣v(i);θ)]−h(i)∑​Q(h(i)∣v(i);ϕ)log[Q(h(i)∣v(i);ϕ)P(h(i)∣v(i);θ)​]​​​
至此,将证据下界(Evidence Lower Bound,ELBO)表示如下:
证据下界(ELBO)也称作Q(h(i)∣v(i);ϕ)\mathcal Q(h^{(i)} \mid v^{(i)};\phi)Q(h(i)∣v(i);ϕ)的变分。用L[Q(h(i)∣v(i);ϕ)]\mathcal L \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right]L[Q(h(i)∣v(i);ϕ)]符号表示。
H[Q(h(i)∣v(i);ϕ)]=−∑h(i)Q(h(i)∣v(i);ϕ)log⁡Q(h(i)∣v(i);ϕ)\mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] = - \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \log \mathcal Q(h^{(i)} \mid v^{(i)};\phi)H[Q(h(i)∣v(i);ϕ)]=−∑h(i)​Q(h(i)∣v(i);ϕ)logQ(h(i)∣v(i);ϕ)表示概率分布Q(h(i)∣v(i);ϕ)\mathcal Q(h^{(i)} \mid v^{(i)};\phi)Q(h(i)∣v(i);ϕ)的熵。
ELBO=L[Q(h(i)∣v(i);ϕ)]=∑h(i)Q(h(i)∣v(i);ϕ)log⁡[P(v(i),h(i);θ)Q(h(i)∣v(i);ϕ)]=∑h(i)Q(h(i)∣v(i);ϕ)[log⁡P(v(i),h(i);θ)−log⁡Q(h(i)∣v(i);ϕ)]=∑h(i)Q(h(i)∣v(i);ϕ)log⁡P(v(i),h(i);θ)−∑h(i)Q(h(i)∣v(i);ϕ)log⁡Q(h(i)∣v(i);ϕ)=∑h(i)Q(h(i)∣v(i);ϕ)log⁡P(v(i),h(i);θ)+H[Q(h(i)∣v(i);ϕ)]\begin{aligned} \text{ELBO} & = \mathcal L \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] \\ & = \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi)\log \left[\frac{\mathcal P(v^{(i)},h^{(i)};\theta)}{\mathcal Q(h^{(i)}\mid v^{(i)};\phi)}\right] \\ & = \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \left[\log \mathcal P(v^{(i)},h^{(i)};\theta) - \log \mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] \\ & = \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \log \mathcal P(v^{(i)},h^{(i)};\theta) - \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \log \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \\ & = \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \log \mathcal P(v^{(i)},h^{(i)};\theta) + \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] \end{aligned}ELBO​=L[Q(h(i)∣v(i);ϕ)]=h(i)∑​Q(h(i)∣v(i);ϕ)log[Q(h(i)∣v(i);ϕ)P(v(i),h(i);θ)​]=h(i)∑​Q(h(i)∣v(i);ϕ)[logP(v(i),h(i);θ)−logQ(h(i)∣v(i);ϕ)]=h(i)∑​Q(h(i)∣v(i);ϕ)logP(v(i),h(i);θ)−h(i)∑​Q(h(i)∣v(i);ϕ)logQ(h(i)∣v(i);ϕ)=h(i)∑​Q(h(i)∣v(i);ϕ)logP(v(i),h(i);θ)+H[Q(h(i)∣v(i);ϕ)]​
后续的求解思路是:通过求解近似分布的参数ϕ\phiϕ,使得ELBO\text{ELBO}ELBO达到最大,等价于KLDivergence\mathcal K\mathcal L \text{ Divergence}KL Divergence趋近于000,最终使Q(h(i)∣v(i);ϕ)\mathcal Q(h^{(i)} \mid v^{(i)};\phi)Q(h(i)∣v(i);ϕ)与P(h(i)∣v(i);θ)\mathcal P(h^{(i)}\mid v^{(i)};\theta)P(h(i)∣v(i);θ)最近似
至此,将求解近似分布Q(h(i)∣v(i);ϕ)\mathcal Q(h^{(i)}\mid v^{(i)};\phi)Q(h(i)∣v(i);ϕ)的问题转移至 求解最优参数ϕ^\hat \phiϕ^​,使得ELBO\text{ELBO}ELBO达到最大
ϕ^=arg⁡max⁡ϕL[Q(h(i)∣v(i);ϕ)]\hat \phi = \mathop{\arg\max}\limits_{\phi} \mathcal L \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right]ϕ^​=ϕargmax​L[Q(h(i)∣v(i);ϕ)]
在介绍基于平均场假设变分推断的过程中,关于Q(h(i)∣v(i);ϕ)\mathcal Q(h^{(i)}\mid v^{(i)};\phi)Q(h(i)∣v(i);ϕ)的平均场假设具体是将h(i)=(h1(i),h2(i),⋯,hP(i))Th^{(i)} = \left(h_1^{(i)},h_2^{(i)},\cdots,h_{\mathcal P}^{(i)}\right)^Th(i)=(h1(i)​,h2(i)​,⋯,hP(i)​)T划分成若干个相互独立的子集合。由于相互独立,因而后验概率分布可描述为各子集合后验结果的乘积形式
由于h(i)h^{(i)}h(i)中一共包含P\mathcal PP个随机变量,这里就假设划分的子集合数量为P\mathcal PP,也就是每个子集合仅包含111个随机变量。
Q(h(i)∣v(i);ϕ)=∏j=1PQ(hj(i)∣v(i);ϕ)\mathcal Q(h^{(i)} \mid v^{(i)};\phi) = \prod_{j=1}^{\mathcal P} \mathcal Q(h_j^{(i)} \mid v^{(i)};\phi)Q(h(i)∣v(i);ϕ)=j=1∏P​Q(hj(i)​∣v(i);ϕ)
由于hj(i)(i=1,2,⋯,P)h_j^{(i)}(i=1,2,\cdots,\mathcal P)hj(i)​(i=1,2,⋯,P)均服从伯努利分布,那么设定符号概率分布Q(hj(i)∣v(i);ϕ)\mathcal Q(h_j^{(i)} \mid v^{(i)};\phi)Q(hj(i)​∣v(i);ϕ)进行如下表示:
Q(hj(i)∣v(i);ϕ)={Q(hj(i)=1∣v(i);ϕ)=ϕjQ(hj(i)=0∣v(i);ϕ)=1−ϕj\mathcal Q(h_j^{(i)} \mid v^{(i)};\phi) = \begin{cases} \mathcal Q(h_j^{(i)}=1 \mid v^{(i)};\phi) = \phi_j \\ \mathcal Q(h_j^{(i)}=0 \mid v^{(i)};\phi) = 1- \phi_j \end{cases}Q(hj(i)​∣v(i);ϕ)={Q(hj(i)​=1∣v(i);ϕ)=ϕj​Q(hj(i)​=0∣v(i);ϕ)=1−ϕj​​
ϕj\phi_jϕj​虽然不是参数,它只是一个描述概率的实数,但ϕj\phi_jϕj​如果已经求解,那么Q(hj(i)∣v(i);ϕ)\mathcal Q(h_j^{(i)} \mid v^{(i)};\phi)Q(hj(i)​∣v(i);ϕ)自然也求解了。
因此,也可以将模型参数ϕ\phiϕ看作是'包含各随机变量概率信息的集合'{ϕ1,ϕ2,⋯,ϕP}\{\phi_1,\phi_2,\cdots,\phi_{\mathcal P}\}{ϕ1​,ϕ2​,⋯,ϕP​}
至此,将变分推断的求解目标ϕ^\hat \phiϕ^​分解成了P\mathcal PP个相互独立的概率信息ϕ^j(j=1,2,⋯,P)\hat {\phi}_j(j=1,2,\cdots,\mathcal P)ϕ^​j​(j=1,2,⋯,P):
每一个ϕ^j(j=1,2,⋯,P)\hat {\phi}_j(j=1,2,\cdots,\mathcal P)ϕ^​j​(j=1,2,⋯,P)都要求解。
ϕ^j=arg⁡max⁡ϕjL[Q(h(i)∣v(i);ϕ)]\hat {\phi}_j = \mathop{\arg\max}\limits_{\phi_j} \mathcal L \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right]ϕ^​j​=ϕj​argmax​L[Q(h(i)∣v(i);ϕ)]
ELBO\text{ELBO}ELBO的展开式带入,并将P(v(i),h(i);θ)=1Zexp⁡{(v(i))TW⋅h(i)+12(v(i))TL⋅v(i)+12(h(i))TJ⋅h(i)}\mathcal P(v^{(i)},h^{(i)};\theta) = \frac{1}{\mathcal Z} \exp \left\{(v^{(i)})^T\mathcal W\cdot h^{(i)} + \frac{1}{2} (v^{(i)})^T\mathcal L \cdot v^{(i)} + \frac{1}{2} (h^{(i)})^T\mathcal J \cdot h^{(i)}\right\}P(v(i),h(i);θ)=Z1​exp{(v(i))TW⋅h(i)+21​(v(i))TL⋅v(i)+21​(h(i))TJ⋅h(i)}进行展开。玻尔兹曼机——概率密度函数回顾
log⁡\loglogexp⁡\expexp之间相互消掉了。
ϕ^j=arg⁡max⁡ϕj{∑h(i)Q(h(i)∣v(i);ϕ)log⁡P(v(i),h(i);θ)+H[Q(h(i)∣v(i);ϕ)]}=arg⁡max⁡ϕj{∑h(i)Q(h(i)∣v(i);ϕ)[−log⁡Z+(v(i))TW⋅h(i)+12(v(i))TL⋅v(i)+12(h(i))TJ⋅h(i)]+H[Q(h(i)∣v(i);ϕ)]}\begin{aligned} \hat {\phi}_j & = \mathop{\arg\max}\limits_{\phi_j} \left\{\sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \log \mathcal P(v^{(i)},h^{(i)};\theta) + \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right]\right\} \\ & = \mathop{\arg\max}\limits_{\phi_j} \left\{\sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \left[-\log \mathcal Z + (v^{(i)})^T\mathcal W\cdot h^{(i)} + \frac{1}{2} (v^{(i)})^T\mathcal L \cdot v^{(i)} + \frac{1}{2} (h^{(i)})^T\mathcal J \cdot h^{(i)}\right] + \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right]\right\} \end{aligned}ϕ^​j​​=ϕj​argmax​{h(i)∑​Q(h(i)∣v(i);ϕ)logP(v(i),h(i);θ)+H[Q(h(i)∣v(i);ϕ)]}=ϕj​argmax​{h(i)∑​Q(h(i)∣v(i);ϕ)[−logZ+(v(i))TW⋅h(i)+21​(v(i))TL⋅v(i)+21​(h(i))TJ⋅h(i)]+H[Q(h(i)∣v(i);ϕ)]}​
将中括号中的项分成含h(i)h^{(i)}h(i)和不含h(i)h^{(i)}h(i)的两部分
{Δ1=∑h(i)Q(h(i)∣v(i);ϕ)[−log⁡Z+12(v(i))TL⋅v(i)]Δ2=∑h(i)Q(h(i)∣v(i);ϕ)[(v(i))TW⋅h(i)+12(h(i))TJ⋅h(i)]ϕj^=arg⁡max⁡ϕj{Δ1+Δ2+H[Q(h(i)∣v(i);ϕ)]}\begin{cases} \Delta_1 = \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \left[-\log \mathcal Z + \frac{1}{2} (v^{(i)})^T\mathcal L \cdot v^{(i)}\right] \\ \Delta_2 = \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \left[(v^{(i)})^T\mathcal W\cdot h^{(i)} + \frac{1}{2} (h^{(i)})^T\mathcal J \cdot h^{(i)}\right] \end{cases} \\ \hat {\phi_j} = \mathop{\arg\max}\limits_{\phi_j} \left\{\Delta_1 + \Delta_2 + \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] \right\}{Δ1​=∑h(i)​Q(h(i)∣v(i);ϕ)[−logZ+21​(v(i))TL⋅v(i)]Δ2​=∑h(i)​Q(h(i)∣v(i);ϕ)[(v(i))TW⋅h(i)+21​(h(i))TJ⋅h(i)]​ϕj​^​=ϕj​argmax​{Δ1​+Δ2​+H[Q(h(i)∣v(i);ϕ)]}
对Δ1\Delta_1Δ1​进行化简:
很明显,−log⁡Z+12(v(i))TL⋅v(i)-\log \mathcal Z + \frac{1}{2} (v^{(i)})^T\mathcal L \cdot v^{(i)}−logZ+21​(v(i))TL⋅v(i)h(i)h^{(i)}h(i)没有关联关系,可看作常数提到公式前面;∑h(i)Q(h(i)∣v(i);ϕ)\sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi)∑h(i)​Q(h(i)∣v(i);ϕ)本身是‘概率密度积分’,其结果是111.
Δ1=[−log⁡Z+12(v(i))TL⋅v(i)]∑h(i)Q(h(i)∣v(i);ϕ)⏟=1=−log⁡Z+12(v(i))TL⋅v(i)\begin{aligned} \Delta_1 & = \left[-\log \mathcal Z + \frac{1}{2} (v^{(i)})^T\mathcal L \cdot v^{(i)}\right] \underbrace{\sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi)}_{=1} \\ & = -\log \mathcal Z + \frac{1}{2} (v^{(i)})^T\mathcal L \cdot v^{(i)} \end{aligned}Δ1​​=[−logZ+21​(v(i))TL⋅v(i)]=1h(i)∑​Q(h(i)∣v(i);ϕ)​​=−logZ+21​(v(i))TL⋅v(i)​
与此同时,Z=∑h(i),v(i)exp⁡{−E(v(i),h(i))}\mathcal Z = \sum_{h^{(i)},v^{(i)}}\exp\{-\mathbb E(v^{(i)},h^{(i)})\}Z=∑h(i),v(i)​exp{−E(v(i),h(i))}是配分函数,和ϕj\phi_jϕj​之间无关联关系(配分函数将h(i)h^{(i)}h(i)全部积分掉了);并且12(v(i))TL⋅v(i)\frac{1}{2} (v^{(i)})^T\mathcal L \cdot v^{(i)}21​(v(i))TL⋅v(i)也和ϕj\phi_jϕj​之间无关联关系(ϕj\phi_jϕj​描述的是hj(i)h_j^{(i)}hj(i)​的后验概率信息,而该项中并不包含隐变量)。因此,在求解最优ϕ^j\hat {\phi}_jϕ^​j​过程中,Δ1\Delta_1Δ1​整个项全部可以省略。
ϕj^=arg⁡max⁡ϕj{Δ2+H[Q(h(i)∣v(i);ϕ)]}\begin{aligned} \hat {\phi_j} & = \mathop{\arg\max}\limits_{\phi_j} \left\{ \Delta_2 + \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] \right\} \\ \end{aligned}ϕj​^​​=ϕj​argmax​{Δ2​+H[Q(h(i)∣v(i);ϕ)]}​
后续思路:既然是求解最大值,可以 Δ2+H[Q(h(i)∣v(i);ϕ)]\Delta_2 + \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right]Δ2​+H[Q(h(i)∣v(i);ϕ)]对ϕj\phi_jϕj​求解偏导数,如果偏导数存在,令其等于0,将最值求出来;如果不存在,可以使用梯度上升法去求解一个近似最优解。

将上述部分展开,分成如下三个部分:
Δ2+H[Q(h(i)∣v(i);ϕ)]=∑h(i)Q(h(i)∣v(i);ϕ)[(v(i))TW⋅h(i)+12(h(i))TJ⋅h(i)]+H[Q(h(i)∣v(i);ϕ)]=Λ1+Λ2+Λ3{Λ1=∑h(i)Q(h(i)∣v(i);ϕ)[(v(i))TW⋅h(i)]Λ2=12∑h(i)Q(h(i)∣v(i);ϕ)[(h(i))TJ⋅h(i)]Λ3=H[Q(h(i)∣v(i);ϕ)]\begin{aligned} \Delta_2 + \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] & = \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \left[(v^{(i)})^T\mathcal W\cdot h^{(i)} + \frac{1}{2} (h^{(i)})^T\mathcal J \cdot h^{(i)}\right] + \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] \\ & = \Lambda_1 + \Lambda_2 + \Lambda_3 \\ & \begin{cases} \Lambda_1 = \sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \left[(v^{(i)})^T\mathcal W\cdot h^{(i)}\right] \\ \Lambda_2 = \frac{1}{2}\sum_{h^{(i)}} \mathcal Q(h^{(i)} \mid v^{(i)};\phi) \left[(h^{(i)})^T\mathcal J \cdot h^{(i)}\right] \\ \Lambda_3 = \mathcal H \left[\mathcal Q(h^{(i)} \mid v^{(i)};\phi)\right] \end{cases} \end{aligned}Δ2​+H[Q(h(i)∣v(i);ϕ)]​=h(i)∑​Q(h(i)∣v(i);ϕ)[(v(i))TW⋅h(i)+21​(h(i))TJ⋅h(i)]+H[Q(h(i)∣v(i);ϕ)]=Λ1​+Λ2​+Λ3​⎩⎨⎧​Λ1​=∑h(i)​Q(h(i)∣v(i);ϕ)[(v(i))TW⋅h(i)]Λ2​=21​∑h(i)​Q(h(i)∣v(i);ϕ)[(h(i))TJ⋅h(i)]Λ3​=H[Q(h(i)∣v(i);ϕ)]​​

  • 对Λ1\Lambda_1Λ1​进行化简:首先将Λ1\Lambda_1Λ1​继续展开,将hj(i)h_j^{(i)}hj(i)​表示出来:
    需要展开两个部分:将Q(h(i)∣v(i);ϕ)\mathcal Q(h^{(i)} \mid v^{(i)};\phi)Q(h(i)∣v(i);ϕ)使用平均场假设进行展开;将矩阵乘法(v(i))TW⋅h(i)(v^{(i)})^T\mathcal W\cdot h^{(i)}(v(i))TW⋅h(i)进行展开。
    Λ1=∑h(i)∏l=1PQ(hl(i)∣v(i);ϕ)⋅∑i=1D∑l=1Pvi(i)⋅Wil⋅hl(i)\begin{aligned} \Lambda_1 = \sum_{h^{(i)}} \prod_{l=1}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi) \cdot \sum_{i=1}^{\mathcal D}\sum_{l=1}^{\mathcal P} v_i^{(i)} \cdot \mathcal W_{il} \cdot h_l^{(i)} \end{aligned}Λ1​=h(i)∑​l=1∏P​Q(hl(i)​∣v(i);ϕ)⋅i=1∑D​l=1∑P​vi(i)​⋅Wil​⋅hl(i)​​
    可以发现,里面的项数是非常多的(D×P\mathcal D \times \mathcal PD×P项,包含乘法、加法),以第一项v1(i)⋅W11⋅h1(i)v_1^{(i)} \cdot \mathcal W_{11} \cdot h_1^{(i)}v1(i)​⋅W11​⋅h1(i)​为例,观察是否能够向下化简:
    ∏l=1PQ(hl(i)∣v(i);ϕ)\prod_{l=1}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi)∏l=1P​Q(hl(i)​∣v(i);ϕ)中单独将Q(h1(i)∣v(i);ϕ)\mathcal Q(h_1^{(i)} \mid v^{(i)};\phi)Q(h1(i)​∣v(i);ϕ)分出来;并且将∑h1(i)\sum_{h_1^{(i)}}∑h1(i)​​∑h(i)\sum_{h^{(i)}}∑h(i)​中分出来。
    实际上,这步操作和变分推断(平均场假设)推导过程的处理方式是相同的。
    ∑h(i)∏l=1PQ(hl(i)∣v(i);ϕ)⋅[v1(i)⋅W11⋅h1(i)]=∑h1(i)Q(h1(i)∣v(i);ϕ)⋅[v1(i)⋅W11⋅h1(i)]⋅∑h2(i),⋯,hP(i)∏l=2PQ(hl(i)∣v(i);ϕ)=∑h1(i)Q(h1(i)∣v(i);ϕ)⋅[v1(i)⋅W11⋅h1(i)]⋅∑h2(i)Q(h2(i)∣v(i);ϕ)⏟=1⋯∑hP(i)Q(hP(i)∣v(i);ϕ)⏟=1=∑h1(i)Q(h1(i)∣v(i);ϕ)⋅[v1(i)⋅W11⋅h1(i)]\begin{aligned} & \quad \sum_{h^{(i)}} \prod_{l=1}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi) \cdot \left[v_1^{(i)} \cdot \mathcal W_{11} \cdot h_1^{(i)}\right] \\ & = \sum_{h_1^{(i)}} \mathcal Q(h_1^{(i)} \mid v^{(i)};\phi) \cdot \left[v_1^{(i)} \cdot \mathcal W_{11} \cdot h_1^{(i)}\right] \cdot \sum_{h_2^{(i)},\cdots,h_{\mathcal P}^{(i)}} \prod_{l = 2}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi) \\ & = \sum_{h_1^{(i)}} \mathcal Q(h_1^{(i)} \mid v^{(i)};\phi) \cdot \left[v_1^{(i)} \cdot \mathcal W_{11} \cdot h_1^{(i)}\right] \cdot \underbrace{\sum_{h_2^{(i)}}\mathcal Q(h_2^{(i)} \mid v^{(i)};\phi)}_{=1} \cdots \underbrace{\sum_{h_{\mathcal P}^{(i)}}\mathcal Q(h_{\mathcal P}^{(i)} \mid v^{(i)};\phi)}_{=1} \\ & = \sum_{h_1^{(i)}} \mathcal Q(h_1^{(i)} \mid v^{(i)};\phi) \cdot \left[v_1^{(i)} \cdot \mathcal W_{11} \cdot h_1^{(i)}\right] \end{aligned}​h(i)∑​l=1∏P​Q(hl(i)​∣v(i);ϕ)⋅[v1(i)​⋅W11​⋅h1(i)​]=h1(i)​∑​Q(h1(i)​∣v(i);ϕ)⋅[v1(i)​⋅W11​⋅h1(i)​]⋅h2(i)​,⋯,hP(i)​∑​l=2∏P​Q(hl(i)​∣v(i);ϕ)=h1(i)​∑​Q(h1(i)​∣v(i);ϕ)⋅[v1(i)​⋅W11​⋅h1(i)​]⋅=1h2(i)​∑​Q(h2(i)​∣v(i);ϕ)​​⋯=1hP(i)​∑​Q(hP(i)​∣v(i);ϕ)​​=h1(i)​∑​Q(h1(i)​∣v(i);ϕ)⋅[v1(i)​⋅W11​⋅h1(i)​]​
    由于h1(i)h_1^{(i)}h1(i)​同样也是服从伯努利分布,继续将上式化简:
    Q(h1(i)=1∣v(i);ϕ)⋅[v1(i)⋅W11⋅1]+0=ϕ1⋅v1(i)⋅W11\begin{aligned} \mathcal Q(h_1^{(i)} = 1 \mid v^{(i)};\phi) \cdot \left[v_1^{(i)} \cdot \mathcal W_{11} \cdot 1\right] + 0 = \phi_1 \cdot v_1^{(i)} \cdot \mathcal W_{11} \end{aligned}Q(h1(i)​=1∣v(i);ϕ)⋅[v1(i)​⋅W11​⋅1]+0=ϕ1​⋅v1(i)​⋅W11​​
    其他项的处理方式均相同。至此,Λ1\Lambda_1Λ1​可化简为:
    一共包含D×P\mathcal D \times \mathcal PD×P项,均要进行还原。
    Λ1=∑i=1D∑l=1Pϕl⋅vi(i)⋅Wil\Lambda_1 = \sum_{i=1}^{\mathcal D}\sum_{l=1}^{\mathcal P} \phi_l \cdot v_i^{(i)} \cdot \mathcal W_{il}Λ1​=i=1∑D​l=1∑P​ϕl​⋅vi(i)​⋅Wil​

  • 对Λ2\Lambda_2Λ2​进行化简
    关于Λ2\Lambda_2Λ2​的化简思路和Λ1\Lambda_1Λ1​是完全相同的,只不过更加复杂一些。因为包含222hhh项。
    Λ2=12∑h(i)∏l=1PQ(hl(i)∣v(i);ϕ)⋅∑j=1P∑l=1Phj(i)⋅Jil⋅hl(i)\begin{aligned} \Lambda_2 = \frac{1}{2}\sum_{h^{(i)}} \prod_{l=1}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi) \cdot \sum_{j=1}^{\mathcal P}\sum_{l=1}^{\mathcal P}h_j^{(i)} \cdot \mathcal J_{il} \cdot h_l^{(i)} \end{aligned}Λ2​=21​h(i)∑​l=1∏P​Q(hl(i)​∣v(i);ϕ)⋅j=1∑P​l=1∑P​hj(i)​⋅Jil​⋅hl(i)​​
    第一种情况:i≠l⇒Jili \neq l \Rightarrow\mathcal J_{il}i=l⇒Jil​不在J\mathcal JJ的对角线上。以h1(i)J12⋅h2(i)h_1^{(i)} \mathcal J_{12} \cdot h_2^{(i)}h1(i)​J12​⋅h2(i)​为例:
    12∑h(i)∏l=1PQ(hl(i)∣v(i);ϕ)⋅[h1(i)⋅J12⋅h2(i)]=12∑h1(i)∑h2(i)Q(h1(i)∣v(i);ϕ)⋅Q(h2(i)∣v(i);ϕ)⋅[h1(i)⋅J12⋅h2(i)]⋅∑h3(i),⋯,hP(i)∏l=3PQ(hl(i)∣v(i);ϕ)⏟=1=12∑h1(i)∑h2(i)Q(h1(i)∣v(i);ϕ)⋅Q(h2(i)∣v(i);ϕ)⋅[h1(i)⋅J12⋅h2(i)]\begin{aligned} & \quad \frac{1}{2} \sum_{h^{(i)}}\prod_{l=1}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi) \cdot \left[h_1^{(i)} \cdot \mathcal J_{12} \cdot h_2^{(i)}\right] \\ & = \frac{1}{2} \sum_{h_1^{(i)}} \sum_{h_2^{(i)}}\mathcal Q(h_1^{(i)} \mid v^{(i)};\phi)\cdot \mathcal Q(h_2^{(i)} \mid v^{(i)};\phi) \cdot \left[h_1^{(i)} \cdot \mathcal J_{12} \cdot h_2^{(i)}\right] \cdot \underbrace{\sum_{h_3^{(i)},\cdots,h_{\mathcal P}^{(i)}} \prod_{l = 3}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi)}_{=1} \\ & = \frac{1}{2} \sum_{h_1^{(i)}} \sum_{h_2^{(i)}}\mathcal Q(h_1^{(i)} \mid v^{(i)};\phi)\cdot \mathcal Q(h_2^{(i)} \mid v^{(i)};\phi) \cdot \left[h_1^{(i)} \cdot \mathcal J_{12} \cdot h_2^{(i)}\right] \end{aligned}​21​h(i)∑​l=1∏P​Q(hl(i)​∣v(i);ϕ)⋅[h1(i)​⋅J12​⋅h2(i)​]=21​h1(i)​∑​h2(i)​∑​Q(h1(i)​∣v(i);ϕ)⋅Q(h2(i)​∣v(i);ϕ)⋅[h1(i)​⋅J12​⋅h2(i)​]⋅=1h3(i)​,⋯,hP(i)​∑​l=3∏P​Q(hl(i)​∣v(i);ϕ)​​=21​h1(i)​∑​h2(i)​∑​Q(h1(i)​∣v(i);ϕ)⋅Q(h2(i)​∣v(i);ϕ)⋅[h1(i)​⋅J12​⋅h2(i)​]​
    此时,关于h1(i),h2(i)h_1^{(i)},h_2^{(i)}h1(i)​,h2(i)​的取值一共划分为四种情况

    • h1(i)=0,h2(i)=0h_1^{(i)} = 0,h_2^{(i)} = 0h1(i)​=0,h2(i)​=0
    • h1(i)=1,h2(i)=0h_1^{(i)} = 1,h_2^{(i)} = 0h1(i)​=1,h2(i)​=0
    • h1(i)=0,h2(i)=1h_1^{(i)} = 0,h_2^{(i)} = 1h1(i)​=0,h2(i)​=1
    • h1(i)=1,h2(i)=1h_1^{(i)} = 1,h_2^{(i)} = 1h1(i)​=1,h2(i)​=1

    但是,实际上只有h1(i)=1,h2(i)=1h_1^{(i)} = 1,h_2^{(i)} = 1h1(i)​=1,h2(i)​=1才有结果,其余结果均为0。因此h1(i)J12⋅h2(i)h_1^{(i)} \mathcal J_{12} \cdot h_2^{(i)}h1(i)​J12​⋅h2(i)​对应的结果为:
    12⋅Q(h1(i)=1∣v(i);ϕ)⋅Q(h2(i)=1∣v(i);ϕ)⋅[1⋅J12⋅1]=12ϕ1⋅J12⋅ϕ2\frac{1}{2} \cdot \mathcal Q(h_1^{(i)}=1 \mid v^{(i)};\phi)\cdot \mathcal Q(h_2^{(i)}=1 \mid v^{(i)};\phi) \cdot \left[1 \cdot \mathcal J_{12} \cdot 1\right] = \frac{1}{2} \phi_1 \cdot \mathcal J_{12} \cdot \phi_221​⋅Q(h1(i)​=1∣v(i);ϕ)⋅Q(h2(i)​=1∣v(i);ϕ)⋅[1⋅J12​⋅1]=21​ϕ1​⋅J12​⋅ϕ2​
    关于第一种情况的特殊性:由于参数矩阵J\mathcal JJ本身是实对称矩阵,同样有:
    这意味着h1(i)J12⋅h2(i)h_1^{(i)} \mathcal J_{12} \cdot h_2^{(i)}h1(i)​J12​⋅h2(i)​h2(i)J21⋅h1(i)h_2^{(i)} \mathcal J_{21} \cdot h_1^{(i)}h2(i)​J21​⋅h1(i)​的结果是相同的。
    12ϕ1⋅J12⋅ϕ2=12ϕ2⋅J21⋅ϕ1\frac{1}{2} \phi_1 \cdot \mathcal J_{12} \cdot \phi_2 = \frac{1}{2} \phi_2 \cdot \mathcal J_{21} \cdot \phi_121​ϕ1​⋅J12​⋅ϕ2​=21​ϕ2​⋅J21​⋅ϕ1​
    第二种情况:i=l⇒Jili=l \Rightarrow \mathcal J_{il}i=l⇒Jil​在J\mathcal JJ的对角线上。以h1(i)J11⋅h1(i)h_1^{(i)} \mathcal J_{11} \cdot h_1^{(i)}h1(i)​J11​⋅h1(i)​为例:
    不同于第一种情况,这里只能积分一个 ->∑h1(i)\sum_{h_1^{(i)}}∑h1(i)​​
    12∑h(i)∏l=1PQ(hl(i)∣v(i);ϕ)⋅[h1(i)⋅J11⋅h1(i)]=12∑h1(i)Q(h1(i)∣v(i);ϕ)⋅[h1(i)⋅J11⋅h1(i)]⋅∑h2(i),⋯,hP(i)∏l=2PQ(hl(i)∣v(i);ϕ)⏟=1=12∑h1(i)Q(h1(i)∣v(i);ϕ)⋅[h1(i)⋅J11⋅h1(i)]\begin{aligned} & \quad \frac{1}{2} \sum_{h^{(i)}}\prod_{l=1}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi) \cdot \left[h_1^{(i)} \cdot \mathcal J_{11} \cdot h_1^{(i)}\right] \\ & = \frac{1}{2} \sum_{h_1^{(i)}} \mathcal Q(h_1^{(i)} \mid v^{(i)};\phi)\cdot \left[h_1^{(i)} \cdot \mathcal J_{11} \cdot h_1^{(i)}\right] \cdot \underbrace{\sum_{h_2^{(i)},\cdots,h_{\mathcal P}^{(i)}}\prod_{l=2}^{\mathcal P} \mathcal Q(h_l^{(i)} \mid v^{(i)};\phi)}_{=1} \\ & = \frac{1}{2} \sum_{h_1^{(i)}} \mathcal Q(h_1^{(i)} \mid v^{(i)};\phi)\cdot \left[h_1^{(i)} \cdot \mathcal J_{11} \cdot h_1^{(i)}\right] \end{aligned}​21​h(i)∑​l=1∏P​Q(hl(i)​∣v(i);ϕ)⋅[h1(i)​⋅J11​⋅h1(i)​]=21​h1(i)​∑​Q(h1(i)​∣v(i);ϕ)⋅[h1(i)​⋅J11​⋅h1(i)​]⋅=1h2(i)​,⋯,hP(i)​∑​l=2∏P​Q(hl(i)​∣v(i);ϕ)​​=21​h1(i)​∑​Q(h1(i)​∣v(i);ϕ)⋅[h1(i)​⋅J11​⋅h1(i)​]​
    和第一种情况相似,但只有两种选择:h1(i)=1;h1(i)=0h_1^{(i)} = 1;h_1^{(i)} = 0h1(i)​=1;h1(i)​=0。最终结果有:
    由于J11\mathcal J_{11}J11​J\mathcal JJ对角线上元素,等于0,因此第二种情况全部是0。是0的原因在于玻尔兹曼机某个隐变量自己不会和自己相连接。详情见:玻尔兹曼机——基本介绍一节。
    12Q(h1(i)=1∣v(i);ϕ)⋅[1⋅J11⋅1]=12ϕ1⋅J11=0\frac{1}{2}\mathcal Q(h_1^{(i)}=1 \mid v^{(i)};\phi)\cdot \left[1 \cdot \mathcal J_{11} \cdot 1\right] = \frac{1}{2} \phi_1 \cdot \mathcal J_{11} = 021​Q(h1(i)​=1∣v(i);ϕ)⋅[1⋅J11​⋅1]=21​ϕ1​⋅J11​=0
    至此,关于Λ2\Lambda_2Λ2​中的P×P\mathcal P \times \mathcal PP×P项,可以进行如下表示:
    Λ2=∑j=1P∑l≠jPϕj⋅ϕl⋅Jil\Lambda_2 = \sum_{j=1}^{\mathcal P}\sum_{l\neq j}^{\mathcal P} \phi_j \cdot \phi_l \cdot \mathcal J_{il}Λ2​=j=1∑P​l=j∑P​ϕj​⋅ϕl​⋅Jil​
    关于该描述,作出如下解释(个人见解)
    这是视频中关于第二部分Λ2\Lambda_2Λ2​的表示。但这种表示不够精准。因为∑j=1P∑l≠jP\sum_{j=1}^{\mathcal P}\sum_{l\neq j}^{\mathcal P}∑j=1P​∑l=jP​对应的是J\mathcal JJ对角线之外的其他项,在这里应该将12\frac{1}{2}21​填上;如果描述的是J\mathcal JJ‘除去对角线元素’的上/下三角阵,这个12\frac{1}{2}21​可以不加。为了文章的完整性,这里直接使用视频中的符号。有不同意见的小伙伴欢迎评论区一起讨论。

由于正文字数超了,后续求解过程详见机器学习笔记之玻尔兹曼机——基于平均场推断梯度求解(续)

相关参考:
(系列二十八)玻尔兹曼机5-平均场推断1
(系列二十八)玻尔兹曼机5-平均场推断2

机器学习笔记之玻尔兹曼机(三)梯度求解(基于平均场理论的变分推断)相关推荐

  1. 机器学习笔记之玻尔兹曼机(三)基于平均场理论变分推断的梯度求解(续)

    机器学习笔记之玻尔兹曼机--基于平均场推断梯度求解[续] 引言 Λ 3 \Lambda_3 Λ3​梯度求解 求解最优参数 ϕ ^ j \hat {\phi}_j ϕ^​j​ 引言 基于玻尔兹曼机(三) ...

  2. 机器学习之变分推断(三)基于平均场假设变分推断与广义EM

    机器学习笔记之变分推断--基于平均场假设变分推断与广义EM 引言 回顾:基于平均场假设的变分推断 深入认识平均场假设 经典变分推断与广义EM 引言 上一节介绍了基于平均场假设 的变分推断推导过程.本节 ...

  3. 机器学习笔记之玻尔兹曼机(一)基本介绍

    机器学习笔记之玻尔兹曼机--基本介绍 引言 回顾:玻尔兹曼机的模型表示 模型参数的对数似然梯度 关于模型参数W\mathcal WW的对数似然梯度 关于模型参数L,J\mathcal L,\mathc ...

  4. 李弘毅机器学习笔记:第三章—Error的来源

    李弘毅机器学习笔记:第三章-Error的来源 从上节课测试集数据来看,AverageErrorAverage\ ErrorAverage Error 随着模型复杂增加呈指数上升趋势.更复杂的模型并不能 ...

  5. lgg7深度详细参数_深度学习平均场理论第七讲:Batch Normalization会导致梯度爆炸?...

    前言 Batch Normalization (BN)对于深度学习而言是一项非常重要的技术.尽管BN在网络训练的过程中表现力非常强大,但是大家始终没有一个很好的理论上的清晰理解.今天我们就试图解读这篇 ...

  6. 机器学习笔记之配分函数(三)对比散度

    机器学习笔记之配分函数--对比散度 引言 回顾:随机最大似然求解模型参数的过程 随机最大似然的缺陷 吉布斯采样的缺陷与对比散度思想 对比散度名称的由来 从 K L \mathcal K\mathcal ...

  7. 吴恩达机器学习笔记:(三)梯度下降法

    梯度下降法 知识点: 偏导数.微积分.局部最优解 概念介绍 梯度下降法目的是为了"下降",下降的方法是按照"梯度".比如你在一座山上,当前你只能迈出一步,如何走 ...

  8. 【机器学习笔记37】模糊聚类分析(基于最大生成树)

    [参考资料] [1]<模式识别与智能计算的MATLAB技术实现> [2]<模糊数学方法及其应用> [3]https://baike.baidu.com/item/Kruskal ...

  9. 吴恩达机器学习笔记_第三周

    Logistic Regression逻辑回归(分类): 0:Negative Class 1:Positive Class 二元分类问题讲起.尽管有回归二字,事实上为分类算法,处理离散y值. 输出以 ...

最新文章

  1. 壊小子的学习【程序开发学习篇】(一)培训时期的学习
  2. 《价值50亿的10句话》读后感(学生作业分享)
  3. 【AutoML】进化算法如何用于自动模型搜索(NAS)
  4. 安卓JNI使用OpenCV
  5. 06006_redis数据存储类型——String
  6. python直方图均衡_python 简单图像处理(8) 直方图均衡化
  7. 随机森林随机回归预测_随机森林回归预测电子商务销售额
  8. MapABC地图API
  9. 计算机一级如何添加对角线,如何在表格中添加对角线
  10. AndroidStudio的强大搜索功能介绍!全局搜索、搜索文件、搜索类、搜索文本、搜索一切
  11. 多多进宝推广团队_多多进宝推广团长玩法指南
  12. 什么是python解释器?有什么作用?
  13. 全球即将诞生第二家卡车自动驾驶上市公司,行业转折点已经到来
  14. MIDle生命周期详解,以及工作原理
  15. 计算机word求差函数,【2人回答】如何在Word表格中插入公式求差?-3D溜溜网
  16. 携创教育:自考教材去哪里买?教材改版会影响考试吗?
  17. UE4后期处理之水下效果
  18. 写给那些搜了很多教程安装win10但老是提示报错的童鞋
  19. 景观生态学原理| 3 景观格局与分析
  20. 如何使用TEQC 分析rinex3 格式的数据

热门文章

  1. IE session丢失
  2. java eav_使用EAV的客户自定义属性不在Grid中显示值
  3. 新浪 百度 网站架构思路
  4. 【文献阅读04】基于ReRAM的高能效可重配置神经网络加速器
  5. 转转二手手机,闲置物品的高效流转
  6. 第十三届蓝桥杯大赛软件赛决赛(Java 大学A组)
  7. 数据结构 DAY05 栈的应用之中缀表达式转换
  8. 高管换血后,兰亭集势多项指标优化:Q4现亏损,股价再坐过山车
  9. 【云原生之Docker实战】使用docker部署o2oa企业OA平台
  10. 12306所有车次及时刻表的爬取下