GAN

intro

GAN 李宏毅Hung-yi Lee

  • 图片

  • why distribution? the same input has different outputs. especially for tasks needs creativity. 输出分布

  • 生成对抗网络. 枯叶蝶。不断进化 adversarial. 写作敌人,念做朋友。 希望调整 network 让输出的分数越大越好。固定一个 训练另一个。Discriminator learns to assign high scores to real objects and low scores to generated objects。Generator learns to “fool” the discriminator图片

  • 机器可以学到说 往左看的人脸和往右看的人脸做内差 可以训练到往中间看的人脸

  • 看到真的图 给高分 看到生成的图 给低分

theory behind GAN

  • objective 图片
    图片
    图片
    The maximum objective value is related to JS divergence. 

  • using the divergence you like

  • GAN is difficult to train

  • Js divergence is not suitable. 明明中间那个比左边好 但是从 js divergence 看不出来 都是 log2图片

  • Wasserstein distance. d. Using the “moving plan” with the smallest average distance to define the Wasserstein distance. 距离d0 d1 d2

  • WGAN. has to be smooth enough 所以 real 和 generative 的值不能差很大 不能一个很高一个很低。这样 算出来的 expendence 就比较小图片

  • Generator and Discriminator needs to match each other (棋逢敵手). (cannot fool the discriminator. cannot tell the difference)

  • 想要 train gan 时 可以去参考这些论文。Tips from Soumith • https://github.com/soumith/ganhacks • Tips in DCGAN: Guideline for network architecture design for image generation • https://arxiv.org/abs/1511.06434 • Improved techniques for training GANs • https://arxiv.org/abs/1606.03498 • Tips from BigGAN • https://arxiv.org/abs/1809.11096

  • 用 gan 生成一段文字 最困难

  • 当 decoder 参数有改变一点 而最终输出没有变化 就不能做微分(但 cnn 里面有 max pooling 也可以做 思考为什么)图片

  • gan评估方式。1⃣️ hw6跑一个人脸侦测的系统 看能抓到多少你生成的人脸。2⃣️ 跑一个影响分类的系统。几率分布越集中说明跑出来的越好 说明他越肯定 如果看不出来是猫是狗 就会很困惑 分布奇怪。 不过也会遇到kode collapse的问题。是discriminator的盲点 他避开不了这里 成功被欺骗。这个问题现在还待解决。

conditional GAN

图片

  • Multi-label Image Classifier = Conditional Generator

learning from unpaired data

  • Can we learn the mapping without any paired data? Unsupervised Conditional Generation
  • cycle GAN图片
    • 两个generator,为了让第二个generator效果好,要让第一个generator产生的和input越接近越好。
  • starGAN

evaluation of generation

  • Diversity - Mode Collapse

  • diversity——mode dropping 皮肤色差 太容易被侦测了。来来去去就那么几张 看多了就觉得是生成的了

  • 需要去量说看产生的图 diversity 够不够

  • 一张图片丢到 classifier 看分布有没有很集中 而 diversity 是看一堆图片分布 越平均 diversity 越大

  • 距离越小 代表图片越接近。fid 需要大量运算量图片

  • We don’t want memory GAN.有时候产生的结果很好 但那就是训练库有的。generator 是想产生新的。有人说比如比相似度啊 但可能他把你的图片翻转了 这样也比较难。

  • 要评估 generator 好不好 这是个问题

  • 会加一个 discriminator 看图片和描述有没有匹配。如果单纯用 gan 可能他想象力丰富 创造出没有的东西。比较好的方案 gan 和 supervised 结合

我觉得一门好的课 是不仅可以告诉你然 告诉你所以然 还能引导你去思考新的 不断提问 再去解答 而我就会思考 我能想到什么解决办法呢 我为什么没有想到可能存在的这个问题呢。而不是一味的灌输知识。