最近要做有关图像生成的工作…也是小白,今天简单学习一些有关GAN的基础知识,很浅,入个门,大神勿喷。
GAN目前确实是在深度学习领域最热门,最有前景的方向之一。近几年有关于GAN的论文非常非常之多,从2016年起关于GAN的论文是爆炸性的增长。GAN的应用领域也在逐年的扩展,从图像到自然语言的处理都能看到GAN的身影

目录:

  1. 什么是GAN?
  2. GAN的主要组成/
  3. GAN的原理/
  4. GAN的原理总结/
  5. GAN的设计/
  6. GAN的应用领域/

1 什么是GAN

GAN是“生成对抗网络”(Generative Adversarial Networks)的简称,由2014年还在蒙特利尔读博士的lanGoodfellow引入深度学习领域。2016年,GAN热潮席卷AI领域顶级会议,从ICLR到NIPS,大量高质量论文被发表和探讨。Yann LeCun曾评价GAN是“20年来机器学习领域最酷的想法”。
生成式对抗网络(GAN, Generaitive Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。

2 GAN的主要组成

GAN主要包括了两个部分,即生成器generator 与判别器discriminator。

  • 生成器主要用来学习真实图像分布从而让自身生成的图像更加真实,以骗过判别器。
  • 判别器则需要对接收的图片进行真假判别。

其实,机器学习的模型可大体分为两类:生成模型(Generative Model)和判别模型(DiscriminativeModel),举个例子,判别模型就是给一张照片看看是猫还是狗,所以判别模型需要输入变量,通过某种模型来预测;而生成模型是给定某种隐含信息,来随机产生观测数据。GAN其实上就是更好的生成模型!

3 GAN的基本原理

  • 在训练过程中:
    生成器努力地让生成的图像更加真实,而判别器则努力地去识别出图像的真假,这个过程相当于一个二人博弈,随着时间的推移,生成器和判别器在不断地进行对抗。
  • 最终的训练结果是想两个网络达到了一个动态均衡:
     生成器生成的图像接近于真实图像分布,
     而判别器识别不出真假图像,对于给定图像的预测为真的概率基本接近0.5(相当于随机猜测类别)。

4 GAN原理总结

 对于给定的真实图片,判别器要为其打上标签1;
 对于给定的生成图片,判别器要为其打上标签0;
对于生成器传给辨别器的生成图片,生成器希望辨别器为自己打上标签1。

即:
 训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。
 而D的目标就是尽量把G生成的图片和真实的图片分别开来。
 这样,G和D构成了一个动态的“博弈过程”.

博弈的结果是什么?
在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。
对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z))= 0.5。

目的:得到了一个生成模型G,可以用来生成图片。

5 GAN的设计


GAN的设计实际上是设计两个网络(生成器网络,判别器网络)。

对于判别器网络的设计就是CNN, 判别器网络的目标就是对图像(无论是真实的图像还是生成的图像,做一个判别,最后使用一个sigmoid判别真/假)。

生成器最开始给它一个噪声,通过这个噪声来生成图像,如果你第一次接触GAN可能会感觉的疑惑(就是为什么要给一个噪声?) 这个噪声相当于给它一个初始的分布,通过这个初始的分布得到一个图像,随机的噪声会得到随机的图像。这样生成的图像是一个广泛分布的图像而不是每次生成都会固定生成一张图片。(我们想得到的一个生成网络是一个 根据我们所输入的随机分布,生成一个随机的真实的图像。)

6 GAN的应用领域:

  • 图像生成
  • 图像增强(模糊的图像变清晰)
  • 风格化(普通的图像风格化,油画的类型,各种各样的风格)
  • 艺术的图像创造
  • 等等…

