作者:Luca Ambrogioni参与:高璇、张倩、晓坤

最优传输理论你理解了,传说中的推土机距离重新了解一下

如果不解释 Wasserstein GAN (wGAN),那关于机器学习的最优传输的介绍便不完整。在本系列的第一篇文章中,作者通过原始形式和对偶形式解释了最优传输问题。作者将证明 Kantorovich-Rubinstein 对偶性作为上篇文章结尾,为 wGAN 提供了理论基础。在这篇文章中,作者将对 wGAN 背后的概念做一个直观解释,并讨论其动机和含义。

此外,作者使用的是一种更接近于原 Wasserstein 损失的新的正则化形式,而不是像 wGAN 论文中那样使用 weight clipping。读完这篇文章后,使用深度学习框架实现这种方法会相对容易些。

简单的 Chainer 实现链接如下:https://github.com/lucaambrogioni/wasserstein - gans -on- mnist

让我们开始吧!

使用 Wasserstein 散度的理由

原 wGAN 论文开篇详细解释了 Wasserstein 度量相较其他常用统计散度的优势。虽然解释得很有技术性,但要传达的信息很简单:Wasserstein 度量可以用来比较完全不同的概率分布。这个不同是什么意思?最常见的例子是两个分布支撑集(函数的非零部分子集)不同,即它们分配零概率的集合组是不同的。假设 P(x) 是由概率密度定义的二维空间上的概率分布。在这个空间中,所有零体积的集合(例如单个点和曲线)在 p 下的概率为零。而 Q(x) 是一种更奇怪的分布,它将所有概率质量集中在一条曲线上。所有不包含该曲线的集合在 Q 下的概率为零,而对于一些具有零体积的集合,只要它们和该曲线有交集,那就会具有非零概率。具体可理解为下图:

这两个分布之间非常不同,很难比较。例如,为了计算它们的 KL 散度,我们需要计算所有点的密度比 p(x)/q(x)。但是对于外围空间,Q 甚至没有密度可言!然而,我们仍然可以使用在上一篇文章中介绍的最优传输形式将一个分布传输到另一个分布!两个分布之间的 Wasserstein 距离为:

让我们详细分析一下这个表达式。括号里的积分是在传输映射为γ(x_2|x_1) 的情况下,将曲线的点 x_1 传输到的外围空间的点 x_2 的平均成本。外边的积分是曲线上定义的分布 Q 下的期望成本平均值。我们可以通过以下四个步骤来总结:(1)从曲线α中选取一个点 x_1,(2)在概率为γ(x_2|x_1) 下从 x_1 到 x_2 传输一个粒子,(3)计算从 x_1 到 x_2 传输粒子的成本,(4)重复多次并求出成本的平均值。当然,为了确保将 Q 传输到目标分布 P,需要检查边缘约束是否满足:

这意味着从 Q 采样粒子后进行传输时,相当于直接从 P 采样粒子。注意,该过程并不关心分布 P 和 Q 是否具有相同的支撑集。因此,我们可以使用 Wasserstein 距离来比较这些极不相同的分布。

但这和实际应用相关吗?绝对相关。实际上,我们在概率机器学习中执行的大多数优化都涉及具有不同支撑集的分布。例如,通常假设自然图像的空间嵌在像素空间中的低维(超)表面中。如果这个假设成立,自然图像的分布就类似于我们奇怪的分布 Q。训练生成模型需要最小化模型与数据的真实分布间的散度。在这种情况下,使用 KL 散度并不是最佳的,因为它仅可以定义用密度表示的分布。这可能是变分自编码器在自然图像上比 GAN 表现差的原因之一。

Wasserstein 距离的对偶表示

这个变换理解起来比较困难,但我认为正确理解 wGAN 背后的机制非常重要。正如我在上一篇文章中所解释的,wGAN 的出发点是最优传输问题的对偶表示。(1-)Wasserstein 距离的对偶形式由下式表示:

其中 L 是 Lipschitz 连续函数的集合:

Wasserstein 距离的对偶表达具有非常直观的解释。函数 f 具有非线性特征映射,最大限度地增强了两个分布的样本之间的差异。例如,如果 p 和 q 分别是男性和女性面部图像的分布,则 f 将为具有男性特征的图像分配正值,并且随着输入逐渐接近超级男性的图像,这些值将变得越来越高。换句话说,最优特征映射 f 将在男性气质/女性气质谱上分配连续分数。Lipschitz 约束的作用是阻止 f 任意扩大这些差异。该约束保证了如果两个输入图像相似,则 f 的输出也相似。在前面的例子中,发型的微小差异不应该对男性/女性图谱产生巨大影响。如果没有这个约束,当 p 等于 q 和∞时结果将为零,否则通过适当的特征映射,任何微小的差异都可以被任意放大。

