GAN -- 生成对抗网络

GAN -- 生成对抗网络

生成对抗网络(英语:Generative Adversarial Network,简称GAN)是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。该方法由伊恩·古德费洛等人于2014年提出。

假设有两个网络,G(Generator)和D(Discriminator)。正如名字所暗示的那样,它们的功能分别是:

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

◎ D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。

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

最后博弈的结果是:在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5。

 

【数学语言描述】

简单分析一下这个公式:

◎ 整个式子由两项构成。x表示真实图片,z表示输入G网络的噪声,而G(z)表示G网络生成的图片。

◎ D(x)表示D判断真实图片是否真实的概率(因为x就是真实的,所以对于D来说,这个值越接近1越好)。而D(G(z))是D判断G生成的图片的是否真实的概率。

◎ G的目的:G希望自己生成的图片“越接近真实越好”。也就是说,G希望D(G(z))尽可能大,这时V(D, G)会变小。因此式子的最前面的记号是min_G。
(注意:在讨论G时,由于第一项与生成器G无关,可忽略。)

◎ D的目的:D的能力越强,D(x)应该越大,D(G(x))应该越小。这时V(D,G)会变大。因此对于D来说是求最大,即max_D。

 

【随机梯度下降法训练D和G】

◎ 第一步:训练D,D是希望V(D, G)越大越好,所以是加上梯度(ascending)。

◎ 第二步:训练G,G希望V(D, G)越小越好,所以是减去梯度(descending)。

整个训练过程交替进行,即先训练 D,然后训练 G,不断往复。

 

【GAN发展史】

GAN发展年表

 

 


后续会继续补充,欢迎留言!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值