본 블로그의 모든 글은 직접 공부하고 남기는 기록입니다.
잘못된 내용이나 오류가 있다면 언제든지 댓글 남겨주세요.
크로스 엔트로피에 대한 설명을 먼저 읽으면 이해에 도움이 됩니다.
쿨백-라이블러 발산 KL Divergence
KL Divergence는 두 확률분포 간의 차이를 계산하는 함수입니다.
주로 사전확률 P를 알고 사후확률 Q를 모르는 상황에서 Q를 근사하기 위해 사용합니다. 식으로 나타내면 다음과 같습니다.
DKL(P∣∣Q)=i∑P(xi)log Q(xi)P(xi)=i∑P(xi)(log P(xi)−log Q(xi))
크로스 엔트로피와 KL Divergence
위 식을 조금 변형해 보겠습니다.
DKL(P∣∣Q)=i∑P(xi)(log P(xi)−log Q(xi))=i∑P(xi)log P(xi)−i∑P(xi)log Q(xi)=H(P,Q)−H(P)
결과적으로 KL Divergence는 크로스 엔트로피에서 사전확률 P의 엔트로피를 뺀 값이 됩니다.
따라서 크로스 엔트로피를 다음과 같이 바꿔 쓸 수 있습니다.
CE=H(P,Q)=H(P,Q)−H(P)+H(P)=H(P)+DKL(P∣∣Q)
결과적으로 크로스 엔트로피를 손실함수로 사용한다는 것은 KL Divergence를 최소화하는 것과 정확히 같은 의미입니다. 이전에 크로스 엔트로피를 설명할 때 "동일한 결과를 얻기 위해 같은 비용을 투입해야 한다면, 두 분포가 동일하다는 논리" 라고 했었는데, 같은 관점에서 KL Divergence는 "다른 분포를 사용하여 동일한 결과를 얻기 위해 추가로 투입해야 하는 비용"이라고 설명할 수 있습니다.
참고문헌
- 위키백과 KL Divergence