当前位置:   article > 正文

生成对抗式网络 (GAN) 及其应用

生成对抗式网络 (GAN) 及其应用

GAN

学习参考

目的

  GAN是由Ian Goodfellow于2014年首次提出,学习GAN的初衷,即生成不存在于真实世界的数据。类似于AI具有创造力和想象力。
  GAN有两个非常重要的网络(生成器(Generator)和判别器(Discriminator))
GAN

训练过程

在这里插入图片描述
  GAN的训练在同一轮梯度反转的过程中可以细分为2步:(1)先训练D;(2)再训练G。注意,不是等所有的D训练好了才开始训练G,因为D的训练也需要上一轮梯度反转中的G的输出值作为输入。

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

  当训练G的时候:需要把G和D当作一个整体,这里取名叫做’D_on_G’。这个整体(简称DG系统)的输出仍然是score。输入一组随机向量z,就可以在G生成一张图,通过D对生成的这张图进行打分得到score,这就是DG系统的前向过程。score=1就是DG系统需要优化的目标,score和y=1之间的差异可以组成损失函数,然后可以采用反向传播梯度。注意,这里的D的参数是不可训练的。这样就能保证G的训练是符合D的打分标准的。这就好比:如果你参加考试,你别指望能改变老师的评分标准。

优化目标

在这里插入图片描述

  1. 整个式子由两项构成。x表示真实图片, z表示输入G网络的噪声,而G(z)表示G网络生成的图片。
  2. D(x)表示D网络判断真实图片是否真实的概率(因为x就是真实的,所以对于D来说,这个值越接近1越好)。而D(G(z))是D网络判断G生成的图片的是否真实的概率。
  3. G的目的: G应该希望自己生成的图片“越接近真实越好”。
  4. D的目的: D的能力越强, D(x)应该越大, D(G(x))应该越小。这时V(D,G)会变大。因此式子对于D来说是求最大(max_D)
  5. trick :为了前期加快训练,生成器的训练可以把log(1-D(G())换成-log(D(G(Z))
    :后续更新优化目标的推导

GAN应用

在这里插入图片描述

目的

  通过GAN来学习实例之间的相似性。实现流行特征挖掘。?
在这里插入图片描述

步骤

   挖掘与Anchor(锚点)相似的实例。
   第一步:先分别从正负数据集中采样(Instance Sampling);
   第二步:将三个图片分别通过CNN进行特征提取,然后拼接成新向量。
   第三步:将第二步产生的向量通过生成器来生成一个Proxy(代理),然后通过辨别器来判断其类别(0或1)
   第四步:若Proxy为正,则在以Proxy为圆点, r r r 为半径的领域范围内寻找相似的其它负样本,并将他放在所对应正样本中,相反,负样本中的样本对应减少。

小结

   GAN的目的是为了获得一个良好的生成器,因此,在许多分类任务中并不常用。这篇文章将GAN网络作为一个生成Proxy和判断其类别的步骤来实现了流行特征挖掘。

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

闽ICP备14008679号