机器学习【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恰恰相反,他主要是最小化上述损失函数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值