GAN을 이해하기 위해 KL Divergence를 먼저 간단히 정리해봅니다.
GAN을 공부하다가 수식들에 막혀 답답하던 중에, 차라리 그 내부의 요소들을 하나하나 알아보고 가는게 좋겠다고 생각했습니다. 그래서 오늘은 KL Divergence(쿨백-라이블러 발산) 에 대해서 정리해보았습니다.
KL Divergence는 간단히 말해 두 확률분포의 차이 를 계산합니다. 정확히 말하자면, 어떤 확률분포 대신 유사한 모양을 가진 다른 확률분포를 사용해 샘플링을 진행할 떄의 정보 엔트로피 차이를 계산 합니다. 따라서 KL Divergence가 0이면, 두 확률분포가 동일하다는 것을 의미합니다.
두 확률변수에 대한 확률분포인
이산확률변수이므로 확률밀도함수를 사용하지 않고, 확률분포에서 값을 샘플링했을 경우를 보고 있습니다. 이것도 적분의 모양과 마찬가지입니다. 확률분포
정의와 식을 보면 아실 수 있듯이, 두 확률분포가 완벽히 동일하면 KL Divergence는 0이 됩니다. 그래서 GAN의 학습에 KL Divergence가 사용되는 것이었습니다. Cross Entropy(교차 엔트로피)의 정의에도 KL Divergence가 사용되는데, 이는 차후에 따로 글을 써보도록 하겠습니다.