GAN生成对抗网络10-3 unsupervised conditional generation

在这里插入图片描述
在这里插入图片描述
如果input和output差不过,可以使用direct transformation 的方法。
如果差很多,则需要一个encoder和一个decoder。

1.direct transformation
在这里插入图片描述
比如要做图像风格迁移(input和output比较像),Domain X为原始图片,DomainY为画像(即要生成图片的类型),那么先把Domain X的图像经过Generator,生成图片,然后将生成图片送入Discriminator(该Discriminator见过大量Domain Y的图片),最后Discriminator会打一个分,判断生成图片和Domain Y图像的相似度。
在这里插入图片描述
但是这样可能有一个问题,生成图片可能跟输入没有半毛钱关系。
解决方法:
1.无视这个问题,继续做,效果通常也很好。因为Generator通常不会太深,因此input和output不会差太多。
2.在这里插入图片描述
使用两个预训练的encoder,将input和output都丢给encoder,得到两个embedding,使得两个vector不要差太多,即input和output不会差太多。
3.cycle GAN
在这里插入图片描述
除了x到y的Generator,再增加一个y到x的Generator。
在这里插入图片描述
还有一种形式。

在这里插入图片描述
上图可以看出generator可能会生成人类看不到的东西。
因此cycle GAN可能有一个问题,可能会想上图一样,生成的图片和原始图片有较大差距,可能会隐藏一些信息。这还是一个亟待解决的问题。
在这里插入图片描述
这三种GAN方法类似,只是同一时间不同的人提出了相同的方法。

Star GAN
cycle GAN可能是在X domain 和Y domain两类进行互相转化,而Star GAN可能在多个Domain之间进行转换,如4个Domain。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.project to common space
例:将人脸转为对应动漫图
在这里插入图片描述
思路:分别训练两个“VAE GAN”,即在VAE后面加Discriminator。分别将图片送入Encoder,得到一个向量,再把向量送入Decoder,生成一个image,通过Discriminator得到清晰的且跟原有图片足够接近的图片。训练完成后,将第一个Encoder生成的向量送入第二个Decoder。
但是这样有一个问题,可能会生成毫不相干的二次元图片。
解决办法:
在这里插入图片描述
两个Encoder后面几层参数是公用的,两个Decoder前面几层参数是公用的。
或者采取一个极端的方法,让两个Encoder参数完全一样。
在这里插入图片描述
第二个解决方法:在生成的vector后添加一个Domain Discriminator。
第三个解决方法:使用cycle GAN
在这里插入图片描述
但是考虑图片之间的相似度,是逐像素比较的。
方法四:semantic consistency
在这里插入图片描述
该方法为将X domain的image输入Encoder,得到特征向量,然后将特征向量丢进Y domain的Decoder中,得到image送到Y domain 的Encoder中,得到特征向量。比较两个特征向量,越接近说明semantic(语义)越接近。

除此之外还有以下应用
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值