生成对抗网络

生成对抗网络(Generative Adversarial Network)

generate

在这里插入图片描述

why 输出分布(distribution)

我们希望找到的function对于同样的输入有多种可能的输出。
在这里插入图片描述

GAN

Anime face Generation

Unconditional generation

在这里插入图片描述

Discriminator

在这里插入图片描述

basic idea of GAN

示例:generator生成图片,discriminator分辨生成的图片,然后generator调整其中参数继续生成图片(调整目标是为了骗过discriminator),discriminator也进一步调整试图分辨生成图片与真实图片之间的差距,以此类推

algorithm for GAN

在这里插入图片描述

固定生成器,训练判别器:将数据集中的真实图片label为1,generator产生的图片label为0,discriminator可以使用分类/回归方法判断图片之间的差异

在这里插入图片描述

调整network使得输出的分数更高

在这里插入图片描述

反复训练 G,D

theory for GAN

在这里插入图片描述

已知一个normal distribution经过generator得到一个分布PG,真实数据的分布记为Pdata,我们的目的是让PG和Pdata尽可能的接近。
即该问题中定义loss function为PG与Pdata之间的举例,并找到一组网络参数使loss function最小

how to get the Div
通过sampling
在这里插入图片描述
how to use sampling
use real data and generated data to train discriminator
在这里插入图片描述

真实的图给高分,生成图给低分
训练过程就是:最大化目标函数
目标函数是:将real data通过判别器得到的分数取log(D(y)),同理对生成图片通过判别器得到分数D(y)取log(1-D(y)),即让真实图分数越大越好,生成图分数越小越好。

在这里插入图片描述
可以通过变化目标函数使用不同的divergence
在这里插入图片描述
不同的divergence要如何设计objective function?
using the divergence you like

tips for training GAN

变换divergence

在最早的GAN中我们选择最小化的是JS divergence
在大多数案例中,PG和Pdata重叠部分非常少

  • 图片是高维空间中的低维manifold(流体),其重叠部分注定很小(就好像二维空间中的两条直线,除非刚好重合,否则重叠部分很小)
  • 我们对PG和Pdata的了解仅限于sample,可能由于sample原因导致重叠部分较少(如果sample的点不够多不够密,也是没有重叠的)

而两个没有重叠的分布算JS divergence永远为log2
在这里插入图片描述在这里插入图片描述变换divergence——wasserstein distance

在这里插入图片描述在这里插入图片描述

假设有一台推土机,推土机把P堆土挪到Q堆土所移动的平均距离就是wasserstein distance
穷举所有moving plan,找最短平均距离即为wasserstein distance

在这里插入图片描述

wasserstein distance可以看出由左到右,模型越来越好

WGAN

在这里插入图片描述

D 需要是一个足够平滑的function(否则无法收敛)

在这里插入图片描述

more tips

在这里插入图片描述在这里插入图片描述

GAN for sequence generation

在这里插入图片描述在这里插入图片描述

more generative model

在这里插入图片描述在这里插入图片描述

监督学习的方法

evaluate

通过影像辨识评估GAN产生图片的效果
在这里插入图片描述
在这里插入图片描述

Mode Collapse,中文又称模式奔溃,主要出现于 GAN 训练的后期阶段,生成器生成图像样式单一问题。回顾 GAN 的原理,判别器用于分辨出真实图像和生成图像而生成器致力于生成让判别器难以分辨真伪的图像。原始的 GAN 损失更关注生成单张图像是否真实,而非生成的图像“们”是否符合实际的图像分布。这给了生成器投机取巧的机会,只生成个别几张逼真的样本,生成的图像真实但单一,不符合实际的图像分布。
在这里插入图片描述

在这里插入图片描述

Mode Dropping,指 GAN 能很好地生成训练集中的数据,但难以生成非训练集的数据,“缺乏想象力”。因为采样数量的局限性,现实中我们无法采集到全部可能的图像,即采集到所有可能的图像是不可能的(如果有能力采集到所有可能的图像,那么我们也就不需要 GAN 来生成图像了),所以通常我们会采样,采集一定数量的图像来代表整个图像分布。如图2所示,generated data 分布过于与训练集 real data 分布近似,但由于 real data 无法代表整体分布,生成器无法生成没见过的图像。可以看到在 iteration t 和 iteration t+1,生成器生成的图像除了颜色以外没有其他的变化。这就像是我们考试前不理解知识点而直接背答案一般,题目一变,就直接不会了。个人感觉这种现象也更像是过拟合于训练集。

Inception Score
在这里插入图片描述Frechet Inception Distance(FID)
在这里插入图片描述
more
在这里插入图片描述

conditional generation

输入文字产生图片
在这里插入图片描述在这里插入图片描述输入图片产生图片
在这里插入图片描述

learning from unpaired data

supervied learning:paired data(数据+label)
在这里插入图片描述
如何使用GAN做无监督学习
在这里插入图片描述

直接从X中sample训练generator和discriminator使之接近Y中sample的话,很有可能会忽略输入特征直接生成Y sample图像,这样也是不合理的
conditional GAN (使用成对data进行训练)

此时没有成对资料——cycle GAN

cycle GAN

从X转换到Y,再从Y转换到X,使转换前和转换后越接近越好
三层:generator(x2y);generator(y2x);discriminator
在这里插入图片描述more GAN(风格转换类)
在这里插入图片描述

GAN for 翻译

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值