Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN原理总结及对比

DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN原理总结及对比

作者头像
DoubleV
发布于 2018-09-12 07:16:05
发布于 2018-09-12 07:16:05
3K00
代码可运行
举报
文章被收录于专栏:GAN&CVGAN&CV
运行总次数:0
代码可运行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/details/78857788

GAN系列学习(2)——前生今世

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      本文已投稿至微信公众号--机器学习算法工程师,欢迎关注

       本文是GAN系列学习–前世今生第二篇,在第一篇中主要介绍了GAN的原理部分,在此篇文章中,主要总结了常用的GAN包括DCGAN,WGAN,WGAN-GP,LSGAN-BEGAN的详细原理介绍以及他们对GAN的主要改进,并推荐了一些Github代码复现链接。

       本文旨在对GAN的变种做一些梳理工作,详细请看下文。

1.DCGAN

【Paper】 :

 http://arxiv.org/abs/1511.06434

【github】 :

https://github.com/Newmu/dcgan_code  theano

https://github.com/carpedm20/DCGAN-tensorflow  tensorflow

https://github.com/jacobgil/keras-dcgan    keras

https://github.com/soumith/dcgan.torch  torch

DCGAN是继GAN之后比较好的改进,其主要的改进主要是在网络结构上,到目前为止,DCGAN的网络结构还是被广泛的使用,DCGAN极大的提升了GAN训练的稳定性以及生成结果质量。

论文的主要贡献是:

◆  为GAN的训练提供了一个很好的网络拓扑结构。

◆  表明生成的特征具有向量的计算特性。

DCGAN的生成器网络结构如上图所示,相较原始的GAN,DCGAN几乎完全使用了卷积层代替全链接层,判别器几乎是和生成器对称的,从上图中我们可以看到,整个网络没有pooling层和上采样层的存在,实际上是使用了带步长(fractional-strided)的卷积代替了上采样,以增加训练的稳定性。

DCGAN能改进GAN训练稳定的原因主要有:

◆  使用步长卷积代替上采样层,卷积在提取图像特征上具有很好的作用,并且使用卷积代替全连接层。

◆  生成器G和判别器D中几乎每一层都使用batchnorm层,将特征层的输出归一化到一起,加速了训练,提升了训练的稳定性。(生成器的最后一层和判别器的第一层不加batchnorm)

◆  在判别器中使用leakrelu激活函数,而不是RELU,防止梯度稀疏,生成器中仍然采用relu,但是输出层采用tanh

◆  使用adam优化器训练,并且学习率最好是0.0002,(我也试过其他学习率,不得不说0.0002是表现最好的了)

DCGAN结果图:

矢量计算:

LSUN数据集上的结果:

DCGAN虽然有很好的架构,但是对GAN训练稳定性来说是治标不治本,没有从根本上解决问题,而且训练的时候仍需要小心的平衡G,D的训练进程,往往是训练一个多次,训练另一个一次。

2.WGAN

【paper】:

https://arxiv.org/abs/1701.07875

【GitHub】:

https://github.com/hwalsuklee/tensorflow-generative-model-collections

              https://github.com/Zardinality/WGAN-tensorflow

与DCGAN不同,WGAN主要从损失函数的角度对GAN做了改进,损失函数改进之后的WGAN即使在全链接层上也能得到很好的表现结果,WGAN对GAN的改进主要有:

◆  判别器最后一层去掉sigmoid

◆  生成器和判别器的loss不取log

◆  对更新后的权重强制截断到一定范围内,比如[-0.01,0.01],以满足论文中提到的lipschitz连续性条件。

◆  论文中也推荐使用SGD, RMSprop等优化器,不要基于使用动量的优化算法,比如adam,但是就我目前来说,训练GAN时,我还是adam用的多一些。

从上面看来,WGAN好像在代码上很好实现,基本上在原始GAN的代码上不用更改什么,但是它的作用是巨大的

◆  WGAN理论上给出了GAN训练不稳定的原因,即交叉熵(JS散度)不适合衡量具有不相交部分的分布之间的距离,转而使用wassertein距离去衡量生成数据分布和真实数据分布之间的距离,理论上解决了训练不稳定的问题。

◆  解决了模式崩溃的(collapse mode)问题,生成结果多样性更丰富。

