18种热门GAN的PyTorch开源代码 | 附论文地址

2018 年 4 月 24 日 量子位 关注前沿科技
夏乙 编译整理
量子位 出品 | 公众号 QbitAI

想深入探索一下以脑洞著称的生成对抗网络(GAN),生成个带有你专属风格的大作?

有GitHub小伙伴提供了前人的肩膀供你站上去。TA汇总了18种热门GAN的PyTorch实现,还列出了每一种GAN的论文地址,可谓良心资源。

这18种GAN是:

  • Auxiliary Classifier GAN

  • Adversarial Autoencoder

  • Boundary-Seeking GAN

  • Conditional GAN

  • Context-Conditional GAN

  • CycleGAN

  • Deep Convolutional GAN

  • DiscoGAN

  • DRAGAN

  • DualGAN

  • GAN

  • LSGAN

  • Pix2Pix

  • PixelDA

  • Semi-Supervised GAN

  • Super-Resolution GAN

  • Wasserstein GAN

  • Wasserstein GAN GP

 来源:Kaggle blog

下面,量子位简单介绍一下这些GAN:

Auxiliary Classifier GAN

带辅助分类器的GAN,简称ACGAN。

在这类GAN变体中,生成器生成的每张图像,都带有一个类别标签,鉴别器也会同时针对来源和类别标签给出两个概率分布。

论文中描述的模型,可以生成符合1000个ImageNet类别的128×128图像。

paper

Conditional Image Synthesis With Auxiliary Classifier
GANsAugustus Odena, Christopher Olah, Jonathon Shlens
https://arxiv.org/abs/1610.09585

Adversarial Autoencoder

这种模型简称AAE,是一种概率性自编码器,运用GAN,通过将自编码器的隐藏编码向量和任意先验分布进行匹配来进行变分推断,可以用于半监督分类、分离图像的风格和内容、无监督聚类、降维、数据可视化等方面。

在论文中,研究人员给出了用MNIST和多伦多人脸数据集 (TFD)训练的模型所生成的样本。

paper

Adversarial Autoencoders
Alireza Makhzani, Jonathon Shlens, Navdeep Jaitly, Ian Goodfellow, Brendan Frey
https://arxiv.org/abs/1511.05644

Boundary-Seeking GAN

原版GAN不适用于离散数据,而Boundary-Seeking GAN(简称BGAN)用来自鉴别器的估计差异度量来计算生成样本的重要性权重,为训练生成器来提供策略梯度,因此可以用离散数据进行训练。

BGAN里生成样本的重要性权重和鉴别器的判定边界紧密相关,因此叫做“寻找边界的GAN”。

Paper

Boundary-Seeking Generative Adversarial Networks
R Devon Hjelm, Athul Paul Jacob, Tong Che, Adam Trischler, Kyunghyun Cho, Yoshua Bengio
https://arxiv.org/abs/1702.08431

Conditional GAN

条件式生成对抗网络,简称CGAN,其中的生成器和鉴别器都以某种外部信息为条件,比如类别标签或者其他形式的数据。

Paper

Conditional Generative Adversarial Nets
Mehdi Mirza, Simon Osindero
https://arxiv.org/abs/1411.1784

Context-Conditional GAN

简称CCGAN,能用半监督学习的方法,修补图像上缺失的部分。

Paper

Semi-Supervised Learning with Context-Conditional Generative Adversarial Networks
Emily Denton, Sam Gross, Rob Fergus
https://arxiv.org/abs/1611.06430

CycleGAN

这个模型是加州大学伯克利分校的一项研究成果,可以在没有成对训练数据的情况下,实现图像风格的转换。

这些例子,你大概不陌生:

Paper

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros
https://arxiv.org/abs/1703.10593

论文原作者也开源了Torch和PyTorch的实现代码,详情见项目主页:

https://junyanz.github.io/CycleGAN

Deep Convolutional GAN

深度卷积生成对抗网络(DCGAN)模型是作为无监督学习的一种方法而提出的,GAN在其中是最大似然率技术的一种替代。

Paper

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
Alec Radford, Luke Metz, Soumith Chintala
https://arxiv.org/abs/1511.06434

DiscoGAN

在这种方法中,GAN要学习发现不同域之间的关系,然后在跨域迁移风格的时候保留方向、脸部特征等关键属性。

Paper

Learning to Discover Cross-Domain Relations with Generative Adversarial Networks
Taeksoo Kim, Moonsu Cha, Hyunsoo Kim, Jung Kwon Lee, Jiwon Kim
https://arxiv.org/abs/1703.05192

官方PyTorch实现:

https://github.com/SKTBrain/DiscoGAN

DRAGAN

DRAGAN用一种梯度惩罚策略来避免退化的局部局部均衡,加快了训练速度,通过减少模式崩溃提升了稳定性。

Paper

On Convergence and Stability of GANs
Naveen Kodali, Jacob Abernethy, James Hays, Zsolt Kira
https://arxiv.org/abs/1705.07215

DualGAN

这种变体能够用两组不同域的无标签图像来训练图像翻译器,架构中的主要GAN学习将图像从域U翻译到域V,而它的对偶GAN学习一个相反的过程,形成一个闭环。

Paper

DualGAN: Unsupervised Dual Learning for Image-to-Image Translation
Zili Yi, Hao Zhang, Ping Tan, Minglun Gong
https://arxiv.org/abs/1704.02510

GAN

对,就是Ian Goodfellow那个原版GAN。

Paper

Generative Adversarial Networks
Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio
https://arxiv.org/abs/1406.2661

Least Squares GAN

