CGAN

CGAN

生成符合特定描述的输出,
CGAN
如图:给定描述,生成相应内容图片
CGAN
CGAN中的negetive情况包含两种,(正确的描述,不清晰的图片)和(不正确的描述,清晰的图片),positive情况为(正确的描述,清晰的图片)

CGAN的训练过程

CGAN
区别于GAN的训练

stack GAN: 用于生成尺寸较大的图片,先生成小图,再生成大图
patch-GAN: image to image,discriminater不输入整张图片(参数太多,容易train坏掉,而输入图片的部分区域
CGAN

unsupervised Conditional Generation

CGAN
方法一:一般用于较为简单的,变化不大的转换,
方法二:变化较大的转换
1、Approach 1(以风格转换为例):
容易获得不是我们想要的结果,如可能出现一张完全不同的图片,如何衡量输出结果好坏(是否和原图相似)
(1)浅层的网络不会对图片产生教大的改动,倾向于generate出和原图相似的结果。
CGAN
(2)CGAN
使用训练好的network分别输入Generator风格转换前后两张图片
,对比经过pre-train网络两张图片输出的vector是否相似,以此来衡量经过generator输入输出图片是否相关
(3)cycle generator
CGAN
使用两个generator,x->Y, Y->X,使得经过cycle的X与x相近。

2、方法二
(1)、部分参数共享
CGAN
假设xdomin为人像,ydomin为漫画人物,训练两组encoder、decoder,一组为xdomin-encoder----xdomin-decoder(人像编码,再解码回人像),另一组为ydomin-encoder-----ydomin-decoder(漫画编码再解码回漫画) , 为使两组coder有关系,使两组encoder-decoder部分参数共享(共享上图黑色虚线部分layer),人像通过xdomin-encoder编码,再通过ydomin-decoder解码
(2)、在encoder和decoder之间加domin-discriminatorCGAN
当domindiscriminator无法判断来自那个domin,则不同domin来自相同distribution,期待他们有相对应的维度

(3)cycle consistency
CGAN
参考:李宏毅大大dl