CGAN
生成符合特定描述的输出,
如图:给定描述,生成相应内容图片
CGAN中的negetive情况包含两种,(正确的描述,不清晰的图片)和(不正确的描述,清晰的图片),positive情况为(正确的描述,清晰的图片)
CGAN的训练过程
区别于GAN的训练
stack GAN: 用于生成尺寸较大的图片,先生成小图,再生成大图
patch-GAN: image to image,discriminater不输入整张图片(参数太多,容易train坏掉,而输入图片的部分区域
unsupervised Conditional Generation
方法一:一般用于较为简单的,变化不大的转换,
方法二:变化较大的转换
1、Approach 1(以风格转换为例):
容易获得不是我们想要的结果,如可能出现一张完全不同的图片,如何衡量输出结果好坏(是否和原图相似)
(1)浅层的网络不会对图片产生教大的改动,倾向于generate出和原图相似的结果。
(2)
使用训练好的network分别输入Generator风格转换前后两张图片
,对比经过pre-train网络两张图片输出的vector是否相似,以此来衡量经过generator输入输出图片是否相关
(3)cycle generator
使用两个generator,x->Y, Y->X,使得经过cycle的X与x相近。
2、方法二
(1)、部分参数共享
假设xdomin为人像,ydomin为漫画人物,训练两组encoder、decoder,一组为xdomin-encoder----xdomin-decoder(人像编码,再解码回人像),另一组为ydomin-encoder-----ydomin-decoder(漫画编码再解码回漫画) , 为使两组coder有关系,使两组encoder-decoder部分参数共享(共享上图黑色虚线部分layer),人像通过xdomin-encoder编码,再通过ydomin-decoder解码
(2)、在encoder和decoder之间加domin-discriminator
当domindiscriminator无法判断来自那个domin,则不同domin来自相同distribution,期待他们有相对应的维度
(3)cycle consistency
参考:李宏毅大大dl