龙空技术网

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

量子位 1875

前言:

此时看官们对“lednets”可能比较关怀,大家都需要分析一些“lednets”的相关内容。那么小编在网络上搜集了一些关于“lednets””的相关知识,希望兄弟们能喜欢,我们快快来了解一下吧!

夏乙 编译整理

量子位 出品 | 公众号 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

Adversarial Autoencoder

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

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

paper:

Adversarial Autoencoders

Alireza Makhzani, Jonathon Shlens, Navdeep Jaitly, Ian Goodfellow, Brendan Frey

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

Conditional GAN

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

Paper:

Conditional Generative Adversarial Nets

Mehdi Mirza, Simon Osindero

Context-Conditional GAN

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

Paper:

Semi-Supervised Learning with Context-Conditional Generative Adversarial Networks

Emily Denton, Sam Gross, Rob Fergus

CycleGAN

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

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

Paper:

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros

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

Deep Convolutional GAN

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

Paper:

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

Alec Radford, Luke Metz, Soumith Chintala

DiscoGAN

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

Paper:

Learning to Discover Cross-Domain Relations with Generative Adversarial Networks

Taeksoo Kim, Moonsu Cha, Hyunsoo Kim, Jung Kwon Lee, Jiwon Kim

官方PyTorch实现:

DRAGAN

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

Paper:

On Convergence and Stability of GANs

Naveen Kodali, Jacob Abernethy, James Hays, Zsolt Kira

DualGAN

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

Paper:

DualGAN: Unsupervised Dual Learning for Image-to-Image Translation

Zili Yi, Hao Zhang, Ping Tan, Minglun Gong

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

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

Pix2Pix

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

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

Paper:

Image-to-Image Translation with Conditional Adversarial Networks

Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros

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

PixelDA

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

Paper:

Unsupervised Pixel-Level Domain Adaptation with Generative Adversarial Networks

Konstantinos Bousmalis, Nathan Silberman, David Dohan, Dumitru Erhan, Dilip Krishnan

Semi-Supervised GAN

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

Paper:

Semi-Supervised Learning with Generative Adversarial NetworksAugustus Odena

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

Wasserstein GAN

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

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

Paper:

Wasserstein GAN

Martin Arjovsky, Soumith Chintala, Léon Bottou

Wasserstein GAN GP

WGAN的改进版。

Paper:

Improved Training of Wasserstein GANs

Ishaan Gulrajani, Faruk Ahmed, Martin Arjovsky, Vincent Dumoulin, Aaron Courville

GitHub地址:

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

— 完 —

诚挚招聘

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

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

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

标签: #lednets