Gan论文阅读 Conditional Generative Adversarial Nets

倾然丶 夕夏残阳落幕 提交于 2019-12-10 20:04:30

Title:Conditional Generative Adversarial Nets
Paper:pdf
摘要:介绍一种有条件的Gan,通过输入数据y来构造。做了2个实验,根据类标签生成MNIST数字和学习一个多模态模型,该方法成功生成了不属于训练标签的描述性标记。

一. CGAN思想
这项工作提出了一种带条件约束的GAN,在生成模型(D)和判别模型(G)的建模中均引入条件变量y(conditional variable y),使用额外信息y对模型增加条件,可以指导数据生成过程。这些条件变量y可以基于多种信息,例如类别标签,用于图像修复的部分数据,来自不同模态(modality)的数据。如果条件变量y是类别标签,可以看做CGAN 是把纯无监督的 GAN 变成有监督的模型的一种改进。这个简单直接的改进被证明非常有效,并广泛用于后续的相关工作中。Mehdi Mirza et al. 的工作是在MNIST数据集上以类别标签为条件变量,生成指定类别的图像。作者还探索了CGAN在用于图像自动标注的多模态学习上的应用,在MIR Flickr25000数据集上,以图像特征为条件变量,生成该图像的tag的词向量。

二. 相关工作
许多有趣的问题更自然地被认为是概率一对多映射。例如,在图像标记的情况下,可能有许多不同的标签可以适当地应用于给定的图像,不同的(人类)注释器可能使用不同的(但通常是同义或相关的)术语来描述相同的图像。
解决方案:CGAN。使用条件概率生成模型,将输入作为条件变量,将一对多映射实例化为条件预测分布。

三. CGAN实现方法

1.原始GAN
生成模型(G)用于捕捉数据分布,判别模型(D)用于估计一个样本来自与真实数据而非生成样本的概率。
为了学习在真实数据集x上的生成分布 Pg,生成模型 G 构建一个从先验分布 Pz(z) 到数据空间的映射函数 G(z;θg)。 判别模型 D 的输入是真实图像或者生成图像,D(x;θd) 输出一个标量,表示输入样本来自训练样本(而非生成样本)的概率。
模型 G 和 D 同时训练:固定判别模型 D,调整 G 的参数使得 log(1−D(G(z)) 的期望最小化;固定生成模型 G,调整 D 的参数使得 logD(X)+log(1−D(G(z))) 的期望最大化。这个优化过程可以归结为一个“二元极小极大博弈”。

2. CGAN
在这里插入图片描述条件生成式对抗网络(CGAN)是对原始GAN的一个扩展,生成器和判别器都增加额外信息 y为条件, y 可以使任意信息,例如类别信息,或者其他模态的数据。如 Figure 1 所示,通过将额外信息 y 输送给判别模型和生成模型,作为输入层的一部分,从而实现条件GAN。在生成模型中,先验输入噪声 p(z) 和条件信息 y 联合组成了联合隐层表征。对抗训练框架在隐层表征的组成方式方面相当地灵活。类似地,条件 GAN 的目标函数是带有条件概率的二元极小极大值博弈(two-player minimax game ):
在这里插入图片描述
四. 实验

1.MNIST实验
1.在MNIST上以类别标签为条件(one-hot编码)训练条件GAN,可以根据标签条件信息,生成对应的数字。
训练配置:采用随机梯度法对模型进行训练,小批量为100,初始学习率为0.1,衰减系数为1.00004,指数下降到0.000001。动量的初始值为0.5,增加到0.7。在产生器和鉴别器上均采用了概率为0.5的跳变。并以验证集的对数似然最优估计值作为停止点。

G的输入是100维服从均匀分布的噪声向量,条件变量y是类别标签的one hot编码。噪声z和标签y分别映射到隐层(200和1000个单元),在映射到第二层前,联合所有单元。最终有一个sigmoid生成模型的输出(784维),即28*28的单通道图像。

D的输入是784维的图像数据和条件变量y(类别标签的one hot编码),输出是该样本来自训练集的概率。

2.图像自动标注

我们为每幅图像生成100个样本,并使用词汇表中单词向量表示的余弦相似度来找出最接近的前20个单词。然后我们从100个样本中选出10个最常见的单词。表4.2显示了用户分配的标签和注释的一些示例,以及生成的标签。
训练配置同上
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!