Conditional Generative Adversarial Nets

利用五一假期的小尾巴终于看完了CGAN的论文,特意记录一下,方便以后查找。


文章目录

  • Conditional Generative Adversarial Nets
  • 前言
  • 一、总述
  • 二、GAN与CGAN的区别
    • 1. 输入输出
    • 2. 损失函数
  • 三、CGAN的网络框架
  • 个人理解
  • 总结
  • 参考文献

前言

利用五一假期最后的小尾巴,终于看完了CGAN的论文,记录一下自己的读书笔记。
Conditional Generative Adversarial Nets 发表于2014年,它也是比较经典的GAN论文之一。
论文地址:https://arxiv.org/pdf/1411.1784.pdf


一、总述

CGAN的全称是Conditional Generative Adversarial Networks,即条件生成对抗网络。
CGAN与GAN相比是一种新的训练生成网络模型的方法,CGAN是通过多增加一个条件输入数据y,使得这个条件y能够同时约束生成器和判别器。

二、GAN与CGAN的区别

1. 输入输出

1.1 GAN的输入输出

生成器:输入是一个随机噪声,输出是一幅图像
判别器:输入是一张图像,输出是该图像是真实图像的概率值


1.2 CGAN的输入输出

生成器:输入是一个随机噪声,一个条件,输出是符合该条件的图像
判别器:输入是一张图像,一个条件,输出是该图像在该条件下是真实图像的概率值

这里的生成器与判别器与GAN里面的有点不一致了,它们的功能更加强大了,生成器必须要生成和条件相匹配的样本,而判别器不仅要判别图像是否真实,还要判别图像和条件是否匹配。


2. 损失函数

2.1 GAN的损失函数

GAN包含一个生成器和一个判别器,其中生成器G和判别器D进行博弈,损失函数如下:

2.2 CGAN的损失函数

CGAN添加的额外条件y只需要和x与z进行合并,作为G和D的输入即可,由此得到了CGAN的损失函数如下:

三、CGAN的网络框架

CGAN的整体网络框架与GAN大致相同,唯一的变化就是添加了条件作为控制输出,框架结构图如下:


这里的y可以是任何类型的辅助信息,例如类标签等等。我们可以向生成器和判别器输入条件y来实现条件控制。

个人理解

通过阅读CGAN的论文,使得我对于之前的GAN的知识也有了更加深刻理解:

(1)对于生成器和判别器,我们知道卷积神经网络能够实现图像抽象特征的提取,如果我们定义生成器的输入为“图像的特征”(随机噪声向量),那么可以用反卷积或者是上采样实现图像的生成;而对于判别器本质就是一个有监督的二分类器,输入是图像,输出是真实图像的概率值。

(2)为什么生成器每次都需要随机噪声的输入?
首先,每次选择随机噪声都会产生新的图像,如果每次都使用相同的随机噪声,则模型会产生相同的图像。并且,随机噪声就是特征向量,对于每个图像都是唯一的,因为它的每一项都会决定新的图像产生的一个因素。所以,这也就决定我们不同的项目的所选择的噪声不同,噪声的维度也是不尽相同。

总结

GAN总体来说就是学习样本的数据分布,在训练过程中,生成器会近似这个分布,而判别器会告诉生成器它产生错误的地方,生成器和判别器两者交替训练,不断提升。

CGAN就是在原来的GAN的基础上添加了条件信息,使得GAN的生成结果可控。具体就是我们在生成器和判别器上添加约束条件来引导数据的生成过程,使得输出我们想要的结果。若条件C设置为类别标签y,则可认为CGAN是将无监督的GAN模型变为有监督模型。

CGAN是GAN里重要的基础,也是我们向后理解的基石,充分理解好CGAN的原理,对于我们后续的学习会有潜移默化的帮助。

加油,兄弟们!

参考文献

[1]Conditional Generative Adversarial Nets
[2]https://blog.csdn.net/zh20166666/article/details/82937895
[3]https://www.freesion.com/article/7633887700/

Conditional Generative Adversarial Nets相关推荐

  1. PaperNotes(5)-Conditional Generative Adversarial Nets

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

  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. CGAN论文解读:Conditional Generative Adversarial Nets

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

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

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

  5. cGAN:Conditional Generative Adversarial Nets

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

  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. GAIN: Missing Data Imputation using Generative Adversarial Nets学习笔记

    GAIN: Missing Data Imputation using Generative Adversarial Nets(基于对抗生成网络实现缺失数据插补) 缺失数据插补算法问题背景 缺失数据 ...

最新文章

  1. python 关联表_python学习------9.13----约束、表之间的关联关系
  2. Spring-Aop-注解实现
  3. Drools 规则语言详解(上)
  4. H.264(MPEG-4 AVC)级别(Level)、DPB 与 MaxDpbMbs 详解(转载)
  5. 路由器和网关的区别?
  6. 交通银行信息技术管理部副总经理张漫丽:交通银行“大数据+人工智能”应用研究...
  7. 前端学习(1646):前端系列实战课程之右下角悬浮功能实现思路
  8. HIve:beeline终端上在输错hive语句时,无论 Backspace还是delete 都删除不掉错误的语句,没有办法退格...
  9. mac mysql docker_docker学习(5) 在mac中创建mysql docker容器
  10. 姚前:算法经济与算法监管
  11. 网管工具之cacti
  12. vivado仿真脚本生成
  13. WIN7专业版32/64位更换系统语言注意
  14. shell以分号结尾_linux shell 各种分号,括号使用方法总结
  15. fastdfs连接mysql_使用fastdfs-zyc监控FastDFS文件系统
  16. 转载 | 访问控制是什么?数据安全的关键组成
  17. 浅谈UPS不间断电源的重要性
  18. DenseNet——密集连接的卷积神经网络
  19. cometd: Bayeux Protocol
  20. 01:机器人学数学基础

热门文章

  1. Photoshop CC2018(矩形选框工具简单教程)
  2. WIN10+VS+RTX3060 配置CUDA
  3. 阿法狗的智慧,被赋予职业围棋200段的选手
  4. python——requests接口测试
  5. 05-【公司解决问题】公司解决问题5之k8s问题(部署单元挂载存储卷启动报错:nfs挂载错误wrong fs type, bad option, bad superblock)
  6. 逻辑思维/(美)理查德·尼斯贝特——拥有智慧思考的工具
  7. 调用 SSPI 失败,请参见内部异常
  8. 小白学做网云小程序(2)
  9. Acunetix 登录凭证无效
  10. 禅道邮箱配置163邮箱/阿里云邮箱区别