https://zhuanlan.zhihu.com/p/58506295
今天来学一个数学知识,Wasserstein Distance。如果听说过WGAN的话,里面的W就是代表Wasserstein。
参考资料
Optimal Transport and Wasserstein Distance (slides)
特色
常见的有很多衡量概率分布差异的度量方式,比如total variation(TRPO推导里面有用到),还有经常被用到的KL散度。相比于这些度量方式,Wasserstein距离有如下一些好处。
- 能够很自然地度量离散分布和连续分布之间的距离;
- 不仅给出了距离的度量,而且给出如何把一个分布变换为另一分布的方案;
- 能够连续地把一个分布变换为另一个分布,在此同时,能够保持分布自身的几何形态特征;
过程
1. 其他距离度量的缺陷
首先注意到KL散度不是距离度量,它不满足对称性。常见的距离度量有

- 这些距离度量没法衡量离散分布和连续分布之间的距离:假设
是均匀分布
的概率密度,
是离散均匀分布
的概率密度。其total variation等于1,即完全不相似,但是凭感觉上来说,它们两个是很相似的。在Wasserstein距离度量下,它们的距离为
,这看起来就比较合理了。
- 这些距离都忽略了概率分布之间的几何特性:它们几乎都有一个共同的特征,那就是都是对应点的概率密度函数相比较,这会忽略其几何特性。比如图1中,左边的分布应该离中间的分布更近,而中间的离右边的更远,但是其他度量无法反应这个特性,但Wasserstein距离可以。

- 基于Wasserstein距离可以找出Wasserstein平均(Wasserstein barycenter),相比于欧式平均(Eulidean average)来说,它更能够描述其形态特征,如图2所示。

- Wasserstein距离不仅告诉两个分布之间的距离,而且能够告诉我们它们具体如何不一样,即如何从一个分布转化为另一个分布。如图3所示,Wasserstein能够告诉我们每一份probability density的转移方案。

- 这个转化过程还可以做成一个连续的过程,可以把A分布连续转化为B分布,并且这个转化过程是能够保持其几何特征的,如下面两图所示。

2. Wasserstein距离定义
Wasserstein距离的起源是optimal transport problem,把概率分布想象成一堆石子,如何移动一堆石子,通过最小的累积移动距离把它堆成另外一个目标形状,这就是optimal transport所关心的问题。
首先,要能完成这个操作,先要确保本来的这一堆石子的总质量要和目标石子堆总质量一样;考虑到概率分布的归一化条件,这一点是自然被满足的。
其次,我们暂时假设石子都是很小的,无限可分的;毕竟如果一个大石块要求堆成两座山仅仅通过移动肯定没法做到。(后面会有另外的定义方式来把大石块“劈开”)
假设地面上 堆了一些石子,石子的分布我们用
来表示,采取这样的表示方法对于地面上的任意一块面积
,
表示这块面积上放置了质量为多少的石子。同样的我们可以定义目标石子堆的分布
。定义一个输运方案
把现有的石子堆变成目标石子堆。
表示把原来放在A处的石子都运到B处放好,类似地可以定义反函数
。该输运方案成立需要满足
,即任意位置的石子通过输运过后都刚好满足分布
的要求。这也可以写为
。
由此,两堆石子之间的距离可以被定义成把一堆石子挪动成另外一堆所需要的最小输运成本
遇到石子不可分的情况上述的定义就不再保证能存在可行的输运方案了,比如 ,
,
,这样位于
的质量为
的“大石头”又不能劈开,那应该运到哪个位置呢?下面引入一个新的定义来解决这个问题。
下面的这个方案就是认为每个位置的石子都能够分开并且按照比例输运到不同的位置,先写出其定义
其中 是一个联合概率分布,称coupling,它要求其边缘分布刚好是
和
,即
,
;如下图所示,它能够表示分布
上的某个位置的质量被拆开(红竖线),然后再按照权重被分配给目标分布(红箭头)。

要注意到,图中画的这种联合概率分布是很难实际成为真实的optimal coupling的,一般来讲optimal coupling都会比较稀疏。排除少数不可分的情况,大多数的optimal coupling都是稀疏的,即 。
3. 对偶形式
最小化输运成本也可以写成对偶形式

注意到可以利用后面的约束关系推到类似前面定义的形式,它有弱对偶(weak duality)性质,即这个式子的最大值不超过Wasserstein距离定义中的最小值。
现在来考虑 的形式,考虑到

做替换 ,
,可以得到如下形式

现在考虑把 替换掉,这样就只有一个变量,在最优情况下有
以及
,其中

是 的 Fenchel conjugate function。这样
- 优化问题就转变为了unconstrained问题,
;
-
表明
是一个凸函数;
-
,注意到这刚好是输运函数
的形式,即输运函数为
的梯度;
另外注意到,Wasserstein距离不仅可以对两个分布来计算,也可以对从两个分布里面采样得到的样本来计算,如下示意图。

4. 从一个分布渐变到另一个分布(Geodesics)
找一个分布的路径 从
到
,其中
,
,如果对于任意的
,
,那么这条路径就是最短路径。举例来说就是本文的图4。
5. 求多个分布的平均(Barycenters)
对于多个分布 ,其Wasserstein Barycenter就是
。连续情况下就是这样。

离散情况下就是

6. Wasserstein距离的数值计算
Wasserstein距离是很难计算的,这成为了一个限制其应用的难点。目前能显示计算出来的只有两种情况,一种是维度 的情况,另一种是高斯分布。
的情况下,

这里的 就是前面一直提到的输运函数。这种情况下能求解也很好理解,毕竟如果只有一个维度,那么输运方案就是顺着初始分布和目标分布上各个“石子”的序关系一一对应就可以了。
特殊地, 的情况下,还可以简化为

这相比于上面的式子相当于是把前面的横向的求和换成了纵向的求和。

高斯分布的情况下有

关于Fenchel conjugate可以参考我导师的课件 es/2018-07-18-ATCS_lecture_note3.pdf
下图说明了原函数与对偶函数的关系,注意到图中不同的颜色是一一对应的,具体见课件。
