Skip to content

10회 · 숨은 변수와 EM · 노트

8 Beautiful insights — 하한과 온도 ​

8.1 ELBO와 변분 오토인코더 ​

명제 3.3의 하한 F(q,θ)\mathcal F(q,\allowbreak \boldsymbol\theta)는 기계학습에서 증거 하한(evidence lower bound, ELBO)이라 불린다. 생성 모형 pθ(x∣z)p_{\boldsymbol\theta}(\x\mid\z)가 신경망이고 숨은 변수가 z∼N(0,1)\z\sim\N(\mathbf 0,\mathbf 1)이면, 관측 가능도 ∫pθ(x∣z)p(z) dz\int p_{\boldsymbol\theta}(\x\mid\z)p(\z)\,d\z도, E 단계의 사후분포 k(z∣x;θ)k(\z\mid\x;\boldsymbol\theta)도 계산할 수 없다. 변분 오토인코더(VAE; Kingma–Welling 2014)는 두 가지를 바꾼다.

  • E 단계의 정확한 사후분포 대신, 관측 x\x를 받아 정규분포 qϕ(z∣x)=N(μϕ(x),diag⁡σϕ2(x))q_{\boldsymbol\phi}(\z\mid\x)=\N(\bmu_{\boldsymbol\phi}(\x),\allowbreak \diag\boldsymbol\sigma^2_{\boldsymbol\phi}(\x))를 내놓는 신경망(인코더)을 쓴다. 관측마다 E 단계를 푸는 대신 하나의 함수로 “모든 관측의 E 단계를 한꺼번에” 근사하므로 상각(amortized) 추론이라 부른다.

  • E와 M을 번갈아 하는 대신 F(qϕ,θ)\mathcal F(q_{\boldsymbol\phi},\allowbreak \boldsymbol\theta)를 (ϕ,θ)(\boldsymbol\phi,\allowbreak \boldsymbol\theta)에 대해 함께 확률적 경사상승으로 올린다. z=μϕ(x)+σϕ(x)⊙ε\z=\bmu_{\boldsymbol\phi}(\x)+\boldsymbol\sigma_{\boldsymbol\phi}(\x)\odot\boldsymbol\varepsilon, ε∼N(0,1)\boldsymbol\varepsilon\sim\N(\mathbf 0,\allowbreak \mathbf 1)로 쓰면(재모수화) 기댓값의 기울기를 표본으로 어림할 수 있다.

ELBO를 Eqlog⁡pθ(x∣z)−D(qϕ(⋅∣x)∥p)E_q\log p_{\boldsymbol\theta}(\x\mid\z)-D(q_{\boldsymbol\phi}(\cdot\mid\x)\|p)로 다시 쓰면(연습 8.1), 첫 항은 “복원”의 로그가능도, 둘째 항은 인코더가 사전분포에서 너무 멀어지지 않게 하는 벌점이다. 명제 3.3에서 보았듯이 하한과 진짜 로그가능도의 차는 D(q∥k)D(q\|k)이다. 인코더가 정확한 사후분포를 내놓지 못하는 만큼 하한이 느슨하다. EM은 이 차를 매번 0으로 만드는 특수한 경우다.

8.2 kk-평균은 온도 0의 EM이다 ​

명제 8.1 (딱딱한 EM) 모든 성분의 비율이 같고 공분산이 σ21\sigma^2\mathbf 1로 같은 정규 혼합에서, σ→0\sigma\to0이면 책임은

rik=exp⁡(−∥yi−μk∥2/(2σ2))∑jexp⁡(−∥yi−μj∥2/(2σ2)) ⟶ 1{k=arg⁡min⁡j∥yi−μj∥}r_{ik}=\frac{\exp\bigl(-\|\y_i-\bmu_k\|^2/(2\sigma^2)\bigr)}{\sum_j\exp\bigl(-\|\y_i-\bmu_j\|^2/(2\sigma^2)\bigr)}\ \longrightarrow\ 1\Bigl\{k=\arg\min_j\|\y_i-\bmu_j\|\Bigr\}

(가장 가까운 평균이 하나뿐일 때)로 가고, M 단계의 평균은 각 무리에 배정된 관측의 평균이 된다. 이것이 kk-평균 알고리즘(Lloyd 1957, 출판 1982)이다.

증명 전략 책임의 분자와 분모를 같은 지수 항으로 나눠 거리의 차만 남긴다. σ→0\sigma\to0에서 각 항은 차의 부호에 따라 0이나 무한대로 간다. 단계별 증명은 연습 8.4(유도형)에서 직접 쓴다. 완성된 증명은 그 연습의 풀이에 있다.

