原始GAN存在的问题
一、判别器非常强,导致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存在的问题相关推荐
- 深度学习面试题:原始GAN 在实际应用中存在哪些问题?
生成式对抗网络的基本原理 场景描述 生成式对抗网络(Generative Adversarial Network,GAN)一般由两个神经网络组成,一个网络负责生成样本,另一个网络负责鉴别样本的真假,这 ...
- 【GAN】二、原始GAN论文详解
写在前面 在前面一篇文章:[GAN]一.利用keras实现DCGAN生成手写数字图像中我们利用keras实现了简单的DCGAN,并生成了手写数字图像.程序结果让我们领略了GAN的强大,接下来我们开始一 ...
- 生成式对抗网络(GAN)-(Generative Adversarial Networks)算法总结(从原始GAN到....目前)
本文将按时间顺序总结gan的paper(非所有,会挑选个人认为比较重要的),并将参考其它博客(会给出链接),如有侵权,请私信删除. 更新于:2020/08/19 IS 可以反应图像的生成质量(越大越好 ...
- GAN对抗生成网络原始论文理解笔记
文章目录 论文:Generative Adversarial Nets 符号意义 生成器(Generator) 判别器(Discriminator) 生成器和判别器的关系 GAN的训练流程简述 论文中 ...
- 技术详解 | 如何用GAN实现阴影检测和阴影去除?
作者 | 江亦凡 最近两天刚看到的论文,写一篇文章当做笔记,论文原文取自https://arxiv.org/abs/1712.02478 继去年底Phillip Isola, Jun-Yan Zhu等 ...
- 手把手教你实现GAN半监督学习
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 引言 本文主要介绍如何在tensorflow上仅使用200个带标 ...
- GAN的统一架构与WGAN
原始GAN 统一架构 f divergence fenchel conjugate connect with gan 其他 WGAN 介绍 优势 weight clipping gradient pe ...
- GAN最新进展:8大技巧提高稳定性
生成对抗网络GAN很强大,但也有很多造成GAN难以使用的缺陷.本文介绍了可以克服GAN训练缺点的一些解决方案,有助于提高GAN性能. 生成对抗网络 (GAN) 是一类功能强大的神经网络,具有广泛的应用 ...
- 还记得Wasserstein GAN吗?
ICML 2017 仍然在悉尼火热进行中,Facebook 研究院今天也发文介绍了自己的 ICML 论文.Facebook有9篇论文被 ICML 2017接收,这些论文的主题包括语言建模.优化和图像的 ...
最新文章
- document.getElementById()和document.forms[0].submit()
- 码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清
- 成都服务器怎么租用最便宜—Vecloud
- 迅为四核4418开发板MiniLinux-CAN总线测试使用文档
- 基于JSON的高级AJAX开发技术
- 字符串匹配算法(一):BF(BruteForce)算法和RK(RabinKarp)算法
- 《零基础看得懂的C语言入门教程 》——(三)轻轻松松理解第一个C语言程序
- leetcode 897. 递增顺序搜索树(中序遍历)
- 主流语言实现冒泡排序算法
- 【论文阅读】Multisource Transfer Learning With Convolutional Neural Networks for Lung Pattern Analysis
- LeetCode(349)——两个数组的交集(JavaScript)
- IDEA 创建git 分支 拉取分支
- [.NET开发] C#面向服务WebService从入门到精通
- Linux-SHELL基本操作
- 强烈推荐:9 款用起来超爽的编程字体!
- 六级病历对门诊电子病历系统功能要求的初步梳理
- android 闹钟取消,android设置和取消闹钟
- The “fxp/composer-asset-plugin“ plugin was skipped because it requires a Plugin API version (“^1.0“)
- 中基鸿业如何投资理财
- excel中如何自动添加邮箱后缀