李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

概念

生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
输出是一个分布。
z是简化的分布。

举例

输入过去的画面,通过网络预测出下一步的画面,在同时可以左转右转时候选择其中之一。
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

为什么要distribution

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
例如在画画和解释人物时候,有多种答案选择:
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

判别器Discriminator

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
输出的标量越大越真。

Generator与Disciminator关系

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
判别器越严苛,生成器越真。
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

算法

每次训练迭代中,先固定判别器,更新生成器,使判别器输出的值越大则代表生成器产生的图片越真实;
然后固定生成器,对输入的向量进行回归或分类,更新判别器。
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

应用

Progressive GAN,产生以假乱真的人脸。
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

GAN理论

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
两者间差距Divergence越小越好
虽然我们没法计算DIvergence,但我们可以简化数据图和生成器图:
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

公式

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

JS divergence缺点

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

Wasserstein distance

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
可以判断两个不重叠分布的好坏
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

计算Wasserstein distance

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
要加限制使D输入1-Lipschitz,否则real image会无限大,generated image会无穷小,算出来的max会无限小。
也就是不加限制,D的训练会不收敛。

Spectral Normalization(SNGAN)

粗略解WGAN公式:
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

Mode Diversity

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
一张图片classify分布越集中,quality越高。
一堆图片classify分布越平均,diversity越大。

Conditional GAN

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)
discriminator区分图片既要看x也要看y,通过x和y一起分辨,一方面图片要好,一方面也要满足限定条件。

Conditional GAN应用

李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

是图片动起来:
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

unpaired data

x与y不成对出现,例如人脸转成动漫人脸。
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

Cycle GAN

用生成器将x转成y,再将y还原成x,比较输入和输出相似度。
李宏毅机器学习笔记——生成式对抗网路(Generative Adversarial Network, GAN)

上一篇:【人工智能导论:模型与算法】6.5 GAN - V1.0


下一篇:简单介绍一下CGAN