KL Divergence 이해하기

2025. 4. 4. 15:52·인공지능 대학원/확률론
반응형

KL Divergence 이해를 위해 이전 글의 개념이 필요합니다.

2025.04.04 - [MachineLearning & DeepLearning/유용한 개념] - Cross-Entropy (크로스 엔트로피)

 

Cross-Entropy (크로스 엔트로피)

Entropy$$H(x)=-\sum_{i=1}^n p\left(x_i\right) \log p\left(x_i\right)$$엔트로피는 불확실성의 척도로 정보이론에서의 엔트로피는 불확실성을 나타내며 엔트로피가 높다는 것은 정보가 많고 확률이 낮다는 것

occident.tistory.com

 

 

KL Divergence 정의

쿨백-라이블러 발산(Kullback–Leibler divergence, KLD)은 두 확률분포의 차이를 계산하는 데에 사용하는 함수로, 어떤 이상적인 분포에 대해, 그 분포를 근사하는 다른 분포를 사용해 샘플링을 한다면 발생할 수 있는 정보 엔트로피 차이를 계산한다. 상대 엔트로피(relative entropy), 정보 획득량(information gain), 인포메이션 다이버전스(information divergence)라고도 한다. 정보이론에서는 상대 엔트로피, 기계학습의 결정 트리에서는 정보 획득량을 주로 사용한다.

 

Cross Entropy 수식에서 KL Divergence 유도

$\begin{aligned} H(p, q) & =-\sum_i p_i \log q_i \\ & =-\sum_i p_i \log q_i \frac{-\sum_i p_i \log p_i}{=H(p)}+\sum_i p_i \log p_i \\ & =H(p)+\sum_i p_i \log p_i-\sum_i p_i \log q_i \\ & =H(p)+\sum_i p_i \log \frac{p_i}{q_i}\end{aligned}$

 

즉, P의 엔트로피에 $\sum_i p_i \log \frac{p_i}{q_i}$이 더해진 것이 Cross Entropy가 된다.

 $\sum_i p_i \log \frac{p_i}{q_i}$: 이 수식이 의미하는 것이 분포 P와 Q의 정보량 차이인 KL Divergence이다.

 

KL Divergence

그럼 반대로 

$H(P,Q)$에서 $H(P)$를 빼주면 KL Divergence가 된다.

$$
K L(p \| q)=H(p, q)-H(p)
$$

 

수식을 다시 쓰면,

$$
K L(p \| q)=\left\{\begin{array}{l}
\sum_i p_i \log \frac{p_i}{q_i} \text { 또는 }-\sum_i p_i \log \frac{q_i}{p_i} \text { (이산형) } \\
\int p(x) \log \frac{p(x)}{q(x)} d x \text { 또는 }-\int p(x) \log \frac{q(x)}{p(x)} d x \text { (연속형) }
\end{array}\right.
$$

 

우리가 대개 cross entropy를 minimize 하는 것은, 어차피 $H(p)$ 는 고정된 상수값이기 때문에 결과적으로는 KL-divergence를 minimize 하는 것과 같다.

 

KL Divergence의 특징

  • $K L(p \mid q) \geq 0$: KL Divergence는 항상 0보다 크다.

Cross Entropy에서 Entropy를 뺐기 때문에 클 수밖에 없다.

더 엄밀한 증명은 Jensen's Inequality를 찾아보시면 된다.

  • $K L(p \mid q) \neq K L(q \mid p)$: KL Divergence는 거리 개념이 아니다.

KL Divergence는 asymmetric하다는 말과 거리 개념이 아니다라는 말이 있다.

두 확률 분포의 거리가 같았으려면 $K L(p \| q) \eq K L(q \| p)$이어야 하지만,

$K L(p \| q) \neq K L(q \| p)$이기 때문에 비대칭적이다.

 

거리 개념으로 쓸 수 있는 방식은 Jensen-Shannon Divergence가 있다.

 

Jensen-Shannon Divergence: KL Divergence를 거리 개념으로

$$
\begin{gathered}
J S D(p \| q)=\frac{1}{2} K L(p \| M)+\frac{1}{2} K L(q \| M) \\
\text { where, } M=\frac{1}{2}(p+q)
\end{gathered}
$$

KL Divergence를 2가지에 대해 구하고 평균을 내는 방식입니다.

 

KL Divergence와 log likelihood

KL Divergence를 최소화하는 것은 결국 Negative Log-Likelihood를 최소화하는 것과 같다.

 

상황 가정

  • 우리는 어떤 진짜 분포 $p(x)$가 있다.
    예시) 세상에 존재하는 진짜 데이터 분포 (Only 신밖에 모르는 진짜 분포)
  • 우리는 그 분포를 잘 흉내 낼 수 있는 모델 $q(x|\theta)$를 만들것이다.
    예시) 뉴럴넷, 확률 모델 등 파라미터 $\theta$가 있는 모델
  • 목표: $q(x|\theta)$가 $p(x)$를 최대한 비슷하게 만들고 싶다 → 이걸 수학적으로 표현한 게:

