GAN 令人拍案叫绝的Wasserstein (令人拍案)

雷锋网按:本文作者郑华滨,原载于知乎。雷锋网已获转载授权。

令人拍案叫绝的Wasserstein GAN

在GAN的相关研究如火如荼甚至可以说是泛滥的今天,一篇新鲜出炉的arXiv论文《Wassertein GAN》却在Reddit的Machine Learning频道火了,连Goodfellow都在帖子里和大家热烈讨论,这篇论文究竟有什么了不得的地方呢?

要知道自从2014年Ian Goodfellow提出以来,GAN就存在着训练困难、生成器和判别器的loss无法指示训练进程、生成样本缺乏多样性等问题。从那时起,很多论文都在尝试解决,但是效果不尽人意,比如最有名的一个改进DCGAN依靠的是对判别器和生成器的架构进行实验枚举,最终找到一组比较好的网络架构设置,但是实际上是治标不治本,没有彻底解决问题。而今天的主角Wasserstein GAN(下面简称WGAN)成功地做到了以下爆炸性的几点:

那以上好处来自哪里?这就是令人拍案叫绝的部分了——实际上作者整整花了两篇论文,在第一篇《Towards Principled Methods For Training Generative Adversarial Networks》里面推了一堆公式定理,从理论上分析了原始GAN的问题所在,从而针对性地给出了改进要点;在这第二篇《Wassertein GAN》里面,又再从这个改进点出发推了一堆公式定理,最终给出了改进的算法实现流程,而改进后相比原始GAN的算法实现流程却只改了四点:

算法截图如下:

令人拍案叫绝的Wasserstein GAN

改动是如此简单,效果却惊人地好,以至于Reddit上不少人在感叹:就这样?没有别的了? 太简单了吧!这些反应让我想起了一个颇有年头的鸡汤段子,说是一个工程师在电机外壳上用粉笔划了一条线排除了故障,要价一万美元——画一条线,1美元;知道在哪画线,9999美元。上面这四点改进就是作者Martin Arjovsky划的简简单单四条线,对于工程实现便已足够,但是知道在哪划线,背后却是精巧的数学分析,而这也是本文想要整理的内容。

本文内容分为五个部分:

理解原文的很多公式定理需要对测度论、 拓扑学等数学知识有所掌握,本文会从直观的角度对每一个重要公式进行解读,有时通过一些低维的例子帮助读者理解数学背后的思想,所以不免会失于严谨,如有引喻不当之处,欢迎在评论中指出。

以下简称《Wassertein GAN》为“WGAN本作”,简称《Towards Principled Methods for Training Generative Adversarial Networks》为“WGAN前作”。

WGAN源码实现: martinarjovsky/WassersteinGAN

第一部分:原始GAN究竟出了什么问题?

回顾一下,原始GAN中判别器要最小化如下损失函数,尽可能把真实样本分为正例,生成样本分为负例:

令人拍案叫绝的Wasserstein GAN (公式1 )

其中 令人拍案叫绝的Wasserstein GAN 是真实样本分布, 令人拍案叫绝的Wasserstein GAN 是由生成器产生的样本分布。对于生成器,Goodfellow一开始提出来一个损失函数,后来又提出了一个改进的损失函数,分别是

令人拍案叫绝的Wasserstein GAN (公式2)

令人拍案叫绝的Wasserstein GAN (公式3)

后者在WGAN两篇论文中称为“the - log D alternative”或“the - log D trick”。WGAN前作分别分析了这两种形式的原始GAN各自的问题所在,下面分别说明。

第一种原始GAN形式的问题

一句话概括:判别器越好,生成器梯度消失越严重。WGAN前作从两个角度进行了论证,第一个角度是从生成器的等价损失函数切入的。

首先从公式1可以得到,在生成器G固定参数时最优的判别器D应该是什么。对于一个具体的样本,它可能来自真实分布也可能来自生成分布,它对公式1损失函数的贡献是

令人拍案叫绝的Wasserstein GAN

令其关于 令人拍案叫绝的Wasserstein GAN 的导数为0,得

