[metric] Kullback-Leibler divergence (a.k.a KL divergence)

ma-kjh·2023년 9월 12일
0

metric

목록 보기
2/4

Kullback-Leibler Divergence란?

KL Divergence는 정보이론에서 두 확률 분포의 차이를 측정하는 지표로 사용된다. 이는 두 분포 간의 상대적인 엔트로피(relative entropy)를 측정하며, 두 데이터 분포가 얼마나 다른지를 수치적으로 나타낸다.


KL Divergence 측정 방법

KL Divergence는 비대칭적(non-symmetric) 측정값으로, 두 분포 중 하나를 기준으로 상대적인 차이를 계산한다.
직관적으로, 두 분포 간의 거리를 측정한다고 볼 수 있으나, 기준 분포에 따라 값이 달라진다.

연속적(Continuous) 표현:

DKL(p(x)q(x))=p(x)lnp(x)q(x)dxD_\text{KL}(p(x) || q(x)) = \int_{-\infty}^{\infty} p(x) \ln \frac{p(x)}{q(x)} dx

이산적(Discrete) 표현:

DKL(p(x)q(x))=xXp(x)lnp(x)q(x)D_\text{KL}(p(x) || q(x)) = \sum_{x \in X} p(x) \ln \frac{p(x)}{q(x)}

위 수식에서:

  • p(x)p(x): 참 분포(True distribution)
  • q(x)q(x): 근사 분포(Approximate distribution)

KL Divergence는 양수 값을 가지며, p(x)=q(x)p(x) = q(x)일 때 0이 된다.


KL Loss의 활용

KL Divergence는 특히 확률 모델 학습에서 자주 사용된다.
대표적으로, 최대 우도 추정(MLE, Maximum Likelihood Estimation)에서 활용되며, 이는 데이터셋 분포 pdata(x)p_\text{data}(\mathbf{x})와 모델 분포 pθ(x)p_\theta(\mathbf{x}) 간의 차이를 최소화하는 과정이다.

MLE와 KL Divergence 관계

모델 pθ(x)p_\theta(\mathbf{x})가 데이터 분포 pdata(x)p_\text{data}(\mathbf{x})에 맞춰지도록 하는 방법은, 데이터셋 분포에 대한 로그 우도(log-likelihood)의 기대값을 최대화하는 것이다. 이를 수식으로 나타내면 다음과 같다:

Expdata(x)[logpθ(x)]\mathbb{E}_{\mathbf{x} \sim p_\text{data}(\mathbf{x})}[\log p_\theta(\mathbf{x})]

위 기대값을 최대화하는 (\theta)를 찾는 것이 목표다. 이 과정은 ( D\text{KL}(p\text{data} || p_\theta) )를 최소화하는 것과 동일하며, 결과적으로 모델 분포가 데이터셋 분포를 근사하도록 만든다.


요약

KL Divergence는 확률 분포 간의 차이를 측정하는 데 사용되며, 확률 모델 학습에서 핵심적인 역할을 한다. 특히, 데이터셋 분포에 대한 적합한 모델을 찾기 위한 최대 우도 추정(MLE) 과정에서 KL Loss는 매우 유용한 도구로 활용된다.

profile
거인의 어깨에 올라서서 더 넓은 세상을 바라보라 - 아이작 뉴턴

0개의 댓글