GAN的读书笔记

        今天我要进行的汇报是Generative Adversarial Nets,意为生成式对抗网络,这篇论文也是GAN的开山之作,在机器学习中占有重要地位。是里程碑式的一篇论文,为生成式网络做出了巨大的贡献,接下来让我们一起学习这篇论文。

        首先是一个简单地介绍。在深度学习领域,最成功的的模型之一就是判别式模型,他是将高维数据映射到类标签上。主要是基于backpropagation 和 dropout 算法来实现,梯度良好。但是由于最大似然估计和相关概率计算的困难导致生成模型的影响较小,所以作者提出了新的框架。

        这个框架同时训练两个模型:一个用来捕获数据分布的生成模型G,和一个用来估计样本来自训练数据而不是G生成数据的概率的判别模型D。G的训练过程是最大化D产生错误的概率,G 和D在训练的过程中存在唯一的最优解,此时模型最优。生成模型通过将随机产生的噪声传输到多层感知机(multilayer perceptron)来生成样本,同时判别模型也是通过多层感知机实现的,两者结合称为对抗网络(Adversarial nets)。我们可以仅使用非常成熟的backpropagation 和 dropout算法训练这两个模型,并且不需要近似推理和马尔可夫链作为前提。这使得GAN的训练更为高效,应用也更加广泛。

        接下来我们来看一看对抗网络是什么样子。对于这个框架我们需要一个生成器和一个判别器,Pg是生成器在数据X上的分布,Pz是随机噪声向量,而生成器G则是通过多层感知机将随机产生的噪声Z生成为数据X即Pg(X),θg是多层感知机的参数。然后我们再定义一个多层感知机D,D的作用是判断我们输入的数据X是真实的数据还是生成器G生成的数据。输出的值是一个标量。我们训练D是去最大化区分数据是来自于训练样本还是来自于G的样本。我们训练G去最小化log(1 − D(G(z)))。

图1

        接下来我们看这个价值函数V,如图1,D的目标是最大化价值函数V,那么就要尽可能的使x在输入进D的时候输出值为1,因为这里的X是Pdata也就是真实的数据,而对于D(G(z)),就要尽可能的输出0,因为这是G生成的假数据。那么对于G,它的目的是最小化V,也就是尽可能的使D(G(z))=1,就是要以假乱真,让D无法辨别出这是假数据。这就是minmax在这里的含义。

        但是这里也有一些问题,就是在训练D的时候这个式子也存在G,那么这个G是哪个G,生成器有很多个,如何确定用哪个好呢,这就带来了不确定性,导致在训练的时候可能毫无进展。

图2

        接下来我们看如何训练这个模型,K是一个超参数,我们在这里为了方便计算设为1.

        我们在m个噪声样本中取出一个minibatch,在m个训练样本中取出一个minibatch代入到图2第一个式子中,我们进行梯度上升计算,因为D的目的是最大化价值函数V。然后在m个噪声样本中取出一个minibatch,代入图2第二个式子中,在这里我们进行梯度下降计算,因为G的目的是最小化价值函数V。这两个计算结束后,我们就进行了一次迭代。在这里作者还提到,因为在训练早起会出现辨别器D过强生成器G过弱的情况导致生成器无论如何生成数据都会被识破导致训练停滞,在数学表达上就是梯度消失。所以在训练早期,我们不训练log(1 − D(G(z))),而是训练D(G(z)),这样在初期即使每次都被判断为假数据,因为值是负无穷大,所以梯度也大,易于训练。只是这样会带来数学上的数字表示问题。

图3

        接下来我们看这个图,这是模型训练的一个可视化,首先D(x)是我们的判别器,Pdata是真实的数据,Pg是生成器生成的数据,下面的Z是随机噪声,上面的X是生成后的数据

        在图a中D(x)不那么强有些时候不能准确辨认真假,在对辨别器进行一轮训练后我们认为它可以完美地识别真假数据,就像b中的图像,此时对生成器进行训练,此时生成器发现越是接近于真实数据就越难被发现,于是开始爬坡去尽可能地拟合真实数据,就像c中显示,在n次训练后生成器生成的数据已经真假难辨,辨别器也更加强大,此时辨别器输出的值为1/2,此时训练完成。

图4

        接下来我们看作者得出的一些理论上的结果,首先他给出一个结论是全局最优解时Pg=Pdata,即使不加证明我们也能理解为什么,因为生成器的分布只有等于真实分布的时候,才能达到最优的生成效果,当然后面也会给出证明。

        然后作者又给出了一个论断:给定G,那么最优D是

图5


        接下来我们证明最优D,首先我们知道X=G(z),又图6上半式子的右半部分是关于噪声Z的求和,所以在进行xz的代换之后也要替换为对x的求和,所以我们可以得到图6下面这个式子,此时我们假设Pdata(x)=a,Pg(x)=b,D(x)=y,那么我们可以根据下面这个定理  {对于任意的(a,b)∈R2\{0,0},函数y→alog(y)+blog(1−y)在[0,1]中的a/(a+b )处达到最大值}  得到最优D(x)的值,此时使得价值函数V最大

图6

        接下来先学习一下散度,接下来会用到。散度就是用来衡量两个分布差异的一个概念,当两个分布越相似,散度的值就越小,完全相等的时候散度的值为零。散度有如下几个性质

                非负性:KL(P||Q)>=0,当P=Q时,KL(P||Q)=0;

                反身性:KL(P||P)=0

                非对称性:D(P||Q) ≠ D(Q||P)

        当两个KL散度符合下述形式时可以写为JS散度

图7

          JS散度具有以下性质

                JS散度的取值范围在0-1之间,完全相同时为0

                JS散度是对称的

        此时我们已经有了最优的D,接下来我们要求解什么时候G最优,我们将最优D带入我们的C(G)中可以得到下面的这个式子。

图8

        因为分布的取值应该是处于0到1之间所以我们将下面的分母除以二得到现在的式子。

图9

        也就得到了两个KL散度用来衡量这两个分布,前面根据JS散度的定义我们得到了最终的式子,此时根据性质得Pdata=Pg的时候C(G) 最小,得证之前我们得出的结论。

        接下来作者给出了式子在训练时会收敛的证明。在这里我们训练的时候最终是要得出一个完美的G,所以整个函数中最重要的就是G也就是Pg,所以我们讲价值函数做一个转换,换一个思路。让V (G, D) = U(Pg, D),这样价值函数就转换为一个关于Pg的线性函数,且是一个凸函数此时存在价值最大,也就是收敛。而此时也就是我们之前证明的Pdata=Pg。

        到这里这篇论文的内容已经基本讲完了,接下来我们一起看看这个框架的优缺点吧。

优点:

        1.计算梯度时只用到了反向传播,而不需要马尔科夫链。

        2.不是直接使用数据来计算loss更新生成器,而是使用判别器的梯度,所以数据不会直接复制到生成器的参数中,计算简单

        3.理论上,只要是可微分函数都能用于构建D和G,因而能够与深度学习结合来学习深度产生式网络

        4.可以表示非常尖锐、甚至退化的分布

缺点:

        1.生成器的分布Pg(G)没有显示表达。

        2.比较难训练,D与G之间需要很好的同步,例如D更新k次而G更新1次,不然模型会崩溃。

        我的汇报完毕,谢谢大家。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354

推荐阅读更多精彩内容