变分自编码(VAE)

1.变分自编码(VAE)是连续无限维高斯分布的混合模型

2.给定Z,变量X所服从的分布可以据具体情况而定,一般是高斯分布

3.利用变分推断对VAE模型进行参数学习

4.学习过程中,根据样本求得后验是编码过程,给定隐变量求解参数是译码过程

变分自编码,英文是Variational AutoEncoder,简称VAE。它是包含隐变量的一种模型。

注:变分推断(Variational Inference)

模型表示

最简单的latent Variable Model(隐变量模型)是高斯混合模型(GMM),它是k个高斯分布的混合模型(隐状态z服从离散分布,给定z,变量x服从高斯分布)。

注:高斯混合模型(GMM)

变分自编码(VAE)无限维高斯分布的混合模型。在很多场景中,隐变量z其实是连续的更加合理,而且扩展到无穷维上,因此,在VAE里面,我们所做的假设是:

变分自编码(VAE)_第1张图片

我们的想法是用神经网络去逼近概率分布,而不是采取最大似然估计的方式。对于观测变量x,其概率分布是:

因为z是高维的,上面概率分布一般情况是算不出来,因此,后验p(z|x)也无法计算得到。

推断&学习

我们来看看对于给定先验p(z),如何求得其后验p(z|x)。主要是采取变分推断(VI)的思想。由于p(z|x)是intractable,我们用另外一个分布去逼近它:

这里不再做详细的推导,只给出重要的结论,在变分推断中,我们有:

由于p(z|x)无法直接求解,我们用q(z)去逼近它,也就是使得KL散度最小,然后再找出使得ELBO最大的参数:

变分自编码(VAE)_第2张图片

最后我们采取SGVI(随机梯度变分推断)进行求解。

我们来看看最后优化的式子:

要使得上式最大,那么散度应该最小,即尽可能使得后验q(z|x)逼近先验分布p(z):

而我们真正要求的是,给定隐变量z条件下,条件分布在后验分布的期望值:

变分自编码(VAE)_第3张图片

因此,可以理解为,目标函数是p(x|z),p(z)是一个正则项,使得后验趋近其假设——高斯分布:

变分自编码(VAE)_第4张图片

用图表示如下:

变分自编码(VAE)_第5张图片

我们在训练过程(学习)中,能观测到的是样本x,用x去确定一个后验P(z|x),这个过程叫编码;然后有了z,我们基于P(x|z)用MCMC生成样本,这个过程叫做译码

这个就是为什么把这个模型叫做变分自编码的原因。它最终求解的参数样本不是来自采集到的样本数据,而是通过编码后利用蒙特卡洛方法生成的。

你可能感兴趣的:(神经网络,机器学习,人工智能,正则化,js)