VAE-GAN联合模型:Autoencoding beyond pixels using a learned similarity metric

目录

一、背景

二、具有学习相似性的自动编码

2.1、Beyond element-wise reconstruction error with VAE/GAN

三、代码


一、背景

        深度架构允许广泛的判别模型扩展到大型和多样化的数据集,然而,生成模型仍然存在图像和声音等复杂数据分布的问题。在这项工作中,本文表明,目前使用的相似性度量对学习良好的生成模型造成了障碍,可以通过使用学习的相似性度量来改进生成模型。

        当学习模型如变分自编码器(VAE)时,核心是选择相似性度量,因为它通过重建误差目标提供训练信号的主要部分。对于这个任务,像平方误差这样的元素度量是默认值。元素度量很简单,但不太适合图像数据,因为它们不能模拟人类视觉感知的属性。例如,一个小的图像转换可能会导致一个大的像素级错误,而人类几乎不会注意到这种变化。因此,作者赞成使用图像的高级和足够不变的表示来测量图像相似性。作者希望学习任务的函数,而不是手工设计一个合适的度量来适应elementwise度量的问题。

        问题是如何学习这种相似性度量?作者发现,通过联合训练一个VAE和一个生成对抗网络(GAN),可以使用GAN鉴别器来衡量样本相似性。

        本文将VAE解码器和GAN生成器合二为一,让它们共享参数并共同训练它们。为了实现VAE训练目标,将典型的基于元素的重建度量替换为基于特征的判别器。

网络结构如下图所示:

二、具有学习相似性的自动编码

        本节介绍了结合VAE和GAN的方法,称之为VAE/GAN。正如下面将描述的,本文提出的混合动力是一种改进VAE的方法,因此它依赖于一个更有意义的、具有特征的度量来测量训练期间的重建质量。

2.1、Beyond element-wise reconstruction error with VAE/GAN

        GAN的一个吸引人的特性是,它的鉴别器网络需要隐含地学习图像的丰富相似性度量,从而将它们从“非图像”中辨别出来。因此,作者建议利用这一观察,以便将鉴别器学习到的图像的性质转化为一个更抽象的重建误差的VAE。最终的结果将是一种结合GAN作为高质量生成模型的优势和VAE作为一种将数据编码器生成到潜在空间z的方法的方法。

        由于元素的重建误差不足以满足图像和其他具有不变性的信号,作者建议用GAN鉴别器中表示的重建误差替换VAE中的重建误差项。为了实现这一点,让Dis_l (x)表示鉴别器的第l层的隐藏表示。本文引入一个具有均值Dis_l (\tilde{x})和恒等协方差的Dis_l (x)高斯观测模型:

                                         p(Dis_l (x)|z) = \mathcal{N}(Dis_l (x)|Dis_l (\tilde{x}),\mathbb{I}),                                        (6)

其中\tilde{x}\sim Dec(z)为x的解码器的样本。可以用下式替换VAE中的重建误差:

                        ​​​​​​​        ​​​​​​​        ​​​​​​​\mathcal{L}^{Dis_l}_{like} = -\mathbb{E}_{q(z|x)}[log\ p(Dis_l (x)|z)]                                                 (7)

总损失为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​\mathcal{L} = \mathcal{L}_{prior}+\mathcal{L}^{Dis_l}_{like}+\mathcal{L}_{GAN}.                                                            (8)

第一项和第三项损失原文有,这里不再赘述。

        值得注意的是,本文优化了关于\mathcal{L}_{GAN}的VAE,作者认为这是一个风格误差,除了重建误差,可以解释为内容误差。此外,因为Dec和Gen都是从z映射到x的,所以作者在二者之间共享参数(换句话说,使用Dec而不是Gen)。

        在实践中,作者在这个模型的开发和训练过程中观察到了细节中的问题。因此,作者在本节提供了一些实际的考虑因素。训练过程概述见图2。

将误差信号限制到相关网络

        利用公式8中的损失函数,同时训练VAE和GAN。这是可能的,因为没有更新所有的网络参数。特别地,Dis不应该试图最小化\mathcal{L}^{Dis_l}_{like},因为这会将辨别器崩溃为0。作者也观察到较好的结果,不反向传播误差信号从\mathcal{L}_{GAN}到Enc。

加权VAE vs GAN

        当Dec接收到来自\mathcal{L}^{Dis_l}_{like}\mathcal{L}_{GAN}的误差信号时,作者使用一个参数γ来权衡重构和愚弄鉴别器的能力。这也可以解释为对风格和内容的加权。而不是将γ应用到整个模型(Eq. 8),只在更新Dec的参数时执行加权:

基于p(z)和q(z|x)的样本判别

        当使用来自q(zlx)(即编码器Enc)的样本时,除了在GAN目标中的先验p(z)外,作者观察到更好的结果:

注意,潜空间\mathcal{L}_{prior}的正则化应该使p(z)或q(z|x)的样本集相似。然而,对于任何给定的例子x,负样本Dec(Enc(x))比Dec(z)更可能与x相似。在根据\mathcal{L}_{GAN}进行更新时,作者怀疑具有相似的正样本和负样本可以获得更有用的学习信号。

具体算法如下:

三、代码

https://github.com/andersbll/deeppy

https://github.com/andersbll/autoencoding_beyond_pixels

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值