GAN的学习笔记

李宏毅老师的视频

https://github.com/hindupuravinash/the-gan-zoo   GAN的“动物园”

Generative Adversarial Network,由 Ian Goodfellow 首先提出,是深度学习中这两年中最热门的东西。

在GAN出现之前,我们已经有了GAN的部分模型:

生成式模型和对抗模型。很明显,将两者结合起来的做法是非常明智且跨时代意义的。

1.Generation

什么是生成(generation)?就是模型通过学习一些数据,然后生成类似的数据。让机器看一些动物图片,然后自己来产生动物的图片,这就是生成。

以前就有很多可以用来

生成的技术了,比如 auto-encoder(自编码器),结构如下图:

auto-encoder

变分自编码器的结构如下  :

 生成器的问题:由于自编码器的目标是让重建误差越来越小,但我们可以看出,其中1个pixel的error,自编码器是觉得ok的,我们是觉得不行,另外6个pixel的误差我们觉得能接受的,自编码器不能接受。所以误差所在的位置很重要,而生成器并不知道这一点,自编码器缺少理解像素点之间的空间相关性的能力。还有一点,就是自编码器所产生的图像是模糊的,不能够产生十分清晰的图像,如下图所示:

 所以说目前单凭生成器是很难生成非常高质量的图像的。

2、Discriminator

鉴别器的问题:鉴别器的训练是对真样本进行奖励,对负样本进行压低,也就是图中的绿色抬高,蓝色压低,这就造成了问题,我们要训练出好的鉴别器,训练过程需要随机采样出除绿色图像外所有的假样本,这样鉴别器就只会对真实样本的分布取高分,对其他分布取低分,这样才能训练的好,在高维空间中,这样的负样本采样过程其实是很难进行的,而且还有一个问题,生成样本的过程要枚举大量样本才有可能出现一个与真样本分布相符的样本,通过求那个最大化概率问题求出最好的样本,这实在是过于繁琐。

 

生成器/鉴别器的优点缺点 以及GAN的优势所在:

 但是GAN也是又缺点的,它是一种隐变量模型,可解释没有生成器和鉴别器强,另外GAN是不好进行训练

 GAN

           

VECTOR 每一个维度代表一个特征                                                     判断真假

(NSGAN)

和上面的表达式的效果是同样的(MMGAN)

 在trainD的时候就是在train一个Binary Classifier

learning D Repeat k times

learning G Repeat 1 times

 

在李宏毅GAN系列视频里,第四课69:00有一段可视化train的过程,可以看一看。

其他比较出名的GAN

DCGAN      

CycleGAN

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值