论文精读《Generative Adversarial Nets》

  导言:生成模型是目前爆火的一个研究方向,据Microsoft对于ChatGPT-4的研究称“ChatGPT-4可以看成是通用型人工智能(AGI)的早期版本;其独特的推理能力和理解语义能力迅速在全球掀起了大模型研究的一股热潮。不仅仅是NLP领域,CV领域也有相应的工作,例如meta研究发布的《Segment Anything》这篇论文,也是图像分割领域的里程碑,可以做到不经过训练就能够对未知的样本达到非常好的语义分割的效果。日后的博客将会更新一些生成方向的论文和前沿的科技。”

  《Generative Adversarial Nets》。这是一篇由Ian Goodfellow等人于2014年提出的重要论文,提出了一种新颖的生成模型,称为生成对抗网络(GAN)。

  在这篇论文中,作者提出了一种通过对抗过程估计生成模型的框架,其中包含两个模型:一个生成模型G和一个判别模型D。生成模型G用来生成伪造数据,而判别模型D用来评估一个数据样本是真实数据还是伪造数据。这两个模型通过对抗过程相互训练,最终得到一个能够生成类似于真实数据的生成模型。

  GAN是一种非常有效的生成模型,已经在图像生成、语音合成、自然语言处理等领域取得了广泛应用。这篇论文对于深度学习和生成模型的发展具有重要意义,并且一直受到广泛的研究和引用。

  在此前的生成模型领域,一般都用的是基于概率的生成模型,例如自回归模型等;GAN的诞生开创了生成模型的一个全新的世界。其主要利用了博弈论的原理:训练两个神经网络分别是D和G,分别是判别网络D和生成模型G,生成模型是学习给定样本的数据分布,并尽可能的生成出符合给定样本数据分布的全新数据;判别器的作用是判断给定的样本是生成器生成出来的还是原始数据。我们期望于判别模型尽可能的能够分清给定数据到底是生成器生成的,还是原始数据分布;并且期望于生成器能够尽可能的逼近原始数据,做到以假乱真的效果。

  最终我们可以达到纳什平衡:判别器对于给定的数据有50%的概率认为是原始数据,有50%的概率认为是生成器生成的数据。这样就达到了我们GAN的收敛效果。事实上,可以用验钞机和罪犯的例子来理解:印假钞的罪犯期望于能够做出以假乱真的假币,在外人眼里与真钞毫无区别;而我们的验钞机则想要区分出一张钞票的真伪。通过这个小例子,对于GAN的基本原理就能了解的差不多了。

  说完了我们模型的最终效果,我们来考虑一些更加细节的东西,包括我们该如何训练这两个神经网络?他们的损失函数是什么样子的?

  上面的给出的公式就是我们GAN的损失函数,其中p_data是指x服从与给定的数据分布,D(x)指的是判别器将给定数据判定为真实数据的概率;与之类似的是,z~pz(z)是指随机噪声,G(z)是指生成器生成出的数据,D(G(z))意为判别器判定生成器生成出的数据为真实数据的概率即犯错的概率。事实上,我们的生成网络和判别网络共享一个损失函数即上面所提到的这个,我们在训练时,首先更新判别网络D的参数:我们考虑,最终的目的是想要让模型对于给定样本的判别能力尽可能的强,同时对于生成器生成的数据,我们期望犯错的概率尽可能的小,所以在更新D的参数时,我们首先需要最大化D(x),同时最最大化1-D(G(z)),值得注意的是,对于后面的1-D(G(z)),代表的是判别器成功将生成数据判定为生成数据的概率。同理,在更新生成器时,我们需要最小化1-D(G(z)),也就是说最大化D(G((z)),这与我们上面所讨论的原理是相一致的。

  接下来我们考虑一些更加细节的东西:事实上,对抗网络和生成网络的纳什平衡是50%时,也就是我们上面所讨论的情况,知晓这些,GAN的相关内容就没什么问题了。

  后面将更新的论文是《Auto-Encoding Variational Bayes》敬请期待!

《Generative Adversarial Nets》论文精读的更多相关文章

  1. 论文笔记之:Conditional Generative Adversarial Nets

    Conditional Generative Adversarial Nets arXiv 2014   本文是 GANs 的拓展,在产生 和 判别时,考虑到额外的条件 y,以进行更加"激烈 ...

  2. 论文笔记之:Generative Adversarial Nets

    Generative Adversarial Nets NIPS 2014  摘要:本文通过对抗过程,提出了一种新的框架来预测产生式模型,我们同时训练两个模型:一个产生式模型 G,该模型可以抓住数据分 ...

  3. 论文笔记之:SeqGAN: Sequence generative adversarial nets with policy gradient

    SeqGAN: Sequence generative adversarial nets with policy gradient  AAAI-2017 Introduction :  产生序列模拟数 ...

  4. Generative Adversarial Nets[content]

    0. Introduction 基于纳什平衡,零和游戏,最大最小策略等角度来作为GAN的引言 1. GAN GAN开山之作 图1.1 GAN的判别器和生成器的结构图及loss 2. Condition ...

  5. Generative Adversarial Nets[Wasserstein GAN]

    本文来自<Wasserstein GAN>,时间线为2017年1月,本文可以算得上是GAN发展的一个里程碑文献了,其解决了以往GAN训练困难,结果不稳定等问题. 1 引言 本文主要思考的是 ...

  6. Generative Adversarial Nets[Pre-WGAN]

    本文来自<towards principled methods for training generative adversarial networks>,时间线为2017年1月,第一作者 ...

  7. Generative Adversarial Nets(原生GAN学习)

    学习总结于国立台湾大学 :李宏毅老师 Author: Ian Goodfellow • Paper: https://arxiv.org/abs/1701.00160 • Video: https:/ ...

  8. GAN(Generative Adversarial Nets)的发展

    GAN(Generative Adversarial Nets),产生式对抗网络 存在问题: 1.无法表示数据分布 2.速度慢 3.resolution太小,大了无语义信息 4.无reference ...

  9. Generative Adversarial Nets(GAN Tensorflow)

    Generative Adversarial Nets(简称GAN)是一种非常流行的神经网络. 它最初是由Ian Goodfellow等人在NIPS 2014论文中介绍的. 这篇论文引发了很多关于神经 ...

  10. 一文读懂对抗生成学习(Generative Adversarial Nets)[GAN]

    一文读懂对抗生成学习(Generative Adversarial Nets)[GAN] 0x00 推荐论文 https://arxiv.org/pdf/1406.2661.pdf 0x01什么是ga ...

随机推荐

  1. yhm的丘赛题解(其中的一些简单题)

    有选择地做了丘赛里的一些简单题,不定期更新     目录 [简单组合数学]2011丘赛个人[应数计算数学概统]第3题题解 [拉格朗日多项式插值]2011丘赛个人[应数计算数学概统]第2题题解 [概率] ...

  2. 数仓如何进行表级控制analyze?

    摘要: 介绍如何设置采样大小和表级控制analyze. 本文分享自华为云社区<GaussDB(DWS) 如何表级控制analyze>,作者:leapdb. 一.控制采样大小 [设置全局采样 ...

  3. 权限RBAC、RBAC0 、RBAC1、RBAC2

    https://zhuanlan.zhihu.com/p/34608415 权限系统的基本构成 权限系统主要由三个要素构成:帐号,角色,权限. 帐号是登录系统的唯一身份识别,一个账号代表一个用户.由自 ...

  4. 最新版本 Stable Diffusion 开源AI绘画工具之部署篇

    目录 AI绘画 本地环境要求 下载 Stable Diffusion 运行启动 AI绘画 关于 AI 绘画最近有多火,既然你有缘能看到这篇文章,那么相信也不需要我过多赘述了吧? 随着 AI 绘画技术的 ...

  5. STM32F407 学习 (0) 各种外设功能 (上)

      本文对正点原子STM32F4探索者的基本功能及外设作最基本的介绍,随笔者本人的学习进程(基本按照正点原子)而不定时更新,起到总结的作用. 一.HAL库编写程序的运行逻辑   HAL库函数(如stm ...

  6. docker方式实现redis数据持久化离线安装

    保存镜像 root@hello:~# docker pull redis:latest latest: Pulling from library/redis a2abf6c4d29d: Already ...

  7. android 6.0动态权限的申请

    一下9组权限需要动态申请//通讯录(读.写.查询)group:android.permission-group.CONTACTS permission:android.permission.WRITE ...

  8. linux下live555编译和调试

    linux下live555编译和调试 live555 支持 h.264 初步告捷,可以播放,尽管不是很稳定,或者说暂时只能播放 1 帧(主要是我现在还不了解 帧的概念),同时还有 Mal SDP 的传 ...

  9. 我的第一个项目(十二) :分数和生命值的更新(后端增删查改的"改")

    好家伙,写后端,这多是一件美逝. 关于这个项目的代码前面的博客有写  我的第一个独立项目 - 随笔分类 - 养肥胖虎 - 博客园 (cnblogs.com) 现在,我们登陆进去了,我开始和敌人战斗,诶 ...

  10. JavaFx 生成二维码工具类封装

    原文地址: JavaFx 生成二维码工具类封装 - Stars-One的杂货小窝 之前星之音乐下载器有需要生成二维码功能,当时用的是一个开源库来实现的,但是没过多久,发现那个库依赖太多,有个http- ...