쿨백-라이블러 발산

편집 역사 토론
통계 수치해석 계산물리 마지막 수정: 2026-08-05 04:14:02

1. 개요[편집]

쿨백-라이블러 발산
Kullback–Leibler Divergence
다른 이름상대 엔트로피(relative entropy), 정보 이득, KL 발산
제안Kullback & Leibler (1951)
값의 범위0 이상, 위로는 무한대까지
거리인가아니다(비대칭 + 삼각부등식 불성립)
단위log 밑이 2면 bit, e면 nat

쿨백-라이블러 발산(Kullback–Leibler divergence)은 두 확률분포 pp, qq 가 얼마나 다른지를 재는 비대칭 척도로, 연속 분포에 대해

DKL(pq)=p(x)logp(x)q(x)dx=Ep ⁣[logp(X)q(X)]D_{\mathrm{KL}}(p \,\|\, q) = \int p(x) \log \frac{p(x)}{q(x)} \, dx = \mathbb{E}_{p}\!\left[\log \frac{p(X)}{q(X)}\right]

로 정의된다. 이산 분포면 적분이 합으로 바뀔 뿐 형태는 같다. 이름에 “발산”이 붙은 이유는 이게 거리(metric)가 아니기 때문이다. DKL(pq)DKL(qp)D_{\mathrm{KL}}(p\|q) \ne D_{\mathrm{KL}}(q\|p) 이고 삼각부등식도 성립하지 않는다. 그런데도 통계·기계학습·통계역학·분자동역학이 죄다 이 물건을 쓰는 이유는, 거리 공리를 포기한 대가로 로그가능도·엔트로피·자유에너지와 정확히 같은 단위 위에 올라앉기 때문이다.1

한 줄로 요약하면 이렇다. “진짜 분포가 pp 인데 내가 qq 라고 믿고 있을 때, 내가 손해 보는 정보량.” 부호화 관점, 가설검정 관점, 자유에너지 관점이 전부 이 한 문장의 다른 얼굴이다.

2. 기본 성질[편집]

비음수성(깁스 부등식). DKL0D_{\mathrm{KL}} \ge 0 이고 등호는 p=qp = q (거의 어디서나)일 때만 성립한다. 증명은 log-\log 가 볼록이라는 사실 하나로 끝난다. 젠센 부등식을 쓰면

DKL(pq)=Ep ⁣[logqp]logEp ⁣[qp]=logqdx=0-D_{\mathrm{KL}}(p\|q) = \mathbb{E}_p\!\left[\log \frac{q}{p}\right] \le \log \mathbb{E}_p\!\left[\frac{q}{p}\right] = \log \int q \, dx = 0

이다. 그래서 KL은 통계학에서 “0 이상이고 같을 때만 0”이 필요한 곳이면 어디든 끼어든다 — ELBO의 하한성, EM의 단조성, 정보 부등식 전부 이 두 줄에서 나온다.

지지집합이 곧 지뢰밭. q(x)=0q(x) = 0 인데 p(x)>0p(x) > 0 인 영역이 양의 pp-측도로 존재하면 DKL(pq)=D_{\mathrm{KL}}(p\|q) = \infty 다. 즉 KL은 pqp \ll q (절대연속)를 요구한다. 수치적으로는 log0\log 0 에서 NaN이 튀어나오는 형태로 보복하는데, 실무에서 히스토그램으로 KL을 추정할 때 빈 칸(empty bin) 하나가 전체 값을 무한대로 날려버리는 사고가 이래서 생긴다. 라플라스 평활이나 커널 밀도추정으로 막는 게 국룰.

체인 룰. 결합분포에 대해

DKL(p(x,y)q(x,y))=DKL(p(x)q(x))+Ep(x) ⁣[DKL(p(yx)q(yx))]D_{\mathrm{KL}}\big(p(x,y) \,\|\, q(x,y)\big) = D_{\mathrm{KL}}\big(p(x)\|q(x)\big) + \mathbb{E}_{p(x)}\!\left[D_{\mathrm{KL}}\big(p(y|x)\|q(y|x)\big)\right]

