为什么是变分推理而不是最大似然?

机器算法验证 最大似然 变分贝叶斯
2022-03-27 19:14:36

当使用变分推理方案时,我们假设潜在变量z, 模型p(x,z), 并最大化logp(x).

引入变分分布q(z),损失(负ELBO)可以写成:E[logp(x)]+KL[q(z)||p(z)]. 在摊销推理中,我们建模q(z|x),它与重新参数化技巧一起给出了所谓的变分自动编码器模型(VAE)。

我的问题是,为什么不从我们想要最大化的事实开始logp(x)和写

logp(x)=logp(x|z)p(z)dz=Ep(z)[logp(x|z)]
现在我们可以通过从蒙特卡洛采样来优化它p(z).

问题是我们没有真正得到真正的后验p(z|x)? 如果是这样,为什么我们真的关心后路?分配q(z)无论如何都是真实后验的近似值(通常不是很好),而 ELBO只是我们试图最大化的函数的下限。

还是我们总是需要第二项作为正则化?在那种情况下,我们为什么要近似后验p(z|x), 并且不进行正则化p(z). 正如我所见,一切都是棘手的,因此当我们在多个级别上进行近似时,没有太多使用严格的贝叶斯行为。

一个例子是 GMM 模型。我们可以将参数(均值、方差...)设置为可学习的,并通过基于梯度的数据优化来学习。

1个回答

您使用的方程式不正确:

logp(x)logp(x|z)p(z)dz=Ep(z)[logp(x|z)].

您不允许推送登录。而是:

logp(x)=logp(x|z)p(z)dz=logEp(z)[p(x|z)].

您现在可以从日志中采样,但是您将无法获得无偏估计。

另一种选择是使用 Jensen 的恒等式来获得下限并对其进行优化。这正是变分推理所做的。