令人拍案叫绝的Wasserstein GAN

化简得最优判别器为:

令人拍案叫绝的Wasserstein GAN (公式4)

这个结果从直观上很容易理解,就是看一个样本 令人拍案叫绝的Wasserstein GAN 来自真实分布和生成分布的可能性的相对比例。如果 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN ,最优判别器就应该非常自信地给出概率0;如果 令人拍案叫绝的Wasserstein GAN ,说明该样本是真是假的可能性刚好一半一半,此时最优判别器也应该给出概率0.5。

然而GAN训练有一个trick,就是别把判别器训练得太好,否则在实验中生成器会完全学不动(loss降不下去),为了探究背后的原因,我们就可以看看在极端情况——判别器最优时,生成器的损失函数变成什么。给公式2加上一个不依赖于生成器的项,使之变成

令人拍案叫绝的Wasserstein GAN

注意,最小化这个损失函数等价于最小化公式2,而且它刚好是判别器损失函数的反。代入最优判别器即公式4,再进行简单的变换可以得到

令人拍案叫绝的Wasserstein GAN

变换成这个样子是为了引入Kullback–Leibler divergence(简称KL散度)和Jensen-Shannon divergence(简称JS散度)这两个重要的相似度衡量指标,后面的主角之一Wasserstein距离,就是要来吊打它们两个的。所以接下来介绍这两个重要的配角——KL散度和JS散度:

令人拍案叫绝的Wasserstein GAN (公式6)

令人拍案叫绝的Wasserstein GAN (公式7)

于是公式5就可以继续写成

令人拍案叫绝的Wasserstein GAN (公式8)

到这里读者可以先喘一口气,看看目前得到了什么结论: 根据原始GAN定义的判别器loss,我们可以得到最优判别器的形式;而在最优判别器的下,我们可以把原始GAN定义的生成器loss等价变换为最小化真实分布 令人拍案叫绝的Wasserstein GAN 与生成分布 令人拍案叫绝的Wasserstein GAN 之间的JS散度。我们越训练判别器,它就越接近最优,最小化生成器的loss也就会越近似于最小化 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 之间的JS散度。

问题就出在这个JS散度上。我们会希望如果两个分布之间越接近它们的JS散度越小,我们通过优化JS散度就能将 令人拍案叫绝的Wasserstein GAN “拉向” 令人拍案叫绝的Wasserstein GAN ,最终以假乱真。这个希望在两个分布有所重叠的时候是成立的,但是如果两个分布完全没有重叠的部分,或者它们重叠的部分可忽略(下面解释什么叫可忽略),它们的JS散度是多少呢?

答案是 令人拍案叫绝的Wasserstein GAN ,因为对于任意一个x只有四种可能:

令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN

令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN

令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN

令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN

第一种对计算JS散度无贡献,第二种情况由于重叠部分可忽略所以贡献也为0,第三种情况对公式7右边第一个项的贡献是 令人拍案叫绝的Wasserstein GAN ,第四种情况与之类似,所以最终 令人拍案叫绝的Wasserstein GAN

换句话说,无论 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 是远在天边,还是近在眼前,只要它们俩没有一点重叠或者重叠部分可忽略,JS散度就固定是常数 令人拍案叫绝的Wasserstein GAN 而这对于梯度下降方法意味着——梯度为0 !此时对于最优判别器来说,生成器肯定是得不到一丁点梯度信息的;即使对于接近最优的判别器来说,生成器也有很大机会面临梯度消失的问题。

但是 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 不重叠或重叠部分可忽略的可能性有多大?不严谨的答案是:非常大。比较严谨的答案是: 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 的支撑集(support)是高维空间中的低维流形(manifold)时, 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 重叠部分测度(measure)为0的概率为1。

不用被奇怪的术语吓得关掉页面,虽然论文给出的是严格的数学表述,但是直观上其实很容易理解。首先简单介绍一下这几个概念:

