쿨백-라이블러 발산 (Kullback-Leibler Divergence)
쉽게 풀면
두 확률분포가 얼마나 비슷한지 또는 다른지를 비교하고 싶을 때 사용하는 척도로, '진짜 분포 대신 근사 분포를 사용했을 때 평균적으로 얼마나 더 많은 정보(놀라움)를 잃게 되는가'를 수치로 나타낸다. 두 분포가 완전히 같으면 값이 0이 되고, 다를수록 값이 커진다. 다만 A에서 B로의 발산과 B에서 A로의 발산 값이 서로 다를 수 있어(비대칭성) 일반적인 의미의 '거리'는 아니라는 점이 특징이다.
왜 중요한가
쿨백-라이블러 발산은 두 확률분포의 차이를 정량화하는 가장 기본적인 도구 중 하나로, 딥러닝의 손실 함수 설계, 베이지안 추론, 모형 선택 기준(AIC 등)의 이론적 배경 등 여러 통계·기계학습 방법론의 근간에 자리 잡고 있다. 특히 생성 모델이나 강화학습처럼 하나의 분포를 다른 분포에 가깝게 맞추는 문제를 다루는 논문에서는 최적화 목표 자체를 정의하는 데 핵심적으로 쓰인다.
논문에서는 이렇게 쓰입니다
두 확률분포의 유사성을 비교하거나, 모형 선택 기준의 이론적 배경, 변분추론의 최적화 목표를 설명할 때 사용된다.
강화학습에서는 정책이 한 번에 너무 크게 바뀌지 않도록, 업데이트 전후 행동 분포 차이를 쿨백-라이블러 발산으로 측정해 제한하는 방식이 자주 쓰인다.
자연어처리 분야에서는 크고 성능이 좋은 모델(교사)의 예측 분포를 작은 모델(학생)이 따라가도록 학습시킬 때, 두 분포 간 쿨백-라이블러 발산을 손실 함수로 삼는 경우가 많다.
조금 더 깊게 보면
쿨백-라이블러 발산은 교차엔트로피에서 실제 분포 자신의 엔트로피를 뺀 값으로 표현할 수 있어, 분류 문제의 손실 함수로 흔히 쓰이는 교차엔트로피 최소화가 사실상 쿨백-라이블러 발산 최소화와 밀접하게 연결되어 있다는 점을 이해하면 여러 논문의 손실 함수 설계를 더 쉽게 파악할 수 있다. 또한 비대칭성 때문에 어느 방향으로 발산을 계산하느냐(정방향 대 역방향)에 따라 근사분포가 넓게 퍼지는 경향을 보이는지, 특정 봉우리에만 집중하는 경향을 보이는지가 달라질 수 있어, 변분추론이나 생성 모델 설계에서 이 선택이 중요한 고려사항이 된다.
주의할 점
쿨백-라이블러 발산은 대칭이 아니므로 A와 B의 순서를 바꾸면 값이 달라지며, 이 때문에 엄밀한 의미의 거리함수로 취급해서는 안 된다.