Skip to content

9회 · 최대가능도 · 노트

8 Beautiful insights — 손실함수 속의 가능도 ​

8.1 교차엔트로피는 음의 로그가능도다 ​

분류 신경망은 입력 xx마다 범주 k=1,…,Kk=1,\dots,K의 확률 qk(x;θ)q_k(x;\boldsymbol\theta)(softmax)를 내놓고, 정답 yy에 대해 손실 −log⁡qy(x;θ)-\log q_y(x;\boldsymbol\theta)를 최소화한다. 이것을 교차엔트로피라 부르지만, 학습 자료 전체의 합

−∑i=1nlog⁡qyi(xi;θ)=−ℓ(θ)-\sum_{i=1}^n\log q_{y_i}(x_i;\boldsymbol\theta)=-\ell(\boldsymbol\theta)

은 범주형(다항) 모형의 음의 로그가능도 그대로다. 교차엔트로피를 최소화하는 것은 최대가능도 추정이다. 회귀의 제곱오차 손실은 정규 오차의 음의 로그가능도이고(분산 고정), 절댓값 손실은 Laplace 오차의 그것이다(1절 예제 1.2(e)). 손실함수를 고르는 것은 오차의 분포를 고르는 것이다.

자료의 경험분포 P^n\hat P_n에 대해 −1nℓ(θ)=EP^n[−log⁡f(X;θ)]-\tfrac1n\ell(\boldsymbol\theta)=E_{\hat P_n}[-\log f(X;\boldsymbol\theta)]이고, 이것은 D(P^n∥fθ)D(\hat P_n\|f_{\boldsymbol\theta})와 θ\boldsymbol\theta에 의존하지 않는 항(경험분포의 엔트로피)의 합이다. 그래서 MLE는 경험분포에서 KL 발산으로 가장 가까운 모형을 고른다(보조정리 1.4). 모형이 틀렸을 때도 MLE는 “참 분포에 KL로 가장 가까운 모형”으로 간다(White, 1982). Michelson의 예(6절)처럼 그것이 참값이라는 보장은 없다.

8.2 Fisher 정보는 곡률이고, 곡률은 거리다 ​

두 가까운 모수의 KL 발산을 전개하면

D(θ ∥ θ+δ)=12I(θ) δ2+O(δ3)D(\theta\,\|\,\theta+\delta)=\tfrac12I(\theta)\,\delta^2+O(\delta^3)

이다(연습 8.1). Fisher 정보는 모수공간에서 “분포가 얼마나 달라지는가”를 재는 거리(계량)다. 여러 모수이면 12δ′I(θ)δ\tfrac12\boldsymbol\delta\T I(\boldsymbol\theta)\boldsymbol\delta이다.

이 사실이 두 가지 기계학습 방법의 바탕이다.

  • 자연기울기 (Amari 1998). 보통의 경사하강은 모수공간의 유클리드 거리로 “가장 가파른” 방향을 찾는다. 같은 분포를 다른 방식으로 모수화하면 방향이 바뀐다. 자연기울기 I(θ)−1∇ℓI(\boldsymbol\theta)^{-1}\nabla\ell은 분포 사이의 거리(KL)로 가장 가파른 방향이어서 모수화에 무관하다. 4절의 Fisher 채점이 바로 음의 로그가능도의 자연기울기 방법이다. K-FAC(Martens–Grosse 2015) 같은 신경망 최적화기가 이 행렬을 근사한다.

  • 탄성 가중치 고정 (EWC; Kirkpatrick 외 2017). 과제 A를 배운 신경망이 과제 B를 배우며 A를 잊지 않게 하려면, A에 중요한 가중치를 덜 움직이게 해야 한다. “중요함”의 척도가 A의 자료로 잰 Fisher 정보의 대각성분 FjF_j이고, 손실에 λ2∑jFj(θj−θA,j∗)2\tfrac\lambda2\sum_jF_j(\theta_j-\theta^*_{A,j})^2을 더한다. 정리 3.1이 말하는 MLE 근처의 정규 근사(16회의 Laplace 근사)를 과제 A의 사후분포로 쓰는 것이다.

8.3 온도 하나의 최대가능도 — 신경망의 보정 ​

