첸초프의 정리: 정보를 잃지 않는 옮기기가 피셔 계량을 고른다
세 얼굴이 모두 발밑에서 피셔 계량으로 모였다. 그런데 ML에서는 자를 고르는 일이 흔하다. 파라미터 두 벌이 얼마나 다른지를 숫자 차이의 제곱합으로 잴 수도 있고, 출력 분포 사이의 KL로 잴 수도 있다. 분포 사이의 작은 걸음을 재는 자도 피셔 말고 다른 것을 골랐으면 어땠을까? 이 이야기들이 그대로 성립했을까, 아니면 애초에 고를 수 있는 자가 하나뿐이었을까?
기록을 잘게 쪼개 적기
자를 고르는 기준부터 하나 세워 보자. 날씨 기록을 두 분포로 견준다. 현실은 p = (맑음 0.7, 비 0.3), 모형은 q = (맑음 0.4, 비 0.6)이다. KL(p‖q) = 0.7 log(0.7/0.4) + 0.3 log(0.3/0.6) = 0.184다.
이제 기록하는 사람이 날마다 날씨 옆에 동전을 하나 던져 앞·뒤를 함께 적는다고 하자. 결과는 넷(맑음·앞, 맑음·뒤, 비·앞, 비·뒤)이 되고, 두 분포는 p = (0.35, 0.35, 0.15, 0.15), q = (0.2, 0.2, 0.3, 0.3)이 된다. 동전은 날씨와 상관이 없으니, 이 기록은 두 분포를 가르는 단서를 하나도 더하지도 빼지도 않았다. 실제로 계산해 보면 KL은 그대로 0.184다. 작은 걸음을 재는 피셔 계량도 그대로다. 비 올 확률을 0.3으로 둔 날씨 기록에서 피셔 정보는 1/(0.3 × 0.7) = 4.76이고, 동전을 덧붙인 네 칸 기록에서도 4.76이다.
확률을 다른 결과들 위로 옮겨 적는 변환을 통틀어 마르코프 사상이라고 부른다(「사상」은 수학에서 변환을 부르는 말이다). 칸을 합쳐 적는 것처럼 정보를 잃는 것도 있고, 동전을 덧붙여 잘게 쪼개 적는 것처럼 잃지 않는 것도 있다. 잃지 않는 옮기기는 같은 자료를 다르게 적은 것뿐이니, 자가 공정하다면 이런 옮기기를 거쳐도 값이 변하지 않아야 한다.
이 조건 하나만 걸면 자는 몇 개나 남을까? 결과가 유한 개인 경우에 답이 나와 있다. 정보를 잃지 않는 옮기기를 거쳐도 변하지 않는 계량은, 상수배를 빼면 피셔 계량 하나뿐이다. 이것을 첸초프(Chentsov)의 정리라고 부른다. 피셔를 고른 것은 취향이 아니었다. 「같은 자료를 다르게 적어도 같은 값을 내라」는 요구를 받아들이는 순간 고를 것이 하나만 남는다.
수확
“결과를 잘게 쪼개 적어도 값이 변하지 않아야 한다는 조건 하나가, 작은 걸음을 재는 자를 피셔 하나로 좁힌다.”
인물 이야기 — Nikolai Chentsov와 “유일성의 증명”
니콜라이 니콜라예비치 첸초프(Николай Николаевич Ченцов, 1930–1992)는 모스크바에서 확률론과 수리통계를 연구한 수학자였다. 1960년대 중반부터 그는 통계적 추론을 마르코프 사상(확률을 다른 결과 위로 옮겨 적는 변환)들의 틀로 묶어 보는 작업을 내놓았다.
그가 붙든 물음은 이것이었다. 확률분포의 공간에 "거리"를 정하는 방법은 무한히 많다. 리만 계량(점마다 작은 걸음의 길이를 재는 규칙을 하나씩 붙인 것)을 하나 고르면 된다. 그런데 어떤 계량을 골라야 하는가? 취향의 문제인가, 아니면 자연스러운 선택이 있는가?
그의 답은 정보를 잃지 않는 옮기기에 대해 변하지 않는 계량은 피셔 계량뿐이라는 것이었다. 이 결과는 1972년 모스크바의 나우카 출판사에서 나온 저서 『통계적 결정 규칙과 최적 추론』에 실렸다. 러시아어로. 미국수학회의 영어 번역(Statistical Decision Rules and Optimal Inference)은 1982년에야 나왔다.
"왜 피셔 정보가 자연스러운 계량인가"라는 물음의 답이 오늘날 "첸초프의 정리(Čencov’s theorem)"라고 불리는 바로 이 정리다. 이 교재에서 피셔 정보가 거리를 재고, 곡률을 정의하고, 사영의 직교를 재는 자리를 차지하는 것의 수학적 근거가 여기에 있다.
이 정리에는 뒷이야기가 둘 있다. 하나는 "단조성"으로 바꿔 말한 버전이다. 정보를 뭉개는 변환을 거치면 거리가 줄어들어야 한다는 조건이다. 고전 확률에서는 이것도 피셔를 가리키지만, 양자 상태의 공간으로 가면 이 조건을 만족하는 계량이 무수히 많다. 모로조바(Morozova)와 첸초프가 그 후보들을 연구했고, 페츠(Petz)가 1996년에 그것들을 한 가족으로 정리했다. 다른 하나는 무한차원이다. 결과가 무한히 많은 표본 공간으로의 확장은 2010년대 중반, 아이(Ay)·요스트(Jost)·레(Lê)·슈바흐회퍼(Schwachhöfer)와 바우어(Bauer)·브루베리스(Bruveris)·미코르(Michor)의 몫이었다. 첸초프의 유한한 증명이 일반적인 모습을 갖추기까지 40년 넘게 걸린 셈이다.
첸초프의 작업에는 계량뿐 아니라 접속(무엇을 곧은 길로 볼지 정하는 규칙)에 대한 결과도 있었다. 같은 불변성 조건을 만족하는 접속들은 숫자 α 하나로 이어진 가족을 이룬다는 것이다. 이 가족은 첸초프와 아마리(Amari)가 따로따로 찾았고, 아마리는 1980년대에 이것을 쌍대 접속의 구조로 발전시켰다. 오늘날 α-접속이라 부르는 것이다.
첸초프는 1992년에 세상을 떠났다. 그의 이름은 서방에서 Čencov, Chentsov, Cencov 등 여러 철자로 표기되어 검색조차 어렵다. 이 장이 "전체 지도"라면, 그 지도의 자가 하나뿐임을 증명한 사람이 첸초프다.
정리가 말하는 「정보를 잃지 않는 옮기기」를 거꾸로 돌리면 칸 합치기다. 합치기가 KL 값에 어떻게 드러나는지 숫자로 확인하자.
문제 7. 뭉개면 줄어든다
A = (0.5, 0.3, 0.2), C = (0.25, 0.25, 0.5)에서 결과 2와 3을 하나로 합친다. (가) 합치기 전과 후의 KL(A‖C)를 비교하라. (나) C를 (0.25, 0.45, 0.30)으로 바꾸면 어떻게 되는가? 합쳐도 KL이 줄지 않는 조건은? (다) 이것이 첸초프의 정리와 어떻게 이어지는가?
함께 풀기

