刚开始学习深度学习的小白,论文中难免有翻译错误的地方。如果有误,请及时告知我。以免我一直错下去,也使后来者更清晰一点。谢谢。

摘要:

生成对抗模型介绍了一种新颖的训练生成模型的方式。在这篇论文中我们介绍生成对抗模型加有条件的版本,它的构造可以通过简单的喂数据的方式,y,我们希望在生成器和判别器都能够加条件。我们展示了通过添加类标签,该模型可以产生MNIST手写数字。我们也阐述了如何使用该模型去学习一个多模式的模型,并且提供了一个图像标签应用的初步的例子,在该例子我们证明了这种方法如何产生不是训练标签一部分的描述性的标签。

1.介绍

为了避免许多难以处理的求概率计算近似解的困难,生成对抗网络提供了一种可供选择的框架去训练生成模型。
对抗网络的优点就是不需要马尔科夫链,只有反向传递算法去获得梯度,在训练期间不需要推断,各种各样的因素和交互可以很容易被合并到该模型中。
此外,正如【8】中所证明的那样,它能够生成当前最好的对数似然的估计和真实样本。
在一个没有加条件的生成模型,无法控制生成数据的模式。然而,通过给模型添加一些附加的信息是有可能去指导数据生成的进程。这样的条件可以基于类标签,在某些为了图像修补的数据,比如【5】,甚至来自不同形式的数据。
这篇论文我们展示了如何构建条件的对抗网络。对于实验结果,我们展示了2组实验。一个是在MNIST手写数字建立类标签条件,另一个在MIR数据集为了多模式学习。

2.相关工作

2.1. 图像标签的多模式学习

尽管最近有许多成功的监督神经网络(通常是卷积网络),去测量容纳了极其多的预测的输出类别的模型仍然具有挑战。另一个问题就是到目前为止许多工作都集中在学习从输入到输出的一对一的映射。然而许多有趣的问题更自然地被认为是一种概率的一对多映射。举例来说,在图像标注的情况下,这里可能有很多不同的标签能够合适地应用在被给的图像,并且不同的标注者(人)可能会使用不同的(但通常是同义词或者是相关的)术语去描述同一幅图像。
处理第一种问题的方式就是利用来自于其他形式的附加信息:举例来说,通过使用自然语言的全集去学习一个标签的向量表示,它的几何关系有语义的意义。当在这样的空间中做预测,我们从这样的一个事实中获益因为当我们预测错误时我们仍然常常接近事实(例如,预测桌子而不是椅子),并且从那样的事实我们可以自然地对标签做出预测的概括,这些都没有在训练阶段被看见。像【3】中的工作就展示了即使一个从图像特征空间到词表示空间的简单的线性映射都会产生提高的分类结果。
解决第二个问题的方法就是使用一个条件概率生成模型,该输入被取为条件变量和一个被实例化为条件预测分布的一对多的映射。
【16】对这个问题采取了相似的方法,并且就像我们在这个论文中所做的工作一样在MIR Flickr数据集上训练了一个多模式的深度玻尔兹曼机。
此外,作者在【12】展示了如何训练一个监督的多模式神经语言模型,他们可以为图像产生描述性的语句。

3.条件对抗网络

3.1 生成对抗网络

最近介绍的生成对抗网络以一种新颖的方式来训练一个生成模型。它由2个对抗的模型组成:
一个生成模型G用来拟合数据的分布,一个判别模型D用来评价样本来自训练数据而不是生成器G的概率。G和D都可以是非线性的映射函数,例如多层感知机。
为了通过数据x学习一个生成器分布Pg,生成器从先验噪声分布Pz(z)构建了一个映射函数G(z;θg)到数据空间.而判别器D(x;θd)输出一个代表x来自训练数据而不是Pg的概率的标量。
G和D被同时训练:我们调整G的参数来最小化log(1-D(G(z))),调整D的参数来最小化log(D(x)),就好像它们是下面的带有价值函数V(G,D)的两个选手的最大-最小游戏。

3.2 条件对抗网络

如果生成器和判别器都被限制在一些额外的信息y上,那生成对抗网络可以被扩展成条件模型。y可以是任意一种附加的信息,比如类标签或者其他形式的数据。我们可以通过喂y到判别器和生成器作为附加的输入层执行条件。
在生成器中,先验的输入噪声Pz(z)和y被混合在联合的隐藏的表示,并且对抗训练的框架允许在这种隐藏的表现形式中有相当大的灵活性。
在判别器中x和y被作为输入并且放到一个有判别的函数(在这个案例中再一次通过MLP呈现)。
2人博弈游戏的目标函数就是公式【2】

图像1阐明了一个简单的条件对抗网络的结构

4 实验结果

4.1 单模式

