为什么GAN难以训练


翻译博客:GAN — Why it is so hard to train Generative Adversarial Networks!

通常情况下,识别莫奈的绘画要比模仿莫奈的绘画更容易。在GAN中也是同样的道理,生成模型(创造数据)要比判别模型(处理数据)难很多。通过研究,我们了解了在训练GAN过程中遇到的一些基本问题。我们将研究一些分歧,以便指明我们的研究方向。在研究这些问题之前,我们回顾一下GAN方程式。

GAN

GAN采用标准或均匀分布来提供噪声z,并利用深度网络生成模型G来创建图像x(x=G(z))

在GAN中,我们增加了判别器来区分判别器的输入是来自于真实数据还是生成的数据。输出值D(x)来估计是真的概率。

目标函数与梯度

GAN定义了通过极小极大化游戏,其目标函数为:

以下图标总结了我们如何使用相应的梯度来训练判别器和生成器

GAN问题

许多GAN模型面临以下几个主要问题:

1.不收敛:模型参数震荡,动摇,不收敛。

2.模式崩溃:有限的样本导致生成器崩溃。

3.梯度弱化:判别器太成功了,生成器梯度消失,什么也没学到。

生成器和辨别器不平衡导致过拟合,高度敏感的超参选择。

模型

真实数据分布具有多模态性。例如,MNIST有10个模型从数字‘0’到数字‘9’。以下样本由两个不同的GAN产生。上面一行生成了10个模型而下面一行只创建了一个模型(数字‘6’)。该问题属于模式崩溃当只有少量的模型数据被生成。

纳什均衡

GAN是基于零和非合作游戏The zero-sum non-cooperative game。如果一方赢则另一方输。零和游戏也叫极小极大化游戏。你的对手想要最大化它的行为,但是你的行为是将他们最小化。在博弈过程中,当判别模型和生成模型达到了纳什均衡时GAN模型收敛。这也是下面公式的最优解:

因为双方都想破坏对方,所以当一方无论对手可能做什么都不会改变其动作时,就会发生纳什均衡。考虑两个对手A和B,分别控制xy值。A想最大化值xy而B想最小化它。

则纳什均衡为x=y=0。这也是唯一状态你的对手的任何行为都无关紧要了。对手的任何状态都不会改变游戏的结果。

那么是否可以通过梯度下降方法找到纳什均衡呢?我们更新参数xy基于值函数的梯度。

其中\alpha是学习率。当将xyxy的训练过程图示出来,我们意识到我们的解永远不会收敛。

如果我们增加学习率或者训练模型的长度,我们发现参数xy非常不稳定。

我们的例子充分展示了一些代价函数不会因为梯度下降导致收敛,特别是对于非凸函数。我们可以直观地看待这个问题:你的对手总是对你的行为采取对策,这使得模型更难以收敛。

基于KL-Divergence的生成模型

为了理解GAN中的收敛问题,我们将研究KL-divergence和JS-divergence。在提出GAN之前,很多生成模型创建模型\theta来最大化最大似然估计MLE。例如,找到最好的模型参数适合大部分的训练数据。

这与最小化KL-divergence相同,其测量概率分布q(估计分布)如何偏离预期概率分布p(实际分布)。

KL-divergence是非对称的

对于p(x)\to 0区域,KL(x)下降到0。例如,在下面的图右中,红色的曲线对应D(p,q)。当x>2其中p接近0时,红色曲线下降到0。

这有什么含义?当它失去图像中的一些模型时,KL-divergenceDL(p,q)可以惩罚生成器:当p(x)>0但是q(x)\to 0时,惩罚率高。但是,它会接受一些看起来非真实的图像。当p(x)\to 0但是q(x)> 0时,惩罚率低。(更好的质量但是更少的样本)。

一些生成模型采用MLE来生成模型。最初认为KL-divergence导致交叉的图像质量(模糊图像)。但要注意的是,一些经验实验可能会对这一说法提出异议。

JS-Divergence

JS-divergence的定义如下:

JS-divergence是对称的。与KL-divergence不同,它将惩罚不良的图片(当p(x)\to 0q(x)>0)。在GAN中,如果判别器是最优的(在区分图片时具有良好的性能),生成模型的目标函数变为:

因此,优化生成模型被视为对JS-divergence进行优化。在实验中,与使用KL-divergence的其它生成模型相比,GAN能够产生更好的图像。因此,早期研究者设想优化JS-divergence而不是KL-divergence来创建质量高的但是缺乏多样性的图像。但是,一些研究者已经质疑了这类说法,因为使用MLE的GAN实验产生的图像质量相似但仍然存在图像多样性问题。但是,在正对GAN训练中JS-divergence所面临的缺陷方面,已经做了许多努力。无论辩论如何,这些成功都非常重要。因此,接下来我们将深入探讨JS-divergence的问题。

JS-Divergence中的梯度消失

当判别器最优时,生成模型的目标函数为:

