지난 시간에 이어서, KL-Divergence, 쿨백-라이블러 발산(Kullback–Leibler divergence)에 대해서 알아봅시다.
MLE는 “가능도” 라고 했습니다. 어떠한 데이터셋이 특정 모델이 정의한 확률 분포에 있을 가능도를 의미합니다.
그렇다면, Generator와 Discriminator가 각각 생성한 확률 분포의 차이는 어떻게 계산할 수 있을까요?
이 때 사용하는 것이 KL-Divergence 입니다.
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를 사용하여 계산한다고 볼 수 있습니다.
이를 좀더 수학적으로 표현하자면,
KLD에 대한 정의는 위의 2개의 경우에 대한 차이(=거리)를 의미합니다.
Entropy의 공식은 저번 챕터에서 살펴본 것과 같이 다음과 같습니다: