GAN入门简介

定义

GAN(Generative Adversarial Networks ,生成式对抗网络)是一种深度学习模型。顾名思义,模型包含两部分:

  1. 生成模型(Generative Model,G)
  2. 判别模型(Discriminative Model,D)

在二者的互相博弈学习中产生预期的输出。原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。

主要思想

首先我们要明确,使用GAN的目的是为了生成我们需要的东西(图片、语音、文字等),那么我们首先来看一下生成器G。

G


有了神经网络的基础之后,我们不难理解,有一个神经网络G,你向其输入一个随机噪声(一维向量),G就会有一个对应的产出,依据我们的需求,分为不同的类型。

那这样为什么不够呢?换句话说,为什么还需要一个D?

因为我们没有一个评判G好坏的方法。假设用目标图片直接作为标签,然后求G的输出与标签之间的Loss,那么我们训练的G就只能得到对应标签的输出,这并不满足我们的需求,我们想要的是G能够产生一个类型的图片而不是某一个特定的图片(以下都使用图片生成作为例子,其他的情况类似),这时候就需要判别器D了。

D

那么D是如何工作的?

D是一个用来评判G产生的图片好坏的模型,所以D要有自己的标准,这个标准就是我们的“标签”,也就是真正的图片,而将G产生的图片叫做虚假的图片。

于是,D开始打分:

此过程的目的就是让D知道什么是真图,什么是假图,从而在看到G产生的假图后可以分辨出来。

拟人一下

G就是学生,D就是老师;

  1. 学生不知道猫是什么样子,于是将自己画的猫交给老师,老师依据自己的经验(什么样的猫是真的,什么样的猫是假的)给出结果,将作业退回;
  2. 老师又去看到了更多的猫,变得更加严格;
  3. 学生依据结果改进自己的作品,画的猫更加真实(例如这次给猫加了眼睛);
  4. 上交作业,老师拿到学生的作品,依旧觉得不可以,再退回去,跳到2,开始重复2、3、4(就是我们的训练过程);

于是若干循环后,老师再一次拿到了学生的作品,发现凭借自己的经验,无法判断学生的猫和真实的猫哪一个是真哪一个是假,这时候我们的训练目的就达到了,也就是训练出了我们理想的生成器G。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值