美文网首页
CGAN原理及tensorflow代码

CGAN原理及tensorflow代码

作者: 求索_700e | 来源:发表于2019-06-08 12:19 被阅读0次

    转自:https://blog.csdn.net/qq_26499769/article/details/83831640

    1.首先说明一下CGAN的意义

    GAN的原始模型有很多可以改进的缺点,首当其中就是“模型不可控”。从上面对GAN的介绍能够看出,模型以一个随机噪声为输入。显然,我们很难对输出的结构进行控制。例如,使用纯粹的GAN,我们可以训练出一个生成器:输入随机噪声,产生一张写着0-9某一个数字的图片。然而,在现实应用中,我们往往想要生成“指定”的一张图片。

    2.直观解决方案

    在GAN上增加一个额外的输入。也就是说,以前我们的生成模型是,现在,我们的生成模型是在一个条件c的控制下产生。而这个c就是我们用来控制模型的额外的输入。

    c可以是表示我们意图的一串编码,例如我们想要做0-9的手写数字生成,则c可以是一个10维的one-hot向量。则在训练过程中,我们将这些label加入到训练数据中,从而得到一个按照我们需求产生图片的生成器。

    这就是Conditional Generative Adversarial Nets最基本的想法。这里要注意的是,这个c不但附加在了生成器上,同时也附加在了判别器上,相当于给了判别器一个额外的信息:现在这个图片是以条件c生成的?还是以条件c控制下的真正的图片?

    3.训练目标

    原文中有这样一张图,在其他博客中也常见到

    CGAN代码如下:

    生成效果如上图,为了方便理解,本文只用了最简单的神经网络,有时间会使用CNN重写该网络。

    相关文章

      网友评论

          本文标题:CGAN原理及tensorflow代码

          本文链接:https://www.haomeiwen.com/subject/jnhixctx.html