KL-Divergence와 MLE의 관계

bolero2.dev
5 min readMay 30, 2023

--

1. KL-Divergence 소개

지난 시간에 이어서, KL-Divergence, 쿨백-라이블러 발산(Kullback–Leibler divergence)에 대해서 알아봅시다.

MLE는 “가능도” 라고 했습니다. 어떠한 데이터셋이 특정 모델이 정의한 확률 분포에 있을 가능도를 의미합니다.

그렇다면, Generator와 Discriminator가 각각 생성한 확률 분포의 차이는 어떻게 계산할 수 있을까요?

  • 적대적 학습의 최종 목적은 Generator의 확률 분포와 Discriminator의 확률 분포의 차이를 줄이는 것이기 때문입니다.
  • Discriminator의 확률 분포는 정답 데이터셋, True Dataset에 대한 확률 분포이고, Generator의 확률 분포는 가짜 데이터셋에 대한 확률 분포입니다.

이 때 사용하는 것이 KL-Divergence 입니다.

2. 정의

KL-Divergence(이하 KLD)의 정의는 다음과 같습니다:

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

정리하자면, 확률 분포 $p$ (= True Dataset) 와 확률 분포 $q$ (= Generated Dataset) 의 차이를 계산하는 방식을 KL-Divergence를 사용하여 계산한다고 볼 수 있습니다.

이를 좀더 수학적으로 표현하자면,

  • 확률 분포 $p$ 가 있을 때, 샘플링을 이 확률 분포 $p$ 에서 한다면 확률 분포 $p$ 에 대한 Entropy(정보량)을 나타내고,
  • 확률 분포 $p$ 가 있을 때, 샘플링을 확률 분포 $p$ 와 근사한 확률 분포 $q$ 에서 한다면 확률 분포 $p$ 에 대한 확률 분포 $q$ 의 Cross-Entropy(교차 정보량)을 나타냅니다.

KLD에 대한 정의는 위의 2개의 경우에 대한 차이(=거리)를 의미합니다.

Entropy의 공식은 저번 챕터에서 살펴본 것과 같이 다음과 같습니다:

이 Entropy를 KLD에 대입하여 수식으로 표현하면 다음과 같습니다:

여기서 $H(p, q)$ 는 확률 분포 $p$ 에 대한 확률 분포 $q$ 의 Cross-Entropy(교차 정보량)을 나타내고, $H$ 는 확률 분포 $p$ 에 대한 Entropy(정보량) 을 나타냅니다.

$p$ 와 $q$ 가 바뀐다면 KLD의 값이 바뀌기 때문에, KLD는 distance의 개념이 아니고, asymetric(비대칭) 한 값입니다.

위의 sigma 기호는, discrete한 확률 분포, 즉 이산 확률 분포 에서의 KLD 공식에 나옵니다.

연속 확률 분포에서는 (당연하게도) sigma 대신 적분 기호가 등장합니다.

sigma와 integral의 차이(이산 ↔ 연속) 만 있고, 의미하는 바는 동일합니다.

3. MLE와의 연관성?

GAN 학습 시에는 True Dataset의 확률 분포(→ Discriminator) 와 Generated Dataset의 확률 분포 (→ Generator) 의 차이를 줄이는 것을 목표로 합니다.

여기서 True Dataset의 확률 분포를 $p(x)$ 라고 하고, Generated Dataset의 확률 분포를 $q(x)$ 라고 합시다.

그러면, 우리가 GAN 학습 시의 목표는 최종적으로 $p(x)$ 와 최대로 비슷한 $q(x)$ 를 추정(Estimation)하는 것이라고 말할 수 있고, 이는 다시 말해서 KL-Divergence의 값을 최소화 하는 것이라고 할 수 있습니다.

그리고, $p(x)$ 와 $q(x)$ 는 연속 확률 분포이므로, 적분을 사용하게 될 것입니다.

이를 공식으로 표현하면 다음과 같습니다:

이 공식에서, KLD의 값을 최대로 하기 위해서는 $p(x)\ log\ q(x)$ 의 값을 최대로 해야 합니다.

이 식을 조금 더 풀어보면, 확률 분포 p(x) 는 구분구적법 으로 표현이 가능합니다.

이를 대입하여, p(x)\ log\ q(x) 를 최대화 하는 식으로 다시 써 볼 수 있습니다.

여기서, $KL(p_D||q)$ 를 최대화 하기 위해서는 $log\ q(x_n)$ 이 최대가 되어야 합니다.

이는 다시 말해서, 확률 분포 $q$ 의 MLE 공식과 똑같아집니다.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

bolero2.dev
bolero2.dev

Written by bolero2.dev

ML/DL and CV Engineer & Researcher

No responses yet

Write a response