机器学习笔记之受限玻尔兹曼机(五)基于含隐变量能量模型的对数似然梯度

news2024/11/17 23:29:20

机器学习笔记之受限玻尔兹曼机——基于含隐变量能量模型的对数似然梯度

  • 引言
    • 回顾:
      • 包含配分函数的概率分布
      • 受限玻尔兹曼机——场景构建
      • 对比散度
    • 基于含隐变量能量模型的对数似然梯度

引言

上一节介绍了对比散度(Constractive Divergence)思想,本节将介绍基于含隐变量能量模型的对数似然梯度。

回顾:

包含配分函数的概率分布

在一些基于概率图模型,特别是马尔可夫随机场(无向图) 的基础上,对概率模型分布进行假设:

  • 以马尔可夫随机场(Markov Random Field,MRF)为例,已知随机变量集合 X = { x 1 , x 2 , ⋯   , x p } \mathcal X = \{x_1,x_2,\cdots,x_p\} X={x1,x2,,xp},它的概率分布 P ( X ) \mathcal P(\mathcal X) P(X)表示如下:
    P ( X ) = 1 Z ∑ i = 1 K ψ i ( x C i ) \mathcal P(\mathcal X) = \frac{1}{\mathcal Z} \sum_{i=1}^{\mathcal K} \psi_i(x_{\mathcal C_i}) P(X)=Z1i=1Kψi(xCi)
    其中 ψ i ( x C i ) \psi_i(x_{\mathcal C_i}) ψi(xCi)是描述极大团 C i \mathcal C_i Ci随机变量之间关系信息的势函数(Potential Function);而 Z \mathcal Z Z表示配分函数(Partition Function)。

    实际上, ψ i ( x C i ) \psi_i(x_{\mathcal C_i}) ψi(xCi)才是真正描述随机变量关系信息的函数,但它并不是概率分布,需要使用配分函数进行归一化处理,才能得到真正的概率结果。

  • 而受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)在马尔可夫随机场的基础上,针对玻尔兹曼机概率图结构复杂的问题,对结点间的边进行约束。具体约束要求是:观测变量 v v v,隐变量 h h h的随机变量集合内部无连接,只有 h h h v v v之间存在连接
    受限玻尔兹曼机——示例

受限玻尔兹曼机——场景构建

基于上图,蓝色结点表示观测变量集合 v v v白色结点表示隐变量集合 h h h。为后续计算表达方便,使用向量形式进行表示:
h = ( h 1 , h 2 , ⋯   , h m ) m × 1 T v = ( v 1 , v 2 , ⋯   , v n ) n × 1 T h = (h_1,h_2,\cdots,h_m)_{m \times 1}^T \\ v = (v_1,v_2,\cdots,v_n)_{n \times 1}^T h=(h1,h2,,hm)m×1Tv=(v1,v2,,vn)n×1T
受限玻尔兹曼机关于随机变量集合 X \mathcal X X可表示为如下形式:
P ( X ) = P ( h , v ) = 1 Z exp ⁡ { − E [ h , v ] } = 1 Z exp ⁡ [ v T W h + b T v + c T h ] = 1 Z exp ⁡ { ∑ j = 1 m ∑ i = 1 n v i ⋅ w i j ⋅ h j + ∑ i = 1 n b i v i + ∑ j = 1 m c j h j } s . t . Z = ∑ h , v exp ⁡ { − E [ h , v ] } \begin{aligned} & \mathcal P(\mathcal X) = \mathcal P(h,v) \\ & = \frac{1}{\mathcal Z} \exp \{- \mathbb E[h,v]\} \\ & = \frac{1}{\mathcal Z} \exp \left[v^T\mathcal W h + b^T v + c^Th\right] \\ & = \frac{1}{\mathcal Z} \exp \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_j h_j\right\} \\ & s.t.\quad \mathcal Z = \sum_{h,v} \exp \{- \mathbb E[h,v]\} \end{aligned} P(X)=P(h,v)=Z1exp{E[h,v]}=Z1exp[vTWh+bTv+cTh]=Z1exp{j=1mi=1nviwijhj+i=1nbivi+j=1mcjhj}s.t.Z=h,vexp{E[h,v]}
其中模型参数包含如下三个部分:
W = ( w 11 , w 12 , ⋯   , w 1 n w 21 , w 22 , ⋯   , w 2 n ⋮ w m 1 , w m 2 , ⋯   , w m n ) m × n b = ( b 1 b 2 ⋮ b n ) n × 1 c = ( c 1 c 2 ⋮ c m ) m × 1 \mathcal W = \begin{pmatrix} w_{11},w_{12},\cdots,w_{1n} \\ w_{21},w_{22},\cdots,w_{2n} \\ \vdots \\ w_{m1},w_{m2},\cdots,w_{mn} \end{pmatrix}_{m \times n} \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,,w1nw21,w22,,w2nwm1,wm2,,wmnm×nb=b1b2bnn×1c=c1c2cmm×1