동전을 덧붙여 쪼개 적어도 KL이 그대로였으니까, 거꾸로 합치는 것도 묶기만 하는 거라 그대로일 것 같아요. 그래도 계산은 했어요. 합치기 전 0.218, 합친 뒤 (0.5, 0.5)와 (0.25, 0.75) 사이 KL은 0.144예요.

줄었네요. 묶기만 했는데요.

합친 뒤에 "결과 2였는지 3이었는지"를 물으면 답할 수 있어요?

없어요. 그게 버려진 정보예요. 두 분포를 가르던 단서 일부가 그 칸 안에 있었고요.

그럼 KL이 그대로인 건 A = C일 때뿐이겠네요. 버리는 정보가 늘 있으니까요.

(나)의 C로 해 봐요.

합치기 전 0.144, 합친 뒤 0.144… 같아요. A와 C가 다른데도요.

결과 2와 3 사이의 비율을 A와 C에서 각각 봐요.

A는 0.3 : 0.2, C는 0.45 : 0.30. 둘 다 3 : 2예요. 합친 칸 안에서 두 분포가 똑같이 나뉘니까, 그 칸 안에는 둘을 가를 단서가 애초에 없었어요. 버린 게 없으니 KL도 그대로예요.

그게 "충분통계량"이에요. 합친 뒤의 결과가 두 분포를 가르는 데 충분하면 KL도 피셔도 그대로고, 아니면 줄어요. 첸초프는 거꾸로 물었어요. 이렇게 칸을 합치는 변환에 대해 변하지 않는 계량이 무엇이냐고. 답이 피셔 하나였고요.

