【论文共读】【翻译】【CGAN】【Conditional Gernerative Adversarial Networks】

news2024/11/27 18:51:03

论文地址:https://arxiv.org/pdf/1411.1784
翻译:
Conditional Gernerative Adversarial Networks
条件生成对抗网络

0. 摘要

生成对抗网络[8]最近被引入,作为一种训练生成模型的新方法。在这项工作中,我们引入了生成对抗网络的条件版本,该网络可以通过简单地输入数据来构建,y,我们希望对生成器和判别器进行条件处理。我们表明,该模型可以生成以类标签为条件的MNIST数字。我们还说明了如何使用该模型来学习多模态模型,并提供了应用于图像标记的初步示例,其中我们演示了这种方法如何生成不属于训练标签的描述性标签。

1. 简介

最近引入了生成对抗网络作为训练生成模型的替代框架,以规避近似许多棘手的概率计算的困难。

对抗网络的优点是永远不需要马尔可夫链,只使用反向传播来获得梯度,在学习过程中不需要推理,并且可以很容易地将各种各样的因素和交互作用纳入模型中。

此外,如[8]所示,它可以产生最先进的对数似然估计和现实样本。

在无条件生成模型中,无法控制所生成数据的模式。但是,通过根据附加信息对模型进行调节,可以指导数据生成过程。这种条件可以基于类标签,基于修复数据的某些部分(如[5]),甚至基于来自不同模态的数据。

在这项工作中,我们展示了如何构建条件对抗网络。对于实证结果,我们展示了两组实验。一个基于类标签的MNIST数字数据集,另一个基于MIR Flickr 25,000数据集[10],用于多模态学习。

2. 相关工作

2.1 图像标注的多模态学习
尽管监督神经网络(尤其是卷积网络)最近取得了许多成功[13,17],但扩展此类模型以适应大量的预测输出类别仍然具有挑战性。第二个问题是,迄今为止的大部分工作都集中在学习从输入到输出的一对一映射上。然而,许多有趣的问题更自然地被认为是概率性的一对多映射。例如,在图像标记的情况下,可能有许多不同的标签可以适当地应用于给定的图像,并且不同的(人类)注释者可能会使用不同的(但通常是同义或相关的)术语来描述相同的图像。

解决第一个问题的一种方法是利用来自其他模态的额外信息:例如,通过使用自然语言语料库来学习标签的向量表示,其中几何关系在语义上是有意义的。当在这样的空间中进行预测时,我们受益于这样一个事实,即当预测错误时,我们仍然经常“接近”事实(例如,预测“桌子”而不是“椅子”),并且我们还受益于这样一个事实,即我们可以自然地对在训练期间看不到的标签进行预测概括。[3]等研究表明,即使是从图像特征空间到词表示空间的简单线性映射也可以提高分类性能。

解决第二个问题的一种方法是使用条件概率生成模型,将输入作为条件变量,并将一对多映射实例化为条件预测分布。

对这个问题采取类似的方法,并在 MIR Flickr 25,000 数据集上训练多模态深度玻尔兹曼机,就像我们在这项工作中所做的那样。

此外,在[12]中,作者展示了如何训练监督多模态神经语言模型,并且他们能够为图像生成描述性句子。

3. 条件对抗网络

3.1 生成对抗网络
生成对抗网络最近被引入,作为一种训练生成模型的新方法。它们由两个“对抗”模型组成:一个生成模型 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 的参数以最小化 logD(X),就好像它们遵循值函数 V (G, D) 的双人最小-最大博弈一样: 在这里插入图片描述

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

在生成器中,先验输入噪声 pz(z) 和 y 以联合隐表示的形式组合在一起,对抗训练框架为如何组成这种隐表示提供了相当大的灵活性。1

在判别器中,x 和 y 表示为输入和判别函数(在本例中再次由 MLP 体现)
两人最小值博弈的目标函数为方程 2在这里插入图片描述
图 1 展示了一个简单的条件对抗网络的结构
在这里插入图片描述

4. 实验结果

