수학 개념 지도
정보 이론

쿨백–라이블러 발산(Kullback–Leibler divergence)

실제 분포가 p인데 q라고 믿을 때 치르는 평균⁠(mean)⁠ 비용. q에 맞춘 부호로 p의 자료를 적을 때 더 드는 비트 수이자, 관측 하나가 p와 q를 구별해 주는 평균 증거로, 늘 0 이상이고 비대칭이다.

D(p ∥ q)=∑ipilog⁡2piqi=H(p,q)−H(p)≥0D(p\,\|\,q) = \sum_i p_i \log_2 \frac{p_i}{q_i} = H(p,q) - H(p) \ge 0

1951년 미국 국가안보국에서 암호를 연구하던 두 수학자 솔로몬 쿨백과 리처드 라이블러는 논문 「정보와 충분성에 관하여(On Information and Sufficiency)」에서, 두 가설 가운데 어느 쪽이 참인지 가릴 때 관측 하나가 평균적으로 주는 정보를 정의했습니다. 참인 분포가 p이고 경쟁 가설이 q일 때 결과 i가 나오면, 두 가설의 확률⁠(probability)⁠ 비(가능도비⁠, likelihood ratio⁠)의 로그 log⁡(pi/qi)\log(p_i/q_i)만큼 p 쪽으로 증거가 쌓입니다(이 값이 음수면 q 쪽으로 쌓입니다). 이것을 p로 평균한 값이 오늘날 KL 발산⁠(KL divergence)⁠ 또는 상대 엔트로피라 부르는 양입니다. 비슷한 생각은 그보다 앞서 제2차 세계대전 중 블레츨리 파크에서 쓰였습니다. 앨런 튜링은 독일군의 회전자 암호기 에니그마⁠(Enigma)⁠의 암호를 풀면서 가능도비의 상용로그를 증거의 단위로 삼아 '반(ban)', 그 10분의 1을 '데시반⁠(deciban)⁠'이라 불렀고, 그의 조수였던 영국 수학자 I. J. 굿은 전쟁 뒤 이 생각을 '증거의 무게⁠(weight of evidence)⁠'라는 이름으로 정리했습니다. 1반은 log⁡210≈3.32\log_2 10 \approx 3.32비트, 1데시반은 약 0.33비트입니다.

D(p ∥ q)=∑ipilog⁡2piqiD(p\,\|\,q) = \sum_i p_i \log_2 \frac{p_i}{q_i}

압축으로 보면 뜻이 더 또렷합니다. 원천 부호화 정리⁠(source coding theorem)⁠에 따르면 결과 i에 길이 −log⁡2qi-\log_2 q_i비트인 부호를 주는 것이 분포 q에 가장 잘 맞는 부호입니다. 이 길이들은 ∑i2−ℓi=∑iqi=1\sum_i 2^{-\ell_i} = \sum_i q_i = 1이라 부호가 쓸 수 있는 자리를 남김없이 채웁니다(크래프트 부등식⁠(Kraft inequality)⁠의 등호. 길이가 정수⁠(integer)⁠가 아닐 수 있으니 이상적인 길이입니다). 그런데 실제 자료가 p를 따른다면 평균 길이는 교차 엔트로피⁠(cross-entropy)⁠ H(p,q)=−∑ipilog⁡2qiH(p,q) = -\sum_i p_i \log_2 q_i가 되고, 이것은 최선인 H(p)H(p)보다 정확히 D(p ∥ q)D(p\,\|\,q)만큼 깁니다. KL 발산은 틀린 믿음으로 부호를 만든 대가입니다.

파란 막대는 6이 절반의 확률로 나오는 조작된 주사위 p이고, 주황 막대는 우리가 믿는 모형 q입니다. 주황 막대 끝의 점을 끌어 q를 바꿔 보세요(나머지 면은 비율을 유지한 채 줄거나 늘어납니다). 공정한 주사위 p와 똑같이 6을 얕보는 모형

파랑: 실제 분포 p. 주황: 믿는 분포 q(점을 끌 수 있습니다). 숫자는 각 면의 항 p log₂(p/q)로, 음수일 수도 있습니다. 아래 두 줄은 q에 맞춘 부호로 p를 적을 때와 p에 맞춘 부호로 q를 적을 때의 평균 길이입니다.

지금 , 거꾸로 입니다. q에 맞춘 부호로 p의 결과를 적으면 한 번에 평균 비트가 들고, 이 가운데 비트가 피할 수 없는 몫, 나머지가 낭비입니다.

