文章目录
- 1.简介
- 2.背景
- 2.1生成模型
- 2.2自编码器
- 2.3变分自编码器
- 3.生成对抗网络
- 参考资料
1.简介
生成对抗网络Generative Adversarial Networks是法国蒙特利尔大学发表在2014
年NIPS
上的文章,提出了非常有意思的生成对抗网络。关于生成模型的介绍可以参考MIT
的DeepLearning课程。
2.背景
2.1生成模型
生成模型是这样的模型,其从一个数据分布中采样一部分点作为输入,然后训练模型来表征训练数据分布。
使用生成模型的优点有:
- 1.能够去除数据中的偏置,找到数据的公共特征
- 2.当出现新的情况时可以做异常检测,处理未出现的情况
常见的生成模型有自编码器AutoEncoder
和生成对抗网络GANs
,这两种模型,一般输入是图像,输出也是图像,网络本身包含了下采样和上采样的过程,似乎把模型变量隐藏了,因此也称为隐变量模型Latent Variable Models
。
2.2自编码器
自编码器是通过下采样的编码器和上采样解码器来训练模型,使得对于输入图像得到与原图像大小相同的图像,然后最小化重建误差,来学习训练数据中的隐藏公共特征。
2.3变分自编码器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5XZRma8g-1651764515047)(/images/GAN/1gan/vae.png)]
变分自编码器(Variational auto-encoder,VAE)对每一个样本匹配一个高斯分布,隐变量Z就是从高斯分布中采样得到的。VAE让每个高斯分布尽可能地趋于标准高斯分布,拟合过程中的误差损失则是采用KL散度作为计算。
3.生成对抗网络
生成对抗网络有两部分组成,一个生成器和判别器,生成器用来将一个随机的输入生成一个图像,并使该图像尽可能的接近真实图像以欺骗过判别器使判别器将生成器生成的图像当成真实图像。而判别器则尽可能的区分出生成器生成的图像和真实图像。
生成对抗网络的结构及损失函数
discriminator_loss
generated_loss
cross_entropy_real_loss
ones_like_real_output
real_output
cross_entropy_fake_loss
zeros_like_fake_output
discriminator_loss
cross_entropy
ones_like_fake_output
fake_output
generated_loss
noise
Generator
generated_images
Discriminator
image
Discriminator
代码实现可参考gitee仓库
参考资料
欢迎访问个人网络日志🌹🌹知行空间🌹🌹