回过头来看第一句话,“当 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 的支撑集是高维空间中的低维流形时”,基本上是成立的。原因是GAN中的生成器一般是从某个低维(比如100维)的随机分布中采样出一个编码向量,再经过一个神经网络生成出一个高维样本(比如64x64的图片就有4096维)。当生成器的参数固定时,生成样本的概率分布虽然是定义在4096维的空间上,但它本身所有可能产生的变化已经被那个100维的随机分布限定了,其本质维度就是100,再考虑到神经网络带来的映射降维,最终可能比100还小,所以生成样本分布的支撑集就在4096维空间中构成一个最多100维的低维流形,“撑不满”整个高维空间。

“撑不满”就会导致真实分布与生成分布难以“碰到面”,这很容易在二维空间中理解:一方面,二维平面中随机取两条曲线,它们之间刚好存在重叠线段的概率为0;另一方面,虽然它们很大可能会存在交叉点,但是相比于两条曲线而言,交叉点比曲线低一个维度,长度(测度)为0,可忽略。三维空间中也是类似的,随机取两个曲面,它们之间最多就是比较有可能存在交叉线,但是交叉线比曲面低一个维度,面积(测度)是0,可忽略。从低维空间拓展到高维空间,就有了如下逻辑:因为一开始生成器随机初始化,所以 令人拍案叫绝的Wasserstein GAN 几乎不可能与 令人拍案叫绝的Wasserstein GAN 有什么关联,所以它们的支撑集之间的重叠部分要么不存在,要么就比 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 的最小维度还要低至少一个维度,故而测度为0。所谓“重叠部分测度为0”,就是上文所言“不重叠或者重叠部分可忽略”的意思。

我们就得到了WGAN前作中关于生成器梯度消失的第一个论证:在(近似)最优判别器下,最小化生成器的loss等价于最小化 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 之间的JS散度,而由于 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 几乎不可能有不可忽略的重叠,所以无论它们相距多远JS散度都是常数 令人拍案叫绝的Wasserstein GAN ,最终导致生成器的梯度(近似)为0,梯度消失。

接着作者写了很多公式定理从第二个角度进行论证,但是背后的思想也可以直观地解释:

首先, 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 之间几乎不可能有不可忽略的重叠,所以无论它们之间的“缝隙”多狭小,都肯定存在一个最优分割曲面把它们隔开,最多就是在那些可忽略的重叠处隔不开而已。

由于判别器作为一个神经网络可以无限拟合这个分隔曲面,所以存在一个最优判别器,对几乎所有真实样本给出概率1,对几乎所有生成样本给出概率0,而那些隔不开的部分就是难以被最优判别器分类的样本,但是它们的测度为0,可忽略。

最优判别器在真实分布和生成分布的支撑集上给出的概率都是常数(1和0),导致生成器的loss梯度为0,梯度消失。

有了这些理论分析,原始GAN不稳定的原因就彻底清楚了:判别器训练得太好,生成器梯度消失,生成器loss降不下去;判别器训练得不好,生成器梯度不准,四处乱跑。只有判别器训练得不好不坏才行,但是这个火候又很难把握,甚至在同一轮训练的前后不同阶段这个火候都可能不一样,所以GAN才那么难训练。

实验辅证如下:

令人拍案叫绝的Wasserstein GAN

第二种原始GAN形式的问题

一句话概括:最小化第二种生成器loss函数,会等价于最小化一个不合理的距离衡量,导致两个问题,一是梯度不稳定,二是collapse mode即多样性不足。 WGAN前作又是从两个角度进行了论证,下面只说第一个角度,因为对于第二个角度我难以找到一个直观的解释方式,感兴趣的读者还是去看论文吧(逃)。

如前文所说,Ian Goodfellow提出的“- log D trick”是把生成器loss改成

令人拍案叫绝的Wasserstein GAN (公式3)

上文推导已经得到在最优判别器 令人拍案叫绝的Wasserstein GAN

令人拍案叫绝的Wasserstein GAN (公式9)

我们可以把KL散度(注意下面是先g后r)变换成含的形式:

令人拍案叫绝的Wasserstein GAN (公式10)

由公式3,9,10可得最小化目标的等价变形

