GAN 简介及原理分析
GAN 简介及原理分析
生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model,下文简写 G)和判别模型(Discriminative Model,下文简写 D)的互相博弈学习产生相当好的输出。判别模型(D)的任务就是判断一个实例是真实的还是由模型生成的;生成模型(G)的任务就是生成一个实例来骗过判别模型(D)。两个模型相互对抗,最后会达到一个平衡,即生成模型生成的实例与真实的没有区别,判别模型无法区分输入数据是生成的还是原始真实的数据。怎么更通俗的理解呢?现举如下例子:我们可以把 GAN 想象成是伪造古董的大师(后称伪造大师)和鉴宝专家之间的博弈,生成模型(generator)就相当于伪造大师,判别模型(discriminator)相当于鉴宝专家。Generator 目的就是把假古董造的更像真的一样,从而骗过鉴宝专家;鉴宝专家则需要不断提高自己的鉴宝能力,尽可能的做出正确判断。在下图两个场景中,左边为真实的输入数据 x,当其经过判别器 D 时,我们希望其输出结果 D(x)更接近与 1(判别器越接近 1 表示越真,越接近 0 表示越假)。右边首先数据 z 通过生成器 G 生成了数据 G(z)[图中的 x],然后同样通过判别器 D 进行判断。我们希望对于判别器 D 来说使 D(G(z))更靠近 0,即对于生成的数据判别器判断其为假。对于生成器 G 来说,我们希望 D(G(z))更靠近 1(生成器越接近 1 表示生成的效果越好,越接近 0 表示生成的效果越差),即对生成的数据要求其效果更好,更接近真实数据。
GAN 的损失函数
GAN 应用
GAN 的用于十分广泛,如图像生成、图像转换、风格迁移、图像修复等等。我们可以通过一些图片来直观的感受以下 GAN 达到的效果:
从上面两张图中我们可以看出使用 GAN 进行相关的操作效果还是非常不错的,可以满足人们的需求。
版权声明: 本文为 InfoQ 作者【秃头小苏】的原创文章。
原文链接:【http://xie.infoq.cn/article/b7c17e93b271370082757bf92】。文章转载请联系作者。
评论