추론의 기하학

사영의 피타고라스: 직각으로 떨어지는 점

모델을 학습하다 보면 지금 모델이 가장 좋은 모델보다 얼마나 나쁜지 알고 싶을 때가 많다. 가장 좋은 점, 곧 사영점을 찾았다면 모델 위의 다른 점들은 그 점과 어떤 관계에 있을까? 사영점에는 무슨 특별한 모양이 있는가?

평면에서 점 하나를 직선에 내려찍으면 내려온 선분이 직선과 직각이고, 직선 위의 다른 점까지의 거리가 피타고라스로 나뉜다. 정보기하학의 사영에도 같은 두 가지가 있는데, 다만 「직각」을 재는 계량이 피셔 계량이고 「거리의 제곱」 자리에 KL이 들어간다.

현실 p, 모델 위의 m-사영점 qₘ, 모델 위의 다른 점 r. p에서 qₘ으로 내린 길이 모델과 피셔 계량으로 직각을 이루고, 빗변 KL(p‖r)이 KL(p‖qₘ)과 KL(qₘ‖r)의 합으로 나뉜다
현실 p, 모델 위의 m-사영점 qₘ, 모델 위의 다른 점 r. p에서 qₘ으로 내린 길이 모델과 피셔 계량으로 직각을 이루고, 빗변 KL(p‖r)이 KL(p‖qₘ)과 KL(qₘ‖r)의 합으로 나뉜다

직교

모델 M 위의 곡선을 따라 움직이는 방향을 ∂i라 하자. qm이 KL(p‖q)의 최소점이면, 그 점에서 KL을 ∂i 방향으로 미분한 값이 0이다. 그 조건을 풀어 쓰면 이렇다.

