本文介绍CGAN(Conditional Generative Adversarial Nets)- 条件生成对抗网络
相关论文 https://arxiv.org/pdf/1411.1784.pdf
1、概述
CGAN( Conditional Generative Adversarial Nets),条件生成对抗网络。条件生成对抗网络指的是在生成对抗网络中
加入条件(condition),条件的作用是监督生成对抗网络。最基本的对抗网具有以下优点:永远不需要马尔可夫链,仅使用
反向传播来获得梯度,在学习期间不需要推理,并且可以容易地将各种因素和相互作用结合到模型中。
在无条件的生成模型中,无法控制正在生成的数据的模式。但是,通过在附加信息上调整模型,可以指导数据生成过程。
这种调节可以基于类别标签,在某些部分数据上进行修复,甚至是来自不同模态的数据。
2、生成对抗网络
GAN(Generative Adversarial Nets)由两个“对抗”模型组成:一个捕获数据分布的生成模型G和一个判别模型D,
它估计样本来自训练数据的概率而不是生成样本的概率. G和D都可以是非线性的映射函数,例如多层感知器。
为了在数据数据x上学习生成器分布p_z(z) ,生成器建立从先前噪声分布p_z(z)到数据空间的映射函数,如G(z;θg)。
鉴别器D(x;θd)输入是真实图像或者生成图像,输出单个标量,该标量表示x来自训练数据而不是p_g的概率。
G和D都同时训练:固定判别模型 D,调整 G 的参数使得 log(1−D(G(z))的期望最小化;固定生成模型 G,调整 D 的参数
使得 logD(X)+log(1−D(G(z)))log 的期望最大化,这个优化过程归结为二元极小极大博弈(minimax two-player game)”问题:
3、条件生成对抗网络
条件生成式对抗网络(CGAN)是对原始GAN的一个扩展,生成器和判别器都增加额外信息 y为条件, y可以使任意信息,
例如类别信息,或者其他模态的数据。
如下图所示,通过将额外信息 y 输送给判别模型和生成模型,作为输入层的一部分,从而实现条件GAN。在生成模型中,
先验输入噪声 p(z) 和条件信息 y 联合组成了联合隐层表征。对抗训练