【在MNIST上以数字类别标签为约束条件,最终根据类别标签信息,生成对应的数字。】
我们在MNIST图像的类标签上训练了一个条件对抗网络,编码成一个one-hot的向量【注释:每个特征只用0,1表示,且于每个特征范围内只有一个元素非0】。
【以下分别讲述了单模式情况下生成器和判别器的构造】
在生成器网络中,一个具有维度100的噪声先验z是由一个单位超立方体内的均匀分布所绘制的。z和y都被映射到带有ReLu激活函数的隐藏层,层的大小分别为200和1000,在都被映射到第2层之前,【在映射到第二层前,联合所有单元】联合在1200维的ReLu隐藏层。我们最后用sigmoid单元层作为我们的输出去产生784维的MNIST样本。

表1:基于对数似然的Parzen窗口用来估计MNIST。我们按照【8】同样的步骤来计算这些值。

判别器将x映射到一个带有240个神经元和5pieces【即maxout的k=5】的maxout层,y被映射到一个带有50个神经元和5pieces的maxout层。在被喂到sigmoid层之前这两个隐藏层都映射到一个带有240个神经元和4pieces的联合maxout层。(只要有足够的能力判别器的精确的结构就不那么重要了,我们发现maxout单元通常能很好的适应该任务。)
使用大小为100的MBGD训练该模型,初始化的学习速率为0.1,它会指数地下降到0.000001,衰减因子为1.00004。动量初始化为0.5,并且会增加到0.7.Dropout的概率为0.5,在生成器和判别器中同时被使用。在验证集上最好的对数似然估计被使用做停止点。
表1显示了MNIST数据集测试数据的高斯Parzen窗口-可能性估计。从每10个类中抽取1000个样本并且高斯Parzen窗口用来拟合这些样本。我们然后使用Parzen窗口分布估计测试集的对数似然。(阅读【8】获取该估计是如何构造的更多细节)
条件对抗网络导致我们现在同一些其他的网络是可比较的,但是优于其他几种方法,包括无条件的对抗网络。我们提出这些结果更多的是作为一种概念验证而不是作为有效性论证,并且认为随着超参数空间和架构的更多探索,条件模型应该匹配或者超过没有条件的结果。
图2显示了一些生成的样本。每一行都有一个标签,每一列都是不同的生成样本。

4.2多模式

像Flickr这样的相片网站是一个在图片形式和相关用户生成的元数据的标签数据的丰富来源-特别是用户标签。
用户生成的元数据不同于更规范的图像标签schems,因为他们通常更具描述性。在语义上更接近人类是如何用自然语言描述图像而不仅仅是识别图像中呈现的对象。
UGM的另一个方面就是同义词是普遍存在的,不同的用户可能会使用不同的词汇来描述相同的概念-因此,有一个有效率的方法去标准化这些标签也就十分重要。概念词嵌入在这里非常有用因为相关的概念最终被相似的向量所表示。
在该章节我们展示图像的自动标记,带有多标签预测,使用条件对抗网络来生成一个基于图像特征的标记向量(可能是多模态)的分布。
对于图像特征我们在带有21000个标签的全的ImageNet数据集预训练一个和【13】相似的卷积模型。我们使用带有4096个神经元的最后一个全连接层做为图像的表示。
对于词语表达【可能笔误,应是word representation】,我们首先收集一个来自用户标签连接的文本的user-tags, titles和descriptions来自YFCC100M的数据集的元数据。在预处理和文本的清洗之后我们利用skip-gram训练了一个200维的词向量。并且我们省略任何在词汇表中出现次数少于200次的词,因此最终的词典的大小为247465.
我们使卷积模型和语言模型在对抗网络的训练中完善。当我们甚至通过这些模型反向传播作为未来的工作就离开实验。
对于我们的实验,我们使用MIR Flickr的数据集【10】,并且使用之前描述的卷积模型和语言模型抽取图像和标签特征。没有任何标签的图像会在我们的实验中被忽略并且标注被当做一个额外的标签。最初的150000个例子被用作训练集。有多个标签的图像在训练集中的每一个相关的标签中重复一次。
为了评价,我们为每张图像产生100个标签样本,对于每个生成标签样本利用词汇表中向量表示的余弦相似性来找到前20个最接近的单词。然后我们在所有100个样本中选择前10个最常见的单词。表4.2显示了用户指定的标签和注释以及生成的标签的一些示例。
工作得最好的模型的生成器得到大小为100高斯噪声作为噪声先验并且把它映射到500维的ReLu层。并且映射4096维的图像特征向量到2000维的ReLu隐藏层。这些层都被映射到一个200维线性层联合表示,而这个线性层能够输出产生的词向量。【噪声+图像】
判别器是由500和1200维的ReLu隐藏层组成,分别为词向量和图像特征,并且以1000神经元和3pieces作为连接层,最后被喂到一个单一的sigmoid单元。模型使用大小为100的MSGD来训练,初始化学习速率为0.1,lr会指数地下降到0.000001,衰减因子为1.00004。并且动量的初始值为0.5,它会上升到0.7.dropout的值为0.5,它被应用在生成器和判别器。【文本+图像】
超参数和架构的选择可以通过交叉验证、随机网格搜索和手工选择的混合来获取。

未来的工作

