CGAN论文解读

本文介绍了CGAN(条件生成对抗网络)的基本原理和应用,它扩展了传统的GAN,通过引入条件信息,增强了生成数据的可控性和定向性。在MNIST和MIRFlickr数据集上的实验展示了CGAN在图像生成和多模态学习中的潜力,尤其是在图像自动标注方面的进展。未来工作包括探索使用多个标签和联合训练方案来提升模型性能。
摘要由CSDN通过智能技术生成

CGAN论文解读

引言

CGAN(Conditional Generative Adversarial Nets),又称条件生成对抗网络,是生成对抗网络(GAN)的一种扩展形式,由Mehdi Mirza和Simon Osindero在2014年提出。在生成带有特定属性的图像、图像转换(比如从黑白图像生成彩色图像)、语义图像合成等方面。通过引入条件信息,CGAN使得生成的数据更加具有控制性和定向性。

原文链接:https://arxiv.org/abs/1411.1784

参考文章:https://zhuanlan.zhihu.com/p/23648795

标题和摘要

  1. 标题:

Conditional Generative Adversarial Nets,言简意赅

Conditional代表有条件的,Generative表示生成式模型, Adversarial即对抗网络, Nets是networks的缩写

直译为条件生成对抗网络。

  1. 摘要:

围绕GAN,提出自己的想法:通过对输入数据y的简单修改,在生成器和判别器上给予一定的限制条件。

然后,作者通过MNIST的手写数据集的生成模型,试图论证此模型可以用于多模态领域,并且可以生成不属于训练标签的描述性标签。

简介和相关工作

简介:

浅谈GAN的优点:

可以避免最大似然估计的计算,同时可以避免马尔科夫链,只需要反向传播,在训练的过程中也不需要推理,并且可以融入广泛的影响因子和交互等优点。

对于GAN的缺点:在无条件生成模型中,无法控制生成数据的模式。

提出通过根据附加信息调整模型,可以指导数据生成过程。附加信息可以作为条件输入。

条件可以是任何补充的信息,如类标签,其它模态的数据等,这样使得GAN能够更好地被应用于跨模态问题,例如图像自动标注。

相关工作:

图像标记的多模态学习:

问题1:

即使在卷积网络(有监督)取得诸多成功的当时,拓展此类模型去适应极大量的预测输出类别仍然具有挑战性。

方案:利用其他模态的附加信息。

例如,通过使用自然语言语料库来学习标签的向量表示,其中几何关系在语义上是有意义的。当在这样的空间中进行预测时,我们受益于这样一个事实:当预测错误时,我们仍然经常“接近”事实(例如预测“桌子”而不是“椅子”),并且还受益于我们可以自然地做出预测的事实对训练期间未见过的标签进行预测概括。 有工作表明,即使是从图像特征空间到单词表示空间的简单线性映射也可以提高分类性能。

问题2:

当时大多数的工作都集中在学习一对一的映射关系,而很多问题自然地认为是概率的一对多的关系。例如,在图像标记的领域中,可能有不同的标签应用于给定图像,并且不同的注释者可以使用不同的(但通常是同义或相关的)术语来描述同一图像。

使用条件概率生成模型,将输入视为条件变量,并将一对多映射实例化为条件预测分布。

方案:使用条件概率生成模型来解决这个问题。

我们可以构建一个循环神经网(RNN)作为我们的生成模型,它可以根据输入字符的条件,预测下一个字符的概率分布。

假设我们有以下训练数据:

输入序列:“H”, “e”, “l”, “l”, “o” 输出序列:“e”, “l”, “l”, “o”, “!”

在这个例子中,给定输入字符 “H”,输出字符有可能是 “e”,因为 “H” 后面紧接着 “e”。同样地,给定输入字符 “l”,输出字符有可能是 “l” 或 “o”,因为 “l” 后面可以接着 “l” 或 “o”。

我们使用这样的训练数据来训练条件概率生成模型,即 RNN。一旦模型训练好了,当我们输入一个字符 “H” 给模型时,它可以输出 “e” 的概率为 0.8,“l” 的概率为 0.1,“o” 的概率为 0.05,“!” 的概率为 0.05。这样,模型可以输出一个条件预测分布,表示在给定输入 “H” 的情况下,下一个字符可能是 “e”、“l”、“o” 或 “!”,并给出每个可能性的概率。

这个例子中,我们将一对多映射的问题(多种可能的输出)转化为条件概率生成模型,使得模型可以根据输入条件预测输出的概率分布,从而更加灵活地处理多样性的输出情况。

原理

  • Generative Adversial Nets