◆  对GAN的训练提供了一个指标,此指标数值越小,表示GAN训练的越差,反之越好。可以说之前训练GAN完全就和买彩票一样,训练好了算你中奖,没中奖也不要气馁,多买几注吧。

有关GAN和WGAN的解释,可以参考链接:https://zhuanlan.zhihu.com/p/25071913

总的来说,GAN中交叉熵(JS散度)不适合衡量生成数据分布和真实数据分布的距离,如果通过优化JS散度训练GAN会导致找不到正确的优化目标,所以,WGAN提出使用wassertein距离作为优化方式训练GAN,但是数学上和真正代码实现上还是有区别的,使用Wasserteion距离需要满足很强的连续性条件—lipschitz连续性,为了满足这个条件,作者使用了将权重限制到一个范围的方式强制满足lipschitz连续性,但是这也造成了隐患,接下来会详细说。另外说实话,虽然理论证明很漂亮,但是实际上训练起来,以及生成结果并没有期待的那么好。

:Lipschitz限制是在样本空间中,要求判别器函数D(x)梯度值不大于一个有限的常数K,通过权重值限制的方式保证了权重参数的有界性,间接限制了其梯度信息。

3.WGAN-GP (improved wgan)

【paper】:

https://arxiv.org/abs/1704.00028

【GitHub】:

  https://link.zhihu.com/?target=https%3A//github.com/igul222/improved_wgan_training

https://github.com/caogang/wgan-gp

WGAN-GP是WGAN之后的改进版,主要还是改进了连续性限制的条件,因为,作者也发现将权重剪切到一定范围之后,比如剪切到[-0.01,+0.01]后,发生了这样的情况,如下图左边表示。

发现大多数的权重都在-0.01 和0.01上,这就意味了网络的大部分权重只有两个可能数,对于深度神经网络来说不能充分发挥深度神经网络的拟合能力,简直是极大的浪费。并且,也发现强制剪切权重容易导致梯度消失或者梯度爆炸,梯度消失很好理解,就是权重得不到更新信息,梯度爆炸就是更新过猛了,权重每次更新都变化很大,很容易导致训练不稳定。梯度消失与梯度爆炸原因均在于剪切范围的选择,选择过小的话会导致梯度消失,如果设得稍微大了一点,每经过一层网络,梯度变大一点点,多层之后就会发生梯度爆炸 。为了解决这个问题,并且找一个合适的方式满足lipschitz连续性条件,作者提出了使用梯度惩罚(gradient penalty)的方式以满足此连续性条件,其结果如上图右边所示。

 梯度惩罚就是既然Lipschitz限制是要求判别器的梯度不超过K,那么可以通过建立一个损失函数来满足这个要求,即先求出判别器的梯度d(D(x)),然后建立与K之间的二范数就可以实现一个简单的损失函数设计。但是注意到D的梯度的数值空间是整个样本空间,对于图片(既包含了真实数据集也包含了生成出的图片集)这样的数据集来说,维度及其高,显然是及其不适合的计算的。作者提出没必要对整个数据集(真的和生成的)做采样,只要从每一批次的样本中采样就可以了,比如可以产生一个随机数,在生成数据和真实数据上做一个插值

于是就算解决了在整个样本空间上采样的麻烦。

所以WGAN-GP的贡献是:

◆  提出了一种新的lipschitz连续性限制手法—梯度惩罚,解决了训练梯度消失梯度爆炸的问题。

◆  比标准WGAN拥有更快的收敛速度,并能生成更高质量的样本

◆  提供稳定的GAN训练方式,几乎不需要怎么调参,成功训练多种针对图片生成和语言模型的GAN架构

但是论文提出,由于是对每个batch中的每一个样本都做了梯度惩罚(随机数的维度是(batchsize,1)),因此判别器中不能使用batch norm,但是可以使用其他的normalization方法,比如Layer Normalization、Weight Normalization和Instance Normalization,论文中使用了Layer Normalization,weight normalization效果也是可以的。为了比较,还是祭出了下面这张图,可以发现WGAN-GP完爆其他GAN:

4.LSGAN

最小二乘GAN

全称是Least Squares Generative Adversarial Networks

【paper】

            https://arxiv.org/abs/1611.04076

【github】

            https://github.com/hwalsuklee/tensorflow-generative-model-collections

            https://github.com/guojunq/lsgan

LSGAN原理:

其实原理部分可以一句话概括,即使用了最小二乘损失函数代替了GAN的损失函数。