가 성립한다. 항이 전부 비음수라서 주변분포의 KL은 결합분포의 KL을 넘지 못한다. 이걸 일반화한 것이 자료처리 부등식으로, 어떤 함수를 통과시켜도 두 분포의 구별 가능성은 늘어나지 않는다는 뜻이다. 거친 격자로 다운샘플링한 결과끼리 비교해서 “차이 없다”가 나와도 그건 원래 장이 같다는 증거가 아니다.

대칭화. 비대칭이 거슬리면 D(pq)+D(qp)D(p\|q)+D(q\|p) 로 대칭화하거나(제프리스 발산), 중간분포 m=(p+q)/2m=(p+q)/2 를 끼워 젠센-섀넌 발산을 만든다. 후자는 유한하고 제곱근이 실제 거리다.

3. 부호화로 읽기 — 초과 비트[편집]

교차 엔트로피 H(p,q)=Ep[logq]H(p,q) = -\mathbb{E}_p[\log q] 를 쓰면

H(p,q)=H(p)+DKL(pq)H(p,q) = H(p) + D_{\mathrm{KL}}(p\|q)

로 깔끔하게 쪼개진다. 섀넌의 부호화 정리에 따르면 진짜 분포 pp 를 알 때 심볼당 최적 평균 부호길이는 H(p)H(p) 인데, qq 가 맞다고 착각하고 설계한 부호를 쓰면 H(p,q)H(p,q) 가 든다. 그 차액이 정확히 KL이다. KL = 잘못된 모형을 믿은 대가로 매 심볼마다 더 내는 비트 수.

이 해석이 왜 중요하냐면, 딥러닝에서 분류 손실로 쓰는 교차 엔트로피가 사실상 KL이기 때문이다. 정답 라벨의 원-핫 분포 pp 는 고정이라 H(p)=0H(p) = 0 이고, 남는 건 DKL(pqθ)D_{\mathrm{KL}}(p\|q_\theta) 하나뿐이다. 손실 이름은 교차 엔트로피인데 최소화하고 있는 건 KL이라는 얘기.

4. 최대우도 = forward KL 최소화[편집]

관측 x1,,xNx_1,\dots,x_N 의 경험분포를 p^N\hat p_N 이라 하자. 그러면

argmaxθ1Ni=1Nlogpθ(xi)=argminθDKL(p^Npθ)\arg\max_\theta \frac{1}{N}\sum_{i=1}^N \log p_\theta(x_i) = \arg\min_\theta D_{\mathrm{KL}}\big(\hat p_N \,\|\, p_\theta\big)

이다. p^N\hat p_N 쪽 엔트로피는 θ\theta 와 무관한 상수라 빠지기 때문. 그래서 최대우도추정은 “데이터에서 모형으로 향하는” forward KL을 줄이는 절차이며, 모형이 참분포를 포함하지 않는 오설정(misspecified) 상황에서 MLE가 수렴하는 지점도 KL 사영점으로 서술된다.

5. 비대칭이 만드는 두 개의 인격[편집]

방향을 바꾸면 최적해의 성격이 통째로 달라진다. 두 봉우리짜리 pp 를 단봉 가우시안 qq 로 근사한다고 하자.

  • Forward KL D(pq)D(p\|q) — mass-covering. 기댓값이 pp 에 대해 잡혀 있으므로, p>0p>0 인데 q0q\approx0 인 지점이 로그 안에서 폭발한다. 벌점을 피하려면 qqpp 의 지지집합을 전부 덮어야 한다. 결과는 두 봉우리 사이 골짜기에 퍼져 앉은 뭉툭한 평균 근사다. 있지도 않은 곳에 확률을 얹는 건 상대적으로 싸게 먹힌다.
  • Reverse KL D(qp)D(q\|p) — mode-seeking. 기댓값이 qq 에 대해 잡히므로, q>0q>0 인데 p0p\approx0 인 곳만 벌점이다. qq 가 아예 안 가는 영역은 qlog(q/p)0q\log(q/p) \to 0 이라 무시된다(zero-forcing). 결과는 봉우리 하나에 쏙 들어가 앉되 폭은 실제보다 좁게 나오는 근사다.