对比散度

在求解包含配分函数概率分布的模型参数过程中,以极大似然估计为例,使用梯度上升法,将最优模型参数 θ ^ \hat \theta θ^表述为如下形式:

  • 这里借助蒙特卡洛方法的逆向表述:将样本集合 X = { x ( i ) } i = 1 N \mathcal X = \{x^{(i)}\}_{i=1}^N X={x(i)}i=1N看作是从‘真实分布’ P d a t a \mathcal P_{data} Pdata中采集到的样本,在此基础上,将均值结果近似表示为期望形式。
    1 N ∑ i = 1 N ∇ θ log ⁡ P ^ ( x ( i ) ; θ ) ≈ E P d a t a [ ∇ θ log ⁡ P ^ ( X ; θ ) ] \frac{1}{N}\sum_{i=1}^N \nabla_{\theta} \log \hat \mathcal P(x^{(i)};\theta) \approx\mathbb E_{\mathcal P_{data}} [\nabla_{\theta} \log \hat \mathcal P(\mathcal X;\theta)] N1i=1NθlogP^(x(i);θ)EPdata[θlogP^(X;θ)]
  • 关于 ∇ θ log ⁡ Z ( θ ) \nabla_{\theta} \log \mathcal Z(\theta) θlogZ(θ)的推导过程详见配分函数——对数似然梯度
    ∇ θ log ⁡ Z ( θ ) = E P m o d e l [ ∇ θ log ⁡ P ^ ( X ; θ ) ] \nabla_{\theta} \log \mathcal Z(\theta) = \mathbb E_{\mathcal P_{model}} \left[\nabla_{\theta} \log \hat \mathcal P(\mathcal X;\theta)\right] θlogZ(θ)=EPmodel[θlogP^(X;θ)]
    最终结果可表示为:
    θ ( t + 1 ) ⇐ θ ( t ) + η ∇ θ L ( θ ) ∇ θ L ( θ ) = 1 N ∑ i = 1 N [ ∇ θ log ⁡ P ^ ( x ( i ) ; θ ) ] − ∇ θ log ⁡ Z ( θ ) = E P d a t a [ ∇ θ log ⁡ P ^ ( X ; θ ) ] − E P m o d e l [ ∇ θ log ⁡ P ^ ( X ; θ ) ] \theta^{(t+1)} \Leftarrow \theta^{(t)} + \eta \nabla_{\theta} \mathcal L(\theta) \\ \begin{aligned} \nabla_{\theta}\mathcal L(\theta) & = \frac{1}{N} \sum_{i=1}^N \left[\nabla_{\theta} \log \hat \mathcal P(x^{(i)};\theta)\right] - \nabla_{\theta} \log \mathcal Z(\theta) \\ & = \mathbb E_{\mathcal P_{data}} \left[\nabla_{\theta} \log \hat \mathcal P(\mathcal X;\theta)\right] - \mathbb E_{\mathcal P_{model}} \left[\nabla_{\theta} \log \hat \mathcal P(\mathcal X;\theta)\right] \end{aligned} θ(t+1)θ(t)+ηθL(θ)θL(θ)=N1i=1N[θlogP^(x(i);θ)]θlogZ(θ)=EPdata[θlogP^(X;θ)]EPmodel[θlogP^(X;θ)]

