What‘s wrong with my GAN? ——基于本质原理与男女朋友相处之道诙谐/深度解读GAN之旅



  • 写在贴首:
    一直很懒没有去总结这一个月的研究工作,现在在第一次分享之前开帖,也算对目前的学习、研究、实践做一个总结。
    作者保证这是一篇小白都能看懂的GAN文,因为作者在着手研究GAN的时候,连最基本的GAN都没有整明白,到现在已经可以谈笑风生遇到的各种坑,这一系列的问题从出现到被拆解、被定义、被解决,无论是从数学角度、算法应用实战角度以及哲学精神角度,均有可谈论之处。
    本帖大致涉及:simplest GAN 以及原理、GAN的问题、成因以及目前的解决方案(大头)、GAN的敏感度、总结当前研究重点方向。
    虽然目前仍在研究进程当中,但是会跟随研究进程不断补充更新。希望看到此文的朋友们,能够对GAN有一定的了解,在获得干货的同时感受AI算法背后的魅力以及对我们自身的启迪。



  • Simplest GAN

    GAN的中文名称为生成对抗网络,属于一种无监督学习方法,基于博弈论,由Goodfellow于2014年提出。
    在GAN的世界观中,可以认为存在博弈的双方,两方可以得到的东西数目是一定的,如果一方获得的更多,那么另外一方能获得的东西就更少,为了自己能获得更多的东西,双方就会进行抗衡,直到两方利益相对平均,两方的抗衡能力相当,抗衡行动不再影响最终的分配结果时,局势就达到了稳定。

    那么,这样的抗衡和AI有什么关系呢?这样的思想又能怎么为我们所用呢?
    在计算机视觉领域,GAN网络非常广泛地用于生成假图片,通过学习真图片的分布,来生成以假乱真的伪图,复杂一些的GAN网络甚至可以根据要求来合成相应的图片,故可以用于合成人脸、生成画作、生成不同状态的图像,以及给文配图等。
    Goodfellow认为,GAN可以由两个神经网络:generator(生成器)、discrimniator(判别器)来作为博弈的双方。

    • generator
      输入样本(可以为噪声),通过神经网络将样本包装为真图的样子
    • discriminator
      本质上是一个真假判别器,例如输入图片输出0、1表示判别真假

    下面这张图较好地展示了简单GAN的运作方式(图片来源网上)

    generator更新时,目标是让自己生成的图片被discriminator判为真图;discriminator更新时,目标则是能准确将generator生成的假图判别为假图,而把真图正确识别为真图。训练过程中,一方参数更新,而另外一方参数保持不变。
    伴随着以上的训练过程,discriminator逐渐提升自己判别真假的能力,generator逐渐提升自己造假的能力,当discriminator最后对真假判断只有0.5的准确率时,模型基本收敛。

    当我们确定好整个网络框架思路之后,又该往怎样的方向去优化参数呢?

    Goodfellow在原始论文中给出了目标公式:

    替代文字
    (其中D代表discriminator,G代表generator, D(x)代表discriminator对于输入真图分布的输出,G(z)代表generator基于随机噪声z生成的分布,D(G(z))代表discriminator对于generator生成的分布的判定输出。
    从这个公式中我们可以看出,优化的思路即让discriminator优化时V(D,G)尽可能大,即真图判别靠近1,假图判别靠近0;generator优化时V(D,G)尽可能小,即假图判别靠近1。与训练思路保持一致。


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待