最小平方GAN(LSGAN)的提出,是为了解决GAN无监督学习训练中梯度消失的问题,在鉴别器上使用了最小平方损失函数。

Paper

Least Squares Generative Adversarial Networks
Xudong Mao, Qing Li, Haoran Xie, Raymond Y.K. Lau, Zhen Wang, Stephen Paul Smolley
https://arxiv.org/abs/1611.04076

Pix2Pix

这个模型大家应该相当熟悉了。它和CycleGAN出自同一个伯克利团队,是CGAN的一个应用案例,以整张图像作为CGAN中的条件。

在它基础上,衍生出了各种上色Demo,波及人脸、房子、包包、漫画等各类物品,甚至还有人用它来去除(爱情动作片中的)马赛克

Paper:

Image-to-Image Translation with Conditional Adversarial Networks
Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros
https://arxiv.org/abs/1611.07004

Pix2Pix目前有开源的Torch、PyTorch、TensorFlow、Chainer、Keras模型,详情见项目主页:

https://phillipi.github.io/pix2pix/

PixelDA

这是一种以非监督方式学习像素空间跨域转换的方法,能泛化到训练中没有的目标类型。

Paper

Unsupervised Pixel-Level Domain Adaptation with Generative Adversarial Networks
Konstantinos Bousmalis, Nathan Silberman, David Dohan, Dumitru Erhan, Dilip Krishnan
https://arxiv.org/abs/1612.05424

Semi-Supervised GAN

半监督生成对抗网络简称SGAN。它通过强制让辨别器输出类别标签,实现了GAN在半监督环境下的训练。

Paper:

Semi-Supervised Learning with Generative Adversarial NetworksAugustus Odenahttps://arxiv.org/abs/1606.01583

Super-Resolution GAN

超分辨率生成对抗网络简称SRGAN,将GAN用到了超分辨率任务上,可以将照片扩大4倍。

Paper

Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
Christian Ledig, Lucas Theis, Ferenc Huszar, Jose Caballero, Andrew Cunningham, Alejandro Acosta, Andrew Aitken, Alykhan Tejani, Johannes Totz, Zehan Wang, Wenzhe Shi
https://arxiv.org/abs/1609.04802

Wasserstein GAN

简称WGAN,在学习分布上使用了Wasserstein距离,也叫Earth-Mover距离。新模型提高了学习的稳定性,消除了模型崩溃等问题,并给出了在debug或搜索超参数时有参考意义的学习曲线。

本文所介绍repo中的WGAN实现,使用了DCGAN的生成器和辨别器。

Paper

Wasserstein GAN
Martin Arjovsky, Soumith Chintala, Léon Bottou
https://arxiv.org/abs/1701.07875

Wasserstein GAN GP

WGAN的改进版。

Paper

Improved Training of Wasserstein GANs
Ishaan Gulrajani, Faruk Ahmed, Martin Arjovsky, Vincent Dumoulin, Aaron Courville
https://arxiv.org/abs/1704.00028

GitHub地址:https://github.com/eriklindernoren/PyTorch-GAN

量子位之前还介绍过同一位作者整理的17种GAN的Keras实现,与今天这18种PyTorch实现涉及的GAN变体有部分重叠,到这里查看:17种GAN变体的Keras实现请收好

作者系网易新闻·网易号“各有态度”签约作者


活动报名

加入社群

量子位AI社群16群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot6入群;


此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。


进群请加小助手微信号qbitbot6,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


登录查看更多
1

相关内容

GAN:生成性对抗网,深度学习模型的一种,在神经网络模型中引入竞争机制,非常流行。
【Google】平滑对抗训练,Smooth Adversarial Training
专知会员服务
48+阅读 · 2020年7月4日
专知会员服务
109+阅读 · 2020年3月12日
必读的10篇 CVPR 2019【生成对抗网络】相关论文和代码
专知会员服务
32+阅读 · 2020年1月10日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
深度学习中最常见GAN模型应用与解读
计算机视觉life
22+阅读 · 2019年10月23日
CVPR2019年热门论文及开源代码分享
深度学习与NLP
7+阅读 · 2019年6月3日
带你读论文 | 生成对抗网络GAN论文TOP 10
微软研究院AI头条
24+阅读 · 2019年4月11日
必读!生成对抗网络GAN论文TOP 10
全球人工智能
6+阅读 · 2019年3月19日
【干货】最新GAN教程,153PPT附代码
GAN生成式对抗网络
12+阅读 · 2018年9月18日
用PyTorch实现各种GANs(附论文和代码地址)
历史最全GAN网络及其各种变体整理(附论文及代码实现)
资源 | NIPS 2017 Spotlight论文Bayesian GAN的TensorFlow实现
Arxiv
5+阅读 · 2018年5月21日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
4+阅读 · 2018年3月23日
VIP会员
相关资讯
深度学习中最常见GAN模型应用与解读
计算机视觉life
22+阅读 · 2019年10月23日
CVPR2019年热门论文及开源代码分享
深度学习与NLP
7+阅读 · 2019年6月3日
带你读论文 | 生成对抗网络GAN论文TOP 10
微软研究院AI头条
24+阅读 · 2019年4月11日
必读!生成对抗网络GAN论文TOP 10
全球人工智能
6+阅读 · 2019年3月19日
【干货】最新GAN教程,153PPT附代码
GAN生成式对抗网络
12+阅读 · 2018年9月18日
用PyTorch实现各种GANs(附论文和代码地址)
历史最全GAN网络及其各种变体整理(附论文及代码实现)
资源 | NIPS 2017 Spotlight论文Bayesian GAN的TensorFlow实现
Top
微信扫码咨询专知VIP会员