当生成的图像的数据分布p与真实图像的数据分布q不匹配时,JS-divergence梯度会发生什么?考虑一个例子,pq服从高斯分布,且p的均值为0。.考虑不同均值下的q来研究JS(p,q)的梯度。

这里,我们给出了pq之间的JS-divergenceJS(p,q),其中q的均值在0到30之间。如下图所示,JS-divergence的梯度消失了从q_1q_3。当这些区域的代价饱和时,GAN的生成器的学习会极其缓慢。特别是在早期训练中,pq是非常不同的,并且生成器学习的非常慢。

不稳定的梯度

由于梯度消失,原始GAN论文提出了另一种代价函数来解决梯度消失问题。

根据Arjovsky的另一篇论文,相应的梯度为:

它包括了一个反向KL-divergence项,Arjovsky使用它来解释为什么GAN与基于KL-divergence的生产模型相比具有更高的质量但多样性少的图像。但同样的分析声称梯度波动并导致模型不稳定。为了说明这一点,Arjovsky冻结生产器并持续训练判别器。随着更大的变体,生成器的梯度开始增加。

上面的实验不是我们如何训练GAN。然而,在数学上,Arjovsky显示第一个GAN生成器的目标函数具有消失的梯度,而替代代价函数具有波动的梯度,导致模型的不稳定性。自最初的GAN以来,寻找新的代价函数,如LSGAN,WGAN,WGAN-GP,BEGAN等。有些方法基于新的数学模型,其他方法基于直觉通过实验备份。目标是找到具有更平滑和非消失梯度的代价函数。

然而,2017年谷歌大脑论文“GAN创建平等?”声称:最终,我们没有发现任何经过测试的算法始终由于原始算法的证据。

如果任何新提出的代价函数在提高图像质量方面取得了巨大成功,我们就不会有这种争论。关于Arjovsky数学模型中原始代价函数的的世界末日图片也没有完全实现。但我会谨慎地提醒读者过早的断言代价函数并不重要。我认为训练GAN容易失败,不应该在一开始时尝试许多成本函数,而是应该在随机尝试代价函数之前调试设计和代码。接下来尝试调整超参数,因为GAN模型对它们很敏感。

为什么GAN中模式会崩溃?

模式崩溃是GAN中最难解决的问题之一。彻底崩溃不常见,但经常发生部分崩溃。下面带有相同下划线颜色的图像看起来相似,模式开始崩溃。

让我们来观察它会发生什么。GAN生成器的目标是创建可以最大程度地欺骗判别器D的图像。

但是我们来考虑一个极端情况,其中G被广泛训练而没有对D进行更新。生成的图像将会收敛找到最佳的图像x^*,该图像能够糊弄D,从判别器角度看是最逼真的图像。在这个极端情况下,x^*将独立于z

模式崩溃为单点。与z相关的梯度接近0。

当我们在判别器中重新开始训练时,检测生成图像的最有效方法是检测这种单一模型。由于生成器已经对z的影响不敏感,因此来自判别器的梯度可能会将单点推到下一个最脆弱的模式。生成器在训练中产生这种不平衡的模式,这会降低其检测其它模型的能力。现在,两个网络都过于适应利用短期对手的弱点。这变成了猫捉老鼠游戏,模型不会收敛。

在下图中,Unroll GAN设法生成所有8种预期的数据模式。第二行显示另一个GAN,当判别器赶上时,模式崩溃并旋转到另一个模式。

在训练期间,不断更新判别器以检测对手。因此,生成器不太可能过度拟合。在实践中,我们对模式崩溃的理解仍然有限。我们上面的直观解释可能过于简单了。通过经验实验开发并验证了缓解方法。然而,GAN训练仍然是一个启发式过程。部分崩溃仍然很常见。

但是模式崩溃并不都是坏消息。在使用GAN的样式迁移中,我们很乐意将一个图像转换为一个好的图像,而不是找到所有变体。实际上,局部模式崩溃的专业性有时会产生更高质量的图像。

超参和训练

如果没有合适的超参,没有代价函数可以工作,调整它们需要时间和耐心。新的成本函数可能会引入具有敏感性能的超餐数。

平衡判别器和生成器

不收敛以及模式崩溃经常被解释为判别器和生成器不平衡。显而易见的解决方案是平衡它们的训练避免过拟合。然而,很少取得进展,但并非因为缺乏尝试。一些研究人员认为,这不是一个可行或理想的目标,因为良好的判别器可以提供良好的反馈。因此,一些注意力转移到具有非消失梯度的成本函数。

代价VS图像质量

在判别模型中,损失函数测量预测的准确性,我们使用它来监控训练的进度。但是,GAN的损失函数测量我们比对手相比的表现。通常情况下,生成器代价会增加,但图像质量实际上正在提高。我们回过头来手动检查生成的图像以验证进度。这使得模型比较更加困难,从而导致难以在一次运行中选择最佳模型。这也使调优过程变得复杂。

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

推荐阅读更多精彩内容