我们常常用KL散度进行两个分布的相似度度量, 但是KL散度具有非对异性,值域无限,同时因为其具有这一项,用于深度学习的反向传播过程中容易出现梯度爆炸等情况,这导致了用KL散度进行分布的距离度量在深度学习训练中的不稳定性。针对这些问题,我们简要介绍基于最优传输理论所导出的Wasserstein距离,它有对称性,对于正态分布存在比较简单的闭式解,同时计算过程中没有函数带来的数值问题,比较适合深度学习使用。同时, Wasserstein距离有着最优传输这一简洁直观的解释, 在很多分布度量性方面有着比KL散度更优越的性质。
我们首先介绍最优运输问题(Optimal Transport)的定义与基本形式,然后自然地将其与Wasserstein距离建立联系,最后本文将简单以CMU的文献为基础介绍Wasserstein距离显著优越的几个情形,离散采样中Wasserstein距离的计算与在某些分布上的闭式解。
给定一个完备可分度量空间(也称Polish空间,其定义见附录),我们用来表示在上的Borel概率测度的集合。这也就是说,都是一个概率测度,注意我们可以把看成是一个分布函数而不是概率密度,才是概率密度。如果是2个Polish空间, 是一个Borel映射(见附录,直观理解就是中的所有开集和闭集,以及可数个开集和闭集的集合运算所构成的Borel子集,都能在中找到它的原象,这个原象也可以写成中的Borel子集),给定概率测度, 构造从到的泛函映射:
由Borel映射的性质,可得对于中任意Borel子集,满足关系
考虑对空间, 我们定义了一个费用函数用以度量在两个空间之间进行搬运的损失,即将转移到的损失如下:
定义空间中每一个所占据的质量为,空间中每一个所占据的质量为, 那么对于满足的最优运输策略而言, 它的损失为:
因此我们可以构造的映射
而寻找使得取得最小值的过程可以用变分法求解,我们将
称作Monge视角下的最优运输问题.注意到在这个问题中,是不可分的,也就是说只能把一个移动到一个位置,而不能将一个进行细分并移动到多个位置, 这就导致了令式取最小值可能没有解,甚至空间可能是。构造一个病态场景如下: 为dirac-delta度量,令,假设存在运输策略,满足,那么, 这与要么取0要么取1矛盾,因此该问题没有解。
基于这种情况, 一个很自然的想法是让变得可分,也就是说此时可以分成很多份,同时用于接收的也满足可以分为很多份,这样就可以细分并运送给不同的位置了。在这个视角下我们对最优运输问题有了新的定义,即Wasserstein形式的最优运输问题:
其中,(可以理解为是的联合分布函数),满足边缘分布的约束:
将该边缘约束写成泛函的形式。定义,那么被称为是最优运输方案的满足边缘分布条件:
可以认为为将质量的位于位置的物品切片播撒到空间的每一个位置,其中任意一个位置的物品质量为,它们满足
从式中我们可以很自然地推广到两个分布之间的Wasserstein距离。 一个很自然的想法是,因为都在d维实空间中,因此可以通过距离定义损失,即令。已知分布,我们有:
我们可以通过变分方法证明, 令有解的是存在的,同时存在对偶形式,即
当时, 式可以简单化为:
当时(此时对没有要求),对于一维随机变量的Wasserstein距离问题,我们可以给出简单的闭式解:
其中为的分布函数。
有6个例子可以说明Wasserstein距离的优越性:
式给出了一维随机变量的距离简洁的计算方法,因此对于的情形, 我们可以将其与一维随机变量的分布函数建立联系。假设此时有d维实空间空间中的分布, 我们取空间球面上均匀分布的随机变量,构造为的密度函数,为的密度函数, 它们是原分布在空间球面上的投影,我们定义sliced Wasserstein distance,为
可以用估计原本的Wasserstein distance,注意到 都可以看成是一维随机变量的分布函数,其Wasserstein distance可以通过次序统计量计算。假设我们有一维密度函数分布的两组离散采样, 可以采用次序统计量如下计算:
这里不加证明地给出几种分布的Wasserstein距离的闭式解:
本文使用 Zhihu On VSCode 创作并发布