[정보이론] KL Divergence

Ethan·2023년 2월 22일
0

정보이론

목록 보기
3/3

본 블로그의 모든 글은 직접 공부하고 남기는 기록입니다.
잘못된 내용이나 오류가 있다면 언제든지 댓글 남겨주세요.


크로스 엔트로피에 대한 설명을 먼저 읽으면 이해에 도움이 됩니다.

쿨백-라이블러 발산 KL Divergence

KL Divergence는 두 확률분포 간의 차이를 계산하는 함수입니다.

주로 사전확률 PP를 알고 사후확률 QQ를 모르는 상황에서 QQ를 근사하기 위해 사용합니다. 식으로 나타내면 다음과 같습니다.

DKL(PQ)=iP(xi)log P(xi)Q(xi)=iP(xi)(log P(xi)log Q(xi))D_{KL}(P||Q)=\sum_iP(x_i)\mathrm{log}\ {P(x_i)\over Q(x_i)}=\sum_iP(x_i)\left(\mathrm{log}\ P(x_i)-\mathrm{log}\ Q(x_i)\right)

크로스 엔트로피와 KL Divergence

위 식을 조금 변형해 보겠습니다.

DKL(PQ)=iP(xi)(log P(xi)log Q(xi))=iP(xi)log P(xi)iP(xi)log Q(xi)=H(P,Q)H(P)D_{KL}(P||Q)=\sum_iP(x_i)\left(\mathrm{log}\ P(x_i)-\mathrm{log}\ Q(x_i)\right)\\ \quad\\ =\sum_iP(x_i)\mathrm{log}\ P(x_i)-\sum_iP(x_i)\mathrm{log}\ Q(x_i)\\ \quad\\ =H(P,Q)-H(P)

결과적으로 KL Divergence는 크로스 엔트로피에서 사전확률 PP의 엔트로피를 뺀 값이 됩니다.
따라서 크로스 엔트로피를 다음과 같이 바꿔 쓸 수 있습니다.

CE=H(P,Q)=H(P,Q)H(P)+H(P)=H(P)+DKL(PQ)CE=H(P, Q)=H(P, Q)-H(P)+H(P)\\ \quad\\ =H(P)+D_{KL}(P||Q)

결과적으로 크로스 엔트로피를 손실함수로 사용한다는 것은 KL Divergence를 최소화하는 것과 정확히 같은 의미입니다. 이전에 크로스 엔트로피를 설명할 때 "동일한 결과를 얻기 위해 같은 비용을 투입해야 한다면, 두 분포가 동일하다는 논리" 라고 했었는데, 같은 관점에서 KL Divergence는 "다른 분포를 사용하여 동일한 결과를 얻기 위해 추가로 투입해야 하는 비용"이라고 설명할 수 있습니다.


참고문헌

  1. 위키백과 KL Divergence
profile
재미있게 살고 싶은 대학원생

0개의 댓글