【Wasserstein-1 距离】
Wasserstein-1 距离
- 🎯 公式写法
- 🧠 直观理解
- 🌍 地球搬运工距离(Earth Mover's Distance)
- 🚚 数学语言说人话:
- 💡 举个简单的例子(离散情况)
- 🔍 为什么这对 GAN 很有用?
- ✅ 总结一句话
这条公式是理解 WGAN 的关键之一,我们来 逐步展开解释这个 Wasserstein-1 距离的定义:
🎯 公式写法
我们写得更清晰一点:
W ( P r , P g ) = inf γ ∈ Π ( P r , P g ) E ( x , y ) ∼ γ [ ∥ x − y ∥ ] W(P_r, P_g) = \inf_{\gamma \in \Pi(P_r, P_g)} \mathbb{E}_{(x, y) \sim \gamma} \left[ \|x - y\| \right] W(Pr,Pg)=γ∈Π(Pr,Pg)infE(x,y)∼γ[∥x−y∥]
其中:
- P r P_r Pr 是真实数据的分布(real distribution)
- P g P_g Pg 是生成器生成的数据分布(generator distribution)
- γ \gamma γ 是连接 P r P_r Pr 和 P g P_g Pg 的联合分布
- Π ( P r , P g ) \Pi(P_r, P_g) Π(Pr,Pg) 表示所有边缘分布分别是 P r P_r Pr 和 P g P_g Pg 的联合分布集合
- ∥ x − y ∥ \|x - y\| ∥x−y∥ 表示 x x x 和 y y y 之间的距离(通常是 L2 范数)
🧠 直观理解
🌍 地球搬运工距离(Earth Mover’s Distance)
假设你是一个工头,要把一堆土(生成数据 P g P_g Pg)“搬运”成另一堆土(真实数据 P r P_r Pr)。
- 每铲土从位置 y y y 搬到 x x x,你要付出的成本是 ∥ x − y ∥ \|x - y\| ∥x−y∥
- 你要设计一种“搬法” γ \gamma γ,告诉你从哪搬到哪、搬多少(这就是联合分布)
- 目标:在所有可能搬法 γ \gamma γ 中找到一种搬运成本最小的,称为 Wasserstein 距离
🚚 数学语言说人话:
- “ γ \gamma γ” 就是 “我从生成样本 y y y 搬多少到真实样本 x x x”
- “ ∥ x − y ∥ \|x - y\| ∥x−y∥” 是每一笔运输的成本
- “ E ( x , y ) ∼ γ [ ∥ x − y ∥ ] \mathbb{E}_{(x,y) \sim \gamma}[\|x - y\|] E(x,y)∼γ[∥x−y∥]” 是所有搬运路线的总平均成本
- “ inf \inf inf” 表示在所有搬运方案中找最优那一个
💡 举个简单的例子(离散情况)
假设我们有两个分布(都是只有三个点):
- P r P_r Pr: 在 x = 1 , 3 , 5 x=1, 3, 5 x=1,3,5 上各有 1 / 3 1/3 1/3 概率
- P g P_g Pg: 在 x = 2 , 4 , 6 x=2, 4, 6 x=2,4,6 上各有 1 / 3 1/3 1/3 概率
为了“把 P g P_g Pg 搬成 P r P_r Pr”,你可以选择这样搬:
- 把 2 2 2 搬到 1 1 1 (距离 1)
- 把 4 4 4 搬到 3 3 3 (距离 1)
- 把 6 6 6 搬到 5 5 5 (距离 1)
总成本是 3 × 1 3 × 1 = 1 3 \times \frac{1}{3} \times 1 = 1 3×31×1=1
于是 W ( P r , P g ) = 1 W(P_r, P_g) = 1 W(Pr,Pg)=1
🔍 为什么这对 GAN 很有用?
传统的 GAN 使用 JS 散度,它在分布没重叠时为常数,不能提供梯度。而 Wasserstein 距离:
- 始终是连续、可微的
- 即使分布没重叠,也能反映它们“有多远”
- 所以训练更加稳定、易于收敛
✅ 总结一句话
Wasserstein 距离衡量的是“在最优搬运策略下,把一个分布变成另一个分布所需的最小平均代价”。
它是真正意义上能“感知分布距离”的度量,所以被 WGAN 用来替代 JS 散度,从而解决原始 GAN 的不稳定问题。