必读的10篇关于GAN的论文
前言
上次写的文章-- 一文了解下 GANs可以做到的事情,如果想进一步了解 GAN,学习研究 GAN,可以先从这 10 篇论文开始。
本文翻译自:
https://towardsdatascience.com/must-read-papers-on-gans-b665bbae3317
原文介绍 10 篇介绍 GANs 以及最新进展的论文,跟原文介绍顺序有所不同,我是根据时间顺序,从最开始提出的 GANs 论文到目前最新的来介绍,这十篇分别如下所示:
- Generative Adversarial Networks,2014
- Conditional GANs,2014
- DCGAN,2015
- Improved Techniques for Training GANs,2016
- Pix2Pix,2016
- CycleGAN,2017
- Progressively Growing of GANs,2017
- StackGAN,2017
- BigGAN,2018
- StyleGAN,2018
原文作者推荐开始的第一篇论文是 DCGAN 。
文末在介绍几个 Github 项目,分别是专门收集 GAN 方面的论文,以及用 TensorFlow、PyTorch 和 Keras 实现 GANs 模型。
1. Generative Adversarial Networks
论文名称:Generative Adversarial Nets
论文地址: https://arxiv.org/abs/1406.2661
“GAN之父” Ian Goodfellow 发表的第一篇提出 GAN 的论文,这应该是任何开始研究学习 GAN 的都该阅读的一篇论文,它提出了 GAN 这个模型框架,讨论了非饱和的损失函数,然后对于最佳判别器(optimal discriminator)给出其导数,然后进行证明;最后是在 Mnist、TFD、CIFAR-10 数据集上进行了实验。
2. Conditional GANs
论文名称:Conditional Generative Adversarial Nets
论文地址:https://arxiv.org/abs/1411.1784
如果说上一篇 GAN 论文是开始出现 GAN 这个让人觉得眼前一亮的模型框架,这篇 cGAN 就是当前 GAN 模型技术变得这么热门的重要因素之一,事实上 GAN 开始是一个无监督模型,生成器需要的仅仅是随机噪声,但是效果并没有那么好,在 14 年提出,到 16 年之前,其实这方面的研究并不多,真正开始一大堆相关论文发表出来,第一个因素就是 cGAN,第二个因素是等会介绍的 DCGAN;
cGAN 其实是将 GAN 又拉回到监督学习领域,如下图所示,它在生成器部分添加了类别标签这个输入,通过这个改进,缓和了 GAN 的一大问题–训练不稳定,而这种思想,引入先验知识的做法,在如今大多数非常有名的 GAN 中都采用这种做法,后面介绍的生成图片的 BigGAN,或者是图片转换的 Pix2Pix,都是这种思想,可以说 cGAN 的提出非常关键。
3. DCGAN
论文名称:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
论文地址:https://arxiv.org/abs/1511.06434
其实原作者推荐第一篇论文应该是阅读这篇 DCGAN 论文,2015年发表的。这是第一次采用 CNN 结构实现 GAN 模型,它介绍如何使用卷积层,并给出一些额外的结构上的指导建议来实现。另外,它还讨论如何可视化 GAN 的特征、隐空间的插值、利用判别器特征训练分类器以及评估结果。下图是 DCGAN 的生成器部分结构示意图
[外链图片转存失败(img-QPdJ60bG-1562594794608)(https://cai-images-1257823952.cos.ap-beijing.myqcloud.com/DCGAN.png)]
4. Improved Techniques for Training GANs
论文名称:Improved Techniques for Training GANs
论文地址:https://arxiv.org/abs/1606.03498
这篇论文的作者之一是 Ian Goodfellow,它介绍了很多如何构建一个 GAN 结构的建议,它可以帮助你理解 GAN 不稳定性的原因,给出很多稳定训练 DCGANs 的建议,比如特征匹配(feature matching)、最小批次判别(minibatch discrimination)、单边标签平滑(one-sided label smoothing)、虚拟批归一化(virtual batch normalization)等等,利用这些建议来实现 DCGAN 模型是一个很好学习了解 GANs 的做法。
5. Pix2Pix
论文名称:Image-to-Image Translation with Conditional Adversarial Networks
论文地址:https://arxiv.org/abs/1611.07004
Pix2Pix 的目标是实现图像转换的应用,如下图所示。这个模型在训练时候需要采用成对的训练数据,并对 GAN 模型采用了不同的配置。其中它应用到了 PatchGAN 这个模型,PatchGAN 对图片的一块 70*70 大小的区域进行观察来判断该图片是真是假,而不需要观察整张图片。
此外,生成器部分使用 U-Net 结构,即结合了 ResNet 网络中的 skip connections 技术,编码器和解码器对应层之间有相互连接,它可以实现如下图所示的转换操作,比如语义图转街景,黑白图片上色,素描图变真实照片等。
6. CycleGAN
论文名称:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
论文地址:https://arxiv.org/abs/1703.10593
上一篇论文 Pix2Pix 的问题就是训练数据必须成对,即需要原图片和对应转换后的图片,而现实就是这种数据非常难寻找,甚至有的不存在这样一对一的转换数据,因此有了 CycleGAN,仅仅需要准备两个领域的数据集即可,比如说普通马的图片和斑马的图片,但不需要一一对应。这篇论文提出了一个非常好的方法–循环一致性(Cycle-Consistency)损失函数,如下图所示的结构:
这种结构在接下来图片转换应用的许多 GAN 论文中都有利用到,cycleGAN 可以实现如下图所示的一些应用,普通马和斑马的转换、风格迁移(照片变油画)、冬夏季节变换等等。
[外链图片转存失败(img-zaY13zfG-1562594794615)(https://cai-images-1257823952.cos.ap-beijing.myqcloud.com/cycleGAN_examples.jpg)]
7. Progressively Growing of GANs
论文名称:Progressive Growing of GANs for Improved Quality, Stability, and Variation
论文地址:https://arxiv.org/abs/1710.10196
这篇论文必读的原因是因为它取得非常好的结果以及对于 GAN 问题的创造性方法。它利用一个多尺度结构,从 4*4
到 8*8
一直提升到 1024*1024
的分辨率,如下图所示的结构,这篇论文提出了一些如何解决由于目标图片尺寸导致的不稳定问题。
8. StackGAN
论文名称:StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks
论文地址:https://arxiv.org/abs/1612.03242
StackGAN 和 cGAN 、 Progressively GANs 两篇论文比较相似,它同样采用了先验知识,以及多尺度方法。整个网络结构如下图所示,第一阶段根据给定文本描述和随机噪声,然后输出 64*64
的图片,接着将其作为先验知识,再次生成 256*256
大小的图片。相比前面 推荐的 7 篇论文,StackGAN 通过一个文本向量来引入文本信息,并提取一些视觉特征
9. BigGAN
论文地址:Large Scale GAN Training for High Fidelity Natural Image Synthesis
论文地址:https://arxiv.org/abs/1809.11096
BigGAN 应该是当前 ImageNet 上图片生成最好的模型了,它的生成结果如下图所示,非常的逼真,但这篇论文比较难在本地电脑上进行复现,它同时结合了很多结构和技术,包括自注意机制(Self-Attention)、谱归一化(Spectral Normalization)等,这些在论文都有很好的介绍和说明。
[外链图片转存失败(img-x4bdMqlA-1562594794651)(https://cai-images-1257823952.cos.ap-beijing.myqcloud.com/BigGAN.png)]
10. StyleGAN
论文地址:A Style-Based Generator Architecture for Generative Adversarial Networks
论文地址:https://arxiv.org/abs/1812.04948
StyleGAN 借鉴了如 Adaptive Instance Normalization (AdaIN)的自然风格转换技术,来控制隐空间变量 z
。其网络结构如下图所示,它在生产模型中结合了一个映射网络以及 AdaIN 条件分布的做法,并不容易复现,但这篇论文依然值得一读,包含了很多有趣的想法。
小结
本文主要介绍了 10 篇值得一读的 GAN 论文,从最开始提出这个模型的论文,到截止至 2018 年的论文,其中既有影响很大的 cGAN 和 DCAN,也有图像转换领域非常重要的 Pix2Pix 和 CycleGAN,还有最近效果非常不错的 BigGAN。
如果是希望研究这个方向的,可以看下这 10 篇论文。另外,再推荐一个收集了大量 GAN 论文的 Github 项目,并且根据应用方向划分论文:
- AdversarialNetsPapers
以及 3 个复现多种 GANs 模型的 github 项目,分别是目前主流的三个框架,TensorFlow、PyTorch 和 Keras:
- tensorflow-GANs:TensorFlow 版本
- Pytorch-GAN:PyTorch 版本
- Keras-GAN:Keras 版本
最后,对于文章介绍的 10 篇论文都已经下载打包后,获取方式:
- 关注公众号“算法猿的成长”
- 在公众号会话界面回复 “GAN论文”,即可获取网盘链接。
欢迎关注我的微信公众号–算法猿的成长,或者扫描下方的二维码,大家一起交流,学习和进步!
必读的10篇关于GAN的论文相关推荐
- 图像修复必读的10篇论文
点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 因公众号更改了推送规则,记得读完点"在看"~下次AI公园的新 ...
- Diffusion Models从入门到放弃:必读的10篇经典论文
前言:diffusion models是现在人工智能领域最火的方向之一,并引爆了AIGC方向,一大批创业公司随之诞生.笔者2021年6月开始研究diffusion,见证了扩散模型从无人问津到炙手可热的 ...
- 一文看尽10篇目标检测最新论文(SpineNet/AugFPN/LRF-Net/SABL/DSFPN等)
点击上方"CVer",选择加"星标"或"置顶" 重磅干货,第一时间送达 前言 一周前 Amusi 整理了 目标检测(Object Detec ...
- Java开发者必读的10篇精选优秀技术文章
作为最受欢迎的编程语言之一,Java已经走过了20个年头.从已经落寞的诺基亚到现在火热的电商系统,我们都能看到Java语言的身影.经过20年的历练,这门语言已经逐渐成熟,并经过很多大型系统的考验.社区 ...
- 近期必读的18篇情感计算相关论文-AMiner
AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权.平台包含了超过2.3亿学术论文/专利和1.36亿学者的科技图谱,提供学者评价.专家发现.智能指派.学术地图等科技情报专业化服务.系统2 ...
- 清华 NLP 团队推荐:必读的77篇机器阅读理解论文
https://mp.weixin.qq.com/s/2VhgEieBwXymAv2qxO3MPw [导读]机器阅读理解(Machine Reading Comprehension)是指让机器阅读文本 ...
- 每个程序员都必读的10篇文章
作为一名Java程序员和软件开发人员,那些每个程序员都应该知道的XXX的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到.在我学习的过程中我读到过许多非常 ...
- 一文看尽10篇目标检测最新论文(MetaOD/P-RSDet/MatrixNets等)
前言 恰逢 2020年,本文再次更新近期值得关注的最新检测论文.这次分享的paper将同步推送到 github上,欢迎大家 star/fork(点击阅读原文,也可直接访问): https://gith ...
- 每个程序猿必读的10篇文章
作为一名Java程序员和软件开发人员,那些每个程序员都应该知道的XXX的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到.在我学习的过程中我读到过许多非常 ...
最新文章
- 数据结构——栈——2016_11_21
- 最快删除大量文件的方法
- Android动态加载入门 简单加载模式
- boost::mp11::mp_set_difference相关用法的测试程序
- C#-常用对象-思维导图
- Intellij IDEA 中的 Debug 控制台输出窗口消失
- 从Model1,Medel2到显示层框架的出现
- CTP2交易所成交回报
- jsp15公安海警学院值班管理系统(jsp+servlet+mysql)
- uefi 懒人版黑苹果_macOS Sierra 10.12.6(16G29) 变色龙引导懒人版CDR黑苹果镜像
- f28335的c语言结构体,TMS320F28335程序SVPWM源程序
- FLOW 3D二次开发
- 7-11 机工士姆斯塔迪奥(PTA程序设计)
- 诺亚方舟售票系统V4版本了
- 数论(继续补充)(gcd + lcm + qpow + prime+qmul)
- dbeaver连接gaussdb
- 为降低普及门槛,鑫洋泉将全景环视做成“算法引擎”
- [zoj 3587]Marlon's String[kmp]
- 利用IDEA工具导入csv表格文件到数据库
- ECSHOP通过改变模板路径制作手机站
热门文章
- java web junit_如何使用junit测试javaweb工程
- wpa_supplicant无线网络配置
- Pro*c使用滚动游标进行更新或删除游标行
- Taro+react开发(53) Taro提示操作
- React开发(137):ant design学习指南之form中日期时间处理format时间处理
- Taro+react开发(18)--定义变量值
- 前端学习(3245):react的生命周期getDeriveStateFromProps
- [css] 说说你对字母“X“在CSS中有什么作用?
- “约见”面试官系列之常见面试题之第九十三篇之vue获取数据在哪个周期函数(建议收藏)
- 前端学习(1684):前端系列实战课程之判断游戏结束