机器学习笔记之Sigmoid信念网络(三)KL散度角度观察醒眠算法

news/2024/10/21 9:13:56/

机器学习笔记之Sigmoid信念网络——KL散度角度观察醒眠算法

引言

上一节介绍了MCMC以及平均场理论变分推断方法的弊端并介绍了醒眠算法(Weak-Sleep Algorithm)。本节将介绍从KL散度(KL Divergence)角度观察醒眠算法的两个迭代步骤。

回顾: 醒眠算法过程

这里以一个比较简单的 Sigmoid \text{Sigmoid} Sigmoid信念网络概率图结构为例:
Sigmoid信念网络概率图结构——简单
醒眠算法包括两个步骤:

  • Weak Phase : \text{Weak Phase :} Weak Phase : 其本质上是通过采样的方式得到一个关于 P ( h ∣ v ) \mathcal P(h \mid v) P(hv)的近似后验。以某具体样本 v ( i ) = v 1 ( i ) v^{(i)} = v_1^{(i)} v(i)=v1(i)为例,它关于隐变量后验概率分布表示如下:
    这里的示例比较简单,样本中仅包含一个随机变量。
    P ( h ( i ) ∣ v ( i ) ) = P ( h 1 ( i ) , h 2 ( i ) ∣ v 1 ( i ) ) \mathcal P(h^{(i)} \mid v^{(i)}) = \mathcal P(h_1^{(i)},h_2^{(i)} \mid v_1^{(i)}) P(h(i)v(i))=P(h1(i),h2(i)v1(i))
    这明显是关于 h 1 ( i ) , h 2 ( i ) h_1^{(i)},h_2^{(i)} h1(i),h2(i)联合后验分布——那么 Weak Phase \text{Weak Phase} Weak Phase是如何实现近似后验的呢? Weak Phase \text{Weak Phase} Weak Phase具体过程表示如下(红色线):
    Weak-Phase过程表示(红色线)
    具体样本 v ( i ) = v 1 ( i ) v^{(i)} = v_1^{(i)} v(i)=v1(i)为基础,对隐变量的后验进行采样。根据概率图模型——贝叶斯网络结构表示红色线部分明显是一个同父结构(Common Parent)。因而在给定(可观测) v 1 ( i ) v_1^{(i)} v1(i)的条件下, h 1 ( i ) , h 2 ( i ) h_1^{(i)},h_2^{(i)} h1(i),h2(i)之间相互独立:
    P ( h 1 ( i ) , h 2 ( i ) ∣ v 1 ( i ) ) = P ( h 1 ( i ) ∣ v 1 ( i ) ) ⋅ P ( h 2 ( i ) ∣ v 1 ( i ) ) \mathcal P(h_1^{(i)},h_2^{(i)} \mid v_1^{(i)}) = \mathcal P(h_1^{(i)} \mid v_1^{(i)}) \cdot \mathcal P(h_2^{(i)} \mid v_1^{(i)}) P(h1(i),h2(i)v1(i))=P(h1(i)v1(i))P(h2(i)v1(i))
    h 1 ( i ) , h 2 ( i ) h_1^{(i)},h_2^{(i)} h1(i),h2(i)各自的后验概率分布分别表示为:
    这里用 R \mathcal R R替代上一节的 r r r,更容易分辨些~
    P ( h 1 ( i ) ∣ v 1 ( i ) ) = { σ ( R v 1 ( i ) → h 1 ( i ) ⋅ v 1 ( i ) ) h 1 ( i ) = 1 1 − σ ( R v 1 ( i ) → h 1 ( i ) ⋅ v 1 ( i ) ) h 1 ( i ) = 0 P ( h 2 ( i ) ∣ v 1 ( i ) ) = { σ ( R v 1 ( i ) → h 2 ( i ) ⋅ v 1 ( i ) ) h 2 ( i ) = 1 1 − σ ( R v 1 ( i ) → h 2 ( i ) ⋅ v 1 ( i ) ) h 2 ( i ) = 0 \mathcal P(h_1^{(i)} \mid v_1^{(i)}) = \begin{cases} \sigma \left(\mathcal R_{v_1^{(i)} \to h_1^{(i)}} \cdot v_1^{(i)}\right) \quad h_1^{(i)} = 1 \\ 1 - \sigma \left(\mathcal R_{v_1^{(i)} \to h_1^{(i)}} \cdot v_1^{(i)}\right) \quad h_1^{(i)} = 0 \\ \end{cases} \\ \mathcal P(h_2^{(i)} \mid v_1^{(i)}) = \begin{cases} \sigma \left(\mathcal R_{v_1^{(i)} \to h_2^{(i)}} \cdot v_1^{(i)}\right) \quad h_2^{(i)} = 1 \\ 1 - \sigma \left(\mathcal R_{v_1^{(i)} \to h_2^{(i)}} \cdot v_1^{(i)}\right) \quad h_2^{(i)} = 0 \\ \end{cases} P(h1(i)v1(i))= σ(Rv1(i)h1(i)v1(i))h1(i)=11σ(Rv1(i)h1(i)v1(i))h1(i)=0P(h2(i)v1(i))= σ(Rv1(i)h2(i)v1(i))h2(i)=11σ(Rv1(i)h2(i)v1(i))h2(i)=0
    至此,已经求出 P ( h 1 ( i ) ∣ v 1 ( i ) ) ⋅ P ( h 2 ( i ) ∣ v 1 ( i ) ) \mathcal P(h_1^{(i)} \mid v_1^{(i)}) \cdot \mathcal P(h_2^{(i)} \mid v_1^{(i)}) P(h1(i)v1(i))P(h2(i)v1(i))结果了,但为什么称它为近似后验呢?很简单,因为 Weak Phase \text{Weak Phase} Weak Phase过程的那两条红色线是自己假设的,真实模型中是不存在的
    因此,使用因子分解的方式将 P ( h 1 ( i ) , h 2 ( i ) ∣ v 1 ( i ) ) \mathcal P(h_1^{(i)},h_2^{(i)} \mid v_1^{(i)}) P(h1(i),h2(i)v1(i))分解成 P ( h 1 ( i ) ∣ v 1 ( i ) ) ⋅ P ( h 2 ( i ) ∣ v 1 ( i ) ) \mathcal P(h_1^{(i)} \mid v_1^{(i)}) \cdot \mathcal P(h_2^{(i)} \mid v_1^{(i)}) P(h1(i)v1(i))P(h2(i)v1(i))的形式并分别求解的结果是近似结果,必然会影响精度。但 Weak Phase \text{Weak Phase} Weak Phase过程并不是追求精度,而是追求效率。这种近似方式所采集的样本仅需要 一次采样过程 即可近似出来,而不是像MCMC要等到平稳分布才可以停止采样。
    虽然‘基于平均场假设变分推断’没有涉及采样,但同样相比不动点方程收敛过程要效率的多。
  • Sleep Phase :  \text{Sleep Phase : } Sleep Phase :  该过程整个是 Sigmoid \text{Sigmoid} Sigmoid信念网络信息的正常传递过程,这个过程是基于模型产生的。也称生成过程
    按照这个顺序得到的结果自然是关于‘观测变量后验概率的结果’ P ( v ′ ∣ h ) \mathcal P(v' \mid h) P(vh),相当于通过模型生成新的样本,自然是生成过程。
    这里的 v ′ v' v表示从模型中产生的样本结果,这个样本不同于 v v v,因为 v v v是从真实分布中产生的样本: v ⇒ P d a t a v \Rightarrow \mathcal P_{data} vPdata;而 v ′ v' v是从模型中产生的样本 v ′ ⇒ P m o d e l v' \Rightarrow \mathcal P_{model} vPmodel.
    关于生成模型建模, P ( v ∣ h ) \mathcal P(v \mid h) P(vh)还是 P ( v , h ) \mathcal P(v,h) P(v,h)均可以。关于联合概率分布 P ( v , h ) \mathcal P(v,h) P(v,h)建模更加熟悉。如EM算法等:
    log ⁡ P ( v ) = log ⁡ ∑ h P ( v , h ) \log \mathcal P(v) = \log \sum_{h} \mathcal P(v,h) logP(v)=loghP(v,h)

KL Divergence \text{KL Divergence} KL Divergence观察醒眠算法

这里将 Sleep Phase \text{Sleep Phase} Sleep Phase生成过程(Generative Connection)看作生成模型的步骤,并使用联合概率分布进行建模:
这里的 θ \theta θ指的就是 Sigmoid \text{Sigmoid} Sigmoid信念网络中表示随机变量结点之间关联关系的模型参数集合 W \mathcal W W.
例如上图中的 W \mathcal W W就表示 { W h 1 ( i ) → v 1 ( i ) ; W h 2 ( i ) → v 1 ( i ) } \left\{\mathcal W_{h_1^{(i)} \to v_1^{(i)}};\mathcal W_{h_2^{(i)} \to v_1^{(i)}}\right\} {Wh1(i)v1(i);Wh2(i)v1(i)}
Generative Model :  P ( v , h ; θ ) θ ⇒ W \text{Generative Model : } \mathcal P(v,h;\theta) \quad \theta \Rightarrow \mathcal W Generative Model : P(v,h;θ)θW

同理,将 Weak Phase \text{Weak Phase} Weak Phase认知过程(Recognization)将其视作模型的形式。通过上面对认知过程的描述,它本质上是对后验概率分布 P ( h ∣ v ) \mathcal P(h \mid v) P(hv)的一个近似。这里使用 Q ( h ∣ v ) \mathcal Q(h \mid v) Q(hv)进行表示,并对它进行建模
同上,符号 ϕ \phi ϕ表示模型 Q ( h ∣ v ) \mathcal Q(h \mid v) Q(hv)的模型参数,也就是上图中反向关联(红色线)的模型参数集合 R \mathcal R R.
上图中的 R \mathcal R R则表示 { R v 1 ( i ) → h 1 ( i ) ; R v 1 ( i ) → h 2 ( i ) } \left\{\mathcal R_{v_1^{(i)} \to h_1^{(i)}};\mathcal R_{v_1^{(i)} \to h_2^{(i)}}\right\} {Rv1(i)h1(i);Rv1(i)h2(i)}
Recognization Model :  Q ( h ∣ v ; ϕ ) ϕ ⇒ R \text{Recognization Model : } \mathcal Q(h \mid v;\phi) \quad \phi \Rightarrow \mathcal R Recognization Model : Q(hv;ϕ)ϕR

观察醒眠算法是如何学习模型参数的:

  • Weak-Phase :  \text{Weak-Phase : } Weak-Phase : 
    • Bottom-up :  \text{Bottom-up : } Bottom-up : 给定真实样本条件下,从隐变量的后验概率分布中进行采样
      { h ( 1 ) , ⋯ , h ( N ) } ∼ Q ( h ∣ v ; ϕ ) \{h^{(1)},\cdots, h^{(N)}\} \sim \mathcal Q(h \mid v;\phi) {h(1),,h(N)}Q(hv;ϕ)

    • Learning Generative Connection :  \text{Learning Generative Connection : } Learning Generative Connection : 基于 Q ( h ∣ v ; ϕ ) \mathcal Q(h \mid v;\phi) Q(hv;ϕ)产生的样本,去近似学习生成过程 的参数信息。那么对应的目标函数可表示为:

      1. 就是使用‘蒙特卡洛方法’进行近似。
      2. 添加一个 log ⁡ \log log,不影响最值取值的变化。
      3. 这里 P ( v , h ( i ) ; θ ) \mathcal P(v,h^{(i)};\theta) P(v,h(i);θ)中的 v v v是真实的训练样本。
      4. 在近似求解模型参数 θ \theta θ的过程中,也就是 Weak Phase \text{Weak Phase} Weak Phase过程中,关于 Q ( h ∣ v ; ϕ ) \mathcal Q(h \mid v;\phi) Q(hv;ϕ)是给定的。即求解 W \mathcal W W步骤中, R \mathcal R R是给定的。初始状态下自然需要一个随机初始化的 R \mathcal R R.
        E Q ( h ∣ v ; ϕ ) [ log ⁡ P ( v , h ; θ ) ] ≈ 1 N ∑ i = 1 N log ⁡ P ( v , h ( i ) ; θ ) \mathbb E_{\mathcal Q(h \mid v;\phi)} \left[\log \mathcal P(v,h;\theta)\right] \approx \frac{1}{N} \sum_{i=1}^{N} \log \mathcal P(v,h^{(i)};\theta) EQ(hv;ϕ)[logP(v,h;θ)]N1i=1NlogP(v,h(i);θ)

      那么关于模型参数 θ \theta θ的最优解 θ ^ \hat \theta θ^可表示为:
      θ ^ = arg ⁡ max ⁡ θ E Q ( h ∣ v ; ϕ ) [ log ⁡ P ( v , h ; θ ) ] \begin{aligned} \hat \theta & = \mathop{\arg\max}\limits_{\theta} \mathbb E_{\mathcal Q(h \mid v;\phi)} \left[\log \mathcal P(v,h;\theta)\right] \\ \end{aligned} θ^=θargmaxEQ(hv;ϕ)[logP(v,h;θ)]
      这实际上就是求解 证据下界(Evidence Lower Bound,ELBO) 的最优解:
      H [ Q ( h ∣ v ; ϕ ) ] \mathcal H \left[\mathcal Q(h \mid v;\phi)\right] H[Q(hv;ϕ)]表示近似后验分布 Q ( h ∣ v ; ϕ ) \mathcal Q(h \mid v;\phi) Q(hv;ϕ)的熵。
      { log ⁡ P ( v ) = ELBO + KL [ Q ( h ∣ v ; ϕ ) ∣ ∣ P ( v , h ; θ ) ] ELBO = ∑ h Q ( h ∣ v ; ϕ ) ⋅ log ⁡ P ( h , v ; θ ) Q ( h ∣ v ; ϕ ) = E Q ( h ∣ v ; ϕ ) [ log ⁡ P ( h , v ; θ ) Q ( h ∣ v ; ϕ ) ] = E Q ( h ∣ v ; ϕ ) [ log ⁡ P ( h , v ; θ ) ] + H [ Q ( h ∣ v ; ϕ ) ] \begin{cases} \log \mathcal P(v) = \text{ELBO} + \text{KL} \left[\mathcal Q(h \mid v;\phi)||\mathcal P(v,h;\theta)\right] \\ \begin{aligned}\text{ELBO} & = \sum_{h} \mathcal Q(h \mid v;\phi) \cdot \log \frac{\mathcal P(h,v;\theta)}{\mathcal Q(h \mid v;\phi)}\\ & = \mathbb E_{\mathcal Q(h \mid v;\phi)} \left[\log \frac{\mathcal P(h,v;\theta)}{\mathcal Q(h \mid v;\phi)}\right] \\ & = \mathbb E_{\mathcal Q(h \mid v;\phi)} \left[\log \mathcal P(h,v;\theta)\right] + \mathcal H \left[\mathcal Q(h \mid v;\phi)\right] \end{aligned} \end{cases} logP(v)=ELBO+KL[Q(hv;ϕ)∣∣P(v,h;θ)]ELBO=hQ(hv;ϕ)logQ(hv;ϕ)P(h,v;θ)=EQ(hv;ϕ)[logQ(hv;ϕ)P(h,v;θ)]=EQ(hv;ϕ)[logP(h,v;θ)]+H[Q(hv;ϕ)]
      由于在 Weak Phase \text{Weak Phase} Weak Phase步骤中 ϕ \phi ϕ是已知参数,因而可以将 H [ Q ( h ∣ v ; ϕ ) ] \mathcal H\left[\mathcal Q(h \mid v;\phi)\right] H[Q(hv;ϕ)]看作是一个已知的常量。而求解最值时,常量对最值结果不影响。
      θ ^ = arg ⁡ max ⁡ θ ELBO = arg ⁡ max ⁡ θ { E Q ( h ∣ v ; ϕ ) [ log ⁡ P ( h , v ; θ ) ] + H [ Q ( h ∣ v ; ϕ ) ] ⏟ = C } = arg ⁡ max ⁡ θ { E Q ( h ∣ v ; ϕ ) [ log ⁡ P ( h , v ; θ ) ] } \begin{aligned} \hat \theta & = \mathop{\arg\max}\limits_{\theta} \text{ELBO} \\ & = \mathop{\arg\max}\limits_{\theta} \left\{\mathbb E_{\mathcal Q(h \mid v;\phi)} \left[\log \mathcal P(h,v;\theta)\right] + \underbrace{\mathcal H \left[\mathcal Q(h \mid v;\phi)\right]}_{=\mathcal C} \right\} \\ & = \mathop{\arg\max}\limits_{\theta} \left\{\mathbb E_{\mathcal Q(h \mid v;\phi)} \left[\log \mathcal P(h,v;\theta)\right] \right\} \end{aligned} θ^=θargmaxELBO=θargmax EQ(hv;ϕ)[logP(h,v;θ)]+=C H[Q(hv;ϕ)] =θargmax{EQ(hv;ϕ)[logP(h,v;θ)]}
      将最初始的期望求解最值问题转化为 ELBO \text{ELBO} ELBO求解最值问题,其作用是什么?
      自然是将 求解 θ \theta θ最优解转化为概率分布 Q ( h ∣ v ; ϕ ) \mathcal Q(h \mid v;\phi) Q(hv;ϕ)和分布 P ( h , v ; θ ) \mathcal P(h,v;\theta) P(h,v;θ)之间的相关性比较 ELBO \text{ELBO} ELBO最大,意味着 KL [ Q ( h ∣ v ; ϕ ) ∣ ∣ P ( h ∣ v ; θ ) ] \text{KL} \left[\mathcal Q(h \mid v;\phi)|| \mathcal P(h \mid v;\theta)\right] KL[Q(hv;ϕ)∣∣P(hv;θ)]达到最小,此时分布 Q ( h ∣ v ; θ ) \mathcal Q(h \mid v;\theta) Q(hv;θ)和分布 P ( h ∣ v ; θ ) \mathcal P(h \mid v;\theta) P(hv;θ)是最相似的

  • Sleep Phase :  \text{Sleep Phase : } Sleep Phase : 
    • Top-Down \text{Top-Down} Top-Down Weak Phase \text{Weak Phase} Weak Phase步骤相对应,上一步骤求解出的 θ ^ \hat \theta θ^结果进行固定,并从 P ( h , v ; θ ^ ) \mathcal P(h,v;\hat {\theta}) P(h,v;θ^)中进行采样
      此时已经不仅仅采样隐变量了,并且还会采样出‘虚拟的观测变量’。
      { h ( 1 ) , v ′ ( 1 ) , ⋯ , h ( N ) , v ′ ( N ) } ∼ P ( v , h ∣ θ ^ ) \{h^{(1)},v^{'(1)},\cdots,h^{(N)},v^{'(N)}\} \sim \mathcal P(v,h \mid \hat \theta) {h(1),v(1),,h(N),v(N)}P(v,hθ^)
    • 基于 P ( h ( i ) , v ( i ) ; θ ^ ) \mathcal P(h^{(i)},v^{(i)};\hat \theta) P(h(i),v(i);θ^)中采出的样本,去近似学习认知过程的参数信息。具体目标函数可表示为:
      对应步骤和 Weak Phase \text{Weak Phase} Weak Phase相似,需要注意 Q ( h ( i ) ∣ v ′ ( i ) ∣ ; ϕ ) \mathcal Q(h^{(i)} \mid v^{'(i)} \mid ;\phi) Q(h(i)v(i);ϕ)
      E P ( h , v ; θ ^ ) [ log ⁡ Q ( h ∣ v ; ϕ ) ] ≈ 1 N ∑ i = 1 N log ⁡ Q ( h ( i ) ∣ v ′ ( i ) ; ϕ ) \begin{aligned} \mathbb E_{\mathcal P(h,v; \hat \theta)} \left[\log \mathcal Q(h \mid v;\phi)\right] \approx \frac{1}{N} \sum_{i=1}^N \log \mathcal Q(h^{(i)} \mid v^{'(i)};\phi) \end{aligned} EP(h,v;θ^)[logQ(hv;ϕ)]N1i=1NlogQ(h(i)v(i);ϕ)
      对应的最优参数 ϕ ^ \hat \phi ϕ^可表示为:
      ϕ ^ = arg ⁡ max ⁡ ϕ { E P ( h , v ; θ ^ ) [ log ⁡ Q ( h ∣ v ; ϕ ) ] } \hat \phi = \mathop{\arg\max}\limits_{\phi} \left\{\mathbb E_{\mathcal P(h,v; \hat \theta)} \left[\log \mathcal Q(h \mid v;\phi)\right]\right\} ϕ^=ϕargmax{EP(h,v;θ^)[logQ(hv;ϕ)]}
      观察,上述表达式和 ELBO \text{ELBO} ELBO之间是否存在关联关系?对上式进行化简
      1. 首先将期望展开
        关于这里确实存在一些个人疑问:为什么不去对 v v v进行积分。因为在 Sleep Phase \text{Sleep Phase} Sleep Phase中, v v v也是从 P ( h , v ; θ ^ ) \mathcal P(h,v;\hat \theta) P(h,v;θ^)中生成出来的虚拟样本,不同于 Weak Phase \text{Weak Phase} Weak Phase的真实样本,为什么它可以不用积分?
        ϕ ^ = arg ⁡ max ⁡ ϕ ∑ h P ( h , v ; θ ^ ) log ⁡ Q ( h ∣ v ; ϕ ) \hat \phi = \mathop{\arg\max}\limits_{\phi} \sum_{h} \mathcal P(h,v;\hat \theta) \log \mathcal Q(h \mid v;\phi) ϕ^=ϕargmaxhP(h,v;θ^)logQ(hv;ϕ)
      2. 使用条件概率公式 P ( h , v ; θ ^ ) \mathcal P(h,v;\hat \theta) P(h,v;θ^)展开,并转换成如下形式:
        分解出的 P ( v ; θ ) \mathcal P(v;\theta) P(v;θ)明显是不含参数 ϕ \phi ϕ,并且也不含隐变量 h h h,将其从积分号中提出来,并视作常数,忽略掉。
        ϕ ^ = arg ⁡ max ⁡ ϕ ∑ h P ( v ; θ ) ⋅ P ( h ∣ v ; θ ) log ⁡ Q ( h ∣ v ; ϕ ) = arg ⁡ max ⁡ ϕ [ P ( v ; θ ) ⋅ ∑ h P ( h ∣ v ; θ ) log ⁡ Q ( h ∣ v ; ϕ ) ] = arg ⁡ max ⁡ ϕ [ ∑ h P ( h ∣ v ; θ ) log ⁡ Q ( h ∣ v ; ϕ ) ] \begin{aligned} \hat \phi & = \mathop{\arg\max}\limits_{\phi} \sum_{h} \mathcal P(v;\theta) \cdot \mathcal P(h \mid v;\theta) \log \mathcal Q(h \mid v;\phi)\\ & = \mathop{\arg\max}\limits_{\phi} \left[\mathcal P(v;\theta) \cdot \sum_{h} \mathcal P(h \mid v;\theta) \log \mathcal Q(h \mid v;\phi)\right] \\ & = \mathop{\arg\max}\limits_{\phi} \left[\sum_{h} \mathcal P(h \mid v;\theta) \log \mathcal Q(h \mid v;\phi)\right] \end{aligned} ϕ^=ϕargmaxhP(v;θ)P(hv;θ)logQ(hv;ϕ)=ϕargmax[P(v;θ)hP(hv;θ)logQ(hv;ϕ)]=ϕargmax[hP(hv;θ)logQ(hv;ϕ)]
      3. 步骤2的基础上,加入一个辅助项 [ − ∑ h P ( h ∣ v ; θ ) log ⁡ P ( h ∣ v ; θ ) ] \left[-\sum_h \mathcal P(h \mid v;\theta) \log \mathcal P(h \mid v;\theta)\right] [hP(hv;θ)logP(hv;θ)]
        因为该项中根本不包含任何关于参数 ϕ \phi ϕ的信息,可以将其视作常数,不影响 ϕ \phi ϕ的取值。
        这里将符号和 argmax \text{argmax} argmax合并了~
        ϕ ^ = arg ⁡ max ⁡ ϕ [ ∑ h P ( h ∣ v ; θ ) log ⁡ Q ( h ∣ v ; ϕ ) − ∑ h P ( h ∣ v ; θ ) log ⁡ P ( h ∣ v ; θ ) ] = arg ⁡ max ⁡ ϕ [ ∑ h P ( h ∣ v ; θ ) log ⁡ Q ( h ∣ v ; ϕ ) P ( h ∣ v ; θ ) ] = arg ⁡ min ⁡ ϕ KL [ P ( h ∣ v ; θ ) ∣ ∣ Q ( h ∣ v ; ϕ ) ] \begin{aligned} \hat \phi & = \mathop{\arg\max}\limits_{\phi} \left[\sum_{h} \mathcal P(h \mid v;\theta) \log \mathcal Q(h \mid v;\phi) - \sum_h \mathcal P(h \mid v;\theta) \log \mathcal P(h \mid v;\theta)\right] \\ & = \mathop{\arg\max}\limits_{\phi} \left[\sum_h \mathcal P(h \mid v;\theta) \log \frac{\mathcal Q(h \mid v;\phi)}{\mathcal P(h \mid v;\theta)}\right] \\ & = \mathop{\arg\min}\limits_{\phi} \text{KL} \left[\mathcal P(h \mid v;\theta) || \mathcal Q(h \mid v;\phi)\right] \end{aligned} ϕ^=ϕargmax[hP(hv;θ)logQ(hv;ϕ)hP(hv;θ)logP(hv;θ)]=ϕargmax[hP(hv;θ)logP(hv;θ)Q(hv;ϕ)]=ϕargminKL[P(hv;θ)∣∣Q(hv;ϕ)]

比对一下 Weak Phase \text{Weak Phase} Weak Phase Sleep Phase \text{Sleep Phase} Sleep Phase之间关于模型参数的描述:
{ θ ^ = arg ⁡ min ⁡ θ KL [ Q ( h ∣ v ; ϕ ) ∣ ∣ P ( h ∣ v ; θ ) ] ϕ ^ = arg ⁡ min ⁡ ϕ KL [ P ( h ∣ v ; θ ) ∣ ∣ Q ( h ∣ v ; ϕ ) ] \begin{cases} \hat \theta = \mathop{\arg\min}\limits_{\theta} \text{KL} \left[\mathcal Q(h \mid v;\phi)|| \mathcal P(h\mid v;\theta)\right] \\ \hat \phi = \mathop{\arg\min}\limits_{\phi} \text{KL} \left[\mathcal P(h \mid v;\theta) || \mathcal Q(h \mid v;\phi)\right] \end{cases} θ^=θargminKL[Q(hv;ϕ)∣∣P(hv;θ)]ϕ^=ϕargminKL[P(hv;θ)∣∣Q(hv;ϕ)]
很明显,这两个步骤对于模型参数的优化分别基于不同的 KL Divergence \text{KL Divergence} KL Divergence。也就是说,这两个参数的更新并没有共用同一个目标函数
注意 KL Divergence \text{KL Divergence} KL Divergence中分布顺序与结果之间存在差异。没有什么交换律~

这也是该算法被称为启发式算法的原因,无法确定参数 ϕ , θ \phi,\theta ϕ,θ是否能够收敛成稳定形式。因而这种方式只能适用于某些模型

如果将醒眠算法广义 EM \text{EM} EM算法的迭代思路进行对比的话,发现EM算法无论是E步还是M步,它们均有相同的目标函数——使 ELBO \text{ELBO} ELBO达到最大

醒眠算法不同。求解 θ ^ \hat \theta θ^中的 v v v真实样本;而 ϕ ^ \hat \phi ϕ^中的 v v v模型生成的虚拟样本,实际上在 Sleep Phase \text{Sleep Phase} Sleep Phase步骤中,参数更新已经在发生偏移了。
关于 Sleep Phase \text{Sleep Phase} Sleep Phase的另一层含义是,不同于 Weak Phase \text{Weak Phase} Weak Phase真实样本作为条件, Sleep Phase \text{Sleep Phase} Sleep Phase最初始状态是以入度为零的隐变量结点作为条件。而隐变量就是认人为假定模型中的变量信息。因而都是虚拟样本
在花书P371页下方也称其为‘幻想粒子’(Fantasy Particle)。在配分函数——随机最大似然中也提到过这个词。

至此,关于 Sigmoid \text{Sigmoid} Sigmoid信念网络部分介绍到此结束。下一节将介绍深度玻尔兹曼机(Deep Boltzmann Machine,DBM)。

相关参考:
(系列二十六)Sigmoid Belief Network5-醒眠算法-KL Divergence
(系列二十六)Sigmoid Belief Network5-醒眠算法-KL Divergence续


http://www.ppmy.cn/news/414663.html

相关文章

社区发现算法——KL算法

K-L(Kernighan-Lin)算法 原始论文(An efficient heuristic procedure for partitioning graphs) K-L(Kernighan-Lin)算法是一种将已知网络划分为已知大小的两个社区的二分方法,它是一种贪婪算法。 它的主要思想是为…

MPEG2和MPEG4视频编码的比较

1 MPEG-2技术 MPEG-2的初衷是为广播级电视质量(CCIR601格式)的视音频信号定义的压缩编码标准,但最终结果是成为了一个通用的标准,能在很大范围内对不同分辨率和不同输出比特率的图像信号进行有效编码。 MPEG-2的编码技术主要基于…

KL25嵌入式实验考核

KL25嵌入式实验考核( 6/43 ) 404 页面找不到 说明资源在审核中... 1. 利用 KL25 小板实现:控制红色 LED 灯每隔 2 秒钟亮暗变换的同时 在 PC 机上显示 MCU 的计时时间,MCU 的初始时间由 PC 设置。/ 百度云备用:密码ub5t 2. 利…

Kullback-Leibler(KL)散度介绍

在这篇文章中,我们将探讨一种比较两个概率分布的方法,称为Kullback-Leibler散度(通常简称为KL散度)。通常在概率和统计中,我们会用更简单的近似分布来代替观察到的数据或复杂的分布。KL散度帮助我们衡量在选择近似值时损失了多少信息。 让我们…

关于PCA主成分分析与KL变换

最近看了PCA主成分分析,其中KL变化是其中的一种方法 具体的原理我转载了以下文章 http://blog.csdn.net/kingskyleader/article/details/7734710 先贴一记代码 clear all; close all; N=500; for i=1:Nx1(1,i)=-2+0.8*randn(1);x1(2,i)=-1+0.9*randn(1);x1(3,i)= 2+0.7*ran…

版图设计心得

过去的一周,经过没日没夜的layout,感觉自己确实成为了一名已经入门的layout machine。在这里总结一下layout的心得 版图设计的概念 版图设计的目的是把设计好的电路的原理图变成可以生产在硅片上的实际电路。最后经过版图提取形成gds文件格式&#xff…

电路期末考试复习提纲(考点知识点概览)

笔者博客另有数据结构 期末考试等复习提纲及知识点集萃 【陆续更新大学生期末考试各科复习要点】 电路期末考试复习提纲(考点知识点概览) 一、前言二、各章节考点1.第一章 电路的基本概念与基本定律2.第二章 电路分析的基本方法3.第三章 交流稳态电路分析…

华为服务器u盘安装win系统,华为电脑u盘重装系统win10教程

目前华为的品牌做得响亮,华为的电脑自然也有一定的销量。最近小编身边的朋友有问道华为电脑如何通过u盘重装win10系统,于是小编我就整理了一篇华为电脑u盘重装系统win10教程,希望这篇教程能帮助有需要重装win10系统的人。话不多说&#xff0c…