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

本文详细介绍了生成对抗网络(GANs)的基本原理,包括生成器和判别器的角色及其协同训练过程。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和判断其类别的步骤来实现了流行特征挖掘。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值