<>概念
生成式对抗网络(GAN, Generative Adversarial Networks
)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative
Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。
输出是一个分布。
z是简化的分布。
<>举例
输入过去的画面,通过网络预测出下一步的画面,在同时可以左转右转时候选择其中之一。
<>为什么要distribution
例如在画画和解释人物时候,有多种答案选择:
<>判别器Discriminator
输出的标量越大越真。
<>Generator与Disciminator关系
判别器越严苛,生成器越真。
<>算法
每次训练迭代中,先固定判别器,更新生成器,使判别器输出的值越大则代表生成器产生的图片越真实;
然后固定生成器,对输入的向量进行回归或分类,更新判别器。
<>应用
Progressive GAN,产生以假乱真的人脸。
<>GAN理论
两者间差距Divergence越小越好
虽然我们没法计算DIvergence,但我们可以简化数据图和生成器图:
<>公式
<>JS divergence缺点
<>Wasserstein distance
可以判断两个不重叠分布的好坏
<>计算Wasserstein distance
要加限制使D输入1-Lipschitz,否则real image会无限大,generated image会无穷小,算出来的max会无限小。
也就是不加限制,D的训练会不收敛。
<>Spectral Normalization(SNGAN)
粗略解WGAN公式:
<>Mode Diversity
一张图片classify分布越集中,quality越高。
一堆图片classify分布越平均,diversity越大。
<>Conditional GAN
discriminator区分图片既要看x也要看y,通过x和y一起分辨,一方面图片要好,一方面也要满足限定条件。
<>Conditional GAN应用
是图片动起来:
<>unpaired data
x与y不成对出现,例如人脸转成动漫人脸。
<>Cycle GAN
用生成器将x转成y,再将y还原成x,比较输入和输出相似度。