q를 어떻게 바꿔도 D는 음수가 되지 않고, q가 p와 같을 때만 0입니다. 미국 물리학자 깁스의 이름을 따 깁스 부등식⁠(Gibbs' inequality)⁠이라 부릅니다. 면마다의 항은 음수일 수 있지만 합은 그렇지 않습니다. 로그 곡선은 위로 볼록하게 휘어 있어서(오목), 여러 값의 평균에서 잰 로그가 로그들의 평균보다 크거나 같습니다(덴마크 수학자 요한 옌센의 이름을 딴 옌센 부등식⁠(Jensen's inequality)⁠). 그래서 −D=∑pilog⁡2(qi/pi)≤log⁡2∑pi(qi/pi)≤log⁡21=0-D = \sum p_i \log_2 (q_i/p_i) \le \log_2 \sum p_i (q_i/p_i) \le \log_2 1 = 0입니다(합은 pi>0p_i \gt 0인 i에 대해서만 하므로 ∑qi\sum q_i가 1 이하입니다). 그러나 KL 발산은 거리가 아닙니다. D(p‖q)와 D(q‖p)가 다를 수 있고(대칭이 아님), A에서 C로 곧장 가는 거리가 B를 거쳐 가는 거리보다 길 수 없다는 삼각부등식⁠(triangle inequality)⁠도 성립하지 않아서 '발산⁠(divergence)⁠'이라는 이름을 씁니다. 공정한 주사위를 q로 두면 D(p∥q)≈0.424D(p\|q) \approx 0.424, D(q∥p)≈0.350D(q\|p) \approx 0.350비트로 다릅니다. '6을 얕보는 모형'을 누르면 차이가 커집니다. 실제로는 자주 나오는 결과에 모형이 아주 작은 확률을 주면, 그 결과가 나올 때마다 −log⁡2qi-\log_2 q_i비트라는 큰 값을 치르기 때문입니다. q가 어떤 결과를 불가능하다고(qi = 0) 믿는데 그것이 일어나면 D(p‖q)는 무한대입니다.

증거로 돌아가 봅시다. 주사위를 번 굴리며 한 번마다 log⁡2(pi/qi)\log_2 (p_i/q_i)비트씩 증거를 더합니다. 다시 굴리기

파란 선: 실제로 p에서 굴린 기록 12개. 초록 선: q에서 굴린 기록 12개. 점선의 기울기⁠(slope)⁠가 각각 D(p‖q)와 −D(q‖p)입니다. 0보다 위면 증거가 p를, 아래면 q를 가리킵니다.