令人拍案叫绝的Wasserstein GAN

注意上式最后两项不依赖于生成器G,最终得到最小化公式3等价于最小化

令人拍案叫绝的Wasserstein GAN (公式11)

这个等价最小化目标存在两个严重的问题。第一是它同时要最小化生成分布与真实分布的KL散度,却又要最大化两者的JS散度,一个要拉近,一个却要推远!这在直观上非常荒谬,在数值上则会导致梯度不稳定,这是后面那个JS散度项的毛病。

第二,即便是前面那个正常的KL散度项也有毛病。因为KL散度不是一个对称的衡量, 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 是有差别的。以前者为例

换言之, 令人拍案叫绝的Wasserstein GAN 对于上面两种错误的惩罚是不一样的,第一种错误对应的是“生成器没能生成真实的样本”,惩罚微小;第二种错误对应的是“生成器生成了不真实的样本” ,惩罚巨大。第一种错误对应的是缺乏多样性,第二种错误对应的是缺乏准确性。 这一放一打之下,生成器宁可多生成一些重复但是很“安全”的样本,也不愿意去生成多样性的样本,因为那样一不小心就会产生第二种错误,得不偿失。这种现象就是大家常说的collapse mode。

第一部分小结:在原始GAN的(近似)最优判别器下,第一种生成器loss面临梯度消失问题,第二种生成器loss面临优化目标荒谬、梯度不稳定、对多样性与准确性惩罚不平衡导致mode collapse这几个问题。

实验辅证如下:

令人拍案叫绝的Wasserstein GAN

第二部分:WGAN之前的一个过渡解决方案

原始GAN问题的根源可以归结为两点,一是等价优化的距离衡量(KL散度、JS散度)不合理,二是生成器随机初始化后的生成分布很难与真实分布有不可忽略的重叠。

WGAN前作其实已经针对第二点提出了一个解决方案,就是对生成样本和真实样本加噪声,直观上说,使得原本的两个低维流形“弥散”到整个高维空间,强行让它们产生不可忽略的重叠。而一旦存在重叠,JS散度就能真正发挥作用,此时如果两个分布越靠近,它们“弥散”出来的部分重叠得越多,JS散度也会越小而不会一直是一个常数,于是(在第一种原始GAN形式下)梯度消失的问题就解决了。在训练过程中,我们可以对所加的噪声进行退火(annealing),慢慢减小其方差,到后面两个低维流形“本体”都已经有重叠时,就算把噪声完全拿掉,JS散度也能照样发挥作用,继续产生有意义的梯度把两个低维流形拉近,直到它们接近完全重合。以上是对原文的直观解释。

在这个解决方案下我们可以放心地把判别器训练到接近最优,不必担心梯度消失的问题。而当判别器最优时,对公式9取反可得判别器的最小loss为

令人拍案叫绝的Wasserstein GAN

其中 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 分别是加噪后的真实分布与生成分布。反过来说,从最优判别器的loss可以反推出当前两个加噪分布的JS散度。两个加噪分布的JS散度可以在某种程度上代表两个原本分布的距离,也就是说可以通过最优判别器的loss反映训练进程!……真的有这样的好事吗?

并没有,因为加噪JS散度的具体数值受到噪声的方差影响,随着噪声的退火,前后的数值就没法比较了,所以它不能成为 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 距离的本质性衡量。

因为本文的重点是WGAN本身,所以WGAN前作的加噪方案简单介绍到这里,感兴趣的读者可以阅读原文了解更多细节。 加噪方案是针对原始GAN问题的第二点根源提出的,解决了训练不稳定的问题,不需要小心平衡判别器训练的火候,可以放心地把判别器训练到接近最优,但是仍然没能够提供一个衡量训练进程的数值指标。但是WGAN本作就从第一点根源出发,用Wasserstein距离代替JS散度,同时完成了稳定训练和进程指标的问题!

作者未对此方案进行实验验证。

第三部分:Wasserstein距离的优越性质

Wasserstein距离又叫Earth-Mover(EM)距离,定义如下:

