같은 공간에 접속이 두 개?

쌍대 평탄: 두 접속 모두에 곧은 좌표

출발 문제에서 정규분포 두 개의 가운데를 구할 때, 좌표 한 벌을 골라 숫자를 평균 내기만 했다. 평균이 곧은 길의 가운데가 되려면 그 좌표 위에서 곧은 길이 정말 직선으로 보여야 한다. α=±1\alpha = \pm 1인 e-접속과 m-접속은 측지선이 직선으로 보이는 좌표를 가진다는 점에서 특별하다. 두 접속으로 각각 공간을 보면 어떤 모양이고, e-접속으로 곧으면 m-접속으로는 휘어 있어야 할까?

동전 하나로 먼저 보자. 앞면이면 x=1x = 1, 뒷면이면 x=0x = 0으로 적으면 동전의 확률은 exp⁡(θx−ψ(θ))\exp(\theta x - \psi(\theta)) 꼴로 쓸 수 있다. θ=log⁡p1−p\theta = \log\frac{p}{1-p}는 로지스틱 회귀가 내놓는 로짓이고 ψ(θ)=log⁡(1+eθ)\psi(\theta) = \log(1 + e^\theta)다. ML에서는 로짓을 흔히 zz로 쓰지만, 여기서는 지수족의 자연 파라미터라는 뜻을 살려 θ\theta로 쓴다(글자만 바꾼 것이다). 동전을 가리키는 좌표(파라미터)는 로짓 θ\theta와 앞면 확률 η=p=E[x]\eta = p = \mathbb{E}[x], 두 벌이다. θ\theta 좌표 위에서 곧게 가는 길이 e-측지선, η\eta 좌표 위에서 곧게 가는 길이 m-측지선이다. 두 좌표 사이의 변환 비율(자코비안, θ\theta를 조금 바꾸면 η\eta가 얼마나 바뀌는가) dη/dθd\eta/d\theta는 시그모이드의 미분 p(1−p)p(1-p)인데, 시그모이드의 미분 p(1−p)p(1-p)가 바로 동전의 피셔 계량이다. p=0.8p = 0.8이면 0.160.16이다.

동전의 두 좌표. 가로축 로짓 (e-좌표)를 바꾸면 세로축 앞면 확률 (m-좌표)가 시그모이드를 따라 움직인다. 앞면 확률 0.8인 점에서 곡선의 기울기 이 동전의 피셔 계량이다
동전의 두 좌표. 가로축 로짓 θ\theta(e-좌표)를 바꾸면 세로축 앞면 확률 η\eta(m-좌표)가 시그모이드를 따라 움직인다. 앞면 확률 0.8인 점에서 곡선의 기울기 p(1−p)=0.16p(1-p) = 0.16이 동전의 피셔 계량이다

두 좌표로 옮긴 두 화살표

로짓 θ\theta와 앞면 확률 η\eta 두 좌표가 정말 서로 쌍대인 좌표인지 숫자로 확인해 보자. 앞면 확률 0.8인 동전에서 화살표 둘을 출발시킨다. 화살표 YY는 θ\theta 좌표로 잰 성분을 1로 두고, θ\theta 좌표 위에서 곧게(성분을 그대로 둔 채) 옮긴다. 화살표 ZZ는 η\eta 좌표로 잰 성분을 1로 두고, η\eta 좌표 위에서 곧게 옮긴다. 피셔 계량으로 재면 θ\theta 성분이 aa인 화살표의 길이는 ap(1−p)a\sqrt{p(1-p)}이고, ZZ의 θ\theta 성분은 η\eta 성분 1을 변환 비율 dη/dθ=p(1−p)d\eta/d\theta = p(1-p)로 나눈 1/(p(1−p))1/(p(1-p))이다.

앞면 확률 pp 피셔 계량 p(1−p)p(1-p) YY의 길이 ZZ의 길이 내적 p(1−p)×1×1p(1−p)p(1-p) \times 1 \times \frac{1}{p(1-p)}
0.8 0.16 0.4 2.5 1
0.5 0.25 0.5 2.0 1