책임은 거리의 음수를 2σ22\sigma^2로 나눈 softmax다. σ2\sigma^2이 9회 8.3절의 온도 TT의 역할을 한다. 온도를 0으로 내리면 “부드러운” 배정이 “딱딱한” 배정이 된다. kk-평균은 그래서 빠르고 단순하지만, 모든 무리가 같은 크기의 둥근 모양이라고 가정한 것과 같다. Old Faithful처럼 기울어진 타원 모양의 무리에서는 경계 근처의 관측을 EM과 다르게 배정한다(노트북). kk-평균이 매 단계 목적함수 ∑imin⁡k∥yi−μk∥2\sum_i\min_k\|\y_i-\bmu_k\|^2를 줄이는 것은 정리 3.2의 딱딱한 판이다(연습 8.2). EM의 좋은 시작점으로 kk-평균의 결과를 쓰는 것이 표준이다(알고리즘 4.2).

8.3 숨은 상태 — Baum–Welch에서 전문가 혼합까지 ​

혼합분포의 이름표가 관측마다 독립이 아니라 Markov 연쇄를 따르면 은닉 Markov 모형이 된다. 음성의 소리 조각(관측) 뒤에 숨은 음소(상태)가 있고, 음소는 앞의 음소에 의존한다. Baum과 동료들(1970)의 알고리즘은 이 모형의 EM이다. E 단계의 사후확률을 전향–후향 재귀로 효율적으로 계산한 것이 전부다. 1970년대부터 2010년대 초까지 음성 인식 시스템의 중심이었고, 기계번역의 단어 정렬(IBM 모형, 1993)도 숨은 정렬을 EM으로 추정했다. 4회 8절의 전문가 혼합(mixture of experts)도 원래는 EM으로 학습되었다(Jordan–Jacobs 1994). 오늘의 큰 언어 모형에서 전문가를 고르는 게이트는 경사하강으로 학습하지만, “보이지 않는 배정”을 확률로 다룬다는 생각은 같다.

연습문제

연습 8.1 (ELBO의 두 얼굴 ★★) f(x,z)=pθ(x∣z)p(z)f(\x,\allowbreak \z)=p_{\boldsymbol\theta}(\x\mid\z)p(\z)일 때 F(q,θ)=Eqlog⁡pθ(x∣Z)−D(q∥p)\mathcal F(q,\allowbreak \boldsymbol\theta)=E_q\log p_{\boldsymbol\theta}(\x\mid\Z)-D(q\|p)임을 보여라. q=N(μ,s2)q=\N(\mu,s^2), p=N(0,1)p=\N(0,1)이면 D(q∥p)=12(μ2+s2−1−log⁡s2)D(q\|p)=\tfrac12(\mu^2+s^2-1-\log s^2)이다.

풀이

Eqlog⁡f−Eqlog⁡q=Eqlog⁡pθ(x∣Z)+Eqlog⁡p(Z)q(Z)E_q\log f-E_q\log q=E_q\log p_{\boldsymbol\theta}(\x\mid\Z)+E_q\log\tfrac{p(\Z)}{q(\Z)}이고 둘째 항이 −D(q∥p)-D(q\|p). 정규끼리이면 Eqlog⁡q=−12log⁡(2πs2)−12E_q\log q=-\tfrac12\log(2\pi s^2)-\tfrac12, Eqlog⁡p=−12log⁡2π−12(μ2+s2)E_q\log p=-\tfrac12\log2\pi-\tfrac12(\mu^2+s^2)이므로 D=12(μ2+s2−1−log⁡s2)D=\tfrac12(\mu^2+s^2-1-\log s^2).

연습 8.2 (kk-평균은 내려간다 ★★) kk-평균의 두 단계(가장 가까운 평균에 배정, 배정된 관측의 평균으로 옮김)가 각각 W=∑i∥yi−μc(i)∥2W=\sum_i\|\y_i-\bmu_{c(i)}\|^2를 늘리지 않음을 보이고, 유한 번 안에 멈춤을 보여라.

풀이

배정 단계는 각 관측의 항을 가장 가까운 평균으로 바꾸므로 줄이거나 그대로다. 평균 단계는 각 무리 안에서 ∑∥yi−c∥2\sum\|\y_i-\mathbf c\|^2를 최소화하는 c\mathbf c가 평균이므로 줄이거나 그대로다. 배정의 가짓수가 유한(KnK^n)이고 WW가 엄밀히 줄지 않으면 배정이 바뀌지 않으므로 유한 번 안에 멈춘다.

