Tensorflow生成模型收集: GAN与VAE
2017年08月30日 由 yining 发表
227151
0
本文将收集TensorFlow可生成的模型,列举出各种GAN和VAE的Tensorflow实现。
生成对抗网络(GAN)
列表
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 --epoch 25 --batch_size 64
随机生成
所有的结果都是随机抽取的。
每一行都有相同的噪声向量,每一列都有相同的标签条件。
有条件的生成
InfoGAN:操纵两个连续的代码
Fashion-mnist结果
mnist的网络架构的评论也被应用到这里。
Fashion-mnist是最近提出的一个数据集,它包含了6万个示例和1万个示例的测试集。Fashion-mnist数据集地址:
https://github.com/zalandoresearch/fashion-mnist。每个例子都是一个28x28的灰度图像,与10个类(t恤/上衣,裤子,套衫,衣服,外套,凉鞋,衬衫,运动鞋,包,短靴)的标签相关联。
以下结果可以用命令重现:
python main.py --dataset fashion-mnist --gan_type --epoch 40 --batch_size 64
随机生成
所有的结果都是随机抽取的。
有条件的生成
每一行都有相同的噪声向量,每一列都有相同的标签条件。
如果没有mnist版本的超参数调优,那么ACGAN/infoGAN就不能很好地与iwth CGAN进行比较。ACGAN倾向于陷入模式崩溃。infoGAN倾向于忽略噪声矢量。它导致同一类中的不同样式不能被表示。
InfoGAN:操纵两个连续的代码
变分自编码器(VAN)
列表
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 --epoch 25 --batch_size 64
随机生成
所有的结果都是随机抽取的。
此外,还对GAN的结果进行了比较,比较了VAE和GAN生成的图像。主要的区别(VAE生成平滑和模糊的图像,GAN生成锐利的和手工的图像)可以从结果中观察到。
有条件的生成
每一行都有相同的噪声向量,每一列都有相同的标签条件。
同时对CGAN的结果进行了比较,比较了CVAE和CGAN生成的图像。
Fashion-mnist结果
mnist的网络架构的评论也被应用到这里。
以下结果可以用命令重现:
python main.py --dataset fashion-mnist --gan_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