当前位置:   article > 正文

机器学习【5】:生成对抗网络(GAN,Generative Adversarial Network)

生成对抗网络

一. 什么叫生成对抗网络

     Lan J.Goodfellow等于2014年10月在Generative Adversarial Network中提出的一个通过对抗过程估计生成模型的新框架。框架中同时训练两个模型:捕获数据分布的生成模型G,和估计样本来自训练数据的概率的判别模型D。

     举一个例子来说,现在有一个假的画家,有一个判别家,假的画家就是生成器G,判别家就是D,假画家不断的画画,然后判别家不断的去判断这幅画,是不是真画家画的,真画家的画也会给到判别家,然后判别家会把这个结果传递给G,也就是假画家,假画家会进行学习,不断的去迷惑判别家,判别家也会不断学习,减少被迷惑的概率,到最后,假画家画出来的话,判别家就很难辨认真伪了。

 

二. GAN模型原理   

GAN基本原理:以生成图片为例。假设我们有两个网络:G(Generator)和D(Discriminator)。他们的功能分别为:

    G:一个生成图片的网络,它接收一个随机噪声z,通过这个噪声生成图片,记做G(z);

    D:一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率

    在训练中,生成器G的目标就是尽量生成真实的图片去欺骗判别网络D,而D的目标就是尽量识别出生成器的假图片。这样,G和D构成了一个动态的“博弈”。

    理想状态下,G可以生成足以“以假乱真”的图片G(z)。对D来说,它难以判定G生成的图片究竟是不是真实的,这样我们的目的就达到了:我们得到了一个生成模型G,它可以用来生成我们想要的图片。

 

三. GAN更新公式

           

      这就是整个模型损失函数的定义,其实是一个交叉熵,其中x表示真实图片,z表示输入G网络的噪声,G(z)表示G生成器中生成的图片,D表示D网络判断图片是否真实的概率(判别家的角色)。判别家D的目的是尽可能的使得D(x)接近1,令D(G(z))接近0,所以D主要是最大化上面的损失函数,G恰恰相反,他主要是最小化上述损失函数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/881340
推荐阅读
相关标签
  

闽ICP备14008679号