可以见我的另一篇博客:http://t.csdn.cn/Ci4xA

以下是相关的方程1:

  • Conditional Adversial Nets

如果生成器和判别器都以一些额外信息 y 为条件,则生成对抗网络可以扩展到条件模型。 y 可以是任何类型的辅助信息,例如类别标签或来自其他模式的数据。我们可以通过将 y 作为附加输入层输入判别器和生成器来执行调节。

在生成器中,先验输入噪声pz(z) 和 y 被组合在联合隐藏表示中,并且对抗性训练框架允许在如何组成该隐藏表示方面具有相当大的灵活性。

在判别器中,x 和 y 作为输入呈现给判别函数(在本例中再次由 MLP 体现)。两人极小极大游戏的目标函数为方程 2

image-20230730232409316

图 1 展示了一个简单的条件对抗网络的结构。

image-20230730232739804

上图所示是CGAN的结构。

把噪声z和条件y作为输入同时送进生成器,生成跨域向量,再通过非线性函数映射到数据空间。

把数据x和条件y作为输入同时送进判别器,生成跨域向量,并进一步判断x是真实训练数据的概率。

实验和结果

单模态(MNIST)

作者在 MNIST 图像上训练了一个条件对抗网络,该网络以其类标签为条件,编码为单热向量(one-hot)。

image-20230730232955826

表 1 显示了 MNIST 数据集测试数据的对数似然估计。每 10 个类别抽取 1000 个样本,并对这些样本拟合 Gaussian Parzen window。然后,使用Gaussian Parzen window分布估计测试集的对数似然。

根据表1,条件对抗性网络的似然估计在MNIST上的并不理想。

然而,作者将这些结果更多地作为概念验证而不是功效证明,并相信随着对超参数空间和架构的进一步探索,条件模型应该匹配或超过非条件结果。

image-20230730233218447

图 2 显示了一些生成示例。每一行都以一个标签为条件,每一列都是不同的生成样本。

多模态(MIR Flickr)
  • 背景

Flickr 等照片网站是图像及其相关用户生成元数据 (UGM) 形式的标记数据的丰富来源,特别是用户标签。

用户生成的元数据与更“规范”的图像标记方案的不同之处在于,它们通常更具描述性,并且在语义上更接近人类用自然语言描述图像的方式,而不仅仅是识别图像中存在的对象。 UGM 的另一个方面是同义词很普遍,不同的用户可能使用不同的词汇来描述相同的概念——因此,拥有一种有效的方法来规范这些标签变得很重要。概念词嵌入[14]在这里非常有用,因为相关概念最终由相似的向量表示。

  • 思路

在ImageNet数据集(21000labels)上预训练模型,采用最后一层全连接输出作为图像特征。文本表示是选取YFCC数据集,预处理后用skip-model训练成200维的词向量,除去出现次数少于200的词,最后剩下247465个词。

实验是基于MIR Flickr数据集,利用上面的模型提取图像和文本特征。为了便于评价,对于每个图片我们生成了100的标签样本,对于每个生成标签利用余弦相似度找到20个最接近的词,最后是选取了其中10个最常见的词。

在实验中,效果最好的生成器是接收100维的高斯噪声把它映射到500维的ReLu层,同时把4096维的图像特征向量映射到一个2000维的ReLu隐层,再上面的两种表示连接在一起映射到一个200维的线性层,最终由这个层输出200维的仿标签文本向量。

判别器是由500维和1200维的ReLu隐层组成,用于处理文本和图像。最大输出层是有1000个单元和3spieces的连接层用于给最终的sigmoid层处理输入数据。

  • 效果图

img


具体实验的模型构建,感兴趣的小伙伴可以进一步研究论文,不再赘述。

现在大多数网络数据都存在标签缺失的情况,这里的MIR Flickr数据集,25000张图片的标签中,出现20次以上的词才1300多,而且其中有很多标签词并不与图片内容有关,例如notmycat,蛋糕上人名等词语。所以文章中提到的能够自动生成标签的方法很有意义。但是,分析最后生成标签的结果,还有不少生成标签是与图像内容无关的,考虑可以想办法改进。

未来的工作

论文显示的结果是非常初步的,但它们证明了条件对抗网络的潜力,并显示了有趣和有用的应用的前景。

此外,在当前的实验中,作者仅单独使用每个标签。但是通过同时使用多个标签(有效地将生成问题作为“集合生成”之一),希望取得更好的结果。

未来工作的另一个明显方向是构建联合训练方案来学习语言模型。


以上,就是论文解读的全部内容了,看完有收获的小伙伴记得点个赞呦

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值