人工智能

近似推断|机器学习推导系列(二十七)

2021-03-28  本文已影响0人  酷酷的群

一、推断的动机和困难

  1. 推断的动机

推断问题是在概率图模型中经常遇到的问题,也就是给定观测变量v的情况下求解后验p(h|v),这里的h是隐变量(注意原来我们常用zx来表示隐变量和观测变量,不过在深度学习中我们更倾向于使用hv来表示隐变量和观测变量)。

那么为什么推断问题是重要的呢?也就是说推断的动机是什么呢?推断的动机主要包括以下两个方面:
①推断本身是有意义的。推断问题事实上是一种对原因的追溯,在给定观测的情况下来求解它的原因,因此推断本身是有意义的。
②为参数的学习提供帮助。回想EM算法中,我们期待引入的分布q(z)能近似后验分布p(z|x),然后才能利用求解参数\theta,因此推断问题能够帮助求解参数。

  1. 推断的困难

不幸的是推断问题往往是困难的,在大多数情况下,精确推断往往计算复杂度过高以致于几乎不可能进行,因此我们很多时候需要采用一些近似推断的方法。

举例来说,像下图中的玻尔兹曼机,作为无向图模型其节点之间是相互联系和影响的,难以求解,也就是mutual interaction,而只有对模型进行一些限制,比如受限玻尔兹曼机,才可以有求解的方法,然而这样的限制必定会限制模型的能力。另外对于深度玻尔兹曼机,以下图中三层结构为例,在给定其中两层时另外一层才会条件独立,否则仍然会有复杂度过高的问题。而对于有向图模型,比如sigmoid信念网络,其中存在head-to-head结构,又会造成explain away问题,仅仅在一些特殊情况下可解比如线性高斯模型:

概率图模型

二、推断即优化

在前面的EM算法和变分推断的章节中我们已经感受过了,求解推断问题的过程是引入一个分布q(h|v)并且将log似然转化成ELBO和KL散度的和,目标是让ELBO尽可能地大,于是推断问题就成了一个优化问题。具体的,有数据v\in V,对于log似然:

\mathrm{log\mbox{-}likelihood}:\sum _{v\in V}log\; p(v)

对于log\; p(v),我们有:

log\; p(v)=log\frac{p(v,h)}{p(h|v)}\\ =log\frac{p(v,h)}{q(h|v)}\frac{q(h|v)}{p(h|v)}\\ =log\frac{p(v,h)}{q(h|v)}+log\frac{q(h|v)}{p(h|v)}\\ =\int log\frac{p(v,h)}{q(h|v)}q(h|v)\mathrm{d}h+\int log\frac{q(h|v)}{p(h|v)}q(h|v)\mathrm{d}h\\ =E_{q(h|v)}\left [log\frac{p(v,h)}{q(h|v)}\right ]+KL(q(h|v)||p(h|v))\\ =E_{q(h|v)}\left [log\; p(v,h)-log\; q(h|v)\right ]+KL(q(h|v)||p(h|v))\\ =\underset{ELBO=L(v,h,q)}{\underbrace{E_{q(h|v)}\left [log\; p(v,h)\right ]+H[q]}}+\underset{KL(q||p)}{\underbrace{KL(q(h|v)||p(h|v))}}

上一篇下一篇

猜你喜欢

热点阅读