GAN介绍

GAN(Generative Adversarial Network)

GAN中存在两个网络,分别是生成器G(Generator)和判别器D(Discriminator)。
找到一个Generator,使得判别器D不能分开真实的和生成的数据。

生成器网络在训练过程中,生成网络尽量生成真实的图片去欺骗判别器D。判别器D尽量把生成器G生成的图片和真实的图片区分开。G和D构成一个动态的博弈过程。

找到一个判别器D使得loss最大,同时找到一个生成器G减小这个loss函数。
GAN原理
梯度上升(Gradient ascent)用在判别器D中,找最大。
max_D
梯度下降(Gradient descent)用在生成器G中,找到最小。
min_G
判别器D的输出是0,说明判别器能够正确分类,跟真实图片差得远,此时是bad examples。判别器D的输出接近于1,说明以假乱真,说明是good examples。

在这里插入图片描述
但是由于在bad examples上,原有生成器G的loss函数,梯度太小,会存在梯度消失的问题。所以可以替换成下面的形式:
ps://img-blog.csdnimg.cn/20190520161119971.png)
max_G

Deep Convolutional GAN(DCGNN)

DCGNN原理和GAN原理是一样的,就是把G和D换成了卷积神经网络。从左到右的过程叫做转置卷积(transposed convolutional layer)。

  • 将所有的pooling层替换成stride卷积
  • 判别网络D和生成网络G中使用batch normalization
  • 去掉全连接FC层,使网络变为全卷积网络
  • G网络中使用ReLU作为激活函数,最后一层使用tanh。因为最后一层图像像素值是有界的(0-255)
  • D网络中使用LeakyReLU作为激活函数

GAN的理论

泛化性:用比较少的数据,能学习出对新样本的适应能力。
均衡性:不均衡。生成器G和判别器D两个模型就不匹配。

Wasserstein GAN(WGAN)

wasserstein 距离用来表示两个分布的相似程度。又叫做Earth Mover’s Distance,推土机距离。它衡量了把数据从一个分布移动到另一个分布所需要的最小平均距离。

两个分布的距离不一样。标准GAN的loss函数可以被替换掉,因为原有的loss存在梯度消失的问题。可以认为所有的深度神经网络都是函数族,使用网络D,参数化Lipchitz函数条件。梯度的范围在(-1,1)之间。实际中,使用权重clip的技巧,使得满足。
dual form Wasserstein
Wasserstein Gan

实际中,WGAN和GAN比,生成的图像会更加模糊。虽然loss函数存在优势,但是距离度量不如直接对图像分类判别准确。实际中更多使用Hinge Loss。
hinge loss

Spectral Normalization GAN(SN-GAN)

在这里插入图片描述
控制f函数的Lipchitz系数。Lipschitz连续条件的意义在于使得 f 足够稳定,在输入发生少量变化时,输出不会有太巨大的变化。如果有图像A,修改少量像素得到图像B,输入判别器D后得到相差非常巨大的判别效果,那么判别器就是不稳定的,它对输入过于敏感。

求出矩阵最大的特征值,每个矩阵都除以该特征值。
详细介绍可参考:GAN中的Spectral Normalization

Evaluation Metric of GANs

现在做GAN方向的科研,基本需要使用如下的两个指标度量效果。

  • IS(Inception score):越高越好。
  • FID:越低越好。计算两个高斯分布的wasserstein 距离。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值