变分自编码器(VAE)的原理介绍和公式推导

初学者可以先看看苏剑林的这篇博客 https://kexue.fm/archives/5253,本文主要是在公式推导方面

1.VAE的总体思想

VAE就是让样本 变分自编码器(VAE)的原理介绍和公式推导 通过一个编码器(Encoder)输入到一个分布隐变量(latent variable)空间上去,这个隐变量空间猛地一听有点唬人,其实可以把它当成一个分布,比如正态分布。然后从这个隐空间上采样一个数据,再通过解码器(Decoder)输出 变分自编码器(VAE)的原理介绍和公式推导,使得 变分自编码器(VAE)的原理介绍和公式推导 与 变分自编码器(VAE)的原理介绍和公式推导 尽可能的一样。

 

变分自编码器(VAE)的原理介绍和公式推导

(图片来自苏剑林博客)

如果像这个图的话,我们其实完全不清楚:究竟经过重新采样出来的变分自编码器(VAE)的原理介绍和公式推导,是不是还对应着原来的变分自编码器(VAE)的原理介绍和公式推导

所以VAE的结构是这样的

变分自编码器(VAE)的原理介绍和公式推导

(图片来自苏剑林博客)

vae 是为每个样本构造专属的正态分布,然后采样来重构

2. 数学原理推导

现在我们假设知道的确有这样的 latent variables,但是我们不知道它到底是一个怎样的分布,现在能够观测到的就是样本 变分自编码器(VAE)的原理介绍和公式推导 ,我们希望在给定 变分自编码器(VAE)的原理介绍和公式推导 的条件下去推出 变分自编码器(VAE)的原理介绍和公式推导 的分布,即 变分自编码器(VAE)的原理介绍和公式推导

根据贝叶斯定理,可得:

变分自编码器(VAE)的原理介绍和公式推导

然而,这个后验概率 变分自编码器(VAE)的原理介绍和公式推导 无法计算,因为 变分自编码器(VAE)的原理介绍和公式推导 无法计算。所以我们用一个我们可求解的分布 变分自编码器(VAE)的原理介绍和公式推导 去近似这个 变分自编码器(VAE)的原理介绍和公式推导 。

那么怎么度量两个分布之间的近似关系呢? 这个时候KL散度就上场了。

KL散度的公式为:

变分自编码器(VAE)的原理介绍和公式推导

所以为了让已知分布 变分自编码器(VAE)的原理介绍和公式推导 和 变分自编码器(VAE)的原理介绍和公式推导 近似,KL散度公式就变成了,

变分自编码器(VAE)的原理介绍和公式推导 

分母是用贝叶斯定理得到的。我们的目的要最小化这个公式,接下来就是把公式拆开

变分自编码器(VAE)的原理介绍和公式推导

变分自编码器(VAE)的原理介绍和公式推导(因为变分自编码器(VAE)的原理介绍和公式推导是可解的,所以它变分自编码器(VAE)的原理介绍和公式推导是1)

把第二项提前

变分自编码器(VAE)的原理介绍和公式推导

变分自编码器(VAE)的原理介绍和公式推导 是已经给定的,所以虽然我不知道 变分自编码器(VAE)的原理介绍和公式推导是多少,但它的确肯定是个定值,于是最小化变分自编码器(VAE)的原理介绍和公式推导 相当于最小化后两项

令 变分自编码器(VAE)的原理介绍和公式推导

变分自编码器(VAE)的原理介绍和公式推导

变分自编码器(VAE)的原理介绍和公式推导

变分自编码器(VAE)的原理介绍和公式推导

最小化变分自编码器(VAE)的原理介绍和公式推导,等于最大化变分自编码器(VAE)的原理介绍和公式推导,也就是说最大化

变分自编码器(VAE)的原理介绍和公式推导

变分自编码器(VAE)的原理介绍和公式推导

这个式子的第一项的意思是,不断在 z 上采样,然后使得重构的样本变分自编码器(VAE)的原理介绍和公式推导 与原始样本 变分自编码器(VAE)的原理介绍和公式推导的最接近。

第二项就是说使得我们假设的后验证分布 变分自编码器(VAE)的原理介绍和公式推导和先验分布 变分自编码器(VAE)的原理介绍和公式推导 尽量接近,这里的后验分布是我们可求解的,先验分布 变分自编码器(VAE)的原理介绍和公式推导 和 一开始的变分自编码器(VAE)的原理介绍和公式推导 不是一回事,一开始的变分自编码器(VAE)的原理介绍和公式推导 我们是没办法知道的,而这个先验分布变分自编码器(VAE)的原理介绍和公式推导 我们是可以人为定义的,在论文中将这个先验分布定义为标准正态分布 变分自编码器(VAE)的原理介绍和公式推导,而 后验分布 变分自编码器(VAE)的原理介绍和公式推导  其实就是图二当中的这一部分,如下图,它是可以通过神经网络得到的。

变分自编码器(VAE)的原理介绍和公式推导

所以整个VAE的图就变成了

变分自编码器(VAE)的原理介绍和公式推导

所以讲标准正态分布带入到第二项中,就变成了

变分自编码器(VAE)的原理介绍和公式推导

其实整个VAE到这里说的已经差不多了,里面还有一个重参数技巧,主要处理的是反向传播的求导问题

3.重参数技巧

变分自编码器(VAE)的原理介绍和公式推导

由图三可知,变分自编码器(VAE)的原理介绍和公式推导 都是采样得到的,但是 “采样” 这个操作是不可导的,而采样的结果是可导的。所以利用

变分自编码器(VAE)的原理介绍和公式推导

也就是从变分自编码器(VAE)的原理介绍和公式推导 中采样一个Z,相当于从变分自编码器(VAE)的原理介绍和公式推导中采样一个ε,然后让 变分自编码器(VAE)的原理介绍和公式推导

于是,我们将从变分自编码器(VAE)的原理介绍和公式推导 采样变成了从变分自编码器(VAE)的原理介绍和公式推导 中采样,然后通过参数变换得到从变分自编码器(VAE)的原理介绍和公式推导 中采样的结果。这样一来,“采样” 这个操作就不用参与梯度下降了,改为采样的结果参与,使得整个模型可训练了。

以上就是VAE的全部推导和原理解释了。

 

参考 

https://kexue.fm/archives/5253

变分自编码器介绍、推导及实现 - Hola的文章