두 화살표 모두 길이가 변하지만, ZZ가 늘 때 YY가 같은 비율로 줄어 내적은 1로 변하지 않는다. 앞면 확률 0.5에서는 길이가 0.5와 2로, 쌍대 접속을 처음 소개할 때 본 직선 위 화살표 짝과 같은 수다. θ\theta 좌표 위에서 곧은 접속(e)과 η\eta 좌표 위에서 곧은 접속(m)은 서로의 쌍대다.

측지선이 모두 직선으로 보이는 좌표가 있는 접속은 평탄(곡률 0)하다. 지수족 위에서는 e-접속 ∇(1)\nabla^{(1)}과 m-접속 ∇(−1)\nabla^{(-1)}이 모두 평탄하지만, 두 접속의 "곧음"은 서로 다르다. 이 상태를 **쌍대 평탄(dually flat)**이라 부른다. 지수족 p(x;θ)=exp⁡(θixi−ψ(θ))p(x;\theta) = \exp(\theta^i x_i - \psi(\theta))에서는 동전에서처럼 두 곧은 좌표와 계량이 하나의 볼록 함수 ψ\psi에서 나온다.

ηi=∂ψ∂θi,gij=∂2ψ∂θi ∂θj,φ(η)=θiηi−ψ(θ) \textcolor{#bf360c}{\eta}_i = \frac{\partial \textcolor{#455a64}{\psi}}{\partial \textcolor{#1b9e77}{\theta}^i}, \qquad \textcolor{#d62728}{g}_{ij} = \frac{\partial^2 \textcolor{#455a64}{\psi}}{\partial \textcolor{#1b9e77}{\theta}^i\, \partial \textcolor{#1b9e77}{\theta}^j}, \qquad \textcolor{#455a64}{\varphi}(\textcolor{#bf360c}{\eta}) = \textcolor{#1b9e77}{\theta}^i \textcolor{#bf360c}{\eta}_i - \textcolor{#455a64}{\psi}(\textcolor{#1b9e77}{\theta})
θi자연 파라미터 (e-좌표): e-측지선이 직선ηi기대 파라미터 (m-좌표) =E[xi]: m-측지선이 직선ψ로그 분배함수 (볼록 퍼텐셜)φψ의 르장드르 쌍대 =음의 엔트로피gij피셔 계량 =ψ의 헤시안 \begin{array}{ll} \textcolor{#1b9e77}{\theta}^i & \text{자연 파라미터 (e-좌표): e-측지선이 직선} \\ \textcolor{#bf360c}{\eta}_i & \text{기대 파라미터 (m-좌표) } = \mathbb{E}[x_i]\text{: m-측지선이 직선} \\ \textcolor{#455a64}{\psi} & \text{로그 분배함수 (볼록 퍼텐셜)} \\ \textcolor{#455a64}{\varphi} & \textcolor{#455a64}{\psi} \text{의 르장드르 쌍대 } = \text{음의 엔트로피} \\ \textcolor{#d62728}{g}_{ij} & \text{피셔 계량 } = \textcolor{#455a64}{\psi} \text{의 헤시안} \end{array}

앞면 확률이 0.8인 동전이면 η=0.8\textcolor{#bf360c}{\eta} = 0.8, θ=log⁡4≈1.386\textcolor{#1b9e77}{\theta} = \log 4 \approx 1.386, ψ=log⁡5≈1.609\textcolor{#455a64}{\psi} = \log 5 \approx 1.609이므로 φ=θη−ψ≈1.109−1.609=−0.500\textcolor{#455a64}{\varphi} = \textcolor{#1b9e77}{\theta}\textcolor{#bf360c}{\eta} - \textcolor{#455a64}{\psi} \approx 1.109 - 1.609 = -0.500인데, 이 동전의 엔트로피가 −(0.8log⁡0.8+0.2log⁡0.2)≈0.500-(0.8\log 0.8 + 0.2\log 0.2) \approx 0.500이니 φ\textcolor{#455a64}{\varphi}는 정말 음의 엔트로피다. 이렇게 ψ\textcolor{#455a64}{\psi}에서 φ\textcolor{#455a64}{\varphi}를 만드는 변환을 르장드르 변환(볼록 함수를 ‘기울기 → 절편’ 표로 다시 쓰는 변환)이라 부른다. 계량은 퍼텐셜을 두 번 미분한 값(헤시안)이고, 두 좌표는 르장드르 변환으로 오간다. 퍼텐셜 ψ\textcolor{#455a64}{\psi}, 그 헤시안인 계량, 르장드르 변환으로 오가는 두 좌표가 쌍대 평탄 구조의 전부다.

따라 계산해 보기: 정규분포의 두 좌표와 두 중간점

평균 μ\textcolor{#1b9e77}{\mu}, 표준편차 σ\textcolor{#1b9e77}{\sigma}인 정규분포 N(μ,σ2)N(\textcolor{#1b9e77}{\mu}, \textcolor{#1b9e77}{\sigma}^2)의 밀도는 exp⁡ ⁣(μσ2x−12σ2x2−ψ)\exp\!\big(\frac{\textcolor{#1b9e77}{\mu}}{\textcolor{#1b9e77}{\sigma}^2}x - \frac{1}{2\textcolor{#1b9e77}{\sigma}^2}x^2 - \textcolor{#455a64}{\psi}\big) 꼴이므로 분포를 정하는 데 데이터에서 필요한 요약값(충분통계량)은 (x,x2)(x, x^2)이고, 두 좌표는 다음과 같다.

θ=(μσ2, −12σ2),η=(E[x], E[x2])=(μ, μ2+σ2) \textcolor{#1b9e77}{\theta} = \left(\frac{\textcolor{#1b9e77}{\mu}}{\textcolor{#1b9e77}{\sigma}^2},\ -\frac{1}{2\textcolor{#1b9e77}{\sigma}^2}\right), \qquad \textcolor{#bf360c}{\eta} = \big(\mathbb{E}[x],\ \mathbb{E}[x^2]\big) = \left(\textcolor{#1b9e77}{\mu},\ \textcolor{#1b9e77}{\mu}^2 + \textcolor{#1b9e77}{\sigma}^2\right)
θe-좌표 (자연 파라미터)ηm-좌표 (기대 파라미터)μ,σ2평균과 분산 \begin{array}{ll} \textcolor{#1b9e77}{\theta} & \text{e-좌표 (자연 파라미터)} \\ \textcolor{#bf360c}{\eta} & \text{m-좌표 (기대 파라미터)} \\ \textcolor{#1b9e77}{\mu}, \textcolor{#1b9e77}{\sigma}^2 & \text{평균과 분산} \end{array}

예를 들어 N(1,4)N(1, 4)는 θ=(1/4, −1/8)\textcolor{#1b9e77}{\theta} = (1/4,\ -1/8), η=(1, 5)\textcolor{#bf360c}{\eta} = (1,\ 5)인데, 로그 분배함수 ψ(θ)=−(θ1)24θ2−12log⁡(−2θ2)+12log⁡2π\textcolor{#455a64}{\psi}(\textcolor{#1b9e77}{\theta}) = -\frac{(\textcolor{#1b9e77}{\theta}^1)^2}{4\textcolor{#1b9e77}{\theta}^2} - \frac{1}{2}\log(-2\textcolor{#1b9e77}{\theta}^2) + \frac{1}{2}\log 2\pi를 미분하면 ∂ψ/∂θ1=μ\partial\textcolor{#455a64}{\psi}/\partial\textcolor{#1b9e77}{\theta}^1 = \textcolor{#1b9e77}{\mu}, ∂ψ/∂θ2=μ2+σ2\partial\textcolor{#455a64}{\psi}/\partial\textcolor{#1b9e77}{\theta}^2 = \textcolor{#1b9e77}{\mu}^2 + \textcolor{#1b9e77}{\sigma}^2로 정말 η\textcolor{#bf360c}{\eta}가 나온다.

이제 P=N(−2,1)P = N(-2, 1)과 Q=N(2,1)Q = N(2, 1) 사이의 두 측지선에서 한가운데 점을 찾아보자. e-측지선은 θ\textcolor{#1b9e77}{\theta}에서 직선이므로 θ\textcolor{#1b9e77}{\theta}를 평균 내면 되는데, θP=(−2,−1/2)\textcolor{#1b9e77}{\theta}_P = (-2, -1/2), θQ=(2,−1/2)\textcolor{#1b9e77}{\theta}_Q = (2, -1/2)의 평균은 (0,−1/2)(0, -1/2)이고, θ=(0,−1/2)\textcolor{#1b9e77}{\theta} = (0, -1/2)인 분포는 N(0,1)N(0, 1)이다. m-측지선은 η\textcolor{#bf360c}{\eta}에서 직선이므로 η\textcolor{#bf360c}{\eta}를 평균 내면 되는데, ηP=(−2,5)\textcolor{#bf360c}{\eta}_P = (-2, 5), ηQ=(2,5)\textcolor{#bf360c}{\eta}_Q = (2, 5)의 평균은 (0,5)(0, 5)이고, 평균 00에 E[x2]=5\mathbb{E}[x^2] = 5이므로 N(0,5)N(0, 5)이다.

같은 두 분포 사이의 "한가운데"가 접속에 따라 전혀 다르다. e-중간점 N(0,1)N(0,1)은 두 분포를 곱해 겹치는 부분만 남긴 좁은 분포이고, m-중간점 N(0,5)N(0,5)는 두 분포를 반반 섞은 혼합분포와 평균·분산이 같은 넓은 분포다.

아래 그림은 정규분포족을 평균 μ\textcolor{#1b9e77}{\mu}와 표준편차 σ\textcolor{#1b9e77}{\sigma}의 평면으로 펼친 것이다. 따라 계산해 보기의 두 분포를 잇는 e-측지선과 m-측지선, 그리고 피셔 계량의 레비-치비타 측지선을 함께 그린다. 비율 t\textcolor{#6a7a00}{t}를 움직이면 세 측지선 위의 점이 나타내는 분포의 모양이 아래 그래프에 그려진다.

문제 6: 두 차의 평균 연비

확인 연비가 10 km/L인 차와 20 km/L인 차가 각각 100 km씩 달렸다. 두 차를 합친 연비(달린 거리 ÷ 쓴 기름)는 몇 km/L인가? 합친 연비는 km/L로 평균 낸 값과, 100 km에 드는 기름(L/100km)으로 평균 낸 값 가운데 어느 쪽과 같은가? 두 차가 기름을 10 L씩 썼다면 어떤가?

문제 6의 두 상황. 첫 상황은 두 차가 100 km씩 달리고, 둘째 상황은 두 차가 기름을 10 L씩 쓴다
문제 6의 두 상황. 첫 상황은 두 차가 100 km씩 달리고, 둘째 상황은 두 차가 기름을 10 L씩 쓴다

같이 풀기 세션 6

김민준 M01
김민준

10과 20의 평균이니 15 km/L죠.

선생님 T01
선생님

두 차가 쓴 기름을 직접 세어 볼까요?

김민준 M07
김민준

10 km/L 차는 100 km에 10 L, 20 km/L 차는 5 L요. 200 km를 15 L로 갔으니 13.3 km/L네요. 15가 아니에요.

이서연 S01
이서연

L/100km로 바꾸면 10과 5, 평균 7.5 L/100km고, 되돌리면 100/7.5≈13.3100/7.5 \approx 13.3 km/L야. L/100km 평균이 맞았어. 그런데 기름을 10 L씩 썼다면 100 km와 200 km를 20 L로 갔으니 15 km/L, 이번엔 km/L 평균이 맞고.

선생님 T01
선생님

같은 두 차인데 「가운데」가 둘이죠. 무엇이 둘을 갈랐어요?

이서연 S07
이서연

무엇을 똑같이 맞췄느냐요. 거리를 같게 두면 기름이 더해지니까 거리당 기름을 평균 내야 하고, 기름을 같게 두면 거리가 더해지니까 기름당 거리를 평균 내야 해요. 실제로 더해지는 양을 좌표로 삼아야 그 좌표의 평균이 맞는 가운데가 돼요.

김민준 M01
김민준

팀플 기여도를 「시간당 쓴 코드 줄 수」로 평균 냈다가, 조교님이 「다들 같은 시간 일한 거 맞아요?」 하셨던 게 이거였네요.

문제 7: 분산이 다른 두 분포의 중간

계산 P=N(0,1)P = N(0, 1)과 Q=N(0,9)Q = N(0, 9)를 잇는 e-측지선과 m-측지선의 한가운데 점은 각각 어떤 정규분포인가? 두 분포를 반반 섞은 혼합분포 12P+12Q\frac{1}{2}P + \frac{1}{2}Q와는 어떤 관계인가? 풀고 나서 위 도구의 「문제 7 불러오기」로 두 분포를 넣고 t=0.5\textcolor{#6a7a00}{t} = 0.5에서 자기 답과 비교해 보라.

문제 7의 두 분포 (실선)과 (점선)의 밀도
문제 7의 두 분포 P=N(0,1)P = N(0, 1)(실선)과 Q=N(0,9)Q = N(0, 9)(점선)의 밀도

같이 풀기 세션 7

김민준 M01
김민준

표준편차가 1이랑 3이니까 가운데는 2죠. N(0,4)N(0, 4)요. 둘 다 그거 아니에요?

선생님 T01
선생님

표준편차 σ\textcolor{#1b9e77}{\sigma}를 평균 낸 건 어느 좌표에서의 직선이죠?

김민준 M04
김민준

아… θ\textcolor{#1b9e77}{\theta}도 η\textcolor{#bf360c}{\eta}도 아니고 그냥 (μ,σ)(\textcolor{#1b9e77}{\mu}, \textcolor{#1b9e77}{\sigma}) 좌표네요. 그건 이 장에서 나온 어느 접속의 직선도 아니고요. 다시 할게요. e-좌표는 θ2=−1/(2σ2)\textcolor{#1b9e77}{\theta}^2 = -1/(2\textcolor{#1b9e77}{\sigma}^2)이니까 −1/2-1/2와 −1/18-1/18의 평균이 −5/18-5/18, 그러면 σ2=9/5=1.8\textcolor{#1b9e77}{\sigma}^2 = 9/5 = 1.8이에요.

김민준 M01
김민준

문제 6(두 차의 평균 연비)이랑 같네요. 편한 좌표에서 평균을 내면 안 되고, 어느 좌표에서 평균 내느냐가 먼저였어요.

이서연 S01
이서연

m-중간점은 혼합분포부터 생각했어. 12P+12Q\frac{1}{2}P + \frac{1}{2}Q는 가운데가 뾰족하고 꼬리가 두꺼워서 정규분포가 아니잖아. 그러면 m-측지선의 중간점이 정규분포족 밖으로 나가 버리는 거 아냐?

선생님 T01
선생님

좋은 관찰이에요. 그 혼합분포의 평균과 E[x2]\mathbb{E}[x^2]는 얼마예요?

이서연 S01
이서연

평균은 0이고 E[x2]=12(1)+12(9)=5\mathbb{E}[x^2] = \frac{1}{2}(1) + \frac{1}{2}(9) = 5예요.

선생님 T01
선생님

그럼 η\textcolor{#bf360c}{\eta} 좌표로 PP와 QQ를 평균 내면요?

이서연 S07
이서연

η\textcolor{#bf360c}{\eta} 좌표도 평균과 E[x2]\mathbb{E}[x^2]니까… (0,5)(0, 5)가 나와요. 족 안의 m-중간점은 N(0,5)N(0, 5)이고, 혼합분포와 평균·분산이 똑같네요. 족 밖으로 나간 혼합분포를, 모멘트를 맞춰서 족 안으로 데려온 점이 m-중간점이었어요.

선생님 T01
선생님

그 "모멘트를 맞춰 데려오기"에는 m-사영이라는 이름이 따로 있어요. 정리하면 e-중간점은 분산의 조화평균 1.81.8, m-중간점은 산술평균 55예요.

이서연 S01
이서연

통계 수업에서 가우시안 혼합을 정규분포 하나로 근사할 때 평균과 분산을 맞추라고만 배웠는데, 그게 m-좌표에서 직선을 긋는 일이었구나.

문제 8: 앙상블의 예측을 정규분포 하나로

계산 회귀 모델 두 개를 따로 학습시켜 같은 입력에 대한 예측을 정규분포로 받았다. 모델 1은 N(−1,1)N(-1, 1), 모델 2는 N(1,4)N(1, 4)다(괄호 안은 평균과 분산). 락시미나라야난(B. Lakshminarayanan) 등의 2017년 논문 “Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles”(딥 앙상블)은 여러 모델의 예측을 반반 섞은 혼합분포로 본다. 이 논문은 이어서 그 혼합분포와 평균·분산이 같은 정규분포 하나로 앙상블의 예측을 적는다. (가) 그 정규분포를 구하라. (나) (가)의 정규분포는 θ\textcolor{#1b9e77}{\theta} 좌표와 η\textcolor{#bf360c}{\eta} 좌표 가운데 어느 좌표에서 평균 낸 것인가? 나머지 좌표에서 평균 내면 어떤 분포가 나오는가? 위 도구의 「문제 8 불러오기」로 확인할 수 있다.

문제 8의 두 회귀 모델이 같은 입력에 낸 예측 (실선)과 (점선)의 밀도
문제 8의 두 회귀 모델이 같은 입력에 낸 예측 N(−1,1)N(-1, 1)(실선)과 N(1,4)N(1, 4)(점선)의 밀도

같이 풀기 세션 8

김민준 M01
김민준

평균은 −1-1과 11의 평균 0, 분산은 1과 4의 평균 2.5요. N(0,2.5)N(0, 2.5)예요.

선생님 T01
선생님

두 모델은 평균을 −1-1과 11로, 2만큼 다르게 말했어요. 그 의견 차이는 2.5 안 어디에 들어 있죠?

김민준 M04
김민준

안 들어 있네요… 두 모델이 똑같이 0을 말했어도 2.5가 나왔을 거예요. 문제 7처럼 E[x2]\mathbb{E}[x^2]를 평균 내야겠어요. 모델 1은 1+1=21 + 1 = 2, 모델 2는 4+1=54 + 1 = 5, 평균 3.5. 평균이 0이니 분산도 3.5, N(0,3.5)N(0, 3.5)예요. η\textcolor{#bf360c}{\eta} 좌표의 평균이니 m-측지선의 가운데고요.

이서연 S01
이서연

3.5=2.5+13.5 = 2.5 + 1이네. 2.5는 각 모델이 스스로 모르겠다고 한 분산의 평균이고, 1은 두 평균 −1-1, 11이 갈려서 생긴 분산이야. 둘 다 평균 0에서 1씩 떨어졌으니까 제곱의 평균이 1.

선생님 T01
선생님

θ\textcolor{#1b9e77}{\theta} 좌표에서 평균 내면 어떻게 되는지도 볼까요?

이서연 S01
이서연

분산이 들어 있는 둘째 성분부터 할게. −1/(2σ2)-1/(2\textcolor{#1b9e77}{\sigma}^2)는 −1/2-1/2과 −1/8-1/8, 평균 −5/16-5/16이니 분산 1.6이야.

선생님 T01
선생님

평균은요? 첫째 성분에는 분산도 같이 들어 있어요.

이서연 S01
이서연

첫째 성분 μ/σ2\textcolor{#1b9e77}{\mu}/\textcolor{#1b9e77}{\sigma}^2는 −1-1과 1/41/4, 평균 −3/8-3/8이에요. 거기에 방금 분산 1.6을 곱해야 평균이 나오니까 −3/8×1.6=−0.6-3/8 \times 1.6 = -0.6. N(−0.6,1.6)N(-0.6, 1.6)이에요.

김민준 M01
김민준

분산이 2.5보다도 작네?

이서연 S07
이서연

응, 그리고 평균이 0이 아니라 더 자신 있게 말한 모델 1 쪽으로 끌려갔어.

선생님 T01
선생님

e-측지선의 가운데는 두 예측이 겹치는 데로 좁혀 가요. 앙상블이 알고 싶은 건 모델들이 얼마나 엇갈리는지라서, 엇갈림이 분산에 남는 m-측지선의 가운데를 써요.

김민준 M01
김민준

발표 평가에서 조교님 두 분이 각자 「애매하다」고 적은 정도만 평균 내고, 두 분 점수가 크게 갈린 건 빼먹은 거랑 같았어요. 갈린 것 자체가 「잘 모르겠다」는 정보였는데요.