GAN生成式对抗网络

gan公式理解+源码

GAN

应用目标

生成式任务(生成、重建、超分辨率、风格迁移、补全、上采样等)

核心思想

生成器G和判别器D的一代代博弈

  • 生成器G:生成网络,通过输入生成图像,希望生成的数据可以让D分辨不出来
  • 判别器D:二分类网络,将生成器生成图像作为负样本,真实图像作为正样本,希望尽可能分辨出G生成的数据和真实数据的分布
  • 判别器D训练:给定G,通过G生成图像产生负样本,并结合真实图像作为正样本来训练D
  • 生成器G训练:给定D,以使得D对G生成图像的评分尽可能接近正样本作为目标来训练G
  • G和D的训练过程交替进行,对抗过程使得G生成的图像越来越逼真,D分辨真假的能力越来越强

image

算法原理

GAN的精妙之处:对生成模型损失函数的处理

G(生成网络):接受一个随机噪声 z z z,通过该噪声生成图片,记作 G ( z ) G(z) G(z)

输入噪声的随机性可以带来生成图像的多样性

D(判别网络):输入参数为 x x x x x x代表一张图片,输出 D ( x ) D(x) D(x)代表 x x x为真实图片的概率,如果为1,就代表100%是真实图片,若为0,则代表不可能是真实的图片

问题分析

目标函数如何分析?
image

对数函数:在其定义域内是单调递增函数,数据取对数不改变数据间的相对关系,使用 l o g log log后,可放大损失,便于计算和优化

  • 前半部分公式 E x ∽ p d a t a ( x ) [ l o g D ( x ) ] E_{x\backsim p_{data}(x)}[logD(x)] Expdata(x)[logD(x)]

    • D ( x ) D(x) D(x)表示判别器对真实图片的判别,取对数函数后目的是为了其值趋于0,也就是 D ( x ) D(x) D(x)趋于1,也就是放大损失
    • E x ∽ p d a t a ( x ) E_{x\backsim p_{data}(x)} Expdata(x)表示期望 x x x p d a t a p_{data} pdata中获取
      • x x x表示真实的数据(图片)
      • P d a t a P_{data} Pdata表示真实数据的分布
    • 综上所述,前半部分公式
      • 含义:判别器判别出真实数据的概率。
      • 优化目标:使得该概率越大越好
  • 后半部分公式 E z ∽ p z ( z ) [ l o g ( 1 − D ( G ( z ) ) ) ] E_{z\backsim p_{z}(z)}[log(1-D(G(z)))]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值