4.1 单峰
我们在MNIST图像上训练了一个条件对抗网络,这些图像以它们的类标签为条件,编码为一热向量。

在生成器网络中,从单位超立方体内的均匀分布中抽取了维数为 100 的先于 z 的噪声。z 和 y 都通过 ReLu 激活 [4, 11] 映射到隐藏层,层大小分别为 200 和 1000,然后两者都映射到维度为 1200 的第二个组合隐藏 ReLu 层。然后,我们有一个最终的 sigmoid 单元层作为我们的输出,用于生成 784 维 MNIST 样本。

判别器将 x 映射到具有 240 个单元和 5 个单元的 maxout [6] 层,将 y 映射到具有 50 个单元和 5 个单元的 maxout 层。两个隐藏层都映射到具有 240 个单元和 4 个块的联合 maxout 层,然后被馈送到 sigmoid 层。(只要鉴别器具有足够的功率,判别器的精确架构并不重要;我们发现maxout单元通常非常适合这项任务。

该模型使用随机梯度下降法进行训练,小批量大小为 100,初始学习率为 0.1,初始学习率为 0.1,衰减因子为 0.000001衰减因子为 1.00004。此外,动量的初始值为 .5,后来增加到 0.7。概率为 0.5 的 Dropout [9] 被应用于生成器和判别器。在验证集上对数似然的最优估计值作为停止点。

表 1 显示了 MNIST 数据集测试数据的高斯 Parzen 窗口对数似然估计。从每 10 个类别中抽取 1000 个样本,并为这些样本安装了高斯 Parzen 窗口。然后,我们使用 Parzen 窗口分布估计测试集的对数似然。(有关如何构建此估计的更多详细信息,请参见 [8]。

我们提出的条件对抗性净结果与其他一些基于网络的结果相当,但被其他几种方法(包括非条件对抗性网络)所超越。我们将这些结果更多地作为概念验证,而不是功效的证明,并认为随着对超参数空间和架构的进一步探索,条件模型应该匹配或超过非条件结果。
在这里插入图片描述
图 2 显示了一些生成的样本。每行都由一个标签调节,每列都是不同的生成样本。
在这里插入图片描述
4.2 多式联运
像 Flickr 这样的照片网站是以图像及其相关的用户生成的元数据 (UGM) (特别是用户标签)的形式提供的标记数据的丰富来源

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

在本节中,我们将演示使用多标签预测自动标记图像,使用条件对抗网络生成以图像特征为条件的标签向量分布(可能是多模态)。

对于图像特征,我们在具有 21,000 个标签 [15] 的完整 ImageNet 数据集上预训练了一个类似于 [13] 中的卷积模型。我们使用最后一个具有 4096 个单元的全连接层的输出作为图像表示。

对于世界表示,我们首先从YFCC100M 2 个数据集元数据中收集用户标签、标题和描述的串联文本语料库。在对文本进行预处理和清理后,我们训练了一个词向量大小为 200 的 skip-gram 模型 [14]。我们省略了词汇表中出现次数少于 200 次的任何单词,从而最终得到一本大小为 247465 的词典。

在对抗网络的训练过程中,我们保持卷积模型和语言模型的固定。当我们甚至通过这些模型反向传播时,将实验留作未来的工作。

在我们的实验中,我们使用 MIR Flickr 25,000 数据集 [10],并使用我们上面描述的卷积模型和语言模型提取图像和标签特征。我们的实验中省略了没有任何标签的图像,注释被视为额外的标签。前 150,000 个样本被用作训练集。在训练集中,对于每个关联标签,具有多个标签的图像重复一次。

为了进行评估,我们为每个图像生成 100 个样本,并使用词汇表中单词向量表示的余弦相似性找到每个样本中最接近的前 20 个单词。然后,我们从所有 100 个样本中选择前 10 个最常见的单词。表 4.2 显示了用户分配的标签和注释的一些样本以及生成的标签。

最佳工作模型的生成器接收大小为 100 的高斯噪声作为先验噪声,并将其映射到 500 维的 ReLu 层。并将4096维图像特征向量映射到2000维ReLu隐藏层。这两个层都映射到 200 维线性层的联合表示,该线性层将输出生成的词向量。

判别器分别由500维和1200维的ReLu隐藏层组成,分别用于词向量和图像特征,以及以1000个单元和3个块的maxout层作为连接层,最终被馈送到一个单一的sigmoid单元。

该模型使用随机梯度下降法进行训练,小批量大小为 100,初始学习率为 0.1,初始学习率为 0.1,衰减因子为 0.000001衰减因子为 1.00004。此外,动量的初始值为 .5,后来增加到 0.7。对生成器和鉴别器都应用了概率为 0.5 的丢弃。

超参数和架构选择是通过交叉验证以及随机网格搜索和手动选择的混合获得的(尽管搜索空间有限)。

5. 今后的工作

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

从现在到研讨会的未来探索中,我们期望展示更复杂的模型,以及对其性能和特征的更详细和深入的分析。在这里插入图片描述
此外,在当前的实验中,我们只单独使用每个标签。但是,通过同时使用多个标签(有效地将生成问题作为“集合生成”的问题之一),我们希望获得更好的结果。

留给未来工作的另一个明显方向是构建一个联合训练计划来学习语言模型。像[12]这样的研究表明,我们可以学习适合特定任务的语言模型。

致谢
这个项目是在 Pylearn2 [7] 框架下开发的,我们要感谢 Pylearn2 的开发者。我们还要感谢伊恩·古德费罗(Ian Goodfellow)在蒙特利尔大学任职期间进行的有益讨论。作者感谢Flickr的视觉与机器学习和生产工程团队的支持(按字母顺序排列:Andrew Stadlen、Arel Cordero、Clayton Mellina、Cyprien Noel、Frank Liu、Gerry Pesavento、Huy Nguyen、Jack Culpepper、John Ko、Pierre Garrigues、Rob Hess、Stacey Svetlichnaya、Tobi Baumgartner和Ye Lu)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1961840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

同步与异步,阻塞与非阻塞的深入分析

😎 作者介绍:欢迎来到我的主页👈,我是程序员行者孙,一个热爱分享技术的制能工人。计算机本硕,人工制能研究生。公众号:AI Sun(领取大厂面经等资料),欢迎加我的…

人在迷茫无聊时该干什么?

做两件事,收和放。 第一件事收,全面收缩。 迷茫不是无事可做,而是所做的事没有意义,没有意义就停掉,空出时间让身心恢复到正常状态。迷茫会让你焦虑,让你晚睡,让你狂吃,让你迫不及待…

公司里的IT是什么?

公司里的IT是什么? 文章目录 公司里的IT是什么?1、公司里的IT2、IT技术3、IT行业4、IT行业常见证书 如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡ 前段时间,在公…

ARMv8 内存属性

目录 普通内存 (normal memory)设备内存(device memory)arm64 mair_el1 系统寄存器及linux 对其配置页表中的内存属性总结 普通内存 (normal memory) 弱一致性(weakly ordered)。 存在分支预测,数据预取,高速缓存行预…

二分算法及其公式

二分查找 二分查找是大多数人第一个接触到的算法,很多人都认为只有有序的数组可以使用二分查找,但这种思想其实是错误的,二分查找是可以用于拥有二段性的数组,而且二分算法是由模板做参考的,所以只要掌握就可以解决大…

【区块链+绿色低碳】基于区块链的双碳能源纳管平台 | FISCO BCOS应用案例

在双碳战略的指导下,南京区块链产业应用协会牵头研发的双碳能源纳管平台,依托区块链、人工智能、云计算、 物联网、大数据、工业互联网与边缘计算等技术,对绿电追溯、需求侧响应、能源微网、源网荷储、隔墙用电、 碳排放权认证、额度计量、预…

矩阵常见分解算法及其在SLAM中的应用

文章目录 常见特殊矩阵定义Cholesky分解(正定Hermittian矩阵,分解结果唯一)Cholesky分解应用 SVD分解(将singularvalues排序后分解唯一)SVD 分解的应用(任意矩阵) QR分解(任意矩阵&a…

第六周:机器学习周报

机器学习周报 摘要Abstract机器学习——类神经网络训练不起来怎么办?1. 自动调整学习率(learning rate)1.1 特制化的Learning Rate——parameter dependent1.1.1 Root Mean Square(RMS,均方根)1.1.2 RMSPro…

【Python】基础语法(下)

本篇文章将接着上篇文章继续讲解基础语法: (4)变量 (5)注释 (6)输入 (7)条件语句 四:变量 变量其实就是我们生活中起别名和外号。让变量名指向某个值&a…

旅游卡,免费,旅游是真的吗?真相是……

但这种包来回大交通,一旦成本大于利润,他们就会以各种理由推卸责任。这就是我在“揭秘:共享旅游卡免费旅游,包来回路费,这背后的3大真相!”这篇文章里面讲到那个大妈的惨痛教训。 以上这5点真相&#xff0…

Python 中的@符号:如何用装饰器改变你的编程方式?

Python 是一种强大且灵活的编程语言,其中有许多独特的语法元素和概念。 符号通常用于装饰器。它看起来可能有些神秘,但实际上它的工作原理非常简单。 什么是装饰器? 在了解 符号之前,我们首先需要理解什么是装饰器。简单来说&am…

C++设计模式笔记(内附可运行代码示例)

持续更新, 欢迎关注....... 前言 设计目的 高内聚,低耦合 设计原则 1、开放封闭原则 类的改动是通过增加代码进行,而不是修改源代码。 2、单一职责原则 职责单一,对外只提供一种功能,引起类变化的原因都应该只有一个。 3…

【中项】系统集成项目管理工程师-第9章 项目管理概论-9.1PMBOK的发展与9.2项目基本要素

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

数据库设计效率提高的5大注意事项

数据库设计效率和质量的提高对项目影响深远,能够显著提升数据访问速度,确保数据一致性和完整性,减少应用开发和维护成本,同时提升系统稳定性和用户体验。如果数据库设计不佳会导致项目性能低下,数据访问缓慢&#xff0…

Java7.0标准之重要特性及用法实例(十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…

APDL(ANSYS Parametric Design Language)初识

APDL(ANSYS Parametric Design Language)编写涉及使用ANSYS的参数化设计语言来创建、修改和执行有限元分析(FEA)任务。以下是一些关于APDL编写的基本步骤、技巧和示例: 一、基本步骤 了解APDL基础: 熟悉AP…

并发--快速查询死锁信息

使用jstack查看线程堆栈信息 jstack:jdk提供的一个工具,可以查看java进程中线程堆栈信息。 位于:jdk1.8.0_121\bin包下 死锁代码 public class DeadLockDemo {private static String A "A";private static String B "B"…

视频平台麓战奥运经济,谁能接住这“破天的富贵”?

文丨郭梦仪 与巴黎奥运会炸裂开幕式的“松弛感”不同,赛场外的流量之争早已硝烟弥漫。 今年,腾讯、咪咕、快手、抖音与中央广播电视总台达成奥运转播版权合作,长短视频平台各占一半。 而今,获得转播权的视频平台们,…

20240731 每日AI必读资讯

📱苹果AI版iOS首日火爆:聊天秒变高情商,大模型成最强嘴替,Siri华丽变身 - 苹果的Apple Intelligence终于面世!随着iOS 18.1 Beta版的上线,注册开发者从即日起就能体验到苹果AI的部分功能。 - Siri的全面换…

出行方案,智能推荐:用友BIP商旅云6.0推出AI新装备

随着企业业务的不断拓展和员工出行需求的日益复杂化,传统的商旅预订方式已经难以应对,同时企业在商旅成本控制方面也面临着巨大的挑战。为此用友BIP商旅云6.0推出了创新性的AI新装备——智能推荐,以智能分析与精准预测,为企业提供…