1. GAN的介绍
1.1 GAN的引入
GAN:Generative Adversarial Networks 是一种无监督的深度学习模型,提出于2014年,被誉为“近年来复杂分布上无监督学习最具前景的方法之一。”
1.2 GAN模型的主要组成
- 生成器G(generator)
- 判别器D(discriminator)
1.3 GAN训练的目的
希望生成器G能够学习到样本的真实分布,那么G就能生成之前不存在的但是却又很真实的样本。
数据增强以增加训练集
eg:
1.4 GAN的网络结构示意图
1.5 数学描述
JSD散度最小时。使两个分布相等
2. 常见的GAN
2.1 DCGAN
DCGAN:Deep Convolutonal Generative Adversarial Networks 深度卷积生成对抗性网络
实际上DCGAN就是将判别器和生成器中原始GAN的多层感知机替换成卷积神经网络。
网络结构:
- 步长卷积 (D)和分数卷积 (G)取代池化层
- D和G里使用批归一化处理
- 移除全连接层
- 在G中使用ReLU激活函数,除最后一层使用Tanh输出
- 在D中使用LeakyReLU激活函数
2.2 CGAN
CGAN:Conditional Generative Adversarial Networks 条件GAN
数学描述:
可以看作是每一个类别y都对应一个属于自己的目标函数。有了这个约束,假如生成了清晰但是类别与标签不匹配的图像,也会当作fake来进行打分,因此可以通过调整标签的值,来改变生成数据的类别。
2.3 VAE-GAN 自编码器GAN
Autoencoder:
包括两部分,一个Enconder一个Decoder,输入一张图像,目标是经过编码得到一个向量,然后将这个中间向量解码输出之后,输入图像和输出图像尽可能像,将输入输出图像的差异定义为loss,则优化loss就可以训练出Encoder和Decoder。
VAE:
设置两个损失,第一个是使得输入图像和输出图像尽可能的像,第二个损失是想让Encoder之后的向量满足一个分布,如正态分布,那么Encoder之后的向量就更加满足一个正态分布,那么就可以随机给一个正态分布的向量,就可以产生一个满足要求的图像。
VAE-GAN
2.4 CycleGAN
文章出处登录后可见!
已经登录?立即刷新