在这篇论文展示的结果是极其初步的,但是我们展示了条件对抗网络的潜力并且展示了有趣和有用的应用的保证。
在现在和研讨会之间的将来的探索我们期待提出更复杂的模型,以及对他们的表现和特点的更详细和全面的分析。

同时在现在的实验我们仅仅单独地使用每一个标签。但是同时使用多重标签(有效地将生成问题作为一个集合生成的问题),我们希望实现更好的结果。
另一个留给未来工作的显而易见的方向就是去构造一个联合的训练去学习语言模型。就像【12】中的工作已经展示了对于特定任务我们可以学习一个合适的语言模型。

致谢

这项工作被实现在Pylearn2框架,我们感谢Pylearn2的开发者。我们还想感谢Ian Goodfellow在蒙特利尔大学的时候有帮助的讨论。作者很感激来自视觉与机器学习的支持,以及Flickr的生产工程团队。

Conditional Generative Adversarial Nets论文翻译相关推荐

  1. Generative Adversarial Nets 论文翻译

    论文原文: https://dl.acm.org/doi/pdf/10.1145/3422622 代码: GitHub - goodfeli/adversarial: Code and hyperpa ...

  2. Generative Adversarial Nets论文翻译

    Abstract We propose a new framework for estimating generative models via an adversarial process, 我们提 ...

  3. CGAN论文解读:Conditional Generative Adversarial Nets

    论文链接:Conditional Generative Adversarial Nets 代码解读:Keras-CGAN_MNIST 代码解读 目录 一.前言 二.相关工作 三.网络结构 CGAN N ...

  4. PaperNotes(5)-Conditional Generative Adversarial Nets

    Conditional GAN 论文阅读笔记 Abstract 1 Introduction 2 Related Work 3 Conditional Adversarial Nets 3.1 Gen ...

  5. cGAN:Conditional Generative Adversarial Nets

    论文阅读之cGAN:Conditional Generative Adversarial Nets #Abstract 本文提出了条件-生成对抗网络(Conditional-GAN),Generato ...

  6. Conditional Generative Adversarial Nets

    Conditional Generative Adversarial Nets 利用五一假期的小尾巴终于看完了CGAN的论文,特意记录一下,方便以后查找. 文章目录 Conditional Gener ...

  7. 【GANs】Conditional Generative Adversarial Nets

    [GANs]Conditional Generative Adversarial Nets 2 CGAN 2.1 CGAN简介 前言 流程图 目标函数 2.2 CGAN代码 2 CGAN 2.1 CG ...

  8. GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks论文翻译以及理解

    GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks论文翻译以及理解 格式:一段英文,一段中 ...

  9. 学习记录:Improving Image Captioning with Conditional Generative Adversarial Nets

    学习记录:Improving Image Captioning with Conditional Generative Adversarial Nets 提示:这里可以添加系列文章的所有文章的目录,目 ...

  10. Generative Adversarial Nets论文理解和代码讲解

    Generative Adversarial Nets 论文 Abstract 提出了新的对抗生成网络,a generative model G that captures the data dist ...

最新文章

  1. DCMTK:压缩DICOM文件
  2. 第7章:MapReduce编程
  3. MySql某一列累计查询
  4. 15 CT04创建特性程序DUMP解决方法
  5. SilkTest 对 Excel 表操作的两种方式
  6. 网易游戏开发工程师笔试题
  7. 入华五周年,微软亮AI、云计算成绩,制定“二五”新战略...
  8. 更新oracle字段值
  9. 简述const修饰符在类中的用法
  10. 雷达信号处理基础 ch1 note1
  11. 【PTA】【Python】【拼题A 2022 跨年挑战赛】投票
  12. Echarts真正态分布图
  13. 高级端点保护 (AEP) 简介
  14. Excel表格转为Latex图表
  15. 产品设计和交互设计总结
  16. 面对无秘,假设你是微信的产品经理浅析
  17. php怎么判断qq内置浏览器,如何判断微信内置浏览器(JS PHP)
  18. 2018,ANG发展峰会惊喜来袭
  19. javascript的ES6笔记整理
  20. mac 连接l2tp没反应解决方案

热门文章

  1. python 联机_CoderZh首款Python联机对战游戏 - NancyTetris1.0倾情发布(一)
  2. c语言编程流水灯与交通灯实验,C51单片机实验报告流水灯交通灯定时器双机交互时钟(10页)-原创力文档...
  3. linux pppoe 共享上网,Linux操作系统下如何PPPOE拨号共享上网?
  4. list集合根据jsonobjectvalue排序_Java之List集合两种排序的性能比较
  5. helm安装istio_第五章 用Helm部署Istio
  6. linux中删除用户显示已登录,linux下用户及用户组:查看,新增,删除
  7. JavaWeb:HTTP、Request、Response
  8. mysql myisam commit_mysql autocommit对myisam,innodb的性能影响
  9. 圆台下料展开计算方法_冲压件展开计算方法(二),转发给每一位冲压人
  10. ORB-SLAM2_sim3求解