28 玻尔兹曼机

news2024/10/2 22:30:25

文章目录

  • 28 玻尔兹曼机
    • 28.1 模型定义
    • 28.2 梯度推导
    • 28.3 梯度上升
    • 28.4 基于VI[平均场理论]求解后验概率

28 玻尔兹曼机

28.1 模型定义

玻尔兹曼机是一张无向图,其中的隐节点和观测节点可以有任意连接如下图:

我们给其中的节点、连线做出一些定义:

  1. 节点:观测节点 V = { 0 , 1 } D V = {\lbrace 0, 1 \rbrace}^D V={0,1}D,隐节点 H = { 0 , 1 } P H = {\lbrace 0, 1 \rbrace}^P H={0,1}P
  2. 连线:观测节点之间 L = [ L i j ] D × D L = [L_{ij}]_{D \times D} L=[Lij]D×D,隐节点之间 J = [ J i j ] P × P J = [J_{ij}]_{P \times P} J=[Jij]P×P,观测节点与隐节点之间 W = [ W i j ] D × P W = [W_{ij}]_{D \times P} W=[Wij]D×P
  3. 参数: θ = { W , L , J } \theta = {\lbrace W, L, J \rbrace} θ={W,L,J}

则我们可以根据上面的定义,加上无向图能量方程的性质得到公式:
{ P ( V ∣ H ) = 1 z e x p − E ( V , H ) E ( V , H ) = − ( V T W H + 1 2 V T L V + 1 2 H T J H ⏟ 矩阵对称,参数除 2 ) \begin{cases} P(V|H) = \frac{1}{z} exp{-E(V, H)} \\ E(V, H) = -( {V^T W H} + \underbrace{\frac{1}{2} {V^T L V} + \frac{1}{2} {H^T J H}}_{矩阵对称,参数除2} ) \end{cases} P(VH)=z1expE(V,H)E(V,H)=(VTWH+矩阵对称,参数除2 21VTLV+21HTJH)

28.2 梯度推导

我们的目标函数就是 P ( V ) P(V) P(V),所以可以讲log-likelihood写作: 1 N ∑ v ∈ V log ⁡ P ( v ) \frac{1}{N} \sum_{v \in V} \log P(v) N1vVlogP(v),并且 ∣ V ∣ = N |V| = N V=N。所以我们可以将他的梯度写为 1 N ∑ v ∈ V ∇ θ log ⁡ P ( v ) \frac{1}{N} \sum_{v \in V} \nabla_\theta \log P(v) N1vVθlogP(v)。其中 ∇ θ log ⁡ P ( v ) \nabla_\theta \log P(v) θlogP(v)的推导在24-直面配分函数的RBM-Learning问题中已经推导过了,可以得到:
∇ θ log ⁡ P ( v ) = ∑ v ∑ H P ( v , H ) ⋅ ∇ θ E ( v , H ) − ∑ H P ( H ∣ v ) ⋅ ∇ θ E ( v , H ) \nabla_\theta \log P(v) = \sum_v \sum_H P(v, H) \cdot \nabla_\theta E(v, H) - \sum_H P(H| v) \cdot \nabla_\theta E(v, H) θlogP(v)=vHP(v,H)θE(v,H)HP(Hv)θE(v,H)
我们对E(v, H)求其中一个参数的导的结果很容易求,所以可以将公式写作:
∇ w log ⁡ P ( v ) = ∑ v ∑ H P ( v , H ) ⋅ ( − V H T ) − ∑ H P ( H ∣ v ) ⋅ ( − V H T ) = ∑ H P ( H ∣ v ) ⋅ V H T − ∑ v ∑ H P ( v , H ) ⋅ V H T \begin{align} \nabla_w \log P(v) &= \sum_v \sum_H P(v, H) \cdot (- V H^T) - \sum_H P(H| v) \cdot (- V H^T) \\ &= \sum_H P(H| v) \cdot V H^T - \sum_v \sum_H P(v, H) \cdot V H^T \end{align} wlogP(v)=vHP(v,H)(VHT)HP(Hv)(VHT)=HP(Hv)VHTvHP(v,H)VHT
将其带入原式可得:
∇ w L = 1 N ∑ v ∈ V ∇ θ log ⁡ P ( v ) = 1 N ∑ v ∈ V ∑ H P ( H ∣ v ) ⋅ V H T − 1 N ∑ v ∈ V ⏟ 1 N × N ∑ v ∑ H P ( v , H ) ⋅ V H T = 1 N ∑ v ∈ V ∑ H P ( H ∣ v ) ⋅ V H T − ∑ v ∑ H P ( v , H ) ⋅ V H T \begin{align} \nabla_w {\mathcal L} &= \frac{1}{N} \sum_{v \in V} \nabla_\theta \log P(v) \\ &= \frac{1}{N} \sum_{v \in V} \sum_H P(H| v) \cdot V H^T - \underbrace{\frac{1}{N} \sum_{v \in V}}_{\frac{1}{N} \times N} \sum_v \sum_H P(v, H) \cdot V H^T \\ &= \frac{1}{N} \sum_{v \in V} \sum_H P(H| v) \cdot V H^T - \sum_v \sum_H P(v, H) \cdot V H^T \\ \end{align} wL=N1vVθlogP(v)=N1vVHP(Hv)VHTN1×N N1vVvHP(v,H)VHT=N1vVHP(Hv)VHTvHP(v,H)VHT
我们用 P d a t a P_{data} Pdata表示 P d a t a ( v , H ) = P d a t a ( v ) ⋅ P m o d e l ( H ∣ v ) P_{data}(v, H) = P_{data}(v) \cdot P_{model}(H| v) Pdata(v,H)=Pdata(v)Pmodel(Hv) P m o d e l P_{model} Pmodel表示 P m o d e l ( v , H ) P_{model}(v, H) Pmodel(v,H),则可以将公式再转化为:
∇ w L = E P d a t a [ V H T ] − E P m o d e l [ V H T ] \begin{align} \nabla_w {\mathcal L} &= E_{P_{data}} \left[ V H^T \right] - E_{P_{model}} \left[ V H^T \right] \end{align} wL=EPdata[VHT]EPmodel[VHT]

28.3 梯度上升

给三个参数分别写出他们的变化量(系数 × \times ×梯度):
{ Δ W = α ( E P d a t a [ V H T ] − E P m o d e l [ V H T ] ) Δ L = α ( E P d a t a [ V V T ] − E P m o d e l [ V V T ] ) Δ J = α ( E P d a t a [ H H T ] − E P m o d e l [ H H T ] ) \begin{cases} \Delta W = \alpha (E_{P_{data}} \left[ V H^T \right] - E_{P_{model}} \left[ V H^T \right]) \\ \Delta L = \alpha (E_{P_{data}} \left[ V V^T \right] - E_{P_{model}} \left[ V V^T \right]) \\ \Delta J = \alpha (E_{P_{data}} \left[ H H^T \right] - E_{P_{model}} \left[ H H^T \right]) \\ \end{cases} ΔW=α(EPdata[VHT]EPmodel[VHT])ΔL=α(EPdata[VVT]EPmodel[VVT])ΔJ=α(EPdata[HHT]EPmodel[HHT])
这是用于表示在一次梯度上升中参数的改变量,由于 W , L , J W,L,J W,L,J​是矩阵,将他们拆的更细可以写作:
Δ w i j = α ( E P d a t a [ v i h j ] ⏟ positive phase − E P m o d e l [ v i h j ] ⏟ negative phase ) \Delta w_{ij} = \alpha ( \underbrace{E_{P_{data}} \left[ v_i h_j \right]}_{\text{positive phase}} - \underbrace{E_{P_{model}} \left[ v_i h_j \right]}_{\text{negative phase}} ) Δwij=α(positive phase EPdata[vihj]negative phase EPmodel[vihj])
但是这两项都很难求,因为要用到 P m o d e l P_{model} Pmodel,如果要得到 P m o d e l P_{model} Pmodel则要采用MCMC的方法,但对一个这样的图进行MCMC非常的消耗时间(不过这也给我们提供了一个解题思路)。

具体要用到MCMC的话,我们必须要有每一个维度的后验,所以我们根据复杂的推导(下面证明)可以得到每一个维度的后验——在固定其他维度求这一个维度的情况:
{ P ( v i = 1 ∣ H , V − i ) = σ ( ∑ j = 1 P w i j h j + ∑ k = 1 , − i D L i k v k ) P ( h j = 1 ∣ V , H − j ) = σ ( ∑ i = 1 P w i j v i + ∑ m = 1 , − i D J j m h m ) \begin{cases} P(v_i = 1|H, V_{-i}) = \sigma(\sum_{j=1}^P w_{ij} h_j + \sum_{k=1,-i}^D L_{ik} v_k) \\ P(h_j = 1|V, H_{-j}) = \sigma(\sum_{i=1}^P w_{ij} v_i + \sum_{m=1,-i}^D J_{jm} h_m) \\ \end{cases} {P(vi=1∣H,Vi)=σ(j=1Pwijhj+k=1,iDLikvk)P(hj=1∣V,Hj)=σ(i=1Pwijvi+m=1,iDJjmhm)
这个公式我们可以发现在RBM情况下也是符合RBM后验公式的。


接下来我们证明一下上面这个公式,下文验证 P ( v i ∣ H , V − i ) P(v_i|H, V_{-i}) P(viH,Vi)的情况, P ( h j ∣ V , H − j ) P(h_j|V, H_{-j}) P(hjV,Hj)​可以类比。首先对其进行变换:
P ( v i ∣ H , V − i ) = P ( H , V ) P ( H , V − i ) = 1 Z exp ⁡ { − E [ V , H ] } ∑ v i 1 Z exp ⁡ { − E [ V , H ] } = 1 Z exp ⁡ { V T W H + 1 2 V T L V + 1 2 H T J H } ∑ v i 1 Z exp ⁡ { V T W H + 1 2 V T L V + 1 2 H T J H } = 1 Z exp ⁡ { V T W H + 1 2 V T L V } ⋅ exp ⁡ { 1 2 H T J H } 1 Z exp ⁡ { 1 2 H T J H } ⋅ ∑ v i exp ⁡ { V T W H + 1 2 V T L V } = exp ⁡ { V T W H + 1 2 V T L V } ∑ v i exp ⁡ { V T W H + 1 2 V T L V } = exp ⁡ { V T W H + 1 2 V T L V } ∣ v i = 1 exp ⁡ { V T W H + 1 2 V T L V } ∣ v i = 0 + exp ⁡ { V T W H + 1 2 V T L V } ∣ v i = 1 \begin{align} P(v_i|H, V_{-i}) &= \frac{P(H, V)}{P(H, V_{-i})} \\ &= \frac{ \frac{1}{Z} \exp{\lbrace - E[V, H] \rbrace} }{ \sum_{v_i} \frac{1}{Z} \exp{\lbrace - E[V, H] \rbrace}} \\ &= \frac{ \frac{1}{Z} \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} + \frac{1}{2} {H^T J H} \rbrace} }{ \sum_{v_i} \frac{1}{Z} \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} + \frac{1}{2} {H^T J H} \rbrace}} \\ &= \frac{ \frac{1}{Z} \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} \rbrace} \cdot \exp{\lbrace \frac{1}{2} {H^T J H} \rbrace} }{ \frac{1}{Z} \exp{\lbrace \frac{1}{2} {H^T J H} \rbrace} \cdot \sum_{v_i} \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} \rbrace}} \\ &= \frac{ \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} \rbrace} }{ \sum_{v_i} \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} \rbrace}} \\ &= \frac{ \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} \rbrace}|_{v_i = 1} }{ \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} \rbrace}|_{v_i = 0} + \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} \rbrace}|_{v_i = 1} } \\ \end{align} P(viH,Vi)=P(H,Vi)P(H,V)=viZ1exp{E[V,H]}Z1exp{E[V,H]}=viZ1exp{VTWH+21VTLV+21HTJH}Z1exp{VTWH+21VTLV+21HTJH}=Z1exp{21HTJH}viexp{VTWH+21VTLV}Z1exp{VTWH+21VTLV}exp{21HTJH}=viexp{VTWH+21VTLV}exp{VTWH+21VTLV}=exp{VTWH+21VTLV}vi=0+exp{VTWH+21VTLV}vi=1exp{VTWH+21VTLV}vi=1
若我们将相同的部份表示为 Δ v i \Delta_{v_i} Δvi,则可以将公式写为:
P ( v i ∣ H , V − i ) = Δ v i ∣ v i = 1 Δ v i ∣ v i = 0 + Δ v i ∣ v i = 1 \begin{align} P(v_i|H, V_{-i}) &= \frac{ \Delta_{v_i}|_{v_i = 1} }{ \Delta_{v_i}|_{v_i = 0} + \Delta_{v_i}|_{v_i = 1} } \\ \end{align} P(viH,Vi)=Δvivi=0+Δvivi=1Δvivi=1
其中 Δ v i \Delta_{v_i} Δvi可以做如下变换:
Δ v i = exp ⁡ { V T W H + 1 2 V T L V } = exp ⁡ { ∑ i ^ = 1 D ∑ j = 1 P v i ^ W i ^ j h j + 1 2 ∑ i ^ = 1 D ∑ k = 1 D v i ^ L i ^ k v k } \begin{align} \Delta_{v_i} &= \exp{\lbrace {V^T W H} + \frac{1}{2} {V^T L V} \rbrace} \\ &= \exp{\lbrace \sum_{{\hat i} = 1}^{D} \sum_{j = 1}^{P} {v_{\hat i} W_{{\hat i} j} h_j} + \frac{1}{2} \sum_{{\hat i} = 1}^{D} \sum_{k = 1}^{D} {v_{\hat i} L_{{\hat i} k} v_k} \rbrace} \end{align} Δvi=exp{VTWH+21VTLV}=exp{i^=1Dj=1Pvi^Wi^jhj+21i^=1Dk=1Dvi^Li^kvk}
我们接下来将有 v i v_i vi的项全部拆分出来:
Δ v i = exp ⁡ { ∑ i ^ = 1 , − i D ∑ j = 1 P v i ^ W i ^ j h j + ∑ j = 1 P v i W i j h j } ⋅ exp ⁡ { 1 2 ( ∑ i ^ = 1 , − i D ∑ k = 1 , − i D v i ^ W i ^ k h k + v i L i i v i ⏟ 0 + ∑ i ^ = 1 , − i D v i ^ W i ^ i v i ⏟ 相同 + ∑ k = 1 , − i D v i L i k v k ) } = exp ⁡ { ∑ i ^ = 1 , − i D ∑ j = 1 P v i ^ W i ^ j h j + ∑ j = 1 P v i W i j h j + 1 2 ∑ i ^ = 1 , − i D ∑ k = 1 , − i D v i ^ W i ^ k h k + ∑ k = 1 , − i D v i L i k v k } \begin{align} \Delta_{v_i} &= \exp{\lbrace \sum_{{\hat i} = 1, -i}^{D} \sum_{j = 1}^{P} {v_{\hat i} W_{{\hat i} j} h_j} + \sum_{j = 1}^{P} {v_i W_{i j} h_j} \rbrace} \\ & \cdot \exp{\lbrace \frac{1}{2} \left( \sum_{{\hat i} = 1, -i}^{D} \sum_{k = 1,-i}^{D} {v_{\hat i} W_{{\hat i} k} h_k} + \underbrace{v_i L_{ii} v_i}_{0} + \underbrace{\sum_{{\hat i} = 1, -i}^{D} {v_{\hat i} W_{{\hat i} i} v_i}}_{相同} + \sum_{k = 1, -i}^{D} {v_i L_{i k} v_k} \right) \rbrace} \\ &= \exp{\lbrace \sum_{{\hat i} = 1, -i}^{D} \sum_{j = 1}^{P} {v_{\hat i} W_{{\hat i} j} h_j} + \sum_{j = 1}^{P} {v_i W_{i j} h_j} + \frac{1}{2} \sum_{{\hat i} = 1, -i}^{D} \sum_{k = 1,-i}^{D} {v_{\hat i} W_{{\hat i} k} h_k} + \sum_{k = 1, -i}^{D} {v_i L_{i k} v_k} \rbrace} \end{align} Δvi=exp{i^=1,iDj=1Pvi^Wi^jhj+j=1PviWijhj}exp{21 i^=1,iDk=1,iDvi^Wi^khk+0 viLiivi+相同 i^=1,iDvi^Wi^ivi+k=1,iDviLikvk }=exp{i^=1,iDj=1Pvi^Wi^jhj+j=1PviWijhj+21i^=1,iDk=1,iDvi^Wi^khk+k=1,iDviLikvk}
所以我们将 v i = 1 v_i = 1 vi=1 v i = 0 v_i = 0 vi=0代入该公式即可得出结果。
Δ v i = 0 = exp ⁡ { ∑ i ^ = 1 , − i D ∑ j = 1 P v i ^ W i ^ j h j + 1 2 ∑ i ^ = 1 , − i D ∑ k = 1 , − i D v i ^ W i ^ k h k } = exp ⁡ { A + B } Δ v i = 1 = exp ⁡ { A + B + ∑ j = 1 P W i j h j + ∑ k = 1 , − i D L i k v k } \begin{align} \Delta_{v_i = 0} &= \exp{\lbrace \sum_{{\hat i} = 1, -i}^{D} \sum_{j = 1}^{P} {v_{\hat i} W_{{\hat i} j} h_j} + \frac{1}{2} \sum_{{\hat i} = 1, -i}^{D} \sum_{k = 1,-i}^{D} {v_{\hat i} W_{{\hat i} k} h_k} \rbrace} = \exp{\lbrace A + B \rbrace} \\ \Delta_{v_i = 1} &= \exp{\lbrace A + B + \sum_{j = 1}^{P} {W_{i j} h_j} + \sum_{k = 1, -i}^{D} {L_{i k} v_k} \rbrace} \end{align} Δvi=0Δvi=1=exp{i^=1,iDj=1Pvi^Wi^jhj+21i^=1,iDk=1,iDvi^Wi^khk}=exp{A+B}=exp{A+B+j=1PWijhj+k=1,iDLikvk}

