Conditional GAN (CGAN) 条件生成网络

Conditional GAN = Conditional Generation by GAN

Conditional GAN和GAN的Generator是一样的,差别就是在Discriminator

 

我们学过GAN,GAN的主要作用是用来做生成对象。输入向量,得到对应的对象,但是生成的对象无法控制

 

 

举一个文本生成图像的例子,Text-to-Image

用传统的做法,即Traditional supervised approach,怎么做?

在这里插入图片描述


         以上是数据的例子,我们训练一个neural netowrk,然后输入一个文字,输出对应一个图片,我们希望图片与目标图片越接近越好。


在这里插入图片描述

      这样做有什么问题呢?我们来看一下,例如文字:train对应的图片有很多张。例如下面的火车有正面,有侧面的,如果用传统的NN来训练,模型会想让火车长得像左边,又像一个右边的,这样的结果是不好的。模型会想产生多张图像的平均,结果就会很模糊。

 

Normal GAN

如果是用GAN来做:
先用Generator来生成图片,输入是两个:一个是条件,一个是从某个分布中sample出来的向量。
在这里插入图片描述

然后Discriminator来判断图片是否是生成的
在这里插入图片描述

这样做是有问题的,因为Discriminator只会根据生成的图片是否清晰,是否真实来进行判别,所以Generator 只会按这个标准来生成图片,而没有去按条件(例如:火车)来生成图片。

这里的Discriminator吃两个输入:一个是条件,一个是要判断的图片对象。输出是一个向量,输出向量要判断两个事情:
x is realistic or not + c and x are matched or not
下面是输出向量的例子:
在这里插入图片描述

 

 

Conditional GAN - Discriminator

常见的Discriminator构架如下图,把x丢到一个NN里面得到一个向量表示,然后把文字丢到一个NN里面得到一个向量表示,把两个向量concat起来之后,丢到一个NN里面得到具体的分数。
在这里插入图片描述

 

https://blog.csdn.net/oldmao_2001/article/details/105903619

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值