한 번의 관측은 어느 쪽으로든 튈 수 있지만, 큰 수의 법칙⁠(law of large numbers)⁠에 따라 증거는 한 번에 평균 D(p‖q)비트씩 곧게 쌓입니다. 증거의 합은 기울기가 있는 무작위 행보⁠(random walk)⁠인 셈입니다. 그래서 참이 p일 때 잘못 판단할 확률을 일정한 작은 수준 아래로 묶어 두면, 가장 좋은 판정법에서 참이 q인데 p라고 판단할 확률은 대략 2−nD(p∥q)2^{-nD(p\|q)}처럼 줄어듭니다. 정확히는 이 확률의 로그를 −n으로 나눈 값이 D(p∥q)D(p\|q)로 수렴⁠(convergence)⁠합니다(미국 통계학자 찰스 스타인의 이름을 딴 스타인의 보조정리⁠(Stein's lemma)⁠). 두 방향의 기울기가 다르다는 것이 비대칭의 뜻입니다. 조작된 주사위를 공정하다고 착각하지 않기와, 공정한 주사위를 조작됐다고 착각하지 않기는 서로 다른 속도⁠(velocity)⁠로 쉬워집니다. 가설이 참일 확률과 거짓일 확률의 비를 오즈라 합니다(확률 0.8이면 오즈⁠(odds)⁠는 4). 베이즈 정리⁠(Bayes' theorem)⁠를 오즈의 로그로 쓰면 '관측 뒤의 로그 오즈⁠(log-odds)⁠ = 관측 전의 로그 오즈 + 증거의 합'이 되니, 튜링의 데시반은 이 덧셈을 손으로 하기 위한 단위였습니다.

오늘날 가장 많이 계산되는 KL 발산은 기계 학습⁠(machine learning)⁠의 손실 함수⁠(loss function)⁠, 곧 모형이 얼마나 틀렸는지를 재어 줄여 나가는 값에 숨어 있습니다. 분류하는 신경망⁠(neural network)⁠은 정답 분포 p와 모형이 내놓는 분포 q 사이의 교차 엔트로피 −∑pilog⁡qi-\sum p_i \log q_i를 줄이도록 역전파⁠(backpropagation)⁠와 경사 하강법⁠(gradient descent)⁠으로 학습합니다. H(p)는 모형과 무관하니 교차 엔트로피를 줄이는 것은 D(p‖q)를 줄이는 것과 같습니다. 또 p를 학습 자료의 경험 분포(자료에서 센 빈도)로 두면, 모형이 실제 자료에 매기는 확률(가능도⁠, likelihood⁠)을 가장 크게 하는 최대가능도법⁠(maximum likelihood)⁠과도 같습니다. 언어 모형의 성능도 실제 글에 대한 교차 엔트로피 H로 재거나, 그것을 2H2^H로 바꾼 퍼플렉시티⁠(perplexity)⁠로 잽니다(n-그램⁠(n-gram)⁠). 퍼플렉시티가 k라는 것은 모형이 매번 똑같이 그럴듯한 후보 k개 사이에서 고르는 것만큼 헷갈린다는 뜻입니다.

이어지는 곳. 결합 분포⁠(joint distribution)⁠와 주변 분포의 곱 사이의 KL 발산이 상호 정보량⁠(mutual information)⁠이고, 조건을 만족하는 분포 가운데 균등분포와의 KL 발산이 가장 작은 것을 고르는 일이 곧 엔트로피⁠(entropy)⁠가 가장 큰 것을 고르는 최대 엔트로피 원리⁠(principle of maximum entropy)⁠입니다. 확률 모형 q로 산술 부호화⁠(arithmetic coding)⁠를 하면 기호당 거의 정확히 −log⁡2qi-\log_2 q_i비트가 들어서, 모형이 틀린 값이 그대로 D(p‖q)비트로 나타납니다. 허프만 부호⁠(Huffman coding)⁠로 짠 표를 빈도가 다른 글에 쓸 때 손해를 보는 것도 같은 이치입니다. 언어 모델⁠(language model)⁠을 사람의 선호 쪽으로 조정하는 RLHF는 조정된 모델이 원래 모델에서 너무 멀어지지 않도록 두 모델의 출력 분포 사이의 KL 발산을 벌점으로 더합니다. 채점 결과를 보상으로 강화 학습⁠(reinforcement learning)⁠하는 추론 모델의 GRPO도 출발 모델에서 멀어지지 않도록 같은 KL 벌점을 둡니다. 마르코프 연쇄⁠(Markov chain)⁠에서는 현재 분포와 정상 분포(오래 돌리면 다다라 더는 바뀌지 않는 분포) 사이의 KL 발산이 한 걸음마다 줄거나 그대로여서, 열역학 제2법칙⁠(second law of thermodynamics)⁠의 정보 이론판처럼 읽힙니다(맥스웰의 악마⁠(Maxwell's demon)⁠). 분포를 비교하는 또 다른 방법으로, 확률 질량을 옮기는 비용을 재는 최적 수송⁠(optimal transport)⁠ 거리는 진짜 거리의 성질을 갖습니다. 조건부 엔트로피⁠(conditional entropy)⁠와 엔트로피 자체도 KL 발산으로 다시 쓸 수 있습니다. 예컨대 결과가 n가지일 때 H(p)=log⁡2n−D(p ∥ 균등)H(p) = \log_2 n - D(p\,\|\,\text{균등})입니다.

관련된 시대와 장소블레츨리 파크

이 개념이 나오는 긴 글

통신과 잡음 잡음 너머로 대서양 바닥의 케이블은 왜 신호를 뭉갰을까? 잡음이 있어도 오류 없이 보낼 수 있다는 섀넌의 정리와, 그 한계를 50년 동안 쫓은 부호들. 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다. 측정의 수학 재는 순간 바뀐다 해안선의 길이는 자에 따라, 평균은 누구에게 묻느냐에 따라, 지표는 목표가 되는 순간 달라진다. 리처드슨의 국경과 프랙털 차원, 스티븐스의 척도, 버스 정류장과 타율의 역설, 스피어먼의 요인, 굿하트의 법칙과 보상 해킹을 한 줄로 꿴다. 게임과 증명 이기는 쪽이 존재한다 "이 판은 백이 이겼다"는 흑이 어떻게 두든 백에게 답이 있다는 말이다. 체스의 체르멜로 정리, ε–δ, 님의 이진법, 폰 노이만의 최소최대와 쌍대성, 논리의 한계를 재는 게임, 끝나지 않는 게임과 선택공리, 대화로 읽는 증명, 겨루며 배우는 신경망까지. 수학의 참을 두 사람의 게임으로 읽는다. 압축과 과학 압축하는 것이 이해하는 것이다 튀코 브라헤가 20년 동안 적은 행성의 위치를 케플러는 법칙 세 줄로 줄였다. 짧게 적는 일과 이해하는 일은 정말 같은 일일까? 오컴의 면도날을 비트로 재는 법, 과적합을 압축의 실패로 읽는 법, 그리고 그 말이 정리인 곳과 철학인 곳.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념