李宏毅GAN7-infoGAN,VAEGAN,BIGAN

传统的GAN是输入一个向量,输出一张图片。我们希望输入向量的每个特征都能有一定的现实意义,但这不表示容易的。往往输入的向量各维度特征对产生的图片影响不明确的。
conditional GAN就是在训练过程中,采用VAE的方法,为特征富于某些规律。

infoGAN

infoGAN的想法就是输入的向量Z可以分解C和Z` 两部分,其中子向量C就是明确地要对输出产生影响的部分。经过generator生成的图片,再经过一个classifier能够解出该图片的表征向量是C。这类似于AE的逆过程(AE将图片编码为一个向量,再从向量解出图片)。
在这个过程中,依然需要discriminator的参与,否则generator很可能将向量C显式 的编码到图片中,便于classifier解出C
在这里插入图片描述

采用AE方法的generator就是强迫模型生成的图片与输入的子向量C产生关联。而Z`就代表了一些无法解释的部分。
这个向量C是一个很神奇的存在,它的维数完全由人自己定,这取决于我们希望最终图片x被划分为多少类,那我们就用多少维的参数去决定。(即C不是因为它具有了什么特征,而是我们希望它携带什么特征)

infoGAN实验效果

在这里插入图片描述

VAE-GAN

VAE作为一个生成模型,VAE-GAN即将VAE作为generator,加上discriminator.
我们在训练VAE时,希望输入和输出越接近越好,但这并不代表输出的图片效果会很好,相反大多数时候会变得比较模糊(因为我们不知道怎么去衡量两张图片的接近程度,如果采用像素L2值来衡量接近程度,往往会使生成的图片很模糊)
因此从VAE的角度来看,加上一个discriminator就是用来衡量生成图片效果的函数,而不像传统VAE只是衡量重建error。
从GAN的角度来看,VAE的decoder就是一个generator。以往我们训练GAN时,只是输入一个随机向量给generator,而generator从来没有看过这个向量所代表的图片信息,因此generator要花费很长的时间来猜测随机向量代表的意义。而采用auto-encoder的方法,generator除了要想办法骗过discriminator,还要想办法生成高质量的图片,因此generator的学习目标就不仅仅是使discriminator scalar更高,同时还要生成与原图像更接近的图像,所以学起来目标性更强。

在这里插入图片描述

BIGAN

在这里插入图片描述

对于BIGAN的架构理解,首先有一个encoder,输入真实图片,产生一个编码;另外有一个与encoder无关的decoder,输入一段给定编码,产生一个图片;最后有一个discriminator,它输入一段图片与编码的配对,它需要去判断这个配对是来自encoder还是decoder。

其训练算法流程:
在这里插入图片描述

注意:这里是要En高分还是De高分,对结果无影响,选其一求解即可。

理论上分析一下这个模型产生的效果。假定encoder产生的配对的分布是P(x,z),其中x已知,z未知;另一边decoder产生的配对的分布是Q(x’,z’),其中z’已知,x’未知。而discriminator的作用是在消除P与Q之间的divergence,也就是说最终P分布会与Q分布长得一模一样,这意味着encoder学到的输出z就是已知的z’,而decoder学到的输出x’就是已知的x。因此,最终的encoder与decoder就是互为逆运算的过程。

总结来说,还是将discriminator作为衡量重建误差的函数,与auto-encoder方法相比,不再采用重建误差来训练AE模型,且这里的En和De是独立训练的

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值