令人拍案叫绝的Wasserstein GAN (公式12)

解释如下: 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 组合起来的所有可能的联合分布的集合,反过来说, 令人拍案叫绝的Wasserstein GAN 中每一个分布的边缘分布都是 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 。对于每一个可能的联合分布 令人拍案叫绝的Wasserstein GAN 而言,可以从中采样 令人拍案叫绝的Wasserstein GAN 得到一个真实样本 令人拍案叫绝的Wasserstein GAN 和一个生成样本 令人拍案叫绝的Wasserstein GAN ,并算出这对样本的距离 令人拍案叫绝的Wasserstein GAN ,所以可以计算该联合分布下样本对距离的期望值。在所有可能的联合分布 令人拍案叫绝的Wasserstein GAN 中能够对这个期望值 令人拍案叫绝的Wasserstein GAN 取到的下界 令人拍案叫绝的Wasserstein GAN ,就定义为Wasserstein距离。

直观上可以把 令人拍案叫绝的Wasserstein GAN 理解为在 令人拍案叫绝的Wasserstein GAN 这个“路径规划”下把 令人拍案叫绝的Wasserstein GAN 这堆“沙土”挪到 令人拍案叫绝的Wasserstein GAN “位置”所需的“消耗”,而 令人拍案叫绝的Wasserstein GAN 就是“最优路径规划”下的“最小消耗”,所以才叫Earth-Mover(推土机)距离。

Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。 WGAN本作通过简单的例子展示了这一点。考虑如下二维空间中的两个分布 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 在线段AB上均匀分布, 令人拍案叫绝的Wasserstein GAN 在线段CD上均匀分布,通过控制参数 令人拍案叫绝的Wasserstein GAN 可以控制着两个分布的距离远近。

令人拍案叫绝的Wasserstein GAN

此时容易得到(读者可自行验证)

令人拍案叫绝的Wasserstein GAN (突变)

令人拍案叫绝的Wasserstein GAN (突变)

令人拍案叫绝的Wasserstein GAN (平滑)

KL散度和JS散度是突变的,要么最大要么最小, Wasserstein距离却是平滑的 ,如果我们要用梯度下降法优化 令人拍案叫绝的Wasserstein GAN 这个参数,前两者根本提供不了梯度,Wasserstein距离却可以。类似地,在高维空间中如果两个分布不重叠或者重叠部分可忽略,则KL和JS既反映不了远近,也提供不了梯度, 但是Wasserstein却可以提供有意义的梯度

既然Wasserstein距离有如此优越的性质,如果我们能够把它定义为生成器的loss,不就可以产生有意义的梯度来更新生成器,使得生成分布被拉向真实分布吗?

没那么简单,因为Wasserstein距离定义(公式12)中的 令人拍案叫绝的Wasserstein GAN 没法直接求解,不过没关系,作者用了一个已有的定理把它变换为如下形式

令人拍案叫绝的Wasserstein GAN (公式13)

证明过程被作者丢到论文附录中了,我们也姑且不管,先看看上式究竟说了什么。

首先需要介绍一个概念——Lipschitz连续。它其实就是在一个连续函数 令人拍案叫绝的Wasserstein GAN 上面额外施加了一个限制,要求存在一个常数 令人拍案叫绝的Wasserstein GAN 使得定义域内的任意两个元素 令人拍案叫绝的Wasserstein GAN令人拍案叫绝的Wasserstein GAN 都满足

令人拍案叫绝的Wasserstein GAN

此时称函数 令人拍案叫绝的Wasserstein GAN 的Lipschitz常数为 令人拍案叫绝的Wasserstein GAN

简单理解,比如说 令人拍案叫绝的Wasserstein GAN 的定义域是实数集合,那上面的要求就等价于 令人拍案叫绝的Wasserstein GAN 的导函数绝对值不超过 令人拍案叫绝的Wasserstein GAN 。再比如说 令人拍案叫绝的Wasserstein GAN 就不是Lipschitz连续,因为它的导函数没有上界。Lipschitz连续条件限制了一个连续函数的最大局部变动幅度。