연습 8.3 (온도와 책임 ★) 두 성분 1차원 혼합(π=12\pi=\tfrac12, 같은 σ\sigma)에서 책임 ri1r_{i1}이 yiy_i에 대한 로지스틱 함수 (1+exp⁡(−μ1−μ2σ2(yi−μ1+μ22)))−1\bigl(1+\exp(-\tfrac{\mu_1-\mu_2}{\sigma^2}(y_i-\tfrac{\mu_1+\mu_2}2))\bigr)^{-1}임을 보여라. σ→0\sigma\to0이면 계단함수가 된다.

풀이

ri1=(1+exp⁡(−(yi−μ2)2−(yi−μ1)22σ2))−1r_{i1}=\bigl(1+\exp(-\tfrac{(y_i-\mu_2)^2-(y_i-\mu_1)^2}{2\sigma^2})\bigr)^{-1}이고 (y−μ2)2−(y−μ1)2=2(μ1−μ2)(y−μ1+μ22)(y-\mu_2)^2-(y-\mu_1)^2=2(\mu_1-\mu_2)\bigl(y-\tfrac{\mu_1+\mu_2}2\bigr).

연습 8.4 (딱딱한 EM의 증명 ★ 유도형) dij=∥yi−μj∥d_{ij}=\|\y_i-\bmu_j\|로 쓰고 가장 가까운 평균 k∗k^*가 하나뿐이라 하자. 명제 8.1을 다음 순서로 증명하라.

  1. (a)

    분자와 분모를 exp⁡(−dik2/(2σ2))\exp\bigl(-d_{ik}^2/(2\sigma^2)\bigr)로 나눠 rik=(∑jexp⁡(−(dij2−dik2)/(2σ2)))−1r_{ik}=\bigl(\sum_j\exp(-(d_{ij}^2-d_{ik}^2)/(2\sigma^2))\bigr)^{-1}임을 보여라.

  2. (b)

    k=k∗k=k^*이면 j≠k∗j\ne k^*인 항이 모두 0으로 가서 rik∗→1r_{ik^*}\to1임을 보여라.

  3. (c)

    k≠k∗k\ne k^*이면 j=k∗j=k^*인 항이 무한대로 가서 rik→0r_{ik}\to0임을 보여라.

  4. (d)

    M 단계의 평균 1nk∑irikyi\tfrac1{n_k}\sum_ir_{ik}\y_i의 극한이 무리 kk에 배정된 관측의 평균임을 보여라. 무리가 비어 있으면 어떻게 되는가?

  5. (e)

    가장 가까운 평균이 둘이면(di1=di2<dijd_{i1}=d_{i2}<d_{ij}, j≥3j\ge3) 극한의 책임은 무엇인가?

풀이

(a) 비율이 같으므로 πk\pi_k는 약분된다. 분자와 분모를 exp⁡(−dik2/(2σ2))\exp(-d_{ik}^2/(2\sigma^2))로 나누면 분자는 1, 분모는 ∑jexp⁡(−(dij2−dik2)/(2σ2))\sum_j\exp(-(d_{ij}^2-d_{ik}^2)/(2\sigma^2))이다. (b) k=k∗k=k^*이면 j≠k∗j\ne k^*에서 dij2−dik∗2>0d_{ij}^2-d_{ik^*}^2>0이므로 그 항은 σ→0\sigma\to0에서 0으로 간다. j=k∗j=k^*인 항은 1이므로 rik∗→1r_{ik^*}\to1. (c) k≠k∗k\ne k^*이면 j=k∗j=k^*인 항의 지수 −(dik∗2−dik2)/(2σ2)-(d_{ik^*}^2-d_{ik}^2)/(2\sigma^2)이 +∞+\infty로 가므로 분모가 무한대로 가고 rik→0r_{ik}\to0. (d) 책임은 무리 배정의 지시함수로 가고 nkn_k는 무리 kk의 관측 수로 간다. 무리가 비어 있지 않으면 ∑irikyi∑irik\tfrac{\sum_ir_{ik}\y_i}{\sum_ir_{ik}}는 무리 평균으로 간다. 무리가 비면 nk→0n_k\to0이어서 평균이 정해지지 않는다. kk-평균에서는 그 평균을 그대로 두거나 다시 고른다. (e) ri1=ri2→12r_{i1}=r_{i2}\to\tfrac12이고 나머지는 0으로 간다. 거리가 같은 두 평균이 관측을 반씩 나눠 갖는다.

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