生成式对抗网络(GAN, Generaitive Adversarial Networks)总结相关推荐

  1. 生成式对抗网络(Generative Adversarial Networks,GANs)

    1. 简介 首先简要介绍一下生成模型(Generative model)与判别模型(Discriminative mode)的概念: 生成模型:对联合概率进行建模,从统计的角度表示数据的分布情况,刻画 ...

  2. 生成式对抗网络(Generative Adversarial Networks, GANs)

    1 原始的 GANs 1.1 GANs 的结构 GANs 的结果图如下所示: 生成式对抗网络 GANs 最重要的两个部分为: 生成器(Generator) :用于生成"假"样本.生 ...

  3. 《生成式对抗网络GAN的研究进展与展望》论文笔记

    本文主要是对论文:王坤峰, 苟超, 段艳杰, 林懿伦, 郑心湖, 王飞跃. 生成式对抗网络GAN的研究进展与展望. 自动化学报, 2017, 43(3): 321-332. 进行总结. 相关博客地址: ...

  4. 生成式对抗网络GAN必读十篇论文(附论文和代码地址)

    目录索引 一.DCGAN 二.Improved Techniques for Training GANs 三.Conditional GANs 四.Progressively Growing of G ...

  5. 深度学习之生成式对抗网络 GAN(Generative Adversarial Networks)

    一.GAN介绍 生成式对抗网络GAN(Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一.它源于2014年发表的论文:& ...

  6. 生成对抗网络(Generative Adversarial Networks,GAN)

    目录 生成对抗网络(Generative Adversarial Networks,GAN) 一.什么是GAN 二.GAN的模型结构 三.实战案例 3.1 使用GAN生成人脸照片 四.深入理解GAN模 ...

  7. 如何用 TensorFlow 实现生成式对抗网络(GAN)

    我们来研究一下生成式对抗网络 GAN,并且用 TensorFlow 代码实现. 自从 Ian Goodfellow 在 14 年发表了 论文 Generative Adversarial Nets 以 ...

  8. 简述生成式对抗网络 GAN

    本文主要阐述了对生成式对抗网络的理解,首先谈到了什么是对抗样本,以及它与对抗网络的关系,然后解释了对抗网络的每个组成部分,再结合算法流程和代码实现来解释具体是如何实现并执行这个算法的,最后通过给出一个 ...

  9. 深度学习之生成式对抗网络GAN

    一.GAN介绍 生成式对抗网络GAN(Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一.模型通过框架中(至少)两个模块 ...

最新文章

  1. malloc,calloc和realloc函数
  2. iHealth基于Docker的DevOps CI/CD实践
  3. Windows mysql-64位 数据库安装
  4. python文档字符串格式_Python字符串及文本模式方法详解
  5. 图层上下_「只要功夫深 不用关键帧」之图层序号的玩法
  6. 机器学习基础算法12-回归实例-广告预测
  7. linux 查看所有存在的线程
  8. 人人商城源码怎么安装MySQL_人人商城插件开发手记
  9. ARM常用汇编指令讲解
  10. 深度学习超参数介绍及调参
  11. wps可以用来学计算机考试吗,国产软件WPS成全国计算机二级考试科目,你确定不来学点编程...
  12. 微信小程序生成携带参数的小程序码
  13. MUI中vue的@click事件没反应
  14. 荧光定量PCR:基因相对表达量计算方法
  15. 一站式:虚拟机安装Linux系统(CentOS_7),多节点Linux环境打造,XShell的使用
  16. manjaro安装搜狗拼音输入法
  17. ps—选择连续的多个图层、同时操作多个图层、选择所有图层与取消选择图层、锁定图层、锁定透明像素、锁定图像像素、锁定位置、锁定全部
  18. Required field ‘client_protocol‘ is unset
  19. 赠书福利丨我们人类与人工智能技术究竟是怎样的关系?
  20. 数学类笔试题(四分位数、数据规约和协方差)

热门文章

  1. 6种可能让你适得其反的睡眠技巧
  2. 像计算机科学家一样思考python 百度网盘_像计算机科学家一样思考Python PDF_Python教程...
  3. 《美国工厂》刷屏之际,微软为中国企业出海提供了一条新思路
  4. 使用Lua脚本实现高并发处理方案
  5. vue2.0项目搭建
  6. python基于rsa的数字签名实现_OpenSSL和Python实现RSA Key数字签名和验证
  7. python趣味编程-坦克大战游戏
  8. Leetcode-寻找两个有序数组的中位数
  9. Java中final修饰符的理解
  10. html js获取数组坐标,javascript怎么获取数组的值?