论文阅读之cGAN:Conditional Generative Adversarial Nets

#Abstract

本文提出了条件-生成对抗网络(Conditional-GAN),Generator和Discriminator的输入数据除了随机噪声外还多了标签y,从而可以通过GAN生成不同class label的图像,用于更好的引导单模态图像生成以及多模态学习下的生成图像标签等。



# Section I Introduction



生成模型中的生成对抗网络有效地规避了一些不好近似的概率运算,对抗网络只在反向传播过程中计算梯度,学习过程中不需要进行推断,一些其他因子/因素也可以很方便的加入到网络当中;此外还可以尽可能逼近对数估计,产生以假乱真的样例。
在没有条件约束的生成模型中,最终生成的模式未加约束;通过条件的施加可以引导模型生成特定模式的输出,条件的输入可以是类别标签、不同模式下的数据等。本文在MNIST和MIR Flicker两个数据集上测试了cGAN的效果。





# Section II Related Work





 Multi-modal Learning for Image Labelling




尽管一些监督学习网络已经可用于分类任务,但通常学习的都是一对一的映射,但对于多模态的识别这种一对多的映射关系发展的还不够,而现实生活中经常会遇到,比如在进行图像标注时一幅图内会标注不同的标签,而不同观测者往往标注的tag不尽相同,大部分是同义或相关的词汇进行标注。
第一个问题的一种可行的解决办法就是加入具有语义信息的特征向量,这样可以使得预测尽可能接近GT,已有研究表明即使仅增添特征空间与词向量空间的线性映射都可以提升显著分类准确率。
对于第二个问题,可通过使用条件概率生成模型解决。

Section III Conditional Adversarial Nets

Part A GANs






首先介绍生成对抗网络的结构:GAN是一种对抗学习的生成模型,生成器(Generator)用来捕获数据的分布,判别器(Discriminator)辨别输入的样本是真实样本还是生成器生成的样本






首先生成器G输入的是随机噪声输出的是一定分布的生成图,而判别器D则输出概率值,判别输出是真实图还是生成图。






两个网络以对抗的形式同时训练。






Part B c-GAN







条件GAN对生成器和判别器引入了额外的条件信息(extra information y),从Fig1可以看出,与GAN的不同之处就在于:







GAN-loss function









Generator的输入除了随机噪声z还有标签信息y;









Discriminator的输入除了生成图、真实图,还有标签信息y










损失函数也变成了条件概率:











Section IV Experimental Results

Part A Unimodal

首先测试了cGAN生成手写数字,条件信息是数字类别,以one-hot的形式输入。


Generator中:维度为100的随机噪声z从同一分布中采样生成,除此之外还有label作为y一同输入,最后一层sigmoid的784维的输出作为生成的样本


Discriminator:负责将x映射到maxout层,包含240个单元共5块,中间的隐藏层也包含240个单元最终送入sigmoid层。



训练:SGD优化,batch_size=100,学习率初始值为0.1,指数衰减。
最终的生成图片详见Fig2,每一行代表不同标签,每一列对应不同标签下的10例生成样本。




Part B Multimodal

像Flickr等用户产生的元数据不同于较为全为标注过的数据,更贴近于使用自然语言描述图像的语义信息,而不仅仅局限于标注图像内存在的物体。
这种UGM数据一个很显著的特征就是同义性,用户常用相似的近义词来描述同一概念,因此对这种标签进行归一化就十分有用,概念词嵌入技术(conceptual word embedding)是一种很有效的技术手段,相近的概念通常具有相近的特征向量。

本文就利用cGAN对图像进行自动打标,产生多模态的分类预测。实验使用的是MIR Flickr 25000数据集,跳过了其中未标注的图像。
Generator输入的是随机噪声以及在100张样本中出现最多的10类标签,输出生成的标签。

cGAN:Conditional Generative Adversarial Nets相关推荐

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

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

  2. 【GANs】Conditional Generative Adversarial Nets

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

  3. Conditional Generative Adversarial Nets

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

  4. PaperNotes(5)-Conditional Generative Adversarial Nets

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

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

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

  6. GAN(Generative Adversarial Nets)研究进展

    想与大家分享的是图像生成中一些工作. 这些工作都基于一大类模型,Generative Adversarial Networks(GAN).从模型名称上甚至都可以看出一些发展轨迹:GAN->CGA ...

  7. Conditional Structure Generation throughGraph Variational Generative Adversarial Nets 论文阅读

    目标 基于语义条件生成图 (1)基于条件生成尽可能相似的图. (2)有条件的生成新的图. 解决的问题 (1)基于语义有条件的生成图 (2)如何处理图在生成过程中的顺序的问题 解决问题的方法 (1)提出 ...

  8. Generative Adversarial Nets[BEGAN]

    本文来自<BEGAN: Boundary Equilibrium Generative Adversarial Networks>,时间线为2017年3月.是google的工作. 作者提出 ...

  9. 论文阅读:Single Image Dehazing via Conditional Generative Adversarial Network

    Single Image Dehazing via Conditional Generative Adversarial Network Runde Li∗ Jinshan Pan∗ Zechao L ...

最新文章

  1. 测试ATS对某个特定域名下文件处理效果的方法
  2. linux如何安装VM虚拟机
  3. 判断一个对象是否存在某个键_面向工业大数据的对象存储技术实践
  4. Python基础——正则2(0503)
  5. Android培训翻译_使你的程序感知位置
  6. Git的GUI工具sourcetree的使用
  7. linux账户初始化文件,Linux启动初始化配置文件浅析
  8. Android--Pin流程,飞行模式相关流程总结【工作日记一】
  9. css font-family 字体及各大主流网站对比
  10. win8 计算机组策略,win8系统安装软件提示“组策略阻止了这个程序”的解决方法...
  11. Mouse Controler(手机操控鼠标)
  12. 原创 METTLER TOLEDO托利多Bplus 条码格式设置教程(scale manager)
  13. 力扣刷题记录_字符串(自学)
  14. Web全栈~27.文件和目录的操作
  15. 前端资深技术专家苏千的“三迁”故事
  16. Linux: 查看文件和文件夹大小的df和du命令
  17. 马踏中国象棋棋盘的贪心算法
  18. Android逆向-实战sign分析-某某合伙人_v4.0.9
  19. 紫光展锐2021数字芯片笔试
  20. sqlyog如何设置.时提示字段名_暖通工程要设计管道软连接时,如何设置才安全?...

热门文章

  1. 快速安装小乌龟svn
  2. 计算机无法验证此文件,电脑提示0xc0000428无法验证此文件的解决方法
  3. 将NALU封装成RTP包
  4. C++ 读取h264中的nalu
  5. opencv相机标定(1)-畸变校正原理
  6. 三维拓扑元素介绍之TLink
  7. CMake使用关键点
  8. 关于matlab的mod问题
  9. python程序员工资-分析了 9 万条程序员招聘数据,Python 薪资竟反超 Java?
  10. 分库分表的基基基础知识