对数似然梯度一节中简单提到过,受限玻尔兹曼机是一个典型的正相易求解,负相难求解的模型。通常对负相使用对比散度思想进行求解:
其中 P 0 , P ∞ \mathcal P_0,\mathcal P_{\infty} P0,P分别表示 P d a t a , P m o d e l \mathcal P_{data},\mathcal P_{model} Pdata,Pmodel;而 P k \mathcal P_k Pk表示第 k k k次迭代步骤的吉布斯采样产生的分布,可以将其理解为 P 0 , P ∞ \mathcal P_0,\mathcal P_{\infty} P0,P之间某一迭代步骤的‘过渡’。
θ ^ = arg ⁡ min ⁡ θ { K L [ P d a t a ( X )   ∣ ∣   P m o d e l ( X ; θ ) ] } ⇓ θ ^ = arg ⁡ min ⁡ θ [ K L ( P 0   ∣ ∣   P ∞ ) − K L ( P k   ∣ ∣   P ∞ ) ] \begin{aligned} \hat \theta = \mathop{\arg\min}\limits_{\theta} & \{\mathcal K\mathcal L [\mathcal P_{data} (\mathcal X)\text{ } || \text{ }\mathcal P_{model}(\mathcal X;\theta)]\} \\ & \Downarrow \\ \hat \theta = \mathop{\arg\min}\limits_{\theta} & \left[\mathcal K\mathcal L(\mathcal P_0 \text{ } || \text{ }\mathcal P_{\infty}) - \mathcal K\mathcal L(\mathcal P_k \text{ } || \text{ } \mathcal P_{\infty})\right] \\ \end{aligned} θ^=θargminθ^=θargmin{KL[Pdata(X)  Pmodel(X;θ)]}[KL(P0  P)KL(Pk  P)]

基于含隐变量能量模型的对数似然梯度

回顾受限玻尔兹曼机的模型表示(Representation),它明显是一个无向图模型,它的联合概率分布包含配分函数 Z \mathcal Z Z,这意味着需要对这个 包含配分函数的概率分布进行求解。并且该模型包含隐变量。以该模型为例,介绍包含隐变量能量模型的学习任务。

