文章目录

  • 1.简介
  • 2.背景
  • 2.1生成模型
  • 2.2自编码器
  • 2.3变分自编码器
  • 3.生成对抗网络
  • 参考资料


1.简介

生成对抗网络Generative Adversarial Networks是法国蒙特利尔大学发表在2014NIPS上的文章,提出了非常有意思的生成对抗网络。关于生成模型的介绍可以参考MITDeepLearning课程

2.背景

2.1生成模型

生成模型是这样的模型,其从一个数据分布中采样一部分点作为输入,然后训练模型来表征训练数据分布。

深度学下自动生成模型图 深度生成模型的作用_深度学下自动生成模型图

使用生成模型的优点有:

  • 1.能够去除数据中的偏置,找到数据的公共特征
  • 2.当出现新的情况时可以做异常检测,处理未出现的情况

常见的生成模型有自编码器AutoEncoder和生成对抗网络GANs,这两种模型,一般输入是图像,输出也是图像,网络本身包含了下采样和上采样的过程,似乎把模型变量隐藏了,因此也称为隐变量模型Latent Variable Models

深度学下自动生成模型图 深度生成模型的作用_深度学下自动生成模型图_02

2.2自编码器

自编码器是通过下采样的编码器和上采样解码器来训练模型,使得对于输入图像得到与原图像大小相同的图像,然后最小化重建误差,来学习训练数据中的隐藏公共特征。

深度学下自动生成模型图 深度生成模型的作用_深度学习_03

2.3变分自编码器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5XZRma8g-1651764515047)(/images/GAN/1gan/vae.png)]

变分自编码器(Variational auto-encoder,VAE)对每一个样本深度学下自动生成模型图 深度生成模型的作用_人工智能_04匹配一个高斯分布,隐变量Z就是从高斯分布中采样得到的。VAE让每个高斯分布尽可能地趋于标准高斯分布深度学下自动生成模型图 深度生成模型的作用_人工智能_05,拟合过程中的误差损失则是采用KL散度作为计算。

深度学下自动生成模型图 深度生成模型的作用_人工智能_06

3.生成对抗网络

生成对抗网络有两部分组成,一个生成器和判别器,生成器用来将一个随机的输入生成一个图像,并使该图像尽可能的接近真实图像以欺骗过判别器使判别器将生成器生成的图像当成真实图像。而判别器则尽可能的区分出生成器生成的图像和真实图像。

深度学下自动生成模型图 深度生成模型的作用_人工智能_07

生成对抗网络的结构及损失函数


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仓库




参考资料


欢迎访问个人网络日志🌹🌹知行空间🌹🌹