但是就这样的改变,缓解了GAN训练不稳定和生成图像质量差多样性不足的问题。

事实上,作者认为使用JS散度并不能拉近真实分布和生成分布之间的距离,使用最小二乘可以将图像的分布尽可能的接近决策边界,其损失函数定义如下:

其中作者设置a=c=1,b=0

论文里还是给了一些数学推导与证明,感兴趣的可以去看看

生成结果展示:

5.BEGAN: (不是EBGAN)

BEGAN全称是Boundary Equilibrium GANs

【paper】:

https://arxiv.org/abs/1703.10717

【GitHub】:

https://github.com/carpedm20/BEGAN-tensorflow

            https://github.com/Heumi/BEGAN-tensorflow

            https://github.com/carpedm20/BEGAN-pytorch

(详细的BEGAN解读可以参考我的博客:

http://blog.csdn.net/qq_25737169/article/details/77575617?locationNum=1&fps=1)

BEGAN的主要贡献:

◆  提出了一种新的简单强大GAN,使用标准的训练方式,不加训练trick也能很快且稳定的收敛

◆  对于GAN中G,D的能力的平衡提出了一种均衡的概念(GAN的理论基础就是goodfellow理论上证明了GAN均衡点的存在,但是一直没有一个准确的衡量指标说明GAN的均衡程度)

◆  提出了一种收敛程度的估计,这个机制只在WGAN中出现过。作者在论文中也提到,他们的灵感来自于WGAN,在此之前只有wgan做到了

◆  提出了一种收敛程度的估计,这个机制只在WGAN中出现过。作者在论文中也提到,他们的灵感来自于WGAN

先说说BEGAN的主要原理,BEGAN和其他GAN不一样,这里的D使用的是auto-encoder结构,就是下面这种,D的输入是图片,输出是经过编码解码后的图片,

往的GAN以及其变种都是希望生成器生成的数据分布尽可能的接近真实数据的分布,当生成数据分布等同于真实数据分布时,我们就确定生成器G经过训练可以生成和真实数据分布相同的样本,即获得了生成足以以假乱真数据的能力,所以从这一点出发,研究者们设计了各种损失函数去令G的生成数据分布尽可能接近真实数据分布。BEGAN代替了这种估计概率分布方法,它不直接去估计生成分布Pg与真实分布Px的差距,进而设计合理的损失函数拉近他们之间的距离,而是估计分布的误差之间的距离,作者认为只要分布的的误差分布相近的话,也可以认为这些分布是相近的。即如果我们认为两个人非常相似,又发现这两人中的第二个人和第三个人很相似,那么我们就完全可以说第一个人和第三个人长的很像。

在BEGAN中,第一个人相当于训练的数据x,第二个人相当于D对x编码解码后的图像D(x),第三个人相当于D以G的生成为输入的结果D(g(z)),所以,如果||D(x)-x|| - || D(x)- D(g(z)) || 不断趋近于0,那么随着训练,D(x)会不断接近x,那么D(g(z)) 接近于D(x),岂不是就意味着 g(z) 的数据分布和x分布几乎一样了,那么就说明G学到了生成数据的能力。于是乎,假设图片足够大,像素很多。但是问题来了,如果||D(x)-x|| - || D(x)- D(g(z)) ||刚好等于0,这时候,D(x)和x可能还差的很远呢,那不就什么也学不到了D(x)-x是一个图片,假设图片上的每一个像素都满足独立同分布条件,根据中心极限定理,像素的误差近似满足正太分布,假设期望是m1,方差是μ1,同理D(x)- D(g(z)),还有m2, μ1这时候如果我们再用wassertein距离衡量m1与m2的距离,

再满足下面这个条件下,

即他们成正比,这时候连lipschitz连续性条件也不需要了,

但是有一个问题,当m1和m2很接近是,条件1是趋于无穷的,不可能再忽略,于是,boundary(限制)就来了,

设置一个位于[0~1]之间的数λ,强制将m1和m2划分开界限,具体的损失函数如下:

BEGAN的训练结果:不同的γ可以在图片的质量和生成多样性之间做选择。

所以说BEGAN效果还是很强的,当然先不考虑最新nvidia的渐进训练GAN,这篇之后会介绍。

这里直介绍了一些对GAN在训练和生成上改进的工作,具体还有很多很多很多很多没有介绍到,这里只是挑选了一些典型的,用的比较多的来介绍一下。感兴趣的可以去看看https://github.com/hindupuravinash/the-gan-zoo

GAN动物园,上百个GAN等着被翻牌。

没什么不同

哪么重点来了,那么多GAN改进版,到底哪一个效果更好呢,最新的Google一项研究表明,GAN、WGAN、WGAN GP、LS GAN、DRAGAN、BEGAN啥的,都差不多,差不多,不多,为什么都差不多呢?因为天黑得时候他们都仰望同一片星空,忽然想起来了曲婉婷的一首歌—《没有什么不同》

Google研究原文请见:https://arxiv.org/abs/1711.10337

在此项研究中,Google此项研究中使用了minimax损失函数和用non-saturating损失函数的GAN,分别简称为MM GAN和NS GAN,对比了WGAN、WGAN GP、LS GAN、DRAGAN、BEGAN,除了DRAGAN上文都做了介绍,另外还对比的有VAE(变分自编码器)。

对比细节:

为了很好的说明问题,研究者们两个指标来对比了实验结果,分别是FID精度(precision、)、召回率(recall)以及两者的平均数F1

其中FID(Fréchet distance(弗雷歇距离) )是法国数学家Maurice René Fréchet在1906年提出的一种路径空间相似形描述,直观来说是狗绳距离:主人走路径A,狗走路径B,各自走完这两条路径过程中所需要的最短狗绳长度,如下图所示,所以说,FID与生成图像的质量呈负相关。

为了更容易说明对比的结果,研究者们自制了一个类似mnist的数据集,数据集中都是灰度图,图像中的目标是不同形状的三角形。

具体比较细节就不详细展开了,这里做一个结论总结

在图像生成方面,发现了VAE生成结果最差,其他的GAN等等生成质量都差不多,也很好理解其实,个人认为VAE更适合于对数据进行重构,对数据降维或者生成要求不是很高的数据上很方便(填补缺失数据),但是生成数据上还是GAN更胜一筹。

最后,研究者们也在精度(precision、)、召回率(recall)以及两者的平均数F1上做了测试,测试细节请看论文,也并没有发现其他GAN比原始GAN更突出的地方。

结语:

但是个人认为,虽然得出的结论是没有明显的证据说明其他GAN比原始GAN好,但是我想说,有本事你用原始GAN生成一个2K的高清图给我看看,此时BEGAN和PG-GAN相视一笑,默默不说话。大部分情况来说,还是wgan-gp用的更多一些。生成高清图像BEGAN最简单合适。

参考文献:

https://www.zhihu.com/question/56171002/answer/148593584

http://www.inference.vc/instance-noise-a-trick-for-stabilising-gan-training/

https://github.com/soumith/ganhacks

https://github.com/hindupuravinash/the-gan-zoo

https://zhuanlan.zhihu.com/p/25071913

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年12月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
GAN的发展系列一(CGAN、DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN)
GAN的发展系列一(CGAN、DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN)
Minerva
2020/06/16
15.6K0
GAN的发展系列一(CGAN、DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN)
GAN、DCGAN、WGAN、SRGAN 演变与改进
来源:信息网络工程研究中心本文共1000字,建议阅读5分钟本文带你了解GAN、DCGAN、WGAN、SRGAN。 GAN 生成网络接收一个随机噪声,生成逼真图像; 判别网络接收一个图像,生成该图像是真实的概率(0~1); GAN网络中存在两个不同的网络,训练方式采用的是对抗训练方式,其中G的梯度更新信息来自于判别器D,而不是来自数据样本。 GAN不适合处理离散形式的数据,比如文本。 使用JS散度作为距离公式 DCGAN DCGAN(deep convolutional generative adversa
数据派THU
2022/05/25
6730
GAN、DCGAN、WGAN、SRGAN 演变与改进
[读书笔记]:撩一撩 Improved WGAN《多图慎入》
至于为什么第一次写WGAN呢,其实我也不知道为什么,可能是刚好最近再看吧,生成效果也不错。WGAN的作者们前后一共写了三篇论文,前两篇知乎上有人写了,写的很好很仔细,我开始也是看的那个,获益匪浅, 建议看一下,当然原文还是要看的。今天要说的是第三篇,作者propose了一个新的method,用来对之前WGAN的改进。论文中声称比之前的wgan converges 更快并且generates 图像质量更高。好了,废话不多说,下面进入正文。 ==说一句哈,这是我一次写成的,限于水平有限,说的不对的地方,大神请轻
用户1622570
2018/04/11
1.9K0
[读书笔记]:撩一撩 Improved WGAN《多图慎入》
BEGAN解读
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/details/77575617
DoubleV
2018/09/12
6390
BEGAN解读
训练GAN的16个trick
本文转载自:https://mp.weixin.qq.com/s/d_W0O7LNqlBuZV87Ou9uqw 新智元公众号 本文来自ICCV 2017的Talk:如何训练GAN,FAIR的研究员Soumith Chintala总结了训练GAN的16个技巧,例如输入的规范化,修改损失函数,生成器用Adam优化,使用Sofy和Noisy标签,等等。这是NIPS 2016的Soumith Chintala作的邀请演讲的修改版本,而2016年的这些tricks在github已经有2.4k星。
DoubleV
2018/09/12
2K0
训练GAN的16个trick
【猫咪生成器】DCGAN、WGAN等4种生成对抗网络猫咪图像对比
【新智元导读】 作者用 DCGAN,WGAN,WGAN-GP 和 LSGAN 等生成对抗网络(GAN),使用拥有1万张猫的图片的 CAT 数据集做“生成猫咪的脸”的实验。结果有非常好的,也有不够好的,作者进行了分析并提出一些改进的方法。这个研究被GAN的提出者 Ian Goodfellow,Andrew Ng 等人在推特推荐,可以说是非常有趣的深度学习应用了。 我尝试使用生成对抗网络(GAN)来生成猫的脸。我想分别以较低和较高的分辨率使用 DCGAN,WGAN,WGAN-GP 以及 LSGAN。使用的数据集
新智元
2018/03/27
2.2K1
【猫咪生成器】DCGAN、WGAN等4种生成对抗网络猫咪图像对比
GAN!生成对抗网络GAN全维度介绍与实战
生成对抗网络(GAN)是深度学习的一种创新架构,由Ian Goodfellow等人于2014年首次提出。其基本思想是通过两个神经网络,即生成器(Generator)和判别器(Discriminator),相互竞争来学习数据分布。
TechLead
2023/10/21
3.8K0
GAN!生成对抗网络GAN全维度介绍与实战
样本数量的线性时间计算复杂度GAN
A Characteristic Function Approach to Deep Implicit Generative Modeling 2020
CreateAMind
2024/05/06
1800
样本数量的线性时间计算复杂度GAN
这份攻略帮你「稳住」反复无常的 GAN
生成对抗网络(GAN)是一类非常强大的神经网络,具有非常广阔的应用前景。GAN 本质上是由两个相互竞争的神经网络(生成器和判别器)组成的系统。
机器之心
2019/04/29
1.1K0
这份攻略帮你「稳住」反复无常的 GAN
GAN的发展系列二(PGGAN、SinGAN)
在前面的文章里我们已经介绍了GAN生成对抗网络的入门和一些GAN系列,在之后的专辑里会继续介绍一些比较经典的GAN。
Minerva
2020/06/16
3K0
GAN的发展系列二(PGGAN、SinGAN)
WGAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法
https://www.zhihu.com/question/52602529/answer/158727900
CreateAMind
2018/07/24
3.2K0
WGAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法
生成对抗网络(GANs)最新家谱:为你揭秘GANs的前世今生
作者:Guim Perarnau 编译:Katherine Hou、朝夕、Katrine Ren、Shan LIU、笪洁琼、钱天培 生成对抗网络(GAN)一经提出就风光无限,更是被Yann Lecun誉为“十年来机器学习领域最有趣的想法”。 GAN“左右互搏”的理念几乎众所周知,但正如卷积神经网络(CNN)一样,GAN发展至今已经衍生出了诸多变化形态。 今天,文摘菌就来为大家盘点一下GAN大家庭中各具特色的成员们。 他们的名单如下: 1.DCGANs 2.Improved DCGANs 3.Conditio
大数据文摘
2018/05/24
7030
生成对抗网络(GAN)系列:WGAN与金融时序(附代码)
过拟合是我们试图将机器学习技术应用于时间序列时遇到的问题之一。出现这个问题是因为我们使用我们所知道的唯一时间序列路径来训练我们的模型:已实现的历史。
量化投资与机器学习微信公众号
2020/06/29
4.2K1
生成对抗网络(GAN)系列:WGAN与金融时序(附代码)
深度学习500问——Chapter07:生成对抗网络(GAN)(2)
最常见的评价GAN的方法就是主观评价。主观评价需要花费大量人力物力,且存在以下问题:
JOYCE_Leo16
2024/04/16
3560
深度学习500问——Chapter07:生成对抗网络(GAN)(2)
万字综述之生成对抗网络(GAN)
前阵子学习 GAN 的过程发现现在的 GAN 综述文章大都是 2016 年 Ian Goodfellow 或者自动化所王飞跃老师那篇。可是在深度学习,GAN 领域,其进展都是以月来计算的,感觉那两篇综述有些老了。
机器之心
2019/04/29
3.4K0
万字综述之生成对抗网络(GAN)
【GAN优化】如何选好正则项让你的GAN收敛
今天讲述的内容还是GAN的训练,也是最后一期,做几个简单的小实验,告诉大家怎么给GAN加正则项,使得你的GAN尽可能收敛。其实今天的内容本来还是与动力学结合很紧密,但是考虑到复杂的数学内容可能有害无益,我就将数学部分都删除了,只展示最直观的结果。
用户1508658
2019/09/17
1.3K0
【GAN优化】如何选好正则项让你的GAN收敛
六种改进均未超越原版:谷歌新研究对GAN现状提出质疑
选自arXiv 机器之心编译 参与:李泽南、路雪、蒋思源 令人沮丧的结果:尽管目前很多GAN的衍生算法都声称自己要比原版GAN更强大,谷歌大脑的新研究却对这种主张持否定态度。生成对抗网络(GAN)自Ian Goodfellow等人于2014年提出以来已成为机器学习界最火热的讨论话题,各种在它之上的改进型层出不穷。然而谷歌的论文指出,原版GAN在多种任务中的表现与其他模型相当,而在CIFAR-10上甚至有着最高的FID成绩。在社交网络上有人对此评价道:或许我们应该把目光转向到开发新架构上了。此论文已在redd
机器之心
2018/05/09
1.1K0
六种改进均未超越原版:谷歌新研究对GAN现状提出质疑
GAN的入门与实践
作者:Double_V 编辑:龚 赛 PART 01 GAN 简介 引言 生成对抗网络(Generative Adversarial Nets,GAN)是由open ai研究员Good fellow在2014年提出的一种生成式模型,自从提出后在深度学习领域收到了广泛的关注和研究。目前,深度学习领域的图像生成,风格迁移,图像变换,图像描述,无监督学习,甚至强化学习领域都能看到GAN 的身影。GAN主要针对的是一种生成类问题。目前深度学习领域可以分为两大类,其中一个是检测识别,比如图像分类,目标识别等等,
机器学习算法工程师
2018/03/06
1.1K0
GAN的入门与实践
这些资源你肯定需要!超全的GAN PyTorch+Keras实现集合
选自GitHub 作者:eriklindernoren 机器之心编译 参与:刘晓坤、思源、李泽南 生成对抗网络一直是非常美妙且高效的方法,自 14 年 Ian Goodfellow 等人提出第一个生成对抗网络以来,各种变体和修正版如雨后春笋般出现,它们都有各自的特性和对应的优势。本文介绍了主流的生成对抗网络及其对应的 PyTorch 和 Keras 实现代码,希望对各位读者在 GAN 上的理解与实现有所帮助。 PyTorch 实现地址:https://github.com/eriklindernoren/
机器之心
2018/05/08
9900
这些资源你肯定需要!超全的GAN PyTorch+Keras实现集合
深度学习界明星:生成对抗网络与Improving GAN
生成对抗网络,根据它的名字,可以推断这个网络由两部分组成:第一部分是生成,第二部分是对抗。这个网络的第一部分是生成模型,就像之前介绍的自动编码器的解码部分;第二部分是对抗模型,严格来说它是一个判断真假图片的判别器。生成对抗网络最大的创新在此,这也是生成对抗网络与自动编码器最大的区别。简单来说,生成对抗网络就是让两个网络相互竞争,通过生成网络来生成假的数据,对抗网络通过判别器判别真伪,最后希望生成网络生成的数据能够以假乱真骗过判别器。过程如图1所示。
博文视点Broadview
2020/06/11
4320
深度学习界明星:生成对抗网络与Improving GAN
推荐阅读
相关推荐
GAN的发展系列一(CGAN、DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验