作家
登录

开发者自述:我是这样学习 GAN 的

作者: 来源: 2017-07-14 10:06:13 阅读 我要评论

真实分布中的所有 x 的期望,等价于求概率积分,所以可以转化成积分运算,因为减号后面的项和 θ 无关,所以添上之后照样等价的。然后提出共有的项,括号内的反转,max 变 min,就可以转化为 KL divergence 的情势了,KL divergence 描述的昵嘟个概率分布之间的差别。

开辟者自述:我是如许进修 GAN 的

【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路!


这是对 GAN 入门进修做的一些标记和懂得,后来太懒了,不想打公式了,主如果参考潦攀李宏毅师长教师的视频:

什么是生成就generation)?就是模型经由过程进修一些数据,然后生成类似的数据。让机械看一些动物图片,然后本身来产活泼物的图片,这就是生成。

Generative Adversarial Network,就是大年夜家耳熟能详的 GAN,由 Ian Goodfellow 起首提出,在这两年更是深度进修中最热点的器械,仿佛什么器械都能由 GAN 做出来。我比来刚入门 GAN,看了些材料,做一些标记。

1.Generation

以前就有很多可以用来生成的技巧了,比如 auto-encoder(自编码器),构造如下图:

开辟者自述:我是如许进修 GAN 的

钠揭捉?练一个 encoder,把 input 转换成 code,然后练习一个 decoder,把 code 转换成一个 image,然后计算获得的 image 和 input 之间的 MSE(mean square error),练习完这个 model 之后,掏出后半部分 NN Decoder,输入一个随机的 code,就能 generate 一个 image。

上述的┞封些生成模型,其实有一个异常严重的弊病。比如 VAE,它生成的 image 是欲望和 input 越类似越好,然则 model 是若何来衡量这个类似呢?model 管帐算一个 loss,采取的大年夜多是 MSE,即每一个像素上的均方差。loss 小真的表示类似嘛?

开辟者自述:我是如许进修 GAN 的

比如这两张图,第一张,我们认为是好的生成图片,第二张是差的生成图片,然则对于上述的 model 来说,这两张图片计算出来的 loss 是一样大年夜的,所以会认为是一样好的图片。

这就是上述生成模型的弊病,用来衡量生成图片短长的标准并不克不及很好的完成想要实现的目标。于是就有了下面要讲的 GAN。

2.GAN

大年夜名鼎鼎的 GAN 是若何生成图片的呢?起首大年夜家都知道 GAN 有两个收集,一个是 generator,一个是 discriminator,大年夜二人零和博弈中受启发,经由过程两个收集互相对抗来达到最好的生成效不雅。流程如下:

还有一个问题叫 Mode Collapse,如下图:

开辟者自述:我是如许进修 GAN 的

重要流程类似膳绫擎这个图。起首,有一个一代的 generator,它能生成一些很差的图片,然后有一个一代的 discriminator,它能精确的把生成的图片,和真实的图片分类,简而言之,这个 discriminator 就是一个二分类器,对生成的图片输出 0,对真实的图片输出 1。

这就是 GAN,运行过程就是这么的简单。这就停止了嘛?显然没有,下面还要介绍一下 GAN 的道理。

3.道理

起首我们知道真实图片集的分布 Pdata(x),x 是一个真实图片,可以想象成一个向量,这个向量集合的分布就是 Pdata。我们须要生成一些也在这个分布内的图片,如不雅直接就是这个分布的话,怕是做不到的。

我们如今有的 generator 生成的分布可以假设为 PG(x;θ),这是一个由 θ 控制的分布,θ 是这个分布的参数(如不雅是高斯混淆模型,那么 θ 就是每个高斯分布的平均值和方差)

假设我们在真实分布中掏出一些数据,{x1, x2, ... , xm},我们想要计算一个似然 PG(xi; θ)。

对于这些数据,在生成模型中的似然就是

开辟者自述:我是如许进修 GAN 的

我们想要最大年夜化这个似然,等价于让 generator 生成那些真实图片的概率最大年夜。这就变成了一个最大年夜似然估计的问题了,我们须要找到一个 θ* 来最大年夜化这个似然。

开辟者自述:我是如许进修 GAN 的

寻找一个 θ* 来最大年夜化这个似然,等价于最大年夜化 log 似然。因为此时这 m 个数据,是大年夜真实分布中取的,所以也就约等于,真实分布中的所有 x 在 PG 分布中的 log 似然的期望。

所以最大年夜化似然,让 generator 最大年夜概率的生成真实图片,也就是要找一个 θ 让 PG 更接近于 Pdata。

那若何来找这个最合理的 θ 呢?我们可以假设 PG(x; θ) 是一个神经收集。

起首随机一个向量 z,经由过程 G(z)=x 这个收集,生成图片 x,那么我们若何比较两个分布是否类似呢?只要我们取一组 sample z,这组 z 相符一个分布,那么经由过程收集就可以生成另一个分布 PG,然后来比较与真实分布 Pdata。

大年夜家都知道,神经收集只要有非线性激活函数,就可以去拟合随便率性的函数,那么分布也是一样,所以可以用一向正态分布,或者高斯分布,取样去练习一个神经收集,进修到一个很复杂的分布。

开辟者自述:我是如许进修 GAN 的


  推荐阅读

  UPS电源集中管理系统如何增加效率?

【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! UPS不间断电源持续扩大年夜应>>>详细阅读


本文标题:开发者自述:我是这样学习 GAN 的

地址:http://www.17bianji.com/lsqh/36217.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)