Tensorflow生成模型收集: GANs与VAEs

时间:2022-05-02
本文章向大家介绍Tensorflow生成模型收集: GANs与VAEs,主要内容包括生成对抗网络(GANs)、变分自编码器(VANs)、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

本文将收集TensorFlow可生成的模型,列举出各种GANs和VAEs的Tensorflow实现。

生成对抗网络(GANs)

列表

GAN文章链接:https://arxiv.org/abs/1406.2661

LSGAN文章链接:https://arxiv.org/abs/1611.04076

WGAN文章链接:https://arxiv.org/abs/1701.07875

DRAGAN文章链接:https://arxiv.org/abs/1705.07215

CGAN文章链接:https://arxiv.org/abs/1411.1784

infoGAN文章链接:https://arxiv.org/abs/1606.03657

ACGAN文章链接:https://arxiv.org/abs/1610.09585

EBGAN文章链接:https://arxiv.org/abs/1609.03126

BEGAN文章链接:https://arxiv.org/abs/1702.08431

GAN架构变体

mnist结果

生成器和鉴别器的网络架构恰好与infoGAN纸上提到的架构相同。infoGAN纸地址:https://arxiv.org/abs/1606.0365

为了公平地比较所有Gan变体的核心思想,除了EBGAN和BEGAN,网络架构的所有实现都保持不变。然后对EBGAN/BEGAN进行了小的修改,因为它们采用了自动编码器结构。

以下结果可以用命令重现:

python main.py --dataset mnist --gan_type <TYPE> --epoch 25 --batch_size 64

随机生成

所有的结果都是随机抽取的。

每一行都有相同的噪声向量,每一列都有相同的标签条件。

有条件的生成

InfoGAN:操纵两个连续的代码

Fashion-mnist结果

mnist的网络架构的评论也被应用到这里。

Fashion-mnist是最近提出的一个数据集,它包含了6万个示例和1万个示例的测试集。Fashion-mnist数据集地址:https://github.com/zalandoresearch/fashion-mnist。每个例子都是一个28×28的灰度图像,与10个类(t恤/上衣,裤子,套衫,衣服,外套,凉鞋,衬衫,运动鞋,包,短靴)的标签相关联。

以下结果可以用命令重现:

python main.py --dataset fashion-mnist --gan_type <TYPE> --epoch 40 --batch_size 64

随机生成

所有的结果都是随机抽取的。

有条件的生成

每一行都有相同的噪声向量,每一列都有相同的标签条件。

如果没有mnist版本的超参数调优,那么ACGAN/infoGAN就不能很好地与iwth CGAN进行比较。ACGAN倾向于陷入模式崩溃。infoGAN倾向于忽略噪声矢量。它导致同一类中的不同样式不能被表示。

InfoGAN:操纵两个连续的代码

变分自编码器(VANs)

列表

VAE文章链接:https://arxiv.org/abs/1312.6114

CVAE文章链接:https://arxiv.org/abs/1406.5298

DVAE文章链接:https://arxiv.org/abs/1511.06406

AAE文章链接:https://arxiv.org/abs/1511.05644

VAE架构变体

mnist结果

译码器(发生器)和编码器(鉴别器)的网络架构与infoGAN纸上的架构相同。infoGAN纸地址:https://arxiv.org/abs/1606.0365。编码器的输出节点数是不同的。(VAE为2x z_dim,GAN为1)

以下结果可以用命令重现:

python main.py --dataset mnist --gan_type <TYPE> --epoch 25 --batch_size 64

随机生成

所有的结果都是随机抽取的。

此外,还对GAN的结果进行了比较,比较了VAE和GAN生成的图像。主要的区别(VAE生成平滑和模糊的图像,GAN生成锐利的和手工的图像)可以从结果中观察到。

有条件的生成

每一行都有相同的噪声向量,每一列都有相同的标签条件。

同时对CGAN的结果进行了比较,比较了CVAE和CGAN生成的图像。

Fashion-mnist结果

mnist的网络架构的评论也被应用到这里。

以下结果可以用命令重现:

python main.py --dataset fashion-mnist --gan_type <TYPE> --epoch 40 --batch_size 64

随机生成

所有的结果都是随机抽取的。

此外,还对GAN的结果进行了比较,比较了VAE和GAN生成的图像。

有条件的生成

每一行都有相同的噪声向量,每一列都有相同的标签条件。

同时对CGAN的结果进行了比较,比较了CVAE和CGAN生成的图像。

文件夹架构

下面显示了基本的文件夹架构。

├── main.py # gateway
├── data
│ ├── mnist # mnist data (not included in this repo)
│ | ├── t10k-images-idx3-ubyte.gz
│ | ├── t10k-labels-idx1-ubyte.gz
│ | ├── train-images-idx3-ubyte.gz
│ | └── train-labels-idx1-ubyte.gz
│ └── fashion-mnist # fashion-mnist data (not included in this repo)
│ ├── t10k-images-idx3-ubyte.gz
│ ├── t10k-labels-idx1-ubyte.gz
│ ├── train-images-idx3-ubyte.gz
│ └── train-labels-idx1-ubyte.gz
├── GAN.py # vainilla GAN
├── ops.py # some operations on layer
├── utils.py # utils
├── logs # log files for tensorboard to be saved here
└── checkpoint # model files to be saved here

这个实现基于一个存储库,并在Windows 10和Ubuntu14.04上测试了Tensorflow。存储库地址:https://github.com/carpedm20/DCGAN-tensorflow