【李宏毅2020 ML/DL】P75 Generative Adversarial Network | Conditional GAN
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。
这是我的李宏毅老师 GAN 系列第2
篇笔记,GAN 系列:
本节内容综述
- 本节课讲解 Conditional Generation 。本讲将以 Text-to-Image 为例。
- 传统的监督学习似乎可以解决 Text-to-Image 这个问题,但其不能生成没见过的 Text 下的图片。
- 讲解 cGAN 的结构。
- 详细讲了 Discriminator 的设计。
- 将生成过程拆成 2 阶的 Stack GAN 。
- Image-to-image 技术,其中,因为输出图片很大,其 Discriminator 经过了特殊的设计 Patch GAN 。
- 此外,可以用 cGAN 做 Speech Enhancement (去噪音等功能)。
- 此外,也可以做图片生成 Video Generation 。
文章目录
小细节
Conditional GAN
如上,除了输入文字“train”外,还输入一个正态分布的向量。此外,我们的 Discriminator 不仅仅判断真假,而要产生一个 scalar :x是否是真实的,且是否与文字相符
。
其演算法如上。
Discriminator
如上,推荐使用下面的架构(性能不错)。下面的架构,将“是否为真”且“是否匹配”拆开,这样不会让神经网络“困惑”。
去年同学的作业效果如上。
Stack GAN
如上,两截的 Generator ,先产生小图,再产生大图。
Image-to-image
收集一些数据对(抽象数据,真实图片)
。如果用传统的监督学习,则生成图片较为模糊。因为训练时,仅仅是为了让各个像素最为接近。
如上,使用 GAN ,输入一个抽象图片+噪音;同时:
- 在 Discriminator 进行 Generator 生成图片与抽象图片是否匹配的判断;
- 此外,希望 Generator 生成的图片接近于真实数据。可以看出,GAN+close 效果较好。
Patch GAN
如上,上文中 Discriminator 经过特殊设计,防止一下检查大图片,导致结果坏掉。
Speech Enhancement
架构与 Image-to-image 很像:
- G 生成的 output 要尽量接近 clean 的数据;
- 同时,D 要求 G 的 output 与 noisy 要 match,防止信息变形。
Video Generation
如上,生成的片段与原有片段接在一起,让 D 判断是否片段的最新一帧是生成的。