GAN概述

Generative adversarial network(GAN)生成对抗网络

1、GAN的初衷就是生成不存在于真实世界的数据。类似于使得AI具有创造力或者想象力。

应用场景:

①AI作家、AI画家等需要创造力的AI体

②将模糊图变清晰(去雨、去雾、去抖动、去马赛克等),这需要AI具有所谓的“想象力”,能脑补情节

③进行数据增强,根据已有数据生成更多数据供以feed,可以减缓模型过拟合现象

2、GAN原理

GAN的两大护法:G、D

G是generator,生成器: 负责凭空捏造数据出来

D是discriminator,判别器: 负责判断数据是不是真数据

在最原始的GAN论文里,G和D都是两个多层感知机网络。

      以图像为例,解释上图,z是随机噪声(就是随机生成的一些数,也即是GAN生成图像的源头)。D通过真图和假图的数据(相当于天然label),进行一个二分类神经网络训练。G根据一串随机数就可以捏造一个“假图像”出来,用这些假图去欺骗D,D负责辨别这是真图还是假图,会给出一个score。比如,G生成了一张图,在D这里得分很高,那证明G是很成功的;如果D能有效区分真假图,则G的效果还不太好,需要调整参数。GAN就是这么一个博弈的过程。

3、GAN训练

      GAN的训练遵循DGDGDG的顺序,其中DG为一轮,先训练D再训练G,可以看出不是等所有的D训练好以后,才开始训练G,因为D的训练也需要上一轮中G的输出值作为输入。

      设DGDGDG为D(1)G(1)D(2)G(2)D(3)G(3),以训练D(2)G(2)为例。

(1)训练D(2)

      将G(1)产生的图片和真实图片直接拼接在一起作为x,按顺序摆放0和1,假图对应0,真图对应1。然后就可以通过x输入生成一个score(从0到1之间的数),通过score和y组成的损失函数,就可以进行梯度反传从而进行训练。

(2)训练G(2)

      输入一组随机向量,就可以在G(2)生成一张图,通过D(2)对生成的这张图进行打分。score=1就是DG系统需要优化的目标,score和y=1之间的差异可以组成损失函数,然后可以反向传播梯度从而进行训练。注意,这里的D(2)的参数是不可训练的。这样就能保证G(2)的训练是符合D(2)的打分标准的。这就好比:如果你参加考试,你别指望能改变老师的评分标准。

4、整个GAN的整个过程都是无监督的(后面会有监督性。如何理解其是无监督的?

      给的真图都是没有经过人工标注的,系统只知道是真实的图片,并不知道来的图片是什么玩意,比如全是人脸,它只需要分辨真假。G也不知道自己生成的是什么玩意,反正就是学真图片的样子骗D。正由于GAN的无监督,在生成过程中,G就会按照自己的意思天马行空生成一些“诡异”的图片,可怕的是D还能给一个很高的分数。比如,生成人脸极度扭曲的图片。这就是无监督目的性不强所导致的。有一篇论文conditional GAN就加入了监督性进去,将可控性增强,表现效果也好很多。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值