专栏首页机器学习与生成对抗网络基础原理 | 生成对抗网络GAN解读

基础原理 | 生成对抗网络GAN解读

以最大似然估计的方式来获得生成图像模型的方法,这种方法是可行的,但有比较大的约束,即模型不能太复杂,比如服从正态分布,那么通过最大似然估计的方式就可以计算出,但如果是一个非常复杂的分布,那么使用这种方式难以获得一个理想的模型,这种强制性的约束就会造成各种限制,而我们希望的是可以为任意分布,这就需要引出GAN了。

1 生成器来拟合分布

在GAN中有两个主要的组成部分,分别是生成器与判别器,这里先讨论生成器,因为通过最大似然估计的方式能以计算复杂分布的,所以GAN的方法就是直接使用一个神经网络来完成这个事情,而这个神经网络就是生成器,因为神经网络可以拟合任意的分布,所以生成器不存在最大似然估计会遇到的问题。

对于GAN中的生成器而言,它会接收一个噪音输入,这个噪音输入可以来自于正态分布、均匀分布或其他任意分布,经过生成器复杂的神经网络变换,输出的数据就可以组成一种复杂的分布,最小化这个分布与真实分布的差异则可。输入给生成器的数据其分布不用太在意,因为生成器是一个复杂的神经网络,它有能力将输入的数据“改造”成各式各样的数据分布,直观如图1所示。

图1生成器

2 判别器计算分布的差异

图2  判别器

图3 二元分类器

3 GAN的数学推导

直观的展示一下上面的公式推导,这里使用简单的二维的函数图像来简化复杂分布的表示,如图4所示.

图4 V(G,D*)

图5 求微分

图6 V(G,D)发生变化

  • 获得样本,真实样本 ,噪音样本 ,生成样本
  • 固定生成器G,训练判别器D

本文摘自于《深入浅出GAN生成对抗网络》,经出版方授权发布。

本文分享自微信公众号 - 机器学习与生成对抗网络(AI_bryant8)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 超全!40000字 Matplotlib 实战

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过 Matplotlib,开发者可以...

    公众号机器学习与生成对抗网络
  • PyTorch多GPU并行训练方法及问题整理

    以下都在Ubuntu上面进行的调试, 使用的Ubuntu版本包括14, 18LST

    公众号机器学习与生成对抗网络
  • 有点夸张、有点扭曲!速览这些GAN如何夸张漫画化人脸!

    1 (2018-07-24) Unpaired Photo-to-Caricature Translation on Faces in the Wild

    公众号机器学习与生成对抗网络
  • 【玩转腾讯云】 Nuxt.js部署到云开发静态托管

    最开始了解到Nuxt是在vue SSR下了解到,用过之后感觉真香。 可以省去路由划分的时间,Nuxt.js 会读取该目录下所有的 .vue 文件并自动生成对应的...

    XaDon
  • 在IntelliJ IDEA上面进行使用svn进行版本管理

    cn華少
  • 微信小程序:实现悬浮返回和分享按钮

    依赖微信小程序接口wx.redirectTo、onShareAppMessage来完成

    红色扛把子
  • Unity-Jenkins打包部署工具(一)

    x-Alex
  • SAP Spartacus routing参数的权重和HTTP校验逻辑

    末位的productCode之前的参数,即使在url里手动改成一个并不存在的值,也不会影响Spartacus的路由:

    Jerry Wang
  • react-native 自动化构建过程(ipa包)

    准备工作 1.安装xcode 2.安装cocospod 3.react-native源文件(git获取源码) 4.安装npm包管理工具 5.安装rea...

    酷走天涯
  • 技术架构图集锦(选自《Spring Boot 实战开发》)

    Spring Data JPA 与 JPA,Hibernate 等之间的关系.png

    一个会写诗的程序员

扫码关注云+社区

领取腾讯云代金券