현대의 깊은 분류기는 정확하지만 확신이 지나치다. 예측 확률 0.99인 사례의 실제 정답률이 그보다 낮다(Guo 외 2017). 처방은 놀랍게 단순하다. 출력 직전의 점수(logit) z\mathbf z를 하나의 온도 T>0T>0로 나눠 softmax(z/T)\mathrm{softmax}(\mathbf z/T)로 쓰고, TT를 검증 자료의 음의 로그가능도를 최소화하도록, 곧 MLE로 고른다. 모수 하나의 MLE이므로 4절의 Newton 몇 걸음이면 된다. 다만 a=1/Ta=1/T로 쓰면 로그가능도가 오목하지만 Newton의 첫걸음이 넘칠 수 있으므로, 로그가능도가 늘 때까지 걸음을 반으로 줄이는 안전장치를 단다(노트북). 정확도는 그대로이고(순위가 바뀌지 않는다) 확률의 보정만 좋아진다. 8회 8.1절의 PIT 진단으로 그 효과를 확인할 수 있다.

연습문제

연습 8.1 (KL과 Fisher 정보 ★★) D(θ∥θ+δ)=Eθ[log⁡f(X;θ)−log⁡f(X;θ+δ)]D(\theta\|\theta+\delta)=E_\theta[\log f(X;\theta)-\log f(X;\theta+\delta)]를 δ\delta에 대해 2차까지 전개해 12I(θ)δ2\tfrac12I(\theta)\delta^2임을 보여라(정리 2.2). Poisson이면 D(λ∥λ′)=λlog⁡λλ′−λ+λ′D(\lambda\|\lambda')=\lambda\log\tfrac\lambda{\lambda'}-\lambda+\lambda'이다. 이것을 직접 전개해 확인하라.

풀이

log⁡f(X;θ+δ)=log⁡f(X;θ)+δs+δ22∂2log⁡f∂θ2+O(δ3)\log f(X;\theta+\delta)=\log f(X;\theta)+\delta s+\tfrac{\delta^2}2\tfrac{\partial^2\log f}{\partial\theta^2}+O(\delta^3)이므로 D=−δEs−δ22E∂2log⁡f∂θ2+O(δ3)=δ22I(θ)+O(δ3)D=-\delta Es-\tfrac{\delta^2}2E\tfrac{\partial^2\log f}{\partial\theta^2}+O(\delta^3)=\tfrac{\delta^2}2I(\theta)+O(\delta^3). Poisson: λlog⁡λλ+δ−λ+λ+δ=−λlog⁡(1+δλ)+δ=δ22λ+O(δ3)\lambda\log\tfrac\lambda{\lambda+\delta}-\lambda+\lambda+\delta=-\lambda\log(1+\tfrac\delta\lambda)+\delta=\tfrac{\delta^2}{2\lambda}+O(\delta^3)이고 I=1/λI=1/\lambda.

연습 8.2 (제곱오차와 정규 ★) Yi=m(xi;θ)+εiY_i=m(x_i;\boldsymbol\theta)+\varepsilon_i, εi∼iidN(0,σ2)\varepsilon_i\iid\N(0,\allowbreak \sigma^2)이면 θ\boldsymbol\theta의 MLE가 제곱오차의 합을 최소화하는 값과 같음을 보여라. σ2\sigma^2의 MLE는?

풀이

ℓ=−n2log⁡(2πσ2)−12σ2∑(Yi−m(xi;θ))2\ell=-\tfrac n2\log(2\pi\sigma^2)-\tfrac1{2\sigma^2}\sum(Y_i-m(x_i;\boldsymbol\theta))^2이므로 σ2\sigma^2에 관계없이 θ\boldsymbol\theta의 최대점은 제곱합의 최소점이다. σ^2=1n∑(Yi−m(xi;θ^))2\hat\sigma^2=\tfrac1n\sum(Y_i-m(x_i;\hat{\boldsymbol\theta}))^2.

연습 8.3 (온도의 가능도 방정식 ★★) logit zi\mathbf z_i와 정답 yiy_i에 대해 ℓ(T)=∑i[zi,yi/T−log⁡∑kezik/T]\ell(T)=\sum_i\bigl[z_{i,y_i}/T-\log\sum_ke^{z_{ik}/T}\bigr]이다. ℓ′(T)=0\ell'(T)=0이 “정답의 logit의 평균 = 모형이 예측하는 logit의 기댓값의 평균”으로 쓰임을 보여라.

풀이

ddT[ziyT−log⁡∑kezik/T]=−ziyT2+1T2∑kpik(T)zik\tfrac{d}{dT}\bigl[\tfrac{z_{iy}}T-\log\sum_ke^{z_{ik}/T}\bigr]=-\tfrac{z_{iy}}{T^2}+\tfrac1{T^2}\sum_kp_{ik}(T)z_{ik} (pik(T)p_{ik}(T)는 온도 TT의 softmax 확률). 합을 0으로 놓으면 ∑izi,yi=∑i∑kpik(T)zik\sum_iz_{i,y_i}=\sum_i\sum_kp_{ik}(T)z_{ik}.

이 회차에서 읽은 절 0개 · 회차 차례