변분 추론의 ELBO가 reverse KL D(qp(zx))D(q\|p(z|x)) 를 쓰는 이유는 이념이 아니라 계산이다. 기댓값이 내가 표본을 뽑을 수 있는 qq 에 대해 잡혀 있어야 몬테카를로로 추정하고 재매개변수화로 미분할 수 있고, 게다가 이 방향에서는 계산 불가능한 증거 p(x)p(x) 가 상수로 빠져 목적함수에서 통째로 사라진다. 변분 사후분포의 분산이 과소평가되는 악명 높은 성질은 그 선택의 청구서다.

같은 이봉 목표 p = 0.4·N(−2, 0.6²) + 0.6·N(m₂, 0.9²) 에 단봉 가우시안 q = N(μ, σ²) 를 맞추되, forward D(p‖q) 와 reverse D(q‖p) 를 각각 독립된 (μ, σ) 로 동시에 경사하강시킨다. x ∈ [−8,8] 을 512점으로 이산화한 사다리꼴 구적이라 표본잡음이 0 이고, 기울기는 그 이산화된 목적함수의 정확한 해석 도함수라서 GD 가 내려가는 함수와 화면에 찍히는 값이 완전히 같은 함수다. 위 패널은 회색 p 위에 두 해를 겹쳐 그리고, 아래 패널은 (μ, log σ) 평면의 reverse KL 등고선 위에 두 궤적을 남긴다. forward 해는 초기값과 무관하게 언제나 모멘트 매칭점 μ = E_p[x], σ = √Var_p[x] 로 간다 — m₂ = 2.2 에서 μ_F = 0.519999999, σ_F = 2.205357114 로 이론값과 상대오차 1.4e−9 · 1.9e−10 이고, HUD 가 그 오차를 매 프레임 띄운다. reverse 해는 골이 여러 개라 초기값이 목적지를 정한다: m₂ = 2.2 에서 μ₀ 를 −5…5 로 쓸면 μ_R = −1.9811(D=0.9069) · +1.1943(0.6089) · +2.1683(0.5017) 세 곳으로 갈리고, 셋 다 8방향 섭동 16/16 이 상승하는 진짜 국소최소다. 분리 슬라이더를 왼쪽 끝(m₂=0.5)으로 내리면 골이 하나로 합쳐져 두 답이 같아진다. 이산화 오차는 M 을 두 배 할 때마다 4배로 줄어드는 2차 수렴이고, 최적화 격자 M=512 에서 KL 값은 12자리 중 마지막 자리만 흔들린다.

6. 국소 기하 — 피셔 정보[편집]

같은 모수족 안에서 θ\theta 를 아주 조금 움직이면 KL은 2차부터 살아난다.

DKL(pθpθ+δ)=12δI(θ)δ+O(δ3)D_{\mathrm{KL}}\big(p_\theta \,\|\, p_{\theta+\delta}\big) = \tfrac{1}{2}\,\delta^{\top} I(\theta)\, \delta + O(\|\delta\|^3)

여기서 I(θ)I(\theta)피셔 정보 행렬이다. 1차 항이 0이라 국소적으로는 대칭이며, 비대칭성은 3차 이상에서 나온다. 즉 KL은 확률분포 다양체 위의 리만 계량(피셔 계량)이 만드는 제곱거리의 절반처럼 행동하고, 이 관점을 밀고 나간 것이 정보 기하와 자연경사법이다. 파라미터 좌표계가 아니라 분포 공간에서 스텝을 재기 때문에 재매개변수화에 둔감하다는 게 실용적 이점.

