文章目录

  • 一、引言
    • 深度学习模型
  • 二、生成式模型
    • 研究意义
    • 常用方法
    • 生成式对抗网络
      • 应用
      • 生成方法
      • 生成原理
    • GAN的训练
    • GAN模型结构
      • 生成器模型
      • 判别器模型
  • 三、数据集
  • 四、GANTensorFLow 2.x 高阶 API Keras实现
    • 导入必要的包
    • 读取数据
    • 生成器模型定义
    • 判别器模型定义
    • 训练设置
      • 判别器损失函数
      • 生成器损失函数
      • 两者优化器
      • 定义超参数
      • 产生随机种子
    • 定义单次训练过程
    • 生成和保存图片
    • 训练函数定义
    • 可视化
      • 显示单张图
      • 定义动图函数
  • 五、CGANTensorFLow 2.x 高阶 API Keras实现
    • 导入必要的包
    • 数据读取
    • 生成器模型定义
    • 判别器模型定义
    • 训练设置
      • 判别器损失函数
      • 生成器损失函数
      • 两者优化器
      • 定义超参数
      • 产生随机种子
    • 定义单次训练过程
    • 生成和保存图片
    • 训练函数定义
    • 可视化
      • 显示单张图
      • 定义动图函数
  • 六、GAN and CGANTensorFLow 1.x 低阶 API实现
    • 特别说明
    • 黑胡桃社区
    • 函数文件
    • notebook示例
  • 七、总结
What I cannot create, I do not understand —— Feynman
我不能创造的,我就还未理解

一、引言

深度学习模型

深度学习模型可分为如下两类:判别式模型生成式模型

判别式模型 生成式模型
通过模型进行分类预测,例如图像分类,目标检测,电影情感分析等 通过模型生成数据,例如图像数据,声音数据等
GoogLeNet GAN
ResNet CGAN
Faster RCNN DCGAN
YOLO intoGAN
VGG系列 WGAN

二、生成式模型

研究意义

➢是对我们处理高维数据和复杂概率分布的能力很好的检测
➢当面临缺乏数据或缺失数据时,我们可以通过生成模型来补足。比如,用在半监督学习中。
➢可以输出多模态(multimodal)结果
➢等等

常用方法

➢最大似然估计法:以真实样本进行最大似然估计,参数更新直接来自于样本数据,导致学习到的生成模型受到限制。
➢近似法:由于目标函数难解一般只能在学习过程中逼近目标函数的下界,并不是对目标函数的逼近。
➢马尔科夫链方法:计算复杂度高

生成式对抗网络

Generative Adversarial Networks

应用

图像生成,AI换脸等
  

生成方法

➢设数据集x1x_1x1…\ldotsxnx_nxn作为真实数据分布的样本p(x)p(x)p(x),其分布如下图蓝色区域所示(这个分布函数是通过设定阈值所达到的高概率分布),其中黑色小点代表样本点xxx
➢其中粉色区域代表单位高斯噪声
➢黄色区域是我们的生成式模型
➢绿色区域是服从数据描述为p^θ(x)\hat{p}_{\theta}(x)p^θ(x)的分布域,这个分布区域则是粉色区域(随机高斯噪声)通过黄色区域(生成式模型)映射而来
➢我们的目的则是通过调整参数θ\thetaθ来修正生成式模型,使得通过生成式模型映射绿色区域无限逼近蓝色区域,使两者的分布函数逐渐相等,即lim⁡θ→θnp(x)=p^θ(x)\mathop {\lim }\limits_{\theta \to {\theta _n}}p(x)=\hat{p}_{\theta}(x)θθnlimp(x)=p^θ(x),其中θn{\theta _n}θn为理想值

生成原理

原理可由下图简单描述,其中输入的数据为随机噪声或高斯噪声等:

是一个三维噪声的三维高斯图【图对不对我也不知道,因为我懒得化,随便在网上找了一个噪声的matlab图,手动滑稽

Tensorflow 笔记 XIV——生成式对抗网络:GAN 与 CGAN相关推荐

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

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

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

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

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

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

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

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

  5. 王飞跃教授:生成式对抗网络GAN的研究进展与展望

    本次汇报的主要内容包括GAN的提出背景.GAN的理论与实现模型.发展以及我们所做的工作,即GAN与平行智能.  生成式对抗网络GAN GAN是Goodfellow在2014年提出来的一种思想,是一种比 ...

  6. 生成式对抗网络GAN(一)—基于python实现

    基于python实现生成式对抗网络GAN 构建和训练一个生成对抗网络(GAN) ,使其可以生成数字(0-9)的手写图像. 学习目标 从零开始构建GAN的生成器和判别器. 创建GAN的生成器和判别器的损 ...

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

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

  8. 生成式对抗网络(GAN, Generaitive Adversarial Networks)总结

    最近要做有关图像生成的工作-也是小白,今天简单学习一些有关GAN的基础知识,很浅,入个门,大神勿喷. GAN目前确实是在深度学习领域最热门,最有前景的方向之一.近几年有关于GAN的论文非常非常之多,从 ...

  9. 生成式对抗网络GAN模型搭建

    生成式对抗网络GAN模型搭建 目录 一.理论部分 1.GAN基本原理介绍 2.对KL散度的理解 3.模块导入命令 二.编程实现 1.加载所需要的模块和库,设定展示图片函数以及其他对图像预处理函数 1) ...

最新文章

  1. Ubuntu更换阿里源以及由于没有公钥,无法验证下列签名错误
  2. java webservice接口开发_php开发webservice服务端接口(wsdl)
  3. 什么是StackOverflowError?
  4. python真的那么强大嘛-python强大吗
  5. MySQL中EXPLAIN命令详解
  6. vue.js项目文件搭建
  7. 位域 bit-fields C的重要数据结构
  8. js 实现简单的轮询
  9. 怎样用JS来添加CSS样式
  10. 京东总部4号楼即将投入使用:建面超过13万平方米 耗时644天
  11. leetcode978. Longest Turbulent Subarray
  12. hadoop系列一:hadoop集群安装
  13. CVE2014-6287分析报告
  14. 新东方 词根词缀 excel_14张图搞定高中英语词汇常见词缀词根!
  15. 阿里云mysql导出表,导出mysql表数据库
  16. 磁盘存储DiskStore
  17. No.005<日常><工具表>《数学符号与希腊字母表》
  18. 网易云linux版本如何安装包,网易云音乐linux版下载-网易云音乐linux 安装包v1.1.0 官方版 - 极光下载站...
  19. codeforces 711C Coloring Trees(DP)
  20. 计算机房灭火器单具基准,发电站灭火器配置说明资料.ppt

热门文章

  1. Windows下查看电脑的CPU个数,核心数,线程数
  2. wav音频文件头解析
  3. Sql 双重否定的随笔
  4. 【第二周】Java实现英语文章词频统计
  5. nginx 正向代理http和https
  6. 计算机硬件品牌的调研报告,计算机硬件市场调查报告.doc
  7. scala中case的用法
  8. prim algorithm
  9. 两化融合包含方面有哪些?
  10. 中国到欧洲专线快递要多长时间