Wasserstein GAN

wGAN 背后的基本思想是最小化数据 p(x) 的采样分布与使用深度生成器合成的图像分布之间的 Wasserstein 距离。图像通过由权重φ参数化的深度生成模型 g 的潜变量 z 来获得。由此产生的损失具有以下形式:

其中 q(z) 是潜在空间上的分布。正如我们在上一节中看到的,对偶公式已经包含了非线性特征映射 f 形式的鉴别器的概念。但无法解析地获得最优的 f。不过我们可以使用深度网络对 f 进行参数化,并通过随机梯度下降来学习参数θ。这会导致极小-极大问题:

理论上,每当我们在生成器中进行优化时,鉴别器也要进行全面优化。在实践中我们同时更新φ和θ。简直完美!然后便可从最小化 Wasserstein 距离的抽象概念以及一些明显的近似中得到对抗性训练。

最后要做的是在我们的学习算法中强制执行 Lipschitz 约束。在原始的 GAN 论文中,如果权重大于预设常数,则要重新修正它们。在我看来,更规范的方法是放宽约束并为损失函数附加一个随机正则化项:

当满足约束时,该项为零,而当约束不满足时,该项为正值。原始严格约束通过将λ趋于无穷大来获得。在实践中,我们可以使用有限值λ来优化这个损失。

Wasserstein GAN 真的最小化了最优传输散度吗?

Wasserstein GAN 显然是一种非常有效的算法,它遵循一个简洁的理论原则。但它真的通过最小化生成器和数据分布之间的 Wasserstein 距离来实现吗?Wasserstein 距离的对偶形式关键取决于在所有可能的 Lipschitz 连续函数下使用最优非线性特征映射 f 这一事实。约束的使用造成了巨大差异。例如,如果我们使用相同的期望损失差异,但用值在-1 和 1 之间的连续函数替换 Lipschitz 函数,我们会得到总变异散度(total variation divergence)。

在训练 wGAN 时,我们实际上将 f 限制为某种具有固定架构的深度神经网络。这种约束极大地限制了唯一的 Lipschitz 约束,并且会导致完全不同的散度。从图像到实数的 Lipschitz 函数集的灵活性令人难以置信,且不会引起任何相关的归纳偏置。理论上最优的 f 可以检测人眼不可见的差异,并且不会特别侧重对于人类而言非常明显的差异。相反,深度卷积网络具有非常特殊的归纳偏置,这种偏置在某种程度上与人类视觉系统的偏置相匹配。因此,有可能 wGAN 的成功并非真的由于 Wasserstein 距离的数学特性,而是由于特征映射(鉴别器)的参数化所产生的偏置。

好论文感想

最初的 Wasserstein GAN 论文是一个完美的机器学习写作范例,所有机器学习研究人员都应该努力写作。论文的出发点是一个简单而优雅的数学思想,其灵感是对实际数据分布的观察。论文的算法很自然遵循了最优传输理论,其中对抗性方案从损失表示中自然涌现。最后,实验部分设计考究,结果最佳。重要的是,论文中没出现太大困难,我们大多数人通过初步的直觉和艰苦的工作实现了它。我觉得在我们的领域仍然有许多几乎唾手可得的成果,掌握它们的关键是像本篇论文一样去遵循优秀论文的思想和理论。

原文地址:https://www.mindcodec.com/an-intuitive-guide-to-optimal-transport-part-ii-the-wasserstein-gan-made-easy/

入门最优传输理论WGAN损失函数
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

变分自编码器技术

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

WGAN技术

就其本质而言,任何生成模型的目标都是让模型(习得地)的分布与真实数据之间的差异达到最小。然而,传统 GAN 中的判别器 D 并不会当模型与真实的分布重叠度不够时去提供足够的信息来估计这个差异度——这导致生成器得不到一个强有力的反馈信息(特别是在训练之初),此外生成器的稳定性也普遍不足。 Wasserstein GAN 在原来的基础之上添加了一些新的方法,让判别器 D 去拟合模型与真实分布之间的 Wasserstein 距离。Wassersterin 距离会大致估计出「调整一个分布去匹配另一个分布还需要多少工作」。此外,其定义的方式十分值得注意,它甚至可以适用于非重叠的分布。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~