首先观察似然函数(Log-Likelihood):
事先定义一个训练集 V = { v ( 1 ) , v ( 2 ) , ⋯   , v ( ∣ V ∣ ) } \mathcal V = \{v^{(1)},v^{(2)},\cdots,v^{(|\mathcal V|)}\} V={v(1),v(2),,v(V)},实际上指的就是‘观测变量’————样本集合就是可观测的。因而有 v ( i ) ∈ R n ( i = 1 , 2 , ⋯   , ∣ V ∣ ) , n v^{(i)} \in \mathcal R^n(i=1,2,\cdots,|\mathcal V|),n v(i)Rn(i=1,2,,V),n表示观测变量的维度(观测变量v中随机变量的数量)
L ( θ ) = 1 N ∑ v ( i ) ∈ V log ⁡ P ( v ( i ) ; θ ) \mathcal L(\theta) = \frac{1}{N} \sum_{v^{(i)} \in \mathcal V} \log \mathcal P(v^{(i)};\theta) L(θ)=N1v(i)VlogP(v(i);θ)
关于 L ( θ ) \mathcal L(\theta) L(θ)的梯度可表示为:
∇ θ L ( θ ) = ∂ ∂ θ [ 1 N ∑ v ( i ) ∈ V log ⁡ P ( v ( i ) ; θ ) ] \nabla_{\theta}\mathcal L(\theta) = \frac{\partial }{\partial \theta} \left[\frac{1}{N} \sum_{v^{(i)} \in \mathcal V} \log \mathcal P(v^{(i)};\theta)\right] θL(θ)=θN1v(i)VlogP(v(i);θ)
模型表示代入,观察 log ⁡ P ( v ( i ) ; θ ) \log \mathcal P(v^{(i)};\theta) logP(v(i);θ)
这里仅针对某单个样本,并且模型中存在与其相对应的隐变量 h ( i ) ∈ R m h^{(i)} \in \mathcal R^m h(i)Rm.
log ⁡ P ( v ( i ) ; θ ) = log ⁡ [ ∑ h ( i ) P ( h ( i ) , v ( i ) ; θ ) ] = log ⁡ [ ∑ h ( i ) 1 Z ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] Z ( i ) = ∑ h ( i ) , v ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } \begin{aligned} \log \mathcal P(v^{(i)};\theta) & = \log \left[\sum_{h^{(i)}} \mathcal P(h^{(i)},v^{(i)};\theta)\right] \\ & = \log \left[\sum_{h^{(i)}} \frac{1}{\mathcal Z^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right] \quad \mathcal Z^{(i)} = \sum_{h^{(i)},v^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\} \end{aligned} logP(v(i);θ)=log[h(i)P(h(i),v(i);θ)]=log[h(i)Z(i)1exp{E[h(i),v(i)]}]Z(i)=h(i),v(i)exp{E[h(i),v(i)]}
由于 1 Z ( i ) \frac{1}{\mathcal Z^{(i)}} Z(i)1 h ( i ) h^{(i)} h(i)之间没有关系(被积分掉了),因而将其提到 ∑ h ( i ) \sum_{h^{(i)}} h(i)前面,表示为如下形式:
再使用 Z ( i ) \mathcal Z^{(i)} Z(i)的完整形式进行替换。
log ⁡ P ( v ( i ) ; θ ) = log ⁡ [ 1 Z ( i ) ∑ h ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] = log ⁡ 1 Z ( i ) + log ⁡ [ ∑ h ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] = log ⁡ [ ∑ h ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] − log ⁡ Z ( i ) = log ⁡ [ ∑ h ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] − log ⁡ [ ∑ h ( i ) , v ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] \begin{aligned} \log \mathcal P(v^{(i)};\theta) & = \log \left[\frac{1}{\mathcal Z^{(i)}} \sum_{h^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right] \\ & = \log \frac{1}{\mathcal Z^{(i)}} + \log \left[\sum_{h^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right] \\ & = \log \left[\sum_{h^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right] - \log \mathcal Z^{(i)} \\ & = \log \left[\sum_{h^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right] - \log \left[\sum_{h^{(i)},v^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right] \end{aligned} logP(v(i);θ)=log[Z(i)1h(i)exp{E[h(i),v(i)]}]=logZ(i)1+log[h(i)exp{E[h(i),v(i)]}]=log[h(i)exp{E[h(i),v(i)]}]logZ(i)=log[h(i)exp{E[h(i),v(i)]}]logh(i),v(i)exp{E[h(i),v(i)]}
至此,对 θ \theta θ求解梯度
∇ θ [ log ⁡ P ( v ( i ) ; θ ) ] = ∂ ∂ θ [ log ⁡ P ( v ( i ) ; θ ) ] = ∂ ∂ θ { log ⁡ [ ∑ h ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] } − ∂ ∂ θ { log ⁡ [ ∑ h ( i ) , v ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] } = Δ 1 − Δ 2 \begin{aligned} \nabla_{\theta} \left[\log \mathcal P(v^{(i)};\theta)\right] & = \frac{\partial}{\partial \theta} \left[\log \mathcal P(v^{(i)};\theta)\right] \\ & = \frac{\partial}{\partial \theta} \left\{ \log \left[\sum_{h^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right]\right\} - \frac{\partial}{\partial \theta} \left\{\log \left[\sum_{h^{(i)},v^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right]\right\} \\ & = \Delta_1 - \Delta_2 \end{aligned} θ[logP(v(i);θ)]=θ[logP(v(i);θ)]=θ{log[h(i)exp{E[h(i),v(i)]}]}θlogh(i),v(i)exp{E[h(i),v(i)]}=Δ1Δ2

  • 首先观察第一项
    根据‘牛顿-莱布尼兹公式’,将求导符号与连加符号互换。
    链式求导法则~将负号提到最前面
    Δ 1 = ∂ ∂ θ { log ⁡ [ ∑ h ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] } = − 1 ∑ h ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ∑ h ( i ) { exp ⁡ [ − E ( h ( i ) , v ( i ) ) ] ∂ ∂ θ [ E ( h ( i ) , v ( i ) ) ] } \begin{aligned} \Delta_1& = \frac{\partial}{\partial \theta} \left\{ \log \left[\sum_{h^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right]\right\} \\ & = - \frac{1}{\sum_{h^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}} \sum_{h^{(i)}} \left\{\exp[- \mathbb E(h^{(i)},v^{(i)})] \frac{\partial}{\partial \theta} \left[\mathbb E(h^{(i)},v^{(i)})\right]\right\} \end{aligned} Δ1=θ{log[h(i)exp{E[h(i),v(i)]}]}=h(i)exp{E[h(i),v(i)]}1h(i){exp[E(h(i),v(i))]θ[E(h(i),v(i))]}
    观察前面的分数项:由于 h ( i ) h^{(i)} h(i)被积分掉,因此分数项对于 h ( i ) h^{(i)} h(i)相当于常数。可将该分数项带回积分号内
    负号就留在外面吧~
    Δ 1 = − ∑ h ( i ) { exp ⁡ [ − E ( h ( i ) , v ( i ) ) ] ∑ h ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ⋅ ∂ ∂ θ [ E ( h ( i ) , v ( i ) ) ] } \begin{aligned} \Delta_1 = - \sum_{h^{(i)}} \left\{\frac{\exp[- \mathbb E(h^{(i)},v^{(i)})]}{\sum_{h^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}} \cdot \frac{\partial}{\partial \theta} \left[\mathbb E(h^{(i)},v^{(i)})\right]\right\} \end{aligned} Δ1=h(i){h(i)exp{E[h(i),v(i)]}exp[E(h(i),v(i))]θ[E(h(i),v(i))]}
    观察大括号内第一项:将分子分母同乘 1 Z ( i ) \frac{1}{\mathcal Z^{(i)}} Z(i)1
    并且 1 Z ( i ) \frac{1}{\mathcal Z^{(i)}} Z(i)1 h ( i ) h^{(i)} h(i)无关,直接写到 ∑ h ( i ) \sum_{h^{(i)}} h(i)内部。
    1 Z ( i ) exp ⁡ [ − E ( h ( i ) , v ( i ) ) ] ∑ h ( i ) 1 Z ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } = P ( h ( i ) , v ( i ) ) ∑ h ( i ) P ( h ( i ) , v ( i ) ) = P ( h ( i ) , v ( i ) ) P ( v ( i ) ) \begin{aligned} \frac{\frac{1}{\mathcal Z^{(i)}}\exp[- \mathbb E(h^{(i)},v^{(i)})]}{\sum_{h^{(i)}} \frac{1}{\mathcal Z^{(i)}}\exp \{- \mathbb E[h^{(i)},v^{(i)}]\}} = \frac{\mathcal P(h^{(i)},v^{(i)})}{\sum_{h^{(i)}}\mathcal P(h^{(i)},v^{(i)})} = \frac{\mathcal P(h^{(i)},v^{(i)})}{\mathcal P(v^{(i)})} \end{aligned} h(i)Z(i)1exp{E[h(i),v(i)]}Z(i)1exp[E(h(i),v(i))]=h(i)P(h(i),v(i))P(h(i),v(i))=P(v(i))P(h(i),v(i))
    最终,根据条件概率公式,该项就是隐变量 h ( i ) h^{(i)} h(i)后验概率
    1 Z ( i ) exp ⁡ [ − E ( h ( i ) , v ( i ) ) ] ∑ h ( i ) 1 Z ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } = P ( h ( i ) ∣ v ( i ) ) \frac{\frac{1}{\mathcal Z^{(i)}}\exp[- \mathbb E(h^{(i)},v^{(i)})]}{\sum_{h^{(i)}} \frac{1}{\mathcal Z^{(i)}}\exp \{- \mathbb E[h^{(i)},v^{(i)}]\}} = \mathcal P(h^{(i)} \mid v^{(i)}) h(i)Z(i)1exp{E[h(i),v(i)]}Z(i)1exp[E(h(i),v(i))]=P(h(i)v(i))
    至此, Δ 1 \Delta_1 Δ1可表示为:
    Δ 1 = − ∑ h ( i ) { P ( h ( i ) ∣ v ( i ) ) ⋅ ∂ ∂ θ [ E ( h ( i ) , v ( i ) ) ] } \Delta_1 = - \sum_{h^{(i)}} \left\{\mathcal P(h^{(i)} \mid v^{(i)}) \cdot \frac{\partial}{\partial \theta} \left[\mathbb E(h^{(i)},v^{(i)})\right]\right\} Δ1=h(i){P(h(i)v(i))θ[E(h(i),v(i))]}

  • 同理,继续观察第二项 Δ 2 \Delta_2 Δ2
    两项的求解过程非常相似~
    Δ 2 = ∂ ∂ θ { log ⁡ [ ∑ h ( i ) , v ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ] } = − 1 ∑ h ( i ) , v ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ∑ h ( i ) , v ( i ) { exp ⁡ { − E [ h ( i ) , v ( i ) ] } ⋅ ∂ ∂ θ [ E ( h ( i ) , v ( i ) ) ] } = − ∑ h ( i ) , v ( i ) { exp ⁡ { − E [ h ( i ) , v ( i ) ] } ∑ h ( i ) , v ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } ⋅ ∂ ∂ θ [ E ( h ( i ) , v ( i ) ) ] } \begin{aligned} \Delta_2 & = \frac{\partial}{\partial \theta}\left\{\log \left[\sum_{h^{(i)},v^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}\right]\right\} \\ & = - \frac{1}{\sum_{h^{(i)},v^{(i)}} \exp \{- \mathbb E[h^{(i)},v^{(i)}]\}} \sum_{h^{(i)},v^{(i)}} \left\{\exp \{- \mathbb E[h^{(i)},v^{(i)}]\} \cdot \frac{\partial}{\partial \theta}\left[\mathbb E(h^{(i)},v^{(i)})\right]\right\} \\ & = -\sum_{h^{(i)},v^{(i)}} \left\{\frac{\exp\{- \mathbb E[h^{(i)},v^{(i)}]\}}{\sum_{h^{(i)},v^{(i)}} \exp\{- \mathbb E[h^{(i)},v^{(i)}]\}} \cdot \frac{\partial}{\partial \theta} \left[\mathbb E(h^{(i)},v^{(i)})\right]\right\} \end{aligned} Δ2=θlogh(i),v(i)exp{E[h(i),v(i)]}=h(i),v(i)exp{E[h(i),v(i)]}1h(i),v(i){exp{E[h(i),v(i)]}θ[E(h(i),v(i))]}=h(i),v(i){h(i),v(i)exp{E[h(i),v(i)]}exp{E[h(i),v(i)]}θ[E(h(i),v(i))]}
    观察大括号内第一项
    exp ⁡ { − E [ h ( i ) , v ( i ) ] } ∑ h ( i ) , v ( i ) exp ⁡ { − E [ h ( i ) , v ( i ) ] } = 1 Z exp ⁡ { − E [ h ( i ) , v ( i ) ] } = P ( h ( i ) , v ( i ) ) \frac{\exp\{- \mathbb E[h^{(i)},v^{(i)}]\}}{\sum_{h^{(i)},v^{(i)}} \exp\{- \mathbb E[h^{(i)},v^{(i)}]\}} = \frac{1}{\mathcal Z}\exp\{- \mathbb E[h^{(i)},v^{(i)}]\} = \mathcal P(h^{(i)},v^{(i)}) h(i),v(i)exp{E[h(i),v(i)]}exp{E[h(i),v(i)]}=Z1exp{E[h(i),v(i)]}=P(h(i),v(i))
    由于分母 h ( i ) , v ( i ) h^{(i)},v^{(i)} h(i),v(i)全部积分掉了,因而分母就是配分函数 Z \mathcal Z Z,该分数项就是联合概率分布 P ( h ( i ) , v ( i ) ) \mathcal P(h^{(i)},v^{(i)}) P(h(i),v(i))

    至此, Δ 2 \Delta_2 Δ2可表示为:
    Δ 2 = − ∑ h ( i ) , v ( i ) { P ( h ( i ) , v ( i ) ) ⋅ ∂ ∂ θ [ E ( h ( i ) , v ( i ) ) ] } \Delta_2 = -\sum_{h^{(i)},v^{(i)}} \left\{\mathcal P(h^{(i)},v^{(i)}) \cdot \frac{\partial}{\partial \theta} \left[\mathbb E(h^{(i)},v^{(i)})\right]\right\} Δ2=h(i),v(i){P(h(i),v(i))θ[E(h(i),v(i))]}

最终,关于能量函数给定观测变量(单个样本 v ( i ) v^{(i)} v(i))条件下,对数似然梯度可表示为:
∇ θ [ log ⁡ P ( v ( i ) ; θ ) ] = Δ 1 − Δ 2 = ∑ h ( i ) , v ( i ) { P ( h ( i ) , v ( i ) ) ⋅ ∂ ∂ θ [ E ( h ( i ) , v ( i ) ) ] } − ∑ h ( i ) { P ( h ( i ) ∣ v ( i ) ) ⋅ ∂ ∂ θ [ E ( h ( i ) , v ( i ) ) ] } \begin{aligned} \nabla_{\theta} \left[\log \mathcal P(v^{(i)};\theta)\right] & = \Delta_1 - \Delta_2 \\ & = \sum_{h^{(i)},v^{(i)}} \left\{\mathcal P(h^{(i)},v^{(i)}) \cdot \frac{\partial}{\partial \theta} \left[\mathbb E(h^{(i)},v^{(i)})\right]\right\} - \sum_{h^{(i)}} \left\{\mathcal P(h^{(i)} \mid v^{(i)}) \cdot \frac{\partial}{\partial \theta} \left[\mathbb E(h^{(i)},v^{(i)})\right]\right\} \end{aligned} θ[logP(v(i);θ)]=Δ1Δ2=h(i),v(i){P(h(i),v(i))θ[E(h(i),v(i))]}h(i){P(h(i)v(i))θ[E(h(i),v(i))]}

最终,根据牛顿-莱布尼兹公式,关于 L ( θ ) \mathcal L(\theta) L(θ)梯度可表示为:
∇ θ L ( θ ) = ∂ ∂ θ [ 1 N ∑ v ( i ) ∈ V log ⁡ P ( v ( i ) ; θ ) ] = 1 N ∑ v ( i ) ∈ V ∇ θ [ log ⁡ P ( v ( i ) ; θ ) ] \begin{aligned} \nabla_{\theta} \mathcal L(\theta) & = \frac{\partial }{\partial \theta} \left[\frac{1}{N} \sum_{v^{(i)} \in \mathcal V} \log \mathcal P(v^{(i)};\theta)\right] \\ & = \frac{1}{N} \sum_{v^{(i)} \in \mathcal V} \nabla_{\theta}\left[\log \mathcal P(v^{(i)};\theta)\right] \end{aligned} θL(θ)=θN1v(i)VlogP(v(i);θ)=N1v(i)Vθ[logP(v(i);θ)]

说明:上述基于能量函数的概率图模型,给定观测变量,其对数似然梯度的表达结果,它并不仅仅局限于受限玻尔兹曼机,因为上述推导过程至始至终都没有拆开能量函数。它可以是一个通式表达

下一节将针对受限玻尔兹曼机介绍其学习任务。

相关参考:
直面配分函数:5-Log-Likelihood of Energy-based Model with Latent Variable(具有隐变量能量模型)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/72838.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

制造型企业如何进行多项目管理?这篇文章说清楚了

受经济全球化与科技迅速发展的影响,我国很多企业早已进入了多项目管理模式。多项目管理是从企业整体出发,动态选择不具有类似性的项目,对企业所拥有的或可获得的生产要素和资源进行优化组合,有效、最优地分配企业资源,…

葡聚糖修饰金纳米颗粒(Dex-AuNps)|聚环氧氯丙烷二甲胺修饰多孔磁性葡聚糖微球

葡聚糖修饰金纳米颗粒(Dex-AuNps)|聚环氧氯丙烷二甲胺修饰多孔磁性葡聚糖微球 产品描述:通过特异性识别作用在表面等离子体共振传感器的金膜表面构建了伴刀豆球蛋白A/葡聚糖修饰金纳米颗粒自组装膜 中文名称:葡聚糖修饰金纳米颗粒 英文名称&#xff1…

CMAKE编译知识

1,Ubuntu安装了cmake之后,直接输入指令查看版本。cmake -version 我这里的版本为3.16.3 2,使用visual studio里面创建一个CMake项目是最快可以看到的。但是一般无法理解。所以我找了网上资料。根据网上所说和自己再试错下。初步了解了cmake…

[附源码]JAVA毕业设计微博网站(系统+LW)

[附源码]JAVA毕业设计微博网站(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&#xf…

IAA游戏市场规模已达百亿,如何防范游戏安全问题?

近年来,移动休闲游戏市场发展速度迅猛,伽马数据发布的《2022年休闲游戏发展报告》称,2022年第一季度移动游戏下载量TOP200榜单中,休闲类游戏占比已达45%。 2022年第一季度下载量TOP200移动游戏占比情况丨数据来源伽马数据 相比IA…

MMCV学习——基础篇4(Hook)| 八千字:从设计模式到源码解读

MMCV学习——基础篇4(Hook) Hook 机制在MMCV的各个开源库中应用的十分广泛,它主要用于管理和扩展Runner的整个生命周期。通过Hook机制在Runner的各个生命周期节点调用自定义的函数,可以实现丰富的定制功能。 文章目录MMCV学习——…

【C语言航路】第八站:调试(第一幕)

前言 调试的这一站,对于市面上大部分的书籍都是缺失的,然而调试这个内容是非常重要的,尤其是在数据结构部分,将会频繁的使用,这也为我们后面讲解数据结构做一个铺垫。同时,在以后未来工作的时候&#xff0…

Generative Cooperative Learning for Unsupervised Video Anomaly Detection

介绍 在现实世界中,基于学习的异常检测任务极具挑战性,这主要是因为此类事件很少发生。由于这些事件的无约束性质,这一挑战进一步加剧。因此,获取足够的异常示例是相当麻烦的,而人们可以安全地假设,将永远…

Xcode9 无证书真机调试​

写在前面​ 公司分配了新的测试机,证书99台名额已满,所以上网找教程,学习了一下如何使用Xcode无证书进行真机调试。​ 一. 创建证书​ 1. 运行Xcode, Xcode–》Preference–》添加账号(能在appstore下载的账号)​ 2. 选中刚才添加的AppleID…

光华股份在深交所上市:市值突破51亿元,前三季度收入约10亿元

12月8日,浙江光华科技股份有限公司(下称“光华股份”,SZ:001333)在深圳证券交易所主板上市。本次上市,光华股份的发行价格27.76元/股,发行数量为3200万股,募资总额约为8.88亿元,扣除…

JDK19都出来了~是时候梳理清楚JDK的各个版本的特性了【JDK11特性讲解】

JDK各个版本特性讲解-JDK11特性 lecture:波哥 一、JAVA11 概述 2018年9月26日,Oracle官方发布JAVA11.这是JAVA大版本周期变化后的第一个长期支持版本,非常值得关注.最新发布的JAVA11将带来ZGC HttpClient等重要特性,一共17个需要我们关注的JEP,参考文档http://openj…

Docker_简介、优势、架构、常用命令

Docker简介 Docker是什么 Docker就是将环境在不消耗大量资源的情况下复制出一个一样的环境 一次镜像,处处运行 内核级虚拟化 基于GO语言实现的开源项目 解决运行环境和配置问题的软件容器 容器与虚拟机比较 虚拟机是模拟的整套操作系统,会有资源占用…

Unity Cg着色器开发教程

Unity Cg着色器开发教程 学习在 Unity 中对图形管道进行编程,以便为游戏对象创建独特的视觉表面 课程英文名:Shader Development from Scratch for Unity with Cg 此视频教程共2.0小时,中英双语字幕,画质清晰无水印&#xff0c…

代码随想录算法训练营第二天| 977.有序数组的平方, 209.长度最小的子数组, 59.螺旋矩阵II

代码随想录算法训练营第二天| 977.有序数组的平方, 209.长度最小的子数组, 59.螺旋矩阵II 题目链接: 977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排…

ASEMI整流桥KBU610和KBP210封装参数区别

编辑-Z 很多人在选型时容易把KBU和KBP给搞混,这两种封装是有区别的,下面是整流桥KBU610和KBP210封装参数区别。 整流桥KBU610参数: 型号:KBU610 封装:KBU-4 最大重复峰值反向电压(VRRM)&…

1557_AURIX_TC275_复位控制单元以及相关寄存器

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这是之前没看完的一张表,结合之前的一般看起来,大部分的模块还是支持重启机制的。 状态寄存器中可以读到上一次复位的触发原因,这个对于软件的一些状态判…

嵌入式分享合集118

一、模电--数电 晶体管 VS 二进制数 模电里面的二极管、三极管(开关状态)、晶闸管,分别对应数电的二进制数0和1。 放大器 VS 乘法/移位器 模电里的放大器就是把信号放大N倍,对应数电里面的乘法,当然如果乘的系数是2的…

C# SuperSocket 手把手教你入门 傻瓜教程---6(SuperSocket内置的命令行协议)

C# SuperSocket 手把手教你入门 傻瓜教程系列教程 C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据) C# SuperSocket 手把手教你入门 傻瓜教程---2(服务器和客户端双向通信) C# SuperSocket 手把手教…

No.1 初步认识Vue2.0

目录一、准备工作二、简单使用Vue2.1 初步使用Vue绑定2.2 Vue中数据绑定(用于表单元素,即有value属性的元素)2.2.1 单向数据绑定2.2.2 双向双向数据绑定2.2.3 数据绑定的简写2.3 Vue中el与data的两种书写方式2.3.1 el的写法——方式一2.3.2 e…

流体力学课上的老师这句话,让我义无反顾的上了CFD这艘“贼船”

CAE(Computer Aided Engineering):利用计算机辅助求解分析复杂工程和产品的结构力学性能并进行优化,涵盖的分析对象包括结构、流体、热、电磁等。在工业4.0和中国制造2025大趋势下,CAE技术已上升为国家战略&#xff0c…