P ( v i ∣ H , V − i ) = Δ v i ∣ v i = 1 Δ v i ∣ v i = 0 + Δ v i ∣ v i = 1 = exp ⁡ { A + B + ∑ j = 1 P W i j h j + ∑ k = 1 , − i D L i k v k } exp ⁡ { A + B } + exp ⁡ { A + B + ∑ j = 1 P W i j h j + ∑ k = 1 , − i D L i k v k } = exp ⁡ { ∑ j = 1 P W i j h j + ∑ k = 1 , − i D L i k v k } 1 + exp ⁡ { ∑ j = 1 P W i j h j + ∑ k = 1 , − i D L i k v k } = σ ( ∑ j = 1 P W i j h j + ∑ k = 1 , − i D L i k v k ) \begin{align} P(v_i|H, V_{-i}) &= \frac{ \Delta_{v_i}|_{v_i = 1} }{ \Delta_{v_i}|_{v_i = 0} + \Delta_{v_i}|_{v_i = 1} } \\ &= \frac{ \exp{\lbrace A + B + \sum_{j = 1}^{P} {W_{i j} h_j} + \sum_{k = 1, -i}^{D} {L_{i k} v_k} \rbrace} }{ \exp{\lbrace A + B \rbrace} + \exp{\lbrace A + B + \sum_{j = 1}^{P} {W_{i j} h_j} + \sum_{k = 1, -i}^{D} {L_{i k} v_k} \rbrace} } \\ &= \frac{ \exp{\lbrace \sum_{j = 1}^{P} {W_{i j} h_j} + \sum_{k = 1, -i}^{D} {L_{i k} v_k} \rbrace} }{ 1 + \exp{\lbrace \sum_{j = 1}^{P} {W_{i j} h_j} + \sum_{k = 1, -i}^{D} {L_{i k} v_k} \rbrace} } \\ &= \sigma(\sum_{j = 1}^{P} {W_{i j} h_j} + \sum_{k = 1, -i}^{D} {L_{i k} v_k}) \end{align} P(viH,Vi)=Δvivi=0+Δvivi=1Δvivi=1=exp{A+B}+exp{A+B+j=1PWijhj+k=1,iDLikvk}exp{A+B+j=1PWijhj+k=1,iDLikvk}=1+exp{j=1PWijhj+k=1,iDLikvk}exp{j=1PWijhj+k=1,iDLikvk}=σ(j=1PWijhj+k=1,iDLikvk)