$$
\theta^*=\arg \min _\theta \mathrm{KL}(p(x) \| q(x \mid \theta))
$$

 

왜 KL Divergence를 최소화해야하는가?

KL-divergence는 두 분포가 얼마나 다른지를 재는 척도입니다:
$$
\mathrm{KL}(p \| q)=\int p(x) \log \frac{p(x)}{q(x \mid \theta)} d x
$$

이걸 풀어쓰면
$$
\mathrm{KL}(p \| q)=\mathbb{E}_{p(x)}[\log p(x)-\log q(x \mid \theta)]
$$

$\rightarrow$ 즉, $\$ \mathrm{p}(\mathrm{x}) \$$ 의 관점에서 두 분포 간 차이를 보는 것.

 

$p(x)$를 모르니, 샘플을 활용하자

 

  • $p(x)$는 우리가 흉내 내고 싶은 진짜 분포인데, 실제론 모른다.
  • 하지만 우리는 $p(x)$로부터 추출된 샘플들 $x_1, x_2, \dots, x_N$ 은 가지고 있음 (training set)
  • 그래서 아래 기대값을 샘플 평균으로 근사 가능:

 

$$
\mathbb{E}_{p(x)}[\log q(x \mid \theta)] \approx \frac{1}{N} \sum_{n=1}^N \log q\left(x_n \mid \theta\right)
$$

 

KL Divergence 샘플 평균 근사

$$
\mathrm{KL}(p \| q) \approx \frac{1}{N} \sum_{n=1}^N\left(-\log q\left(x_n \mid \theta\right)+\log p\left(x_n\right)\right)
$$

여기서 $\log p(x_n)$은 $\theta$와 관계가 없음 (상수처럼 취급)

 

결론

$$
\frac{1}{N} \sum_{n=1}^N-\log q\left(x_n \mid \theta\right)
$$

결국 분포를 흉내내려면, 위의 수식이 최소화되는 방향으로 Parameter $\theta$가 update되어야 한다.

위의 수식은 Negative Log-Likelihood

 

즉, Negative Log-Likelihood를 최소화하거나 Log-Likelihood를 최대화하면된다.

 

어떤 분포의 차이를 줄이기 위해 파라미터를 업데이트해야 한다면,
Log-Likelihood를 높이는 것, 즉 그 분포일 확률을 높이는 방법이 최고다.
왜냐하면 그게 곧 KL Divergence를 줄이는 것이니까.

반응형

'인공지능 대학원 > 확률론' 카테고리의 다른 글

Likelihood and MLE  (0) 2025.04.04
Cross-Entropy (크로스 엔트로피)  (0) 2025.04.04
확률 분포 함수(Probability distribution function)이란 무엇인가?  (0) 2025.04.03
[확률론, Probability] 기대값, expectation  (0) 2025.03.26
[확률론] 조건부 확률, 베이즈 룰, 독립, 랜덤 변수  (0) 2025.03.19
'인공지능 대학원/확률론' 카테고리의 다른 글
  • Likelihood and MLE
  • Cross-Entropy (크로스 엔트로피)
  • 확률 분포 함수(Probability distribution function)이란 무엇인가?
  • [확률론, Probability] 기대값, expectation
우다다123
우다다123
  • 우다다123
    우다다
    우다다123
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 인공지능 대학원 (25)
        • 머신러닝, 딥러닝 (6)
        • 강화학습 (10)
        • 확률론 (6)
        • 선형대수 (1)
      • Ubuntu & Linux (6)
      • Coding (4)
      • Coding Test (0)
  • 블로그 메뉴

    • 카테고리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
우다다123
KL Divergence 이해하기
상단으로

티스토리툴바