[정보이론] KL-divergence, Kullback-Leibler divergence, KL 발산 설명

KL-divergence, Kullback-Leibler divergence, KL 발산에 대해 알아보겠습니다. KL-divergence 는 정보이론에서 중요한 개념입니다. 그리고 다른 분야에서도 많이 사용되는 개념이지요. 요즘엔 딥러닝에서 많이 사용되는 것 같은데요. 이번 글에서는 KL-divergence, Kullback-Leibler divergence, KL 발산 설명에 대해 알아보도록 하겠습니다. 잘 따라올 준비 되셨나요?! 가봅시다

KL-divergence, Kullback-Leibler divergence, KL 발산 설명해보겠습니다.

KL-divergence에 대해 설명 드리도록 하겠습니다. KL 발산에 대해 알기 위해서는 불확실성 (Uncertainty), 엔트로피 (Entropy), 교차엔트로피 (Cross entropy)등에 대해 먼저 이해하는 것이 좋습니다. 아래에 해당글들이 있으니 살펴보시는 것을 추천합니다.

[정보이론] 불확실성 (Uncertainty)에 대한 설명, 정의

[정보이론] 엔트로피(Entropy)에 대한 설명

[정보이론] Cross entropy (교차엔트로피) 설명

그리고 KL-divergence에 대해서는 이미 설명이 잘 되어있는 영상이 있으니 한번 보세요. 영상을 보고 이해가 되셨다면 이 글을 더 이상 볼 필요가 없습니다. 영상을 보고도 이해가 안되신 분들은 이 글을 끝까지 봐주시길 바랍니다.



KL-divergence, Kullback-Leibler divergence, KL 발산의 정의

p(x), q(x) 를 확률질량함수 (pmf: probability mass function) 혹은 확률밀도함수 (pdf: probability density function)이라고 합시다. 이 때 p(x) 를 기준으로 하는 KL-divergence는 아래와 같이 p 의 엔트로피(Entropy)와 p 에 대한 q 의 교차 엔트로피 (Cross Entropy)의 차이로 정의됩니다.

KL(p | q ) =  H(p,q) -H(p) 

KL-divergence, Kullback-Leibler divergence, KL 발산의 중요한 성질

KL-divergence는 몇가지 성질을 갖고 있습니다. 아래와 같이 세가지 성질이 있겠네요.

  1. KL(p | q) \geq 0
  2. 웬만한 경우에 KL(p | q) \neq KL ( q | p)
  3. KL(p | q ) = 0 \leftrightarrow p =q

KL-divergence, Kullback-Leibler divergence, KL 발산의 의미

KL(p|q) = H(p) - H(p,q) 라는 사실에서 보듯 p 의 불확실성을 p 기준으로 평균을 내었을 때와 q 의 불확실성을 p 기준으로 평균을 내었을 때 차이가 KL(p|q) 이 됩니다.  위에서 소개한 성질을 분석하면 KL-divergence의 의미를 더 분명히 알 수 있습니다. KL(p | q) \geq 0 이 의미하는 바는 p 의 평균적인 불확실성이 q p 기준으로 평균적인 불확실성보다 작다는 의미입니다. 예를들어 참인 분포가 p(x) 인데 대신에 q(x) 를 사용하면 p(x) 를 사용했을 때 보다 불확실성이 커진다는 의미이죠. KL(p | q) \neq KL ( q | p) 의 의미는 KL-divergence 는 KL(p|q) p,q에 대해 대칭일 필요가 없다는 얘기입니다. KL(p | q ) = 0 \leftrightarrow p =q 의 의미는 불확실성의 차이가 없게 하는 q p 에 존재하지 않는다라는 의미입니다.

Leave a Comment