一、判别器非常强,导致loss都是0,不能引导生成器更新,所以可能生成出来的图像和真实图像差别很大,而loss仍然是0

原因1、我们是近似采样,并不能对原始数据全部采样

loss如下:

说明从两个分布采样的数据没有重合区域,但是其实两组数据之间有重合,只是判别器太强了,可以找到一条线将两组数据分开,如图所示。

图上的点是两个分布的采样数据,因为我们并不知道分布,只能对分布采样,通过采样后的数据分布近似原始分布

通过对分布采样,总能找到一条线将两组数据分开,因此我们要削弱判别器的能力,但是我们又想让判别器具有很强的能力,所以很矛盾,不知道削弱多少才合适。

原因2:数据的本质原因

因为数据本身就是一种高维空间的低维流形表现,他们之间可能重叠很少,因此,很容易导致JS divergence最大,loss为0,如下图所示。

由上图可知,初始两个数据分布差别很大,我们想通过一定的迭代使得两个分布之间差别越来越小,最后重合,但是前面的JS divergence都是log2,即loss为0,并不会更新生成器的参数,因此并不会有效地引导越来越好的过程。

二、Mode Collapse

假设原始数据会有两个峰值,但是generator会趋向于生成近似两个峰值中的一个,因此很容易会生成相同的图像,只是有可能颜色不一样罢了,如下图所示。

我们的目标是最小化KL散度,但是实际上会最小化reverse KL散度。

左图最小化KL散度,为了避免KL产生很大的值,PG会尽可能地沾满所有原始数据的分布区域,防止出现PG没有值而原始数据分布有值的情况;右图最小化Reverse KL散度,为了避免Reverse KL会出现很大的值,PG会局限于一个峰值区域,防止出现Pdata为0的地方还有PG。

原始GAN存在的问题相关推荐

  1. 深度学习面试题:原始GAN 在实际应用中存在哪些问题?

    生成式对抗网络的基本原理 场景描述 生成式对抗网络(Generative Adversarial Network,GAN)一般由两个神经网络组成,一个网络负责生成样本,另一个网络负责鉴别样本的真假,这 ...

  2. 【GAN】二、原始GAN论文详解

    写在前面 在前面一篇文章:[GAN]一.利用keras实现DCGAN生成手写数字图像中我们利用keras实现了简单的DCGAN,并生成了手写数字图像.程序结果让我们领略了GAN的强大,接下来我们开始一 ...

  3. 生成式对抗网络(GAN)-(Generative Adversarial Networks)算法总结(从原始GAN到....目前)

    本文将按时间顺序总结gan的paper(非所有,会挑选个人认为比较重要的),并将参考其它博客(会给出链接),如有侵权,请私信删除. 更新于:2020/08/19 IS 可以反应图像的生成质量(越大越好 ...

  4. GAN对抗生成网络原始论文理解笔记

    文章目录 论文:Generative Adversarial Nets 符号意义 生成器(Generator) 判别器(Discriminator) 生成器和判别器的关系 GAN的训练流程简述 论文中 ...

  5. 技术详解 | 如何用GAN实现阴影检测和阴影去除?

    作者 | 江亦凡 最近两天刚看到的论文,写一篇文章当做笔记,论文原文取自https://arxiv.org/abs/1712.02478 继去年底Phillip Isola, Jun-Yan Zhu等 ...

  6. 手把手教你实现GAN半监督学习

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 引言  本文主要介绍如何在tensorflow上仅使用200个带标 ...

  7. GAN的统一架构与WGAN

    原始GAN 统一架构 f divergence fenchel conjugate connect with gan 其他 WGAN 介绍 优势 weight clipping gradient pe ...

  8. GAN最新进展:8大技巧提高稳定性

    生成对抗网络GAN很强大,但也有很多造成GAN难以使用的缺陷.本文介绍了可以克服GAN训练缺点的一些解决方案,有助于提高GAN性能. 生成对抗网络 (GAN) 是一类功能强大的神经网络,具有广泛的应用 ...

  9. 还记得Wasserstein GAN吗?

    ICML 2017 仍然在悉尼火热进行中,Facebook 研究院今天也发文介绍了自己的 ICML 论文.Facebook有9篇论文被 ICML 2017接收,这些论文的主题包括语言建模.优化和图像的 ...

最新文章

  1. document.getElementById()和document.forms[0].submit()
  2. 码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清
  3. 成都服务器怎么租用最便宜—Vecloud
  4. 迅为四核4418开发板MiniLinux-CAN总线测试使用文档
  5. 基于JSON的高级AJAX开发技术
  6. 字符串匹配算法(一):BF(BruteForce)算法和RK(RabinKarp)算法
  7. 《零基础看得懂的C语言入门教程 》——(三)轻轻松松理解第一个C语言程序
  8. leetcode 897. 递增顺序搜索树(中序遍历)
  9. 主流语言实现冒泡排序算法
  10. 【论文阅读】Multisource Transfer Learning With Convolutional Neural Networks for Lung Pattern Analysis
  11. LeetCode(349)——两个数组的交集(JavaScript)
  12. IDEA 创建git 分支 拉取分支
  13. [.NET开发] C#面向服务WebService从入门到精通
  14. Linux-SHELL基本操作
  15. 强烈推荐:9 款用起来超爽的编程字体!
  16. 六级病历对门诊电子病历系统功能要求的初步梳理
  17. android 闹钟取消,android设置和取消闹钟
  18. The “fxp/composer-asset-plugin“ plugin was skipped because it requires a Plugin API version (“^1.0“)
  19. 中基鸿业如何投资理财
  20. excel中如何自动添加邮箱后缀

热门文章

  1. electron如何控制电脑摄像头
  2. VMware搭建虚拟机服务器
  3. python制作热图folium_Python Folium包可以在热图上绘制标记吗?
  4. Android 版本更新(非热更新) 适配7.0更新 以及三星 note系列读取内存相关目录无权限问题
  5. vue 如何兼容IE浏览器
  6. 大数据手段分析苹果手机营销-以iphone8为例
  7. .Net Core in Docker - 使用阿里云Codepipeline及阿里云容器镜像服务实现持续集成(CI)
  8. 全国软考累计报名通过人数达到多少了
  9. matlab也可以画出浪漫爱心
  10. 将网页打包成exe程序