[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)

论文地址:

Auto-Encoding Variational Bayes

Tutorial on Variational Autoencoders

 

强烈建议看上方链接的第二篇,是一篇通俗易懂的变分自编码的教程,本文也是基于这篇教程

Variational Autoencoders

变分自编码器作为一种生成模型,类似GANs,使用一个潜变量(latent variable)z来生成x

其中举了一个例子关于latent variable z是什么

假设我们要生成0-9的图片

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第1张图片

 

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第2张图片

是我们用来进行maximum likelihood最大似然估计的概率,其中

 

在VAE(Variational Auto-Encoding )中,基于z的输出x分布存于高斯分布

其中为期望,为方差,I为单位矩阵(identity matrix),为超参数

首先,我们如何选择z来捕捉我们需要的隐藏信息呢,在VAE中,采用了让z服从于高斯分布

但是为什么z服从于高斯分布就可以生成x呢,文中举了一个例子

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第3张图片

上图中的左图为高斯分布中随机采样出的z,我们想要让这些点形成一个环得到X

其中,就可以得到上图中右图的效果

下图中的这段文字解释了为什么高斯分布的z可以达到这样的效果

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第4张图片

 

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第5张图片

生成模型如上图所示,从z中进行N次采样进行生成X

我们想要最大化,其中

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第6张图片

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第7张图片

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第8张图片

对上式使用贝叶斯得到

整理得到

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第9张图片

Q将X进行encoding到z,P将z进行decoding到X,这就是编码器的体现

对于(5)的等式左边是我们需要优化的

对于(5)的等式右边是我们需要计算的

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第10张图片

对于使用采样估计

 

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第11张图片

上图左图就是整个变分自编码的网络,有两个loss,一个是KL散度,一个是X和生成的X之间的交叉熵

但是我们看到这个部分,是无法使用梯度下降进行反向传播的,因此在这里采用了reparameterization trick,也就是在N(0,I)上进行采样,然后使用协方差乘上加上期望来得到z,也就是上图右图所示的方法

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第12张图片

 

在最终应用阶段和测试阶段,只需要decoder网络,输入从N(0,I)中随机采样的z,就可以得到生成的X

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第13张图片

 

Conditional Variational Autoencoders

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第14张图片

 

其中X为输入(条件condition),Y为我们期望的输出

[深度学习从入门到女装]变分自编码器(Auto-Encoding Variational Bayes)_第15张图片

你可能感兴趣的:(深度学习)