条件GAN可以控制输出。
用监督学习的方式
以Text-to-Image为例,
输入文字,输出图片,只要让它与标签接近就好。
但是我们的标签不唯一,狗可以有很多种类,这样模型会对这些种类的图片取平均,那么输出的图片是模糊的。
用Conditional GAN
Conditional GAN的Generator不仅获得矩阵信息,还获得类别信息。
如果我们,依旧采用原先的Discriminator,那么它会忽视输入进来的类别信息。
这样会造成,我们生成的图片只保证了输出的是一张清晰的图片,究竟内容是什么,是Discriminator决定不了的,这样的标签输入等于没用。
因此,我们的Discriminator要同时看输入和输出。
最终的评分标准也是取决于标签和Generator的输出。
只有标签和图片匹配且图片质量优良,才可以打高分。
算法
结构
第一种结构比较常见,将标签和样本输入进网络,最后汇总起来评分;但是第二种结构的效果更好。这是因为,第一种方法,模型无法区分得分低的原因是什么。
应用
Image-to-Image
样本:基础图片;标签:文字。
样本:基础图片;标签:抽象图片。
Patch GAN
如果Discriminator直接读取图片,效果不好,因为太大了,参数量过多。因此我们只检查一部分区域。
patch大小不能是一个pixel,这样相当于消除了D的全局关注优点。
Speech Enhancement
去掉背景噪音。
输入的噪声,既是样本,也是标签,将其最后与output配对,进行打分。
Vedio Generation
看一段影片,预测并生成接下来的影片。
图片处理分为标签和图片,共同输入Generator,将得到的图片和标签共同输入Discriminator。
序列处理不划分标签和序列,将其本身输入Generator,将得到的序列与本身一同输入Generator。