公式13的意思就是在要求函数 令人拍案叫绝的Wasserstein GAN 的Lipschitz常数 令人拍案叫绝的Wasserstein GAN 不超过 令人拍案叫绝的Wasserstein GAN 的条件下,对所有可能满足条件 令人拍案叫绝的Wasserstein GAN 的取到 令人拍案叫绝的Wasserstein GAN 的上界,然后再除以 令人拍案叫绝的Wasserstein GAN 。特别地,我们可以用一组参数 令人拍案叫绝的Wasserstein GAN 来定义一系列可能的函数 令人拍案叫绝的Wasserstein GAN ,此时求解公式13可以近似变成求解如下形式

令人拍案叫绝的Wasserstein GAN (公式14)

再用上我们搞深度学习的人最熟悉的那一套,不就可以把 令人拍案叫绝的Wasserstein GAN 用一个带参数 令人拍案叫绝的Wasserstein GAN 的神经网络来表示嘛!由于神经网络的拟合能力足够强大,我们有理由相信,这样定义出来的一系列 令人拍案叫绝的Wasserstein GAN 虽然无法囊括所有可能,但是也足以高度近似公式13要求的那个 令人拍案叫绝的Wasserstein GAN 了。

最后,还不能忘了满足公式14中 令人拍案叫绝的Wasserstein GAN 这个限制。我们其实不关心具体的K是多少,只要它不是正无穷就行,因为它只是会使得梯度变大 令人拍案叫绝的Wasserstein GAN 倍,并不会影响梯度的方向。所以作者采取了一个非常简单的做法,就是限制神经网络 令人拍案叫绝的Wasserstein GAN 的所有参数 令人拍案叫绝的Wasserstein GAN 的不超过某个范围 令人拍案叫绝的Wasserstein GAN ,比如 令人拍案叫绝的Wasserstein GAN ,此时所有偏导数 令人拍案叫绝的Wasserstein GAN 也不会超过某个范围,所以一定存在某个不知道的常数 令人拍案叫绝的Wasserstein GAN 使得 令人拍案叫绝的Wasserstein GAN 的局部变动幅度不会超过它,Lipschitz连续条件得以满足。具体在算法实现中,只需要每次更新完 令人拍案叫绝的Wasserstein GAN 后把它clip回这个范围就可以了。

到此为止,我们可以构造一个含参数 令人拍案叫绝的Wasserstein GAN 、最后一层不是非线性激活层的判别器网络 令人拍案叫绝的Wasserstein GAN ,在限制 令人拍案叫绝的Wasserstein GAN 不超过某个范围的条件下,使得

令人拍案叫绝的Wasserstein GAN (公式15)

尽可能取到最大,此时 令人拍案叫绝的Wasserstein GAN 就会近似真实分布与生成分布之间的Wasserstein距离(忽略常数倍数 令人拍案叫绝的Wasserstein GAN )。注意原始GAN的判别器做的是真假二分类任务,所以最后一层是sigmoid,但是现在WGAN中的判别器 令人拍案叫绝的Wasserstein GAN 做的是近似拟合Wasserstein距离,属于回归任务,所以要把最后一层的sigmoid拿掉。

接下来生成器要近似地最小化Wasserstein距离,可以最小化 令人拍案叫绝的Wasserstein GAN ,由于Wasserstein距离的优良性质,我们不需要担心生成器梯度消失的问题。再考虑到 令人拍案叫绝的Wasserstein GAN 的第一项与生成器无关,就得到了WGAN的两个loss。

令人拍案叫绝的Wasserstein GAN (公式16,WGAN生成器loss函数)

令人拍案叫绝的Wasserstein GAN (公式17,WGAN判别器loss函数)

公式15是公式17的反,可以指示训练进程,其数值越小,表示真实分布与生成分布的Wasserstein距离越小,GAN训练得越好。

WGAN完整的算法流程已经贴过了,为了方便读者此处再贴一遍:

令人拍案叫绝的Wasserstein GAN

上文说过,WGAN与原始GAN第一种形式相比,只改了四点:

