学习笔记-李宏毅GAN(生成对抗网络)全系列

书到用时方恨少,事非经过不知难。这篇文章主要讲述学习笔记-李宏毅GAN(生成对抗网络)全系列相关的知识,希望能为你提供帮助。


文章目录

  • ??前言??
  • ??相关链接??
  • ??1. Introduction??
  • ??1. 1 Basic Idea of GAN??
  • ??1.2 GAN as structured learning??
  • ??1.3 Generator可以自己学吗???
  • ??VAE(Variational Auto-encoder)??
  • ??2. CGAN, Conditional Generation by GAN??
  • ??2.1 discriminator的架构改进??
  • ??2.2 Stack GAN??
  • ??2.3 Image-to-image??
  • ??2.4 Speech Enhancement(提升语音的质量)??
  • ??2.5 Video Generation??
  • ??3. Unsupervised Conditional Generation??
  • ??3.1 方法1:直接转换??
  • ??3. 使用Cycle GAN??
  • ??方法2:VAE GAN: Project to Common Space??
  • ??GAN(生成对抗网络)全系列(二)??
  • ??更多资料??
前言红色文字代表重点,黄色文字代表次重点,绿色文字代表了解,黑色文字为解释说明
相关链接
  • ??视频??:https://www.youtube.com/playlist?list=PLJV_el3uVTsMq6JEFPW35BCiOQTsoqwNw
1. Introduction1. 1 Basic Idea of GAN
GAN, Generative Adversarial Network,作用是训练一个Generator,用于生成东西。
Generator的使用:给Generator一个随机的Vector,然后Generator生成一个随机的“长Vector”(图片、文字等)

输入的Vector的dimension(就是每个值)对应一个特征,例如上图中的第一个0.1可能就对应头发的颜色
Discriminator(判别器):在训练Generator的时候,要同时训练一个Discriminator,作用是判别一张图片的真实程度。
Discriminator 接受一个图片,输出一个Scalar(数值),Scalar越大表示图片越真实

GAN的训练过程(简易版)
1. 准备一个真实图片的数据集
2. 随机初始化Generator和Discriminator,此时Generator生成图片是瞎生成,Discriminator也是瞎分辨
3. 训练Discriminator:
        3.1 让Generator生成一组图片,然后让Discriminator来分辨真假,同时也会告诉Discriminator真实的图片长什么样子
【学习笔记-李宏毅GAN(生成对抗网络)全系列】        3.2. 根据第 3.1 步的损失来更新Discriminator
4. 训练Generator:
        4.1. 继续让Generator生成一组图片,然后让Discriminator来分别真假。注意,本次只会让Discriminator看生成的图片
        4.2. 根据第 4.1 步得到的损失来更新Generator
5. 重复迭代3,4步,直到满意为止

(最原始的)GAN训练过程(公式版),在每一个迭代过程做的事如下:
1. 从数据集中拿到 个样本
2. 从distribution中拿出 个噪音向量 (就是生成m个均匀分布的随机向量,当然也可以是其他分布)
3. 让Generator根据噪音向量生成数据

    推荐阅读