1、CGAN原理分析
1.1 网络结构
CGAN是在GAN基础上做的一种改进,通过给原始GAN的生成器Generator(下文简记为G)和判别器Discriminator(下文简记为D)添加额外的条件信息y,实现条件生成模型。CGAN原文中作者说额外的条件信息可以是类别标签或者其它的辅助信息,本文使用条件信息(记为y)作为例子。因此CGAN的提出使得GAN可以利用图像与对应的标签进行训练,并在测试阶段利用给定标签生成特定图像。
CGAN的核心操作是将条件信息加入到G和D中(其实就是G和D都加入类别标签y),下面分别进行讨论:
(1)原始GAN生成器输入是噪声信号,类别标签可以和噪声信号组合作为隐空间表示;
(2)原始GAN判别器输入是图像数据(真实图像和生成图像),同样需要将类别标签和图像数据进行拼接作为判别器输入。

2.2 损失函数
原始GAN包含一个生成器和一个判别器,其中生成器G和判别器D进行极大极小博弈,损失函数如下:

CGAN添加的额外信息y只需要和x与z进行合并,作为G和D的输入即可,由此得到了CGAN的损失函数如下:

原文:CGAN原理分析与pytorch实现 - 知乎

