前三点都是从理论分析中得到的,已经介绍完毕;第四点却是作者从实验中发现的,属于trick,相对比较“玄”。作者发现如果使用Adam,判别器的loss有时候会崩掉,当它崩掉时,Adam给出的更新方向与梯度方向夹角的cos值就变成负数,更新方向与梯度方向南辕北辙,这意味着判别器的loss梯度是不稳定的,所以不适合用Adam这类基于动量的优化算法。作者改用RMSProp之后,问题就解决了,因为RMSProp适合梯度不稳定的情况。

对WGAN作者做了不少实验验证,本文只提比较重要的两点。第一,判别器所近似的Wasserstein距离与生成器的生成图片质量高度相关,如下所示(此即题图):

令人拍案叫绝的Wasserstein GAN

第二,WGAN如果用类似DCGAN架构,生成图片的效果与DCGAN差不多:

令人拍案叫绝的Wasserstein GAN

但是厉害的地方在于WGAN不用DCGAN各种特殊的架构设计也能做到不错的效果,比如如果大家一起拿掉Batch Normalization的话,DCGAN就崩了:

令人拍案叫绝的Wasserstein GAN

如果WGAN和原始GAN都使用多层全连接网络(MLP),不用CNN,WGAN质量会变差些,但是原始GAN不仅质量变得更差,而且还出现了collapse mode,即多样性不足:

令人拍案叫绝的Wasserstein GAN

最后补充一点论文没提到,但是我个人觉得比较微妙的问题。判别器所近似的Wasserstein距离能够用来指示单次训练中的训练进程,这个没错;接着作者又说它可以用于比较多次训练进程,指引调参,我倒是觉得需要小心些。比如说我下次训练时改了判别器的层数、节点数等超参,判别器的拟合能力就必然有所波动,再比如说我下次训练时改了生成器两次迭代之间,判别器的迭代次数,这两种常见的变动都会使得Wasserstein距离的拟合误差就与上次不一样。 那么这个拟合误差的变动究竟有多大,或者说不同的人做实验时判别器的拟合能力或迭代次数相差实在太大,那它们之间还能不能直接比较上述指标,我都是存疑的。

WGAN前作分析了Ian Goodfellow提出的原始GAN两种形式各自的问题,第一种形式等价在最优判别器下等价于最小化生成分布与真实分布之间的JS散度,由于随机生成分布很难与真实分布有不可忽略的重叠以及JS散度的突变特性,使得生成器面临梯度消失的问题;第二种形式在最优判别器下等价于既要最小化生成分布与真实分布直接的KL散度,又要最大化其JS散度,相互矛盾,导致梯度不稳定,而且KL散度的不对称性使得生成器宁可丧失多样性也不愿丧失准确性,导致collapse mode现象。

WGAN前作针对分布重叠问题提出了一个过渡解决方案,通过对生成样本和真实样本加噪声使得两个分布产生重叠,理论上可以解决训练不稳定的问题,可以放心训练判别器到接近最优,但是未能提供一个指示训练进程的可靠指标,也未做实验验证。

WGAN本作引入了Wasserstein距离,由于它相对KL散度与JS散度具有优越的平滑特性,理论上可以解决梯度消失问题。接着通过数学变换将Wasserstein距离写成可求解的形式,利用一个参数数值范围受限的判别器神经网络来最大化这个形式,就可以近似Wasserstein距离。在此近似最优判别器下优化生成器使得Wasserstein距离缩小,就能有效拉近生成分布与真实分布。WGAN既解决了训练不稳定的问题,也提供了一个可靠的训练进程指标,而且该指标确实与生成样本的质量高度相关。作者对WGAN进行了实验验证。

纵览深度学习技术前沿,Yoshua Bengio为你解读如何创造人类水平的AI(附PPT)

Google首席科学家Vincent Vanhoucke:机器人和深度学习正在发生一些“有趣的融合”| AAAI 2017

版权文章,未经授权禁止转载。详情见 转载须知 。

令人拍案叫绝的Wasserstein GAN

全局中部横幅
求是网

