【机器学习】最优传输(OT)和 KL散度的区别
1. 什么是最优传输 (Optimal Transport, OT)?
核心思想:OT提供了一个几何框架,用于计算两个概率分布之间“距离”或“差异”的最小成本。它回答的问题是:“以最小的‘工作量’或‘成本’,将一堆沙土(第一个分布)移动并重新塑造成另一堆沙土(第二个分布),这个最小的成本是多少?”
这个“工作量”由你定义的成本函数(cost function) 来决定,比如两点之间的欧几里得距离。
关键概念:
- 分布 (Distributions): 要比较的两个概率分布,可以看作是两堆质量总和都为1的“沙土”。
- 传输计划 (Transport Plan): 一个方案,精确地定义了第一堆沙土中的每个颗粒应该被移动到第二堆沙土的哪个位置。
- 成本矩阵 (Cost Matrix): 定义了将质量从第一个分布的一个点移动到第二个分布的一个点需要多少“成本”。通常使用两点间的距离(如欧氏距离的平方)。
- 联合分布 (Coupling): 数学上,传输计划是一个联合分布,其边缘分布就是那两个要比较的原始分布。
最著名的形式:Wasserstein Distance (推土机距离)
这是OT最流行的应用之一。它被定义为所有可能传输计划中,期望成本的最小值。
公式(离散形式简化版):
给定两个离散分布 PPP 和 QQQ,以及成本矩阵 CCC,Wasserstein距离为:
W(P,Q)=infγ∈Γ(P,Q)∑i,jγi,jCi,jW(P, Q) = \inf_{\gamma \in \Gamma(P, Q)} \sum_{i,j} \gamma_{i,j} C_{i,j}W(P,Q)=infγ∈Γ(P,Q)∑i,jγi,jCi,j
其中 Γ(P,Q)\Gamma(P, Q)Γ(P,Q) 是所有边缘分布为 PPP 和 QQQ 的联合分布(即传输计划)的集合。
主要特点:
- 考虑几何:OT天然地考虑了分布支撑集(样本空间)的几何结构。它知道“点A离点B很远,离点C很近”。
- 能处理不重叠的分布:即使两个分布没有任何重叠(例如,一个分布全在x=0,另一个全在x=10),OT仍然可以给出一个直观的、有意义的距离(例如10,如果成本是欧氏距离)。
- 计算昂贵:对于大型分布,计算OT距离通常更复杂,需要用到如Sinkhorn算法等近似方法。
2. 什么是KL散度 (Kullback-Leibler Divergence)?
核心思想:KL散度源于信息论,用于衡量用一个概率分布 PPP 来近似另一个概率分布 QQQ 时,所造成的信息损失(以额外的比特数衡量)。它回答的问题是:“假设真实分布是 QQQ,而我用 PPP 来建模,我的效率会损失多少?”
关键概念:
- 似然比 (Likelihood Ratio): KL散度本质上是对数似然比的期望。
- 非对称性: KL(P∣∣Q)≠KL(Q∣∣P)KL(P || Q) \neq KL(Q || P)KL(P∣∣Q)=KL(Q∣∣P)。它衡量的是从 QQQ 到 PPP 的“方向性”信息损失。
- 非负性: KL(P∣∣Q)≥0KL(P || Q) \geq 0KL(P∣∣Q)≥0,当且仅当 P=QP = QP=Q 时等于0。
公式(离散形式):
KL(P∣∣Q)=∑iP(i)logP(i)Q(i)KL(P || Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)}KL(P∣∣Q)=∑iP(i)logQ(i)P(i)
主要特点:
- 不考虑几何:KL散度只关心概率质量(probability mass)的比值。它不知道P和Q中的点在实际空间中离得是远还是近。它只比较同一个点或同一个区域上两个分布的概率值。
- 对不重叠的分布失效:如果存在某个点 iii,使得 Q(i)=0Q(i) = 0Q(i)=0 但 P(i)>0P(i) > 0P(i)>0,那么 KL(P∣∣Q)KL(P || Q)KL(P∣∣Q) 会变成无穷大(因为 logP(i)0\log \frac{P(i)}{0}log0P(i) 是无穷大)。这意味着它无法处理支撑集不重叠的分布。
- 计算高效:通常只需要对概率值进行简单计算,非常快速。
3. OT 与 KL 散度的核心区别
特性 | 最优传输 (OT) / Wasserstein距离 | KL散度 |
---|---|---|
起源 | 几何学 (如何移动质量) | 信息论 (信息损失) |
对称性 | 是对称的 W(P,Q)=W(Q,P)W(P, Q) = W(Q, P)W(P,Q)=W(Q,P) | 非对称的 KL(P∣∣Q)≠KL(Q∣∣P)KL(P || Q) \neq KL(Q ||P)KL(P∣∣Q)=KL(Q∣∣P) |
几何感知 | 是。它使用成本矩阵,明确知晓点与点之间的距离。 | 否。它只比较概率值,完全忽略底层空间的度量结构。 |
对零测度的处理 | 鲁棒。可以平滑地处理概率为零的区域。 | 脆弱。如果 P>0P > 0P>0 而 Q=0Q=0Q=0,则 KL(P∣∣Q)=∞KL(P||Q) = \inftyKL(P∣∣Q)=∞。 |
计算复杂度 | 高(但已有近似算法,如Sinkhorn) | 低 |
直观解释 | 移动沙土的最小“工作量” | 用错误分布建模导致的信息“效率损失” |
一个生动的例子
假设有两个一维分布:
- 分布 P: 在 x=0 处有一个狄拉克delta函数(即全部质量集中在0点)。
- 分布 Q: 在 x=10 处有一个狄拉克delta函数。
问:这两个分布有多“不同”?
-
OT (Wasserstein距离) 的回答:
- 成本函数定义为 |x - y|。
- 我需要把在0点的全部质量移动到10点。
- 总成本 = 1.0 * |0 - 10| = 10。
- 结论:它们之间的距离是10。这非常符合我们的几何直觉。
-
KL散度的回答:
- KL(P∣∣Q)=P(0)∗logP(0)Q(0)=1∗log10=∞KL(P || Q) = P(0) * \log \frac{P(0)}{Q(0)} = 1 * \log \frac{1}{0} = \inftyKL(P∣∣Q)=P(0)∗logQ(0)P(0)=1∗log01=∞。
- 结论:距离是无穷大。虽然数学上没错(它们确实完全不同),但它无法给出一个“有限”的、可比较的度量,无法反映它们只是在x轴上偏移了10个单位这一事实。
总结与何时使用
-
使用KL散度:
- 当你关心概率模型的拟合优度、信息编码效率时。
- 当两个分布的支撑集高度重叠,并且你主要关心的是概率值的相对差异。
- 常用于变分推断 (VI)、期望最大化 (EM) 算法和传统模型选择。
-
使用最优传输 (OT):
- 当你需要比较的分布可能没有重叠,或者重叠很少时。
- 当数据的几何结构很重要时(例如,图像、空间数据)。
- 当你需要一个对称的、平滑的度量时。
- 常用于生成模型(如Wasserstein GAN)、计算生物学、经济学和任何需要度量空间上分布距离的场景。
简而言之,KL散度是“统计的”比较,而最优传输是“几何的”比较。它们从两个非常不同的角度解决了衡量分布差异的问题。