spiderChow
12/4/2017 - 9:08 AM

vae

vae 推导

[变分自编码器(VAEs)](https://zhuanlan.zhihu.com/p/25401928)

x -> z -> x

样本的对数似然是单个点的对数似然之和,
单个点的对数似然 = KL(q(z|x)||p(z|x)) + L >= L
最大似然 => 最大变分下界
L = -KL(q(z|x)||p(z)) + log p(x|z)


模型概述:
  encoder:对于x,得到一种x的表示。e.g. sentence x 的表示就是rnn的最后一个hidden。 【可看做p(x)】
  从x经过一番变换(e.g. MLP)得到 mu 和 sigma,从中采样得到z。【看作q(z|x)】
  decoder:从z得到x还原。【看做p(x|z)】
  
  训练时的 loss function = KL + -log(x|z)
  就是变分下界的相反数。
  -logp(x|z)就是交叉熵(伯努利分布时):
    p(x|z)= a^x + (1-a)^(1-x)
    
  测试时:取使p(x|z)最大的