KL 발산

불확실성의 수학

KL 발산은 한 분포 q가 다른 분포 p로부터 얼마나 멀리 떨어져 있는지를 측정합니다. 진실 p를 잘못된 분포 q로 모델링했을 때 치르게 되는 추가 놀라움이며, 교차 엔트로피 안에 들어 있는 간격입니다:

두 가지 사실이 이를 ML에서 두루 쓰이는 «거리»로 만듭니다. 깁스 부등식에 의해 항상 ≥ 0이고, 정확히 q = p일 때만 0이 됩니다. 따라서 KL을 0으로 몰아간다는 것은 모델을 진실과 완벽하게 일치시킨다는 뜻입니다.

KL은 대칭이 아닙니다. 일반적으로 KL(p‖q) ≠ KL(q‖p)이며, 삼각 부등식도 위반합니다. 이 비대칭성에는 의미가 있습니다. 두 방향이 서로 다른 실패에 벌을 주기 때문입니다. KL(p‖q)는 p가 큰 곳에서 q가 작으면 무겁게 벌을 줍니다(«모드 커버링»). 반면 KL(q‖p)는 p가 없는 곳에 q가 질량을 펼치면 벌을 줍니다(«모드 시킹»).

머신러닝에서의 위치VAE의 ELBO에는 인코더의 잠재 분포를 사전 분포 N(0, I) 쪽으로 끌어당기는 KL 항이 들어 있어, 잠재 공간이 잘 정돈되도록 하는 정규화 역할을 합니다. PPO/TRPO 같은 강화 학습 기법은 KL «신뢰 영역»으로 각 정책 갱신을 제약하여, 새 정책이 너무 멀리 튀지 않도록 합니다. 지식 증류는 큰 교사 모델과 작은 학생 모델의 출력 분포 사이의 KL을 최소화합니다.
▶ KL 발산
← 교차 엔트로피상호 정보량 →