조별 과제 점수를 조 평균으로만 공개하는 거랑 비슷해요. 조원끼리 점수가 똑같았으면 잃은 게 없고, 달랐으면 누가 잘했는지를 잃는 거죠.

해석학 수업에서 조건부 기댓값을 취하면 분산이 줄어드는 것과 같은 모양이에요. 등호는 원래 그 조건 안에서 이미 결정돼 있을 때만이고요.
문제 8. 상위 두 토큰만 알려 주는 API
두 언어 모델이 같은 문맥에서 다음 토큰 다섯 개에 준 확률이 p = (0.5, 0.2, 0.15, 0.1, 0.05), q = (0.4, 0.3, 0.1, 0.1, 0.1)이다. 어떤 API는 첫째·둘째 토큰의 확률만 알려 주고 나머지 셋은 「기타」 한 칸으로 묶는다. (가) 다섯 칸으로 잰 KL(p‖q)와 세 칸(첫째, 둘째, 기타)으로 잰 KL을 비교하라. (나) q의 셋째~다섯째 값을 어떻게 바꾸면 두 값이 같아지는가? (다) API로 잰 KL은 진짜 KL과 견주어 늘 어느 쪽인가?
함께 풀기

기타 칸은 p에서 0.15 + 0.1 + 0.05 = 0.3, q에서 0.1 + 0.1 + 0.1 = 0.3이에요. 기타 칸에서는 두 모델이 똑같으니까 세 칸으로 재도 다섯 칸과 같을 거예요.

그런데 돌려 보니 다섯 칸 0.0566, 세 칸 0.0305예요. 반 가까이 줄었어요. 기타 칸은 똑같았는데요.

기타 칸 안을 열어 보면, p와 q는 그 0.3을 어떻게 나눠 갖고 있어요?

p는 0.15 : 0.1 : 0.05 = 3 : 2 : 1, q는 1 : 1 : 1이에요. 묶음의 크기는 같아도 안쪽 나눔이 달라요. 칸을 합칠 때 사라지는 단서는 그 안쪽 나눔이에요. 칸 합치기 문제에서 두 칸의 비가 둘 다 3 : 2일 때만 KL이 그대로였던 것과 같아요.

그럼 (나)는 q의 기타 칸을 3 : 2 : 1로 나누면 돼요. q = (0.4, 0.3, 0.15, 0.1, 0.05)로 하면 다섯 칸 0.0305, 세 칸 0.0305. 같아요.

(다)는 늘 작거나 같아요. 묶으면 단서가 줄기만 하지 늘지는 않으니까요. API로 잰 차이가 작게 나왔다고 두 모델이 비슷하다고 말할 수는 없겠네요.

성적표에 과목별 점수 대신 총점만 적혀 있으면, 총점이 같은 두 사람이 어느 과목에서 갈리는지 모르는 거랑 같아요.