∑x(p(x)−qm(x)) ∂ilog⁡q(x)∣q=qm=0\sum_{\textcolor{#6f8fa6}{x}} \big(\textcolor{#d6479f}{p}(\textcolor{#6f8fa6}{x}) - \textcolor{#7f8f10}{q}_{\mathrm{m}}(\textcolor{#6f8fa6}{x})\big)\, \partial_i \log \textcolor{#7f8f10}{q}(\textcolor{#6f8fa6}{x}) \Big|_{\textcolor{#7f8f10}{q} = \textcolor{#7f8f10}{q}_{\mathrm{m}}} = 0
p−qmp 에서 qm 으로 가는 m-측지선의 방향∂ilog⁡q모델을 따라 움직이는 방향 (파라미터에 대한 스코어)p현실 분포q, qm모델 안의 분포, m-사영점x표본 공간의 값i모델 파라미터의 번호\begin{array}{ll} \textcolor{#d6479f}{p} - \textcolor{#7f8f10}{q}_{\mathrm{m}} & \text{p 에서 } q_{\mathrm{m}} \text{ 으로 가는 m-측지선의 방향} \\ \partial_i \log \textcolor{#7f8f10}{q} & \text{모델을 따라 움직이는 방향 (파라미터에 대한 스코어)} \\ \textcolor{#d6479f}{p} & \text{현실 분포} \\ \textcolor{#7f8f10}{q},\ \textcolor{#7f8f10}{q}_{\mathrm{m}} & \text{모델 안의 분포, m-사영점} \\ \textcolor{#6f8fa6}{x} & \text{표본 공간의 값} \\ i & \text{모델 파라미터의 번호} \end{array}

두 방향 u, v의 피셔 내적은 Σ u(x) v(x) / q(x)이다. u = p − qm, v = ∂iq를 넣으면 직교 조건 식 Σ (p − qm) ∂i log q = 0이 된다. 「최소점이다」와 「p에서 온 m-측지선이 모델과 피셔 직교한다」는 같은 말이다. 유클리드 직교가 아니다. 심플렉스(결과가 셋인 분포를 점으로 찍는 삼각형) 그림 위에서 눈으로 보면 비스듬하다.

m과 e를 바꾸고 KL의 두 인자 순서도 바꾼 쌍대 쪽에서도 같은 말이 성립한다. qe가 KL(q‖p)의 그래디언트가 0인 점(정류점)이면, p와 qe를 잇는 e-측지선이 모델과 피셔 직교한다.

언제 하나인가

직교 조건을 만족하는 점이 하나뿐이라는 보장은 모델의 모양에 달려 있다.

정규분포족은 e-평탄해서 m-사영(모멘트 일치)은 늘 하나였지만, m-평탄하지는 않아서 e-사영에는 하나뿐이라는 보장이 없다. 폭이 1인 두 봉우리를 간격 5로 반반 섞은 분포를 정규분포 하나에 맞추면, e-사영의 후보가 가운데 하나와 봉우리 쪽 둘, 모두 셋이었다. 아래 그림은 같은 분포에서 두 KL을 정규분포의 평균 μ의 함수로 그린 것이다(표준편차 σ는 μ마다 가장 좋은 값으로 고른다). KL(p‖q) 곡선은 극소점이 하나뿐이고, KL(q‖p) 곡선은 극소점이 셋이다. 직교 조건은 「그 점에서 그래디언트가 0」이라는 조건이므로, 극소점이 여럿이면 직교하는 점도 여럿이다.

폭 1, 간격 5인 두 봉우리 분포를 정규분포 하나에 맞출 때의 두 KL. 위: KL(p‖q)는 평균 μ = 0에 극소점이 하나다. 아래: KL(q‖p)는 μ = 0과 μ = ±2.4 근처에 극소점이 셋이다(σ는 μ마다 가장 좋게 골랐다)
폭 1, 간격 5인 두 봉우리 분포를 정규분포 하나에 맞출 때의 두 KL. 위: KL(p‖q)는 평균 μ = 0에 극소점이 하나다. 아래: KL(q‖p)는 μ = 0과 μ = ±2.4 근처에 극소점이 셋이다(σ는 μ마다 가장 좋게 골랐다)

사영의 이름과 모델의 평탄함이 엇갈려야 유일하다는 것, 이것이 쌍대 구조가 일하는 방식이다.

피타고라스

유일한 사영점에서는 KL이 두 조각으로 깔끔하게 나뉜다.

KL(p ∥ r)=KL(p ∥ qm)+KL(qm ∥ r)(M 이 e-평탄, r∈M)KL(r ∥ p)=KL(r ∥ qe)+KL(qe ∥ p)(M 이 m-평탄, r∈M)\begin{aligned} \textcolor{#c2398a}{\mathrm{KL}}(\textcolor{#d6479f}{p}\,\|\,\textcolor{#7f8f10}{r}) &= \textcolor{#c2398a}{\mathrm{KL}}(\textcolor{#d6479f}{p}\,\|\,\textcolor{#7f8f10}{q}_{\mathrm{m}}) + \textcolor{#c2398a}{\mathrm{KL}}(\textcolor{#7f8f10}{q}_{\mathrm{m}}\,\|\,\textcolor{#7f8f10}{r}) \\ &\quad (\textcolor{#407050}{M} \text{ 이 e-평탄, } \textcolor{#7f8f10}{r} \in \textcolor{#407050}{M}) \\[6pt] \textcolor{#c2398a}{\mathrm{KL}}(\textcolor{#7f8f10}{r}\,\|\,\textcolor{#d6479f}{p}) &= \textcolor{#c2398a}{\mathrm{KL}}(\textcolor{#7f8f10}{r}\,\|\,\textcolor{#7f8f10}{q}_{\mathrm{e}}) + \textcolor{#c2398a}{\mathrm{KL}}(\textcolor{#7f8f10}{q}_{\mathrm{e}}\,\|\,\textcolor{#d6479f}{p}) \\ &\quad (\textcolor{#407050}{M} \text{ 이 m-평탄, } \textcolor{#7f8f10}{r} \in \textcolor{#407050}{M}) \end{aligned}
p현실 분포 (모델 밖)qme-평탄 모델 위로의 m-사영점qem-평탄 모델 위로의 e-사영점r모델 위의 아무 점KLKL 발산M모델\begin{array}{ll} \textcolor{#d6479f}{p} & \text{현실 분포 (모델 밖)} \\ \textcolor{#7f8f10}{q}_{\mathrm{m}} & \text{e-평탄 모델 위로의 m-사영점} \\ \textcolor{#7f8f10}{q}_{\mathrm{e}} & \text{m-평탄 모델 위로의 e-사영점} \\ \textcolor{#7f8f10}{r} & \text{모델 위의 아무 점} \\ \textcolor{#c2398a}{\mathrm{KL}} & \text{KL 발산} \\ \textcolor{#407050}{M} & \text{모델} \end{array}

첫 줄을 읽어 보자. 현실 p에서 모델 위의 아무 점 r까지의 KL은 「p에서 사영점까지」와 「사영점에서 r까지」의 합이다. 직각삼각형의 빗변이 두 변으로 나뉘듯이. KL의 두 인자 자리에 무엇을 넣느냐가 중요한데, p는 언제나 첫 인자, r은 언제나 둘째 인자다. 순서를 바꾸면 등식이 깨진다(아래 문제 6).

첫 줄의 등식 KL(p‖r) = KL(p‖qm) + KL(qm‖r)에서 두 가지가 바로 나온다. KL(qm‖r) ≥ 0이므로 qm이 정말로 최소점이다. 그리고 r이 사영점에서 멀어질수록 얼마나 손해인지가 정확히 KL(qm‖r)이다. EM 알고리즘(기댓값 계산 Expectation과 최대화 Maximization을 번갈아 하는 알고리즘)은 이 분해를 한 스텝마다 쓴다.

직접 움직여 보기

불러오는 중…

파이썬

import numpy as np

def q(th):                                  # 모델 M: 이항분포 B(2, θ) — 지수족, e-평탄
    return np.array([(1 - th)**2, 2 * th * (1 - th), th**2])

def dq(th):                                 # 모델 곡선의 접벡터(곡선을 따라가는 방향) dq/dθ
    return np.array([-2 * (1 - th), 2 - 4 * th, 2 * th])

def kl(a, b):
    return np.sum(a * np.log(a / b))

p = np.array([0.6, 0.1, 0.3])               # 모델 밖의 현실
th_m = (p @ [0, 1, 2]) / 2                  # m-사영점 = 평균 k 를 맞춘 θ
q_m = q(th_m)

u = p - q_m                                 # p 에서 q_m 으로 가는 m-측지선의 방향
print(f"θ_m = {th_m:.3f}   q_m = {np.round(q_m, 4)}")
print(f"유클리드 내적 {u @ dq(th_m):+.4f}   피셔 내적 {np.sum(u * dq(th_m) / q_m):+.1e}")

for th_r in [0.1, 0.7, 0.9]:
    r = q(th_r)
    lhs, rhs = kl(p, r), kl(p, q_m) + kl(q_m, r)
    print(f"r=B(2,{th_r}):  KL(p‖r) {lhs:.6f}   KL(p‖q_m)+KL(q_m‖r) {rhs:.6f}   잔차 {lhs - rhs:+.1e}")
# θ_m = 0.350   q_m = [0.4225 0.455  0.1225]
# 유클리드 내적 -0.3195   피셔 내적 +0.0e+00
# r=B(2,0.1):  KL(p‖r) 0.781518   KL(p‖q_m)+KL(q_m‖r) 0.781518   잔차 +1.1e-16
# r=B(2,0.7):  KL(p‖r) 0.847577   KL(p‖q_m)+KL(q_m‖r) 0.847577   잔차 +0.0e+00
# r=B(2,0.9):  KL(p‖r) 2.099853   KL(p‖q_m)+KL(q_m‖r) 2.099853   잔차 +0.0e+00

유클리드 내적으로는 직교하지 않고(−0.32), 피셔 내적으로는 0이 되어 직교한다. 피타고라스의 잔차는 부동소수점 오차 수준인 10−16 크기다.

이 절의 결론

「m-사영점 qm에서는 p와 qm을 잇는 m-측지선이 모델과 피셔 직교한다. 그래서 KL(p‖r)이 피타고라스처럼 KL(p‖qm) + KL(qm‖r)로 나뉜다.」

인물 이야기: Imre Csiszár와 「발산의 통일」

임레 치사르(Imre Csiszár)
임레 치사르(Imre Csiszár)

1960년대 초, 부다페스트. 헝가리 과학원 수학연구소에 막 들어온 젊은 수학자 임레 치사르(Imre Csiszár)는 정보이론과 확률론의 경계에서 일하고 있었다. 연구소를 세우고 이끌던 알프레드 레니(Alfréd Rényi)는 1961년 논문 「엔트로피와 정보의 척도에 대하여」에서 이미 비슷한 양을 다룬 적이 있었다.

그가 마주한 물음은 이랬다. KL 발산, χ²(카이제곱) 발산, 헬링거 거리처럼 분포 사이의 「다름」을 재는 양이 여러 개인데, 이 양들 사이에 체계가 있는가? 아니면 각각이 별개의 발명인가?

1963년, 치사르는 마르코프 체인의 에르고딕성(오래 돌리면 모든 상태를 고르게 지나는 성질)을 증명하는 논문에서 이 양들을 하나의 가족, f-발산(f-divergence)으로 묶었다. 볼록함수 f 하나를 고르면 발산 하나가 정해진다. f(x) = x log x이면 KL, f(x) = (x−1)²이면 χ², f(x) = (√x − 1)²이면 헬링거(의 제곱)다.

f-발산 가족: 볼록함수 x log x, (x − 1)², (√x − 1)²는 모두 x = 1에서 0이 되고, 같은 두 분포 p = (0.2, 0.2, 0.6), r = (1/3, 1/3, 1/3)에 넣으면 KL 0.148, χ² 0.320, 헬링거 제곱 0.073이라는 서로 다른 발산 값을 낸다(직접 그림, 값은 sources/11-추론의 기하학/fig_fdiv_family.py 로 계산)
f-발산 가족: 볼록함수 x log x, (x − 1)², (√x − 1)²는 모두 x = 1에서 0이 되고, 같은 두 분포 p = (0.2, 0.2, 0.6), r = (1/3, 1/3, 1/3)에 넣으면 KL 0.148, χ² 0.320, 헬링거 제곱 0.073이라는 서로 다른 발산 값을 낸다(직접 그림, 값은 sources/11-추론의 기하학/fig_fdiv_family.py 로 계산)

같은 1963년, 일본의 물리학자 모리모토 데쓰조(Tetsuzo Morimoto)가 마르코프 과정과 H-정리(엔트로피가 시간이 갈수록 늘어난다는 볼츠만의 정리)를 다루며 같은 꼴에 닿았다. 1966년에는 알리(S. M. Ali)와 실비(S. D. Silvey)가 영국 왕립통계학회지에 같은 가족을 통계학의 언어로 정리했고, 그래서 이 발산은 치사르–모리모토 발산, 알리–실비 거리라고도 불린다. 문제가 무르익으면 다른 곳에서 같은 답이 나온다.

치사르의 기여는 거기서 멈추지 않았다. 1975년 논문에서 그는 KL 발산(그의 말로는 I-발산, I-divergence)이 유클리드 거리의 제곱 노릇을 하는 기하학을 썼다. 볼록 집합 위로 분포를 사영하는 문제, 그 사영점이 있는지와 어떤 모양인지, 그리고 사영점에서 성립하는 피타고라스형 관계. 이 절의 사영과 피타고라스가 서 있는 기초 가운데 하나다. 1984년에는 가보르 투슈나디(Gábor Tusnády)와 함께, 두 집합 사이를 번갈아 최소화하는 절차를 같은 기하학으로 분석했다.

그가 놓은 기초, 곧 f-발산과 I-사영(KL 발산을 최소로 하는 사영)은 아마리(Amari)의 쌍대 구조와 만나 사영과 교대 최소화의 기하학을 꿰뚫는 뼈대가 되었다.

김민준 M01
김민준

위 파이썬에서는 이항분포 모델 위에서 KL(p‖r)이 두 KL의 합과 잔차 10−16까지 맞았잖아요. 숫자 셋을 넣고 돌리면 끝나는 일인데, 1975년에 논문으로 쓸 만한 일이었어요?

선생님 T14
선생님

그 코드의 p는 결과가 셋뿐인 분포였어요. 치사르가 다룬 건 결과가 실수 전체에 퍼진 분포까지 들어가는 일반적인 경우였고, 거기서 사영점을 고르는 건 숫자 셋이 아니라 끝없이 많은 숫자를 한꺼번에 고르는 일이에요. 그러면 무엇부터 걱정해야 할까요?

이서연 S01
이서연

음, 유클리드 공간에서는 닫힌 볼록 집합 위로 내린 정사영이 늘 있고 하나뿐이라고 배웠어요. 그 증명에서 내적이랑 삼각부등식을 썼던 것 같은데요.

선생님 T01
선생님

그 두 가지가 KL에는 있어요?

이서연 S06
이서연

없어요. KL은 두 인자를 바꾸면 값이 달라지고, 삼각부등식도 안 돼요. 그럼 가장 가까운 점이 있기는 한지부터 따로 증명해야 했겠네요. 상자에 「사영점이 있는지」가 물음으로 적혀 있던 게 그래서고요.

선생님 T01
선생님

하나 더 있어요. 이 절에서는 사영점의 직각을 피셔 계량으로 재고, 그 직각을 m과 e 두 접속의 쌍대 구조로 읽었죠. 그 쌍대 구조의 말은 1980년대 아마리의 작업에서 자리 잡았어요. 1975년의 치사르는 그 말 없이 KL과 볼록 집합만 가지고 피타고라스형 관계를 세운 거예요.

김민준 M03
김민준

그럼 결과가 셋뿐인 이항분포 모델에서는 사영점이 있는지 걱정할 필요는 없겠네요. 그래도 삼각부등식도 없는 KL이 위 코드에서 딱 두 조각으로 나뉜 건, 모델의 어떤 모양 덕분이었을까요?

문제 6. 피타고라스를 증명하라 (킬러)

모델 M은 이항분포족 B(2, θ)이고, p = (0.2, 0.2, 0.6)이다. (가) m-사영점 qm을 구하고, r = B(2, 0.4)에 대해 KL(p‖r) = KL(p‖qm) + KL(qm‖r)를 수치로 확인하라. (나) 세 KL의 두 인자 순서를 모두 뒤집은 등식 KL(r‖p) = KL(r‖qm) + KL(qm‖p)도 성립하는가? (다) 모델이 지수족 pθ(x) = exp(θ·t(x) − F(θ))일 때(F는 합이 1이 되게 맞추는 로그정규화자) (가)의 등식을 증명하라. (위 위젯의 「문제 6의 p」 단추로 이 p와 r을 불러올 수 있다.)

심플렉스 위의 모델 곡선 B(2, θ)와, 모델 밖의 p = (0.2, 0.2, 0.6), 모델 위의 r = B(2, 0.4). 찾을 m-사영점 qₘ은 그리지 않았다
심플렉스 위의 모델 곡선 B(2, θ)와, 모델 밖의 p = (0.2, 0.2, 0.6), 모델 위의 r = B(2, 0.4). 찾을 m-사영점 qₘ은 그리지 않았다

함께 풀기

김민준 M01
김민준

qm은 평균을 맞추면 되니까, 평균 k가 1.4라서 θ = 0.7, (0.09, 0.42, 0.49)예요. 좌변 0.5004, 우변 0.1328 + 0.3676 = 0.5004. 맞아요.

김민준 M01
김민준

(나)도 KL이니까 당연히 돼요. 저는 처음에 뒤집은 등식으로 짰거든요. 그런데… KL(r‖p) = 0.4203이고, 우변은 0.3841 + 0.1405 = 0.5246이에요. 안 맞아요.

김민준 M01
김민준

코드에 버그가 있나 해서 세 번 봤어요. 같은 KL인데 왜 한쪽만 되죠?

선생님 T01
선생님

등식의 세 KL에서 p는 늘 어느 자리에 있었어요?

김민준 M01
김민준

(가)에서는 p가 늘 왼쪽이에요. p‖r, p‖qm. 그리고 qm‖r에서는 사영점이 왼쪽이고요.

선생님 T01
선생님

qm은 어떤 KL을 최소로 한 점이었죠?

김민준 M07
김민준

KL(p‖·)요. p를 왼쪽에 두고 최소화한 점이니까, 그 점에서 나뉘는 것도 p가 왼쪽인 KL이에요. 뒤집은 등식은 KL(·‖p)를 최소화한 e-사영점에서, 그것도 m-평탄한 모델에서나 기대할 수 있는 거네요.

선생님 T01
선생님

그래요. (다)로 가죠. 서연 학생?

이서연 S01
이서연

직교를 쓰면 될 것 같아요. p − qm이 모델의 접벡터와 직교하고, qm − r도 모델을 따라가니까, 유클리드 공간의 피타고라스 ‖p − r‖² = ‖p − qm‖² + ‖qm − r‖²를 KL로 옮기면…

선생님 T01
선생님

그 직교, 유클리드 내적으로 재 봤어요?

이서연 S01
이서연

(p − qm)·dq/dθ = +0.26이에요. 0이 아니에요. 피셔 내적으로는 0이고요.

선생님 T01
선생님

직교 말고 다른 가정은요? qm − r는 어느 방향이었죠?

이서연 S01
이서연

모델이 심플렉스 안에서 휘어 있으니까 qm − r가 접벡터 방향도 아니에요. 게다가 KL은 제곱 노름이 아니니까 전개가 애초에 안 맞아요.

이서연 S06
이서연

그럼 어디서 시작해야 하죠? 기하 그림으로는 확실한데 식이 안 따라와요.

선생님 T01
선생님

그림은 잠깐 내려놓고, 좌변에서 우변을 빼 봐요. 로그가 어떻게 모이는지만 봐요.

이서연 S01
이서연

KL(p‖r) − KL(p‖qm) − KL(qm‖r)… log p 항은 지워지고, Σ p log(qm/r) − Σ qm log(qm/r)이 남아요. 합치면 Σ (p − qm) log(qm/r).

선생님 T01
선생님

지수족이면 log(qm/r)는 뭐예요?

이서연 S01
이서연

log qm − log r = (θm − θr)·t(x) − F(θm) + F(θr).

선생님 T01
선생님

그걸 (p − qm)와 곱해 더하면 상수항은 어떻게 돼요?

이서연 S08
이서연

Σ(p − qm) = 0 때문에 사라져요. 남는 건 (θm − θr)·(Ep[t] − Eqm[t])예요.

이서연 S09
이서연

그리고 qm은 모멘트 일치점이니까 Ep[t] = Eqm[t]. 뒤 괄호가 0이에요. 끝이에요. θ의 차이와 η의 차이가 곱해지는데, η 쪽이 0이라서 사라지는 거예요.

김민준 M01
김민준

숫자로 보면 θm − θr = 0.847 − (−0.405) = 1.253이고, 평균 k는 p도 qm도 1.4예요. 곱이 0이에요.

선생님 T01
선생님

그 증명에서 「직교」는 어디 있었어요?

이서연 S01
이서연

θ의 차이와 η의 차이의 곱이 0이라는 것, 그게 직교예요. θ의 차이는 e-측지선을 따라 재고, η의 차이는 m-측지선을 따라 재요. 유클리드 직교가 아니라 두 좌표를 짝지은 직교예요.

선생님 T13
선생님

두 사람 다 한 번씩 그림에 속았어요. 민준 학생은 KL이 대칭인 것처럼 인자 순서를 바꿨고, 서연 학생은 심플렉스 그림의 직각을 유클리드 직각으로 읽었어요. 가져갈 것은 셋이에요. 피타고라스는 사영의 방향과 KL 인자의 순서가 맞을 때만 성립한다. 직교는 피셔 계량으로 잰다. 그리고 지수족에서는 그 직교가 θ의 차이와 η의 차이의 곱으로 쓰인다.

이서연 S01
이서연

선형대수에서 쌍대 기저를 배울 때, 한 기저로 잰 좌표와 다른 기저로 잰 좌표를 곱해야 내적이 된다는 게 이해가 안 됐는데요. 이게 그거였네요. θ와 η가 서로의 쌍대 기저예요.

풀어 본 뒤 위젯에서 확인 → 위 심플렉스 사영 위젯의 「문제 6의 p와 r」 단추

문제 7. loss의 차이는 데이터 없이 잴 수 있는가

리뷰 100개에 긍정·중립·부정 라벨이 70, 10, 20개 붙어 있고, 로짓을 (w, 0, −w)로 묶은 분류기로 학습한다. 크로스 엔트로피 loss가 가장 작은 모델은 w* = 0.834, 그 확률은 q* = (0.616, 0.268, 0.116), loss는 0.901이다. (가) 학습을 시작하기 전의 모델 w = 0과, 너무 멀리 간 모델 w = 1.5의 loss를 구하고, 가장 좋은 모델과의 loss 차이를 두 모델 사이의 KL과 비교하라. (나) 이 loss 차이를 계산하는 데 데이터가 필요한가? (다) 로짓을 (w, −w², −w)로 바꾼 분류기에서도 (가)에서 찾은 관계가 성립하는가?

w 축 위의 세 모델: 학습 전 w = 0, 가장 좋은 w* = 0.834(확률 0.616, 0.268, 0.116, loss 0.901), 너무 멀리 간 w = 1.5. 양 끝 모델의 loss는 비워 두었다
w 축 위의 세 모델: 학습 전 w = 0, 가장 좋은 w* = 0.834(확률 0.616, 0.268, 0.116, loss 0.901), 너무 멀리 간 w = 1.5. 양 끝 모델의 loss는 비워 두었다

함께 풀기

김민준 M01
김민준

w = 0이면 세 확률이 다 1/3이라 loss는 ln 3 = 1.099, 차이는 0.197이에요. w = 1.5면 loss 0.991, 차이 0.090이고요.

이서연 S01
이서연

모델 사이의 KL이면, 비교할 모델을 앞에 두고 KL(q0‖q*)겠지. 0.220이야. w = 1.5는 0.074. 차이랑 비슷은 한데 같지는 않네. 역시 loss 차이에는 데이터가 들어가니까 모델 둘만으로는 안 되는 거야.

선생님 T01
선생님

사영의 피타고라스에서 세 KL의 인자 자리를 다시 봐요. 사영점은 어느 자리에 있었어요?

이서연 S08
이서연

KL(p‖r) = KL(p‖qm) + KL(qm‖r)니까 사영점이 첫 인자예요. 제가 순서를 거꾸로 넣었어요.

김민준 M01
김민준

그럼 순서 바꿔서 다시 재 볼게. KL(q‖q0) = 0.197, KL(q‖q1.5) = 0.090.

이서연 S01
이서연

loss 차이랑 소수 다섯째 자리까지 같네.

선생님 T01
선생님

왜 같은지도 말해 볼래요?

이서연 S01
이서연

loss는 H(p̂) + KL(p̂‖q)니까, 두 모델의 loss 차이는 KL(p̂‖qw) − KL(p̂‖q*)예요.

선생님 T01
선생님

그 차이를 피타고라스로 줄일 수 있을까요?

이서연 S01
이서연

로짓을 묶은 분류기는 지수족이고 q는 p̂의 m-사영점이니까… 피타고라스로 loss 차이가 KL(q‖qw)예요.

김민준 M07
김민준

그럼 (나)는 필요 없다예요! 가장 좋은 모델 하나만 알면, 다른 모델이 loss를 얼마나 더 내는지는 데이터를 다시 보지 않고 두 모델만으로 알 수 있어요.

이서연 S01
이서연

q*가 데이터에서 가져온 건 「긍정 비율 빼기 부정 비율」 하나뿐이고, 이 모델들이 loss로 느끼는 데이터도 그것뿐이니까요.

선생님 T01
선생님

(다)는요?

김민준 M01
김민준

돌려 보니 가장 좋은 w는 0.846, 확률은 (0.717, 0.150, 0.132), loss는 0.827이에요. 오히려 더 잘 맞아요. 그런데 w = 0과의 loss 차이는 0.272인데 KL(q*‖q0)은 0.308이에요. 안 맞아요.

이서연 S07
이서연

w²가 들어가면 log q가 w에 대해 선형이 아니에요. 이 모델들의 모임은 지수족이 아니고 e-평탄하지 않아요. 피타고라스가 보장되는 건 e-평탄한 모델 위로 m-사영할 때뿐이었어요.

선생님 T01
선생님

loss는 더 낮았는데요?

이서연 S01
이서연

잘 맞는 것과 기하가 깔끔한 건 다른 일이에요. 더 잘 맞는 대신, 데이터 없이 loss 차이를 재는 지름길은 잃었어요.

김민준 M01
김민준

시험 채점에서 모범 답안과 내 답의 차이만 보면 감점이 바로 나오는 문제가 있고, 채점 기준표를 다시 펼쳐야 하는 문제가 있는 거랑 같네요.