7. 시뮬레이션에서의 KL[편집]

  • 중요도 표본추출. 제안분포 qq 로 목표 pp 의 기댓값을 추정할 때, 필요한 표본 수는 대략 eDKL(pq)e^{D_{\mathrm{KL}}(p\|q)} 규모로 커진다(Chatterjee–Diaconis). 차원이 오르면 KL이 차원에 비례해 커지므로 표본 수는 지수적으로 폭발한다 — 고차원 IS가 죽는 이유를 한 줄로 설명하는 부등식.
  • 자유에너지 섭동. 즈완치히 공식으로 얻는 추정치의 편향, 그리고 비평형 일에서의 소산 WΔF\langle W\rangle - \Delta F 는 순방향/역방향 경로 분포 사이의 KL(kBTk_BT 배)로 정확히 표현된다. 낭비된 일 = 시간의 화살을 구별할 수 있는 정보량이라는 해석.2
  • 병렬 템퍼링. 인접 replica의 에너지 분포가 겹쳐야 교환이 수락되는데, 이 겹침 부족을 재는 자연스러운 척도가 두 분포 사이의 (대칭화된) KL이다. 온도 사다리 간격 설계가 결국 KL을 일정하게 유지하는 문제로 환원된다.
  • 교차 엔트로피 방법. 희귀사건 추정에서 최적(분산 0) 제안분포에 KL이 최소가 되도록 표본분포를 갱신하는데, 그 갱신식이 정확히 가중 최대우도로 떨어진다. 이론적으로 예쁜 알고리즘이 코드로는 몇 줄인 대표적 사례.
  • 기댓값 최대화 알고리즘. E-단계에서 KL이 0이 되어 하한이 로그가능도에 접하고, 그 접함이 M-단계 이후 단조 증가를 보장한다.

8. 실무에서 밟는 지뢰[편집]

  • 표본만 있고 밀도가 없을 때 KL을 “그냥” 추정하려다 히스토그램 빈 폭에 따라 값이 두 배씩 왔다갔다 하는 일이 흔하다. kk-최근접이웃 기반 추정량이나 밀도비 추정을 쓰는 편이 안전하다.
  • KL이 작다고 두 분포가 “가깝다”고 보고서에 쓰기 전에, 단위(nat인지 bit인지)와 방향(어느 쪽이 pp 인지)을 반드시 명시해야 한다. 방향 뒤집힌 KL을 비교한 표는 그냥 다른 물건 두 개를 나란히 놓은 것이다.
  • 값 자체의 절대적 해석이 필요하면 총변동거리와의 관계식인 핀스커 부등식 pqTVDKL(pq)/2\|p-q\|_{TV} \le \sqrt{D_{\mathrm{KL}}(p\|q)/2} 를 거치는 게 정직하다.3

9. 관련 문서[편집]

10. Footnotes[편집]

  1. Kullback과 Leibler의 1951년 원논문 제목은 “On Information and Sufficiency”였고, 정작 두 사람은 이걸 “발산”이 아니라 “정보량”이라 불렀다. 지금 우리가 divergence라 부르는 건 대칭화된 버전을 divergence라 했던 원문 용법과 미묘하게 어긋난 채 굳어진 것이다. 용어 표준화는 언제나 늦다.

  2. Kawai–Parrondo–Van den Broeck (2007). “당신이 낭비한 에너지는 당신이 시간을 거꾸로 돌리는 걸 남이 알아챌 수 있는 정보량과 같다”는 문장은 술자리에서 써먹기 좋지만, 술자리에서 이걸 꺼내면 대개 혼자 남는다.

  3. 반대 방향 부등식은 일반적으로 없다. TV가 작아도 KL은 무한대일 수 있다 — 꼬리에 아주 얇게 어긋난 지지집합 하나면 충분하다. “두 지표가 대충 비슷하게 움직이겠지”라고 넘어갔다가 리뷰어에게 잡히는 고전 코스.