Digital Garden
ArchiveWriteAbout
Digital Garden
ArchiveWriteAbout
Wasserstein
DeepLearning

What is Wasserstein Distance? : The Core of WGAN

Understanding of W

December 22, 2025

수식부터 보면 압도되기 쉽지만, 이 개념은 '기존 거리 척도들이 해결하지 못한 문제'를 해결하기 위해 등장했다.


1. 직관적 이해: 흙더미 옮기기 (EMD)

Wasserstein Distance의 다른 이름은 Earth Mover's Distance (EMD)다. 이름 그대로 '흙(Earth)을 옮기는(Mover) 데 드는 비용' 이다.

두 확률 분포 PPP와 QQQ를 그래프가 아닌 물리적인 흙더미라고 상상해보자.

  • PPP: 현재 쌓여 있는 흙더미 (데이터 분포)

  • QQQ: 우리가 만들고 싶은 목표 흙더미 (모델 분포)

우리의 목표는 PPP의 흙을 삽으로 퍼서 옮겨 QQQ와 똑같은 모양으로 만드는 것이다. 이때 '비용(Work)'은 물리학의 정의를 따른다.

Work = (옮긴 흙의 양) ×\times× (이동 거리)

즉, 흙을 적게 옮길수록, 그리고 가까운 곳으로 옮길수록 거리가 가깝다고 판단한다. 이것이 Wasserstein Distance의 본질이다.


2. JSD와의 결정적 차이: "겹치지 않아도 알 수 있다"

기존 GAN에서 사용하던 JSD(Jensen-Shannon Divergence) 와 비교해보면 Wasserstein의 진가가 드러난다.

상황 가정

PPP는 위치 0에 있고, QQQ는 위치 100에 있다. 두 분포는 서로 멀리 떨어져 있어 전혀 겹치지 않는다(Disjoint).

  • JSD의 시선 (확률값 비교):

    • "겹치는 부분이 하나도 없네?"

    • 거리가 10이든 100이든 JSD 값은 최댓값(log⁡2\log 2log2)으로 똑같다.

    • 문제점: 값이 상수이므로 미분하면 0이 된다. 즉, 모델(QQQ) 입장에서 오른쪽으로 가야 할지 왼쪽으로 가야 할지 방향(Gradient)을 알 수 없다. (Vanishing Gradient)

  • Wasserstein의 시선 (물리적 거리):

    • "모양은 안 겹치지만, 흙을 100만큼 옮겨야 하네."

    • 거리가 100이라는 구체적인 수치를 내뱉는다.

    • 장점: 미분하면 기울기(Gradient)가 살아있다. "거리를 줄이려면 0 쪽으로 이동해"라는 피드백을 줄 수 있다.


3. 수식 들어가기 전: 기본 개념 잡기

수식을 이해하려면 먼저 우리가 무엇을 비교하고 있는지 관점을 바꿔야 한다.

수직적 비교 vs 수평적 고려

  • KL/JSD (수직): 특정 위치 xxx에서 두 그래프의 높이(P(x)P(x)P(x) vs Q(x)Q(x)Q(x)) 가 얼마나 다른지 본다. xxx축 상의 거리는 무시한다.

  • Wasserstein (수평): 높이를 맞추기 위해 xxx축 상에서 얼마나 이동(∥x−y∥\|x-y\|∥x−y∥) 해야 하는지 본다.

확률 공간 vs 거리 공간

Wasserstein은 확률값만 보는 게 아니라, 데이터가 존재하는 공간(Metric Space)의 '거리' 개념을 확률 분포에 결합한 것이다. 따라서 수식에는 반드시 거리(∥x−y∥\|x-y\|∥x−y∥) 항이 포함된다.


4. Wasserstein 수식 분석

이제 정의를 살펴보자.

W(P,Q)=inf⁡γ∈Π(P,Q)E(x,y)∼γ[∥x−y∥]=inf⁡γ∈Π(P,Q)∑x,y∥x−y∥γ(x,y)W(P, Q) = \inf_{\gamma \in \Pi(P, Q)} \mathbb{E}_{(x, y) \sim \gamma} [\| x - y \|] = \inf_{\gamma \in \Pi(P, Q)} \sum_{x, y} \| x - y \| \gamma(x, y)W(P,Q)=infγ∈Π(P,Q)​E(x,y)∼γ​[∥x−y∥]=infγ∈Π(P,Q)​∑x,y​∥x−y∥γ(x,y)

이 수식은 크게 세 부분으로 나뉜다.

  1. ∥x−y∥\| x - y \|∥x−y∥ (비용):

    • xxx 위치에서 yyy 위치까지의 물리적 거리다. JSD에는 없던 이 항 덕분에 분포가 멀리 떨어져 있어도 거리에 비례하는 값을 얻을 수 있다.
  2. γ(x,y)\gamma(x, y)γ(x,y) (운송 계획, Transport Plan):

    • PPP의 위치 xxx에 있는 흙을 QQQ의 위치 yyy로 얼마나 보낼 것인지 정하는 양이다.
  3. inf⁡\infinf (최소 비용 탐색):

    • Π(P,Q)\Pi(P, Q)Π(P,Q)는 가능한 모든 운송 계획들의 집합이다.

    • 우리는 흙을 가장 효율적으로(최소 비용으로) 옮기는 방법을 찾고 싶으므로, 그중 가장 작은 값(Infimum)을 Wasserstein 거리로 정의한다.


5. 예제 (Delta & Gaussian)

실제 분포 예시를 통해 왜 Wasserstein이 학습에 유리한지 확인해보자.

목표: 모델 분포 QθQ_\thetaQθ​ (위치 θ\thetaθ)를 정답 분포 PPP (위치 000)로 이동시키기 (θ→0\theta \to 0θ→0).

예제 1: 델타 분포 (Dirac Delta)

한 점에 모든 확률이 몰려있는 가장 극단적인 경우다.

  • JSD: θ≠0\theta \neq 0θ=0이면 두 점은 겹치지 않는다. 값은 상수로 고정되고, 기울기는 0이다. (학습 불가)

  • Wasserstein: 거리만큼 비용이 든다. 값은 ∣θ∣|\theta|∣θ∣가 되고, 기울기는 ±1\pm 1±1이다. (안정적 학습)

예제 2: 가우시안 분포 (Gaussian)

평균만 다르고 분산은 같은 두 정규분포를 비교해보자.

구분KL DivergenceWasserstein Distance
결과값θ22\frac{\theta^2}{2}2θ2​ (2차 함수)∣θ∣\vert \theta \vert∣θ∣
기울기θ\thetaθ (거리에 비례)sign(θ)\text{sign}(\theta)sign(θ) (±1\pm 1±1로 일정)
해석거리가 멀면 기울기가 폭주함
(Gradient Exploding)
거리가 멀든 가깝든
일정한 기울기로 가이드함

6. 마무리

정리하자면, Wasserstein Distance는 단순히 확률값의 차이를 보는 것이 아니라 데이터 공간 상의 물리적 거리를 측정한다.

덕분에 초기에 생성된 데이터가 실제 데이터와 완전히 딴판이어서 분포가 겹치지 않더라도, "얼마나 다른지, 어디로 가야 하는지" 명확한 피드백(Gradient)을 줄 수 있다.

EEG와 같이 고차원이고 복잡한 데이터일수록 분포가 겹칠 확률은 매우 낮기 때문에 바서스테인 거리가 도움이 될 수 있다.

← 목록으로 돌아가기