Skip to main content

Wasserstein Distance

Wasserstein Distance は、二つの probability distribution の距離を測る指標です。直感的には、ある distribution の形をした土の山を、別の distribution の形へ変形するために必要な最小のコストとして理解できます。

このため、Wasserstein Distance は Earth Mover's Distance(EM Distance)とも呼ばれます。

Earth Mover's Distance の直感

Earth Mover's Distance では、コストは「動かした土の量」と「動かした距離」の積として考えます。

cost=moved amount×moving distance\text{cost} = \text{moved amount} \times \text{moving distance}

たとえば、discrete な domain に四つの位置があり、二つの distribution PPQQ が同じ総量の土を持っているとします。

P1=3, P2=2, P3=1, P4=4Q1=1, Q2=2, Q3=4, Q4=3\begin{aligned} & P_1 = 3,\ P_2 = 2,\ P_3 = 1,\ P_4 = 4 \\ & Q_1 = 1,\ Q_2 = 2,\ Q_3 = 4,\ Q_4 = 3 \end{aligned}

PPQQ と同じ形に変えるには、余っている場所から足りない場所へ土を移動します。

Discrete な Earth Mover's Distance

画像出典: Lilian Weng, “From GAN to WGAN”。PP の土の山を QQ に一致させるために、どのように土を移動するかが示されています。

PiP_iQiQ_i を一致させるために必要な差分を δi\delta_i と書き、δi+1=δi+PiQi\delta_{i+1} = \delta_i + P_i - Q_i とすると、この例では次のようになります。

δ0=0δ1=0+31=2δ2=2+22=2δ3=2+14=1δ4=1+43=0\begin{aligned} \delta_0 &= 0 \\ \delta_1 &= 0 + 3 - 1 = 2 \\ \delta_2 &= 2 + 2 - 2 = 2 \\ \delta_3 &= 2 + 1 - 4 = -1 \\ \delta_4 &= -1 + 4 - 3 = 0 \end{aligned}

したがって、Earth Mover's Distance は次のように計算できます。

W=iδi=5W = \sum_i |\delta_i| = 5

Continuous distribution での定義

Continuous な probability distribution の場合、Wasserstein Distance は次のように定義されます。

W(pr,pg)=infγΠ(pr,pg)E(x,y)γ[xy]W(p_r, p_g) = \inf_{\gamma \sim \Pi(p_r, p_g)} \mathbb{E}_{(x,y) \sim \gamma}\left[\|x - y\|\right]

ここで、Π(pr,pg)\Pi(p_r, p_g) は、prp_rpgp_g の間で考えられるすべての joint probability distribution の集合です。一つの γΠ(pr,pg)\gamma \in \Pi(p_r, p_g) は、点 xx から点 yy へどれだけの土を運ぶかを表す transport plan として解釈できます。

inf\inf は infimum、つまり下限を意味します。したがって、この定義は、すべての transport plan の中で期待コストが最小になるものを選ぶことを意味します。

KL Divergence や JS Divergence との違い

Wasserstein Distance の大きな利点は、二つの distribution の support が重なっていない場合でも、距離を意味のある滑らかな値として表せることです。

単純な例として、二つの distribution PPQQ を考えます。

(x,y)P, x=0 and yU(0,1)\forall (x,y) \in P,\ x = 0 \text{ and } y \sim U(0,1) (x,y)Q, x=θ, 0θ1 and yU(0,1)\forall (x,y) \in Q,\ x = \theta,\ 0 \leq \theta \leq 1 \text{ and } y \sim U(0,1)

Wasserstein Distance の単純な例

画像出典: Lilian Weng, “From GAN to WGAN”。θ0\theta \neq 0 のとき、PPQQ は overlap しません。

θ0\theta \neq 0 のとき、PPQQ は disjoint になります。この場合、各距離は次のようになります。

DKL(PQ)=+DKL(QP)=+DJS(P,Q)=log2W(P,Q)=θ\begin{aligned} D_{KL}(P \,\|\, Q) &= +\infty \\ D_{KL}(Q \,\|\, P) &= +\infty \\ D_{JS}(P, Q) &= \log 2 \\ W(P, Q) &= |\theta| \end{aligned}

一方で、θ=0\theta = 0 のときには、二つの distribution は完全に overlap します。

DKL(PQ)=DKL(QP)=DJS(P,Q)=0D_{KL}(P \,\|\, Q) = D_{KL}(Q \,\|\, P) = D_{JS}(P, Q) = 0 W(P,Q)=0=θW(P, Q) = 0 = |\theta|

KL Divergence は、二つの distribution が disjoint であるときに無限大になります。Jensen-Shannon Divergence は、θ=0\theta = 0 の点で急に値が変わり、滑らかではありません。一方で、Wasserstein Distance は θ|\theta| のように滑らかに変化します。

この滑らかさは、gradient descent による training にとって非常に重要です。

GAN で重要になる理由

GAN では、real data distribution prp_r と generated distribution pgp_g の support が、高次元空間の中で重なりにくいことがあります。この状況では、JS Divergence に基づく training signal が不安定になりやすくなります。

Wasserstein Distance は、support が disjoint であっても distance を滑らかに与えるため、Wasserstein GAN の loss として使われます。

関連ページ