28.4 基于VI[平均场理论]求解后验概率

我们的参数,通过梯度求出的变化量可以表示为:
{ Δ W = α ( E P d a t a [ V H T ] − E P m o d e l [ V H T ] ) Δ L = α ( E P d a t a [ V V T ] − E P m o d e l [ V V T ] ) Δ J = α ( E P d a t a [ H H T ] − E P m o d e l [ H H T ] ) \begin{cases} \Delta W = \alpha (E_{P_{data}} \left[ V H^T \right] - E_{P_{model}} \left[ V H^T \right]) \\ \Delta L = \alpha (E_{P_{data}} \left[ V V^T \right] - E_{P_{model}} \left[ V V^T \right]) \\ \Delta J = \alpha (E_{P_{data}} \left[ H H^T \right] - E_{P_{model}} \left[ H H^T \right]) \\ \end{cases} ΔW=α(EPdata[VHT]EPmodel[VHT])ΔL=α(EPdata[VVT]EPmodel[VVT])ΔJ=α(EPdata[HHT]EPmodel[HHT])
但是如果要直接求出其后验概率,还应该从 L = E L B O {\mathcal L} = ELBO L=ELBO开始分析,通过平均场理论(在VI中使用过)进行分解:
L = E L B O = log ⁡ P θ ( V ) − K L ( q ϕ ∥ p θ ) = ∑ h q ϕ ( H ∣ V ) ⋅ log ⁡ P θ ( V , H ) + H [ q ] \begin{align} {\mathcal L} &= ELBO = \log P_\theta(V) - KL(q_\phi \Vert p_\theta) = \sum_h q_\phi(H|V) \cdot \log P_\theta(V,H) + H[q] \end{align} L=ELBO=logPθ(V)KL(qϕpθ)=hqϕ(HV)logPθ(V,H)+H[q]
我们在这里做出一些假设(将 q ( H ∣ V ) q(H|V) q(HV)拆分为P个维度之积):
{ q ϕ ( H ∣ V ) = ∏ j = 1 P q ϕ ( H j ∣ V ) q ϕ ( H j = 1 ∣ V ) = ϕ j ϕ = { ϕ j } j = 1 P \begin{cases} q_\phi(H|V) = \prod_{j=1}^{P} q_\phi(H_j|V) \\ q_\phi(H_j = 1| V) = \phi_j \\ \phi = \{\phi_j\}_{j=1}^P \\ \end{cases} qϕ(HV)=j=1Pqϕ(HjV)qϕ(Hj=1∣V)=ϕjϕ={ϕj}j=1P
如果我们要求出后验概率就是学习参数 θ \theta θ,在之类也等同于学习参数 ϕ \phi ϕ,于是我们可以对 a r g max ⁡ ϕ j L arg\max_{\phi_j}{\mathcal L} argmaxϕjL​进行求解,我们将其进行化简:
ϕ j ^ = a r g max ⁡ ϕ j L = a r g max ⁡ ϕ j E L B O = a r g max ⁡ ϕ j ∑ h q ϕ ( H ∣ V ) ⋅ log ⁡ P θ ( V , H ) + H [ q ] = a r g max ⁡ ϕ j ∑ h q ϕ ( H ∣ V ) ⋅ [ − log ⁡ Z + V T W H + 1 2 V T L V + 1 2 H T J H ] + H [ q ] = a r g max ⁡ ϕ j ∑ h q ϕ ( H ∣ V ) ⏟ = 1 ⋅ [ − log ⁡ Z + 1 2 V T L V ] ⏟ 与h和 ϕ j 都无关,为常数C + ∑ h q ϕ ( H ∣ V ) ⋅ [ V T W H + 1 2 H T J H ] + H [ q ] = a r g max ⁡ ϕ j ∑ h q ϕ ( H ∣ V ) ⋅ [ V T W H + 1 2 H T J H ] + H [ q ] = a r g max ⁡ ϕ j ∑ h q ϕ ( H ∣ V ) ⋅ V T W H ⏟ ( 1 ) + 1 2 ∑ h q ϕ ( H ∣ V ) ⋅ H T J H ⏟ ( 2 ) + H [ q ] ⏟ ( 3 ) \begin{align} {\hat {\phi_j}} &= arg\max_{\phi_j} {\mathcal L} = arg\max_{\phi_j} ELBO \\ &= arg\max_{\phi_j} \sum_h q_\phi(H|V) \cdot \log P_\theta(V,H) + H[q] \\ &= arg\max_{\phi_j} \sum_h q_\phi(H|V) \cdot \left[ -\log Z + {V^T W H} + \frac{1}{2} {V^T L V} + \frac{1}{2} {H^T J H} \right] + H[q] \\ &= arg\max_{\phi_j} \underbrace{\sum_h q_\phi(H|V)}_{=1} \cdot \underbrace{\left[ -\log Z + \frac{1}{2} {V^T L V} \right]}_{\text{与h和$\phi_j$都无关,为常数C}} + \sum_h q_\phi(H|V) \cdot \left[ {V^T W H} + \frac{1}{2} {H^T J H} \right] + H[q] \\ &= arg\max_{\phi_j} \sum_h q_\phi(H|V) \cdot \left[ {V^T W H} + \frac{1}{2} {H^T J H} \right] + H[q] \\ &= arg\max_{\phi_j} \underbrace{\sum_h q_\phi(H|V) \cdot {V^T W H}}_{(1)} + \underbrace{\frac{1}{2} \sum_h q_\phi(H|V) \cdot {H^T J H}}_{(2)} + \underbrace{H[q]}_{(3)} \\ \end{align} ϕj^=argϕjmaxL=argϕjmaxELBO=argϕjmaxhqϕ(HV)logPθ(V,H)+H[q]=argϕjmaxhqϕ(HV)[logZ+VTWH+21VTLV+21HTJH]+H[q]=argϕjmax=1 hqϕ(HV)hϕj都无关,为常数C [logZ+21VTLV]+hqϕ(HV)[VTWH+21HTJH]+H[q]=argϕjmaxhqϕ(HV)[VTWH+21HTJH]+H[q]=argϕjmax(1) hqϕ(HV)VTWH+(2) 21hqϕ(HV)HTJH+(3) H[q]
得到如上公式后,我们只需对每个部份进行求导即可得到结果,过程中引入假设(拆分维度)即可更加优化公式,我们以 ( 1 ) (1) (1)为例:
( 1 ) = ∑ h q ϕ ( H ∣ V ) ⋅ V T W H = ∑ h ∏ j ^ = 1 P q ϕ ( H j ^ ∣ V ) ⋅ ∑ i = 1 D ∑ j ^ = 1 P v i w i j ^ h j ^ \begin{align} (1) &= \sum_h q_\phi(H|V) \cdot {V^T W H} = \sum_h \prod_{{\hat j}=1}^{P} q_\phi(H_{\hat j}|V) \cdot \sum_{i=1}^{D} \sum_{{\hat j}=1}^{P} {v_i w_{i{\hat j}} h_{\hat j}} \end{align} (1)=hqϕ(HV)VTWH=hj^=1Pqϕ(Hj^V)i=1Dj^=1Pviwij^hj^
我们取出其中的一项,如 i = 1 , j ^ = 2 i = 1, {\hat j} = 2 i=1,j^=2,可以得到:
∑ h ∏ j ^ = 1 P q ϕ ( H j ^ ∣ V ) ⋅ v 1 w 12 h 2 = ∑ h 2 q ϕ ( H 2 ∣ V ) ⋅ v 1 w 12 h 2 ⏟ 提出 h 2 相关项 ⋅ ∑ h , − h 2 ∏ j ^ = 1 , − 2 P q ϕ ( H j ^ ∣ V ) ⏟ = 1 = ∑ h 2 q ϕ ( H 2 ∣ V ) ⋅ v 1 w 12 h 2 = q ϕ ( H 2 = 1 ∣ V ) ⋅ v 1 w 12 ⋅ 1 + q ϕ ( H 2 = 0 ∣ V ) ⋅ v 1 w 12 ⋅ 0 = ϕ 2 v 1 w 12 \begin{align} \sum_h \prod_{{\hat j}=1}^{P} q_\phi(H_{\hat j}|V) \cdot {v_1 w_{12} h_{2}} &= \underbrace{\sum_{h_2} q_\phi(H_2|V) \cdot {v_1 w_{12} h_{2}}}_{\text{提出$h_2$相关项}} \cdot \underbrace{\sum_{h, -h_2} \prod_{{\hat j}=1, -2}^{P} q_\phi(H_{\hat j}|V)}_{=1} \\ &= \sum_{h_2} q_\phi(H_2|V) \cdot {v_1 w_{12} h_{2}} \\ &= q_\phi(H_2 = 1|V) \cdot {v_1 w_{12} \cdot 1} + q_\phi(H_2 = 0|V) \cdot {v_1 w_{12} \cdot 0} \\ &= \phi_2 {v_1 w_{12}} \end{align} hj^=1Pqϕ(Hj^V)v1w12h2=提出h2相关项 h2qϕ(H2V)v1w12h2=1 h,h2j^=1,2Pqϕ(Hj^V)=h2qϕ(H2V)v1w12h2=qϕ(H2=1∣V)v1w121+qϕ(H2=0∣V)v1w120=ϕ2v1w12
所以 ( 1 ) (1) (1)的求和结果就应该是 ∑ i = 1 D ∑ j ^ = 1 P ϕ j ^ v i w i j ^ \sum_{i=1}^{D} \sum_{{\hat j}=1}^{P} \phi_{\hat j} v_i w_{i{\hat j}} i=1Dj^=1Pϕj^viwij^,同理可得 ( 2 ) , ( 3 ) (2), (3) (2),(3)结果为:
{ ( 1 ) = ∑ i = 1 D ∑ j ^ = 1 P ϕ j ^ v i w i j ^ ( 2 ) = ∑ j ^ = 1 P ∑ m = 1 , − j P ϕ j ^ ϕ m J j ^ m + C ( 3 ) = − ∑ j = 1 P [ ϕ j log ⁡ ϕ j + ( 1 − ϕ j ) log ⁡ ( 1 − ϕ j ) ] \begin{cases} (1) = \sum_{i=1}^{D} \sum_{{\hat j}=1}^{P} \phi_{\hat j} v_i w_{i{\hat j}} \\ (2) = \sum_{{\hat j}=1}^{P} \sum_{m=1, -j}^{P} \phi_{\hat j} \phi_m J_{{\hat j}m} + C \\ (3) = - \sum_{j=1}^P \left[ \phi_j \log \phi_j + (1-\phi_j) \log (1-\phi_j) \right] \\ \end{cases} (1)=i=1Dj^=1Pϕj^viwij^(2)=j^=1Pm=1,jPϕj^ϕmJj^m+C(3)=j=1P[ϕjlogϕj+(1ϕj)log(1ϕj)]
通过求导又可得:
{ ∇ ϕ j ( 1 ) = ∑ i = 1 D v i w i j ∇ ϕ j ( 2 ) = ∑ m = 1 , − j P ϕ m J j m ∇ ϕ j ( 3 ) = − log ⁡ ϕ j 1 − ϕ j \begin{cases} \nabla_{\phi_j} (1) = \sum_{i=1}^{D} v_i w_{ij} \\ \nabla_{\phi_j} (2) = \sum_{m=1, -j}^{P} \phi_m J_{jm} \\ \nabla_{\phi_j} (3) = - \log \frac{\phi_j}{1 - \phi_j} \\ \end{cases} ϕj(1)=i=1Dviwijϕj(2)=m=1,jPϕmJjmϕj(3)=log1ϕjϕj
根据 ∇ ϕ j ( 1 ) + ∇ ϕ j ( 2 ) + ∇ ϕ j ( 3 ) = 0 \nabla_{\phi_j} (1) + \nabla_{\phi_j} (2) + \nabla_{\phi_j} (3) = 0 ϕj(1)+ϕj(2)+ϕj(3)=0可得:
ϕ j = σ ( ∑ i = 1 D v i w i j + ∑ m = 1 , − j P ϕ m J j m ) \phi_j = \sigma(\sum_{i=1}^{D} v_i w_{ij} + \sum_{m=1, -j}^{P} \phi_m J_{jm}) ϕj=σ(i=1Dviwij+m=1,jPϕmJjm)
由于 ϕ j \phi_j ϕj用于表示每一个维度的数据,所以我们可以使用 ϕ = { ϕ j } j = 1 P \phi = \{\phi_j\}_{j=1}^{P} ϕ={ϕj}j=1P通过坐标上升的方法进行求解。

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

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

相关文章

css内容达到最底部但滚动条没有滚动到底部

也是犯了一个傻狗一样的错误 ,滚动条样式是直接复制的蓝湖的代码,有个高度,然后就出现了这样的bug 看了好久一直以为是布局或者overflow的问题,最后发现是因为我给这个滚动条加了个高度,我也是傻狗一样的,…

认识Node.js及三个模块

文章目录 1.初识 Node.js1.1 什么是 Node.js1.2 Node.js 中的 JavaScript 运行环境1.3 Node.js 可以做什么1.4 Node.js 环境的安装1.4.1 区分 LTS 版本和 Current 版本的不同1.4.2 查看已安装的 Node.js 的版本号1.4.3 什么是终端1.4.4 终端中的快捷键 1.5 在 Node.js 环境中执…

云安全攻防(七)之 容器逃逸

容器运行时的安全风险 运行时的容器可能发生的攻击形式数不胜数,然而归根结底,所有攻击影响的还是业务系统的机密性、完整性和可用性(CIA三要素)。从这个角度出发,我们可以将攻击做以下的分类: 主要影响机…

从零开始学python(十七)JS逆向专题,看完直接入门

前言 今天讲述Python框架源码专题最后一个部分,爬虫集群部署,前面更新了十五个从零开始学python的系列文章,分别是: 编程语法/网络编程/多线程/多进程/协程/数据库机器学习/全栈开发/数据分析/Hadoop篇/Spark篇爬虫/自动化和抓包…

CMU 15-445 -- Distributed OLAP Databases -21

CMU 15-445 -- Distributed OLAP Databases -21 引言OLTP and OLAPStar Schema vs. Snowflake SchemaProblem Setup本节大纲Execution Models:Push vs. PullExample #1: Push Query to Data in Shared-Nothing ArchitectureExample #2: Pull Data to Query in Share…

ARP协议原理与应用

ARP协议原理与应用 一、ARP协议概述1.1、场景描述1.2、ARP协议概述 二、ARP协议工作原理2.1、ARP工作流程2.2、ARP工作原理2.3、ARP缓存表 三、ARP协议分类3.1、免费ARP(Gratuitous ARP )3.2、代理ARP(Proxy ARP )3.3、RARP与IARP…

详解lambda表达式(一):表达式定义与异常处理

目录 一、lambda表达式 二、lambda表达式实现函数接口 2.1 函数式接口 2.2 lambda表达式实现无参抽象方法 2.3 lambda表达式实现有参抽象方法 2.4 lambad表达式使用代码块 三、lambda表达式调用外部变量 3.1 lambda表达式可以更改类成员变量 3.2 lambda表达式无法更改…

jvs-rules API数据源配置说明(含配置APIdemo视频)

在JVS中,多数据源支持多种形态的数据接入,其中API是企业生产过程中常见的数据形态。使用数据源的集成配置,以统一的方式管理和集成多个API的数据。这些平台通常提供各种数据转换和处理功能,使得从不同数据源获取和处理数据变得更加…

datax-web报错收集

在查看datax时发现日志出现了如上错误,因为项目是部署在本地linux虚拟机上的,使用的是nat网络地址转换,不知道为什么虚拟机的端口号发生了变化,导致数据库根本连接不进去,更新linux虚拟机的ip地址就好

【Wamp】安装 | 局域网内设备访问

安装教程: https://wampserver.site/article/1.html 下载 https://www.wampserver.com/en/ 安装路径上不能有中文 安装好之后图标呈绿色 放入网页文件 将网页文件放置于wamp文件夹的www子文件夹 例如:\Wamp\program\www 修改http端口 WAMP服务器…

9.2.2Socket(TCP)

一.过程: 1.建立连接(不是握手),虽然内核中的连接有很多,但是在应用程序中,要一个一个处理. 2. 获取任务:使用ServerSocket.accept()方法,作用是把内核中的连接获取到应用程序中,这个过程类似于生产者消费者模型. 3. 使用缓冲的时候,注意全缓冲和行缓冲. 4.注意关闭文件资源…

docker复现nginx错误配置漏洞

目录 一、nginx环境搭建 1.1搭建步骤 二、docker复现Nginx配置漏洞 2.1安装docker 2.2复现过程 2.1CRLF(carriage return/line feed)注入漏洞 2.2.目录穿越 一、nginx环境搭建 1.1搭建步骤 1.先创建Nginx的目录并进入(命令如下) mkdir /soft &&…

Word 2019打开.doc文档后图片和公式不显示(呈现为白框)的解决办法

Word 2019打开.doc文档后图片和公式不显示(呈现为白框)的解决办法 目录 Word 2019打开.doc文档后图片和公式不显示(呈现为白框)的解决办法一、问题描述二、解决方法1.打开 WORD 2019,点击菜单中的“文件”;…

管理类联考——逻辑——论证逻辑——汇总篇——真题和典例——推论

推论 1. 推出结论题 199-2011-1-28——推出结论题——若题干无论点,考虑:(1)大多数情况,考虑:直接将选项代入题干。 一般将缅甸所产的经过风化或经河水搬运至河谷、河床中的翡翠大砾石,称为“…

棒球课堂的发展规划·棒球联盟

棒球课堂的发展规划 1. 棒球课堂的发展环境 探讨棒球课堂如何通过运用创新的教学方法来适应不断变化的市场需求。包括但不限于,科学地运用大数据和人工智能技术来提高教学效率,加强教师队伍的专业培训,以及拓展课外活动,增强学生…

【论文阅读】DEPCOMM:用于攻击调查的系统审核日志的图摘要(SP-2022)

Xu Z, Fang P, Liu C, et al. Depcomm: Graph summarization on system audit logs for attack investigation[C]//2022 IEEE Symposium on Security and Privacy (SP). IEEE, 2022: 540-557. 1 摘要 ​ 提出了 DEPCOMM,这是一种图摘要方法,通过将大图划…

【PythonRS】植被显示增强(多光谱、正射、照片等)

很多时候我们需要某个区域的正射图,虽然正射图一般都运用了匀色的算法,整体色彩比较均衡。但如果研究区内有大量的植被,这个时候植被突出显示就很有必要了。所以今天给大家分享一下使用Python对多光谱、正射影像进行植被显示增强的算法。 一、…

视频怎么变成gif表情包?在线视频转动图怎么做?

当我们在电脑上观看视频时,有时会遇到一些有趣的片段,如果想把这些视频转gif图片,就需要用到视频转gif工具(https://www.gif.cn),今天分享一个使用视频在线转gif功能来完成gif制作的方法,下面是…

代谢组学市场分析,制药及生物制药行业正在推动全球代谢组学产业的发展

代谢组学是对某一生物或细胞所有小分子量代谢产物进行定性和定量分析的一门新兴学科,其揭示的小分子代谢产物变化是机体内基因、蛋白质/酶等功能变化的一系列事件的最终结果,直接反映了生物体系的最终状态,可以反映机体特定病理生理状态下整体…

UML-时序图

目录 时序图 时序图构成: 对象: 消息: 生命线(激活): 活动条: 时序图举例: 时序图 时序图也叫顺序图、序列图. 时序图描述按照时间的先后顺序对象之间的动作过程,是由生命线和消息组成 时序图构成: 对象: 对象是类的实例,对象是通过类来创建的&…