求是网是中国共产党中央委员会机关刊《求是》杂志主办的理论宣传研究平台。求是网的目标定位是突出理论特色,既体现权威性、理论性、指导性,又体现时效性、开放性、互动性,发挥权威理论网站的引导、整合、服务功能,努力建设成为广大干部群众和理论工作者的理论宣传平台、思想激荡平台、学习交流平台、文献检索平台。

工业烤箱,恒温房,老化房,真空箱,紫外老化试验机

东莞市立一试验设备有限公司10年老厂家,专注生产制造老化房,真空箱,工业烤箱,恒温房,紫外老化试验机,快速温变试验机,步入式恒温恒湿房等,10年品牌,专业制造,东莞市立一试验设备有限公司!

上海代开餐饮票

(租站QQ:3226549051微信:bdfw66)上海代开票公司是一家经工商税务登记注册成立的专业上海开票企业。经营:上海代开餐饮票、上海代开住宿票、上海代开加油票、上海代开普票、上海代开票正规可查,可验证后付款。

广西建筑模板厂

广西紫豹木业是一家生产建筑模板厂家,专注建筑模板,覆膜板,清水模板,建筑红板,酚醛面建筑模板,铁红面建筑模板的生产批发,公司引进国际的制胶技术和先进的生产工艺,经过二次成型,板面光滑,胶合力好,远销国内外受到客户的一致好评。

青岛上品鲍氏养元食品有限公司

青岛上品鲍氏养元食品有限公司,成立于2013年,总部位于美丽的沿海城市---青岛的市南区;生产工厂位于青岛市平度市崔家集镇,占地面积10000多平方米;是一家集供、产、销、研发于一体的的食品企业。上品鲍氏秉承“至诚、至善、至精、至美”的企业宗旨、“上医话疗、中医食疗、下医药聊”的传统中医养生理论,研发出几十种养生产品。产品采用传统的生产工艺,生产设备均为公司自主研发,均申请了国家专利保护;2013年公司成立;

西安高端系统门窗厂家

陕西古思特门窗幕墙科技有限公司是一家集高端门窗幕墙设计、研发、生产、销售、售后服务为一体的专业无缝焊接系统门窗定制企业。公司推出无缝焊接平开门窗产品以来,始终以无缝焊接的创新技术,定位时尚、高端的门窗企业形象,塑造门窗全新品类“无缝焊接窗”,迅速成为高端系统门窗品牌的新风向,欢迎来电咨询:18161975809

paperccb官网

PaperCcb查查呗官网-免费论文查重检测-首款免费论文检测软件,提供免费论文重复率检测,论文降重,论文格式规范,学术不端检测知网查重等一站式服务

小夜博客

美国VPS,国外VPS,主机推荐,Linux新手使用教程

郑州沥青摊铺,郑州沥青砼,郑州沥青生产厂家,郑州沥青搅拌站,郑州启潞建筑工程有限公司

启潞建筑工程有限公司,自成立以来,始终秉持“匠心筑梦,品质为先”的企业理念,致力于成为国内领先的建筑工程综合服务商。公司为您提供郑州沥青砼,郑州沥青摊铺,郑州沥青拌合站,郑州路面白改黑,郑州柏油路,冷补沥青混合料,郑州沥青生产厂家,彩色沥青,沥青施工队伍的相关信息,想要了解更多详情,欢迎来电咨询!

液位传感器

压力变送器哪家好?压力传感器价格?上海望源测控仪表设备有限公司,是一家专业从事压力传感器、压力变送器、液位传感器等工业过程控制测量仪器仪表服务和解决方案的高新技术企业,上海望源厂家专业提供压力、液位、温度、流量和显示仪表的过程解决方案。

铝酸钙回转窑

巩义市兴农机械制造公司主要生产铝酸钙回转窑,二次铝灰精炼渣回转窑,石灰回转窑,氧化锌回转窑,高岭土回转窑,污泥回转窑,陶粒回转窑,危废再利用回转窑,医疗垃圾回转窑等各种回转窑设备,可提供现场视频,热线电话15617662396

全局底部横幅