VAE의 ELBO를 한 줄씩: 잠재 변수 모형, 다룰 수 없는 가능도, 근사 사후분포, 옌센 부등식으로 하한 만들기, 재구성 항과 KL 항, 정규분포 KL의 닫힌 꼴, 재매개변수화 기법
변분 오토인코더(VAE)는 2013년 논문 “Auto-Encoding Variational Bayes”(Kingma, Welling)에서 나왔고, 여기서 정리된 ELBO(evidence lower bound)는 확산 모델, 잠재 확산 모델, 세계 모델, 베이즈 딥러닝의 공통 언어가 되었습니다. 이 장에서는 ELBO를 처음부터 유도하고, 논문에 나오는 정규분포 KL의 닫힌 꼴과 재매개변수화 기법을 해부합니다. 필요한 것은 베이즈 정리(확률과 통계 10장), KL 발산(11장), 옌센 부등식입니다.
5.1 잠재 변수 모형
관측 x(그림)가 보이지 않는 잠재 변수(latent variable) z(그림의 “요인”: 모양, 색, 각도)에서 만들어진다고 봅니다.
pθ(x)=∫pθ(x∣z)p(z)dz,p(z)=N(0,I).
p(z): 사전분포(prior).
pθ(x∣z): 디코더(decoder), 신경망.
문제. 최대우도(확률과 통계 7장)로 θ를 학습하려면 lnpθ(x)가 필요한데, 고차원 z에 대한 적분이라 계산할 수 없습니다. 사후분포 pθ(z∣x)=pθ(x)pθ(x∣z)p(z)도 분모 때문에 계산할 수 없습니다(10장에서 말한 “증거 적분”의 어려움).
5.2 근사 사후분포
정의 5.1. 다룰 수 있는 분포족으로 사후분포를 흉내 내는 qϕ(z∣x)=N(μϕ(x),diag(σϕ2(x)))를 근사 사후분포라 하고, 이를 내는 신경망을 인코더(encoder)라 합니다.
이렇게 적분을 최적화로 바꾸는 방법을 변분 추론(variational inference)이라 합니다. 이름의 “변분”이 여기서 왔습니다.
이 하한을 증거 하한(evidence lower bound, ELBO)이라 합니다. 그러므로 ELBO를 ϕ에 대해 키우는 것은 근사 사후분포를 진짜 사후분포에 가깝게 하는 것이고, θ에 대해 키우는 것은 가능도의 하한을 키우는 것입니다. 둘을 함께 경사상승법으로 학습합니다.
5.4 두 항의 뜻
재구성 항Eq[lnpθ(x∣z)]: 인코딩한 z로 원래 x를 얼마나 잘 되살리는가. 디코더가 정규분포이면 음의 제곱오차(확률과 통계 7장), 베르누이이면 음의 이진 교차 엔트로피.
KL 항DKL(q∥p): 인코딩한 분포가 사전분포 N(0,I)에서 얼마나 벗어났는가. 잠재 공간을 정돈해 두어, 나중에 z∼N(0,I)를 뽑아 디코더에 넣으면 그럴듯한 그림이 나오게 합니다.
질문 3 (극단값). KL 항이 없으면 보통의 오토인코더처럼 잠재 공간이 엉망이 되고, KL 항만 있으면 q=p가 되어 z에 정보가 없습니다(사후분포 붕괴, posterior collapse). β-VAE는 KL 항에 β를 곱해 이 균형을 조절합니다.
5.5 정규분포 KL의 닫힌 꼴
논문 부록의 식을 1차원에서 유도합니다.
정리 5.4.DKL(N(μ,σ2)∥N(0,1))=21(μ2+σ2−lnσ2−1).
증명.lnpq=−lnσ−2σ2(z−μ)2+2z2. q에 대한 기댓값을 취하면 E[(z−μ)2]=σ2, E[z2]=μ2+σ2이므로 −lnσ−21+2μ2+σ2. □
잠재 변수가 d차원이고 성분이 독립이면 성분별 KL을 더합니다. 질문 4 (특수한 경우).μ=0, σ=1이면 0: 같은 분포끼리의 KL은 0입니다.
5.6 재매개변수화 기법
ELBO의 기댓값은 qϕ에서 뽑은 표본으로 어림하는데, “뽑는다”는 연산은 ϕ로 미분할 수 없습니다. 그래서 무작위성을 밖으로 빼냅니다.
z=μϕ(x)+σϕ(x)⊙ϵ,ϵ∼N(0,I).
이제 z는 ϕ의 미분가능한 함수이고, 무작위성은 ϕ와 무관한 ϵ에만 있습니다. 그래디언트가 연쇄법칙(다변수 미적분 3장)으로 인코더까지 흐릅니다. 이를 재매개변수화 기법(reparameterization trick)이라 하며, 4장의 xt=αˉtx0+1−αˉtϵ도 같은 꼴입니다.
5.7 이 장의 요약
잠재 변수 모형의 가능도는 적분이라 계산 불가 → 근사 사후분포 qϕ.
옌센 부등식으로 ELBO =Eq[lnp(x∣z)]−DKL(q∥p)≤lnp(x). 간격은 진짜 사후분포와의 KL.
정규분포 KL: 21(μ2+σ2−lnσ2−1).
재매개변수화: z=μ+σ⊙ϵ로 미분 가능하게.
쓰이는 곳. 잠재 확산 모델(Stable Diffusion은 VAE의 잠재 공간에서 확산), 확산 모델의 학습 목표 유도(4장의 손실은 ELBO를 정리한 것), 세계 모델과 강화학습, 베이즈 신경망, 음성·분자 생성, 표현 학습의 분리(disentanglement) 연구가 이 장의 식을 씁니다.
문제
5.1 [계산] · 확인 문제
DKL(N(1,1)∥N(0,1))은?
정답
0.5
풀이
21(1+1−0−1)=21입니다.
5.2 [계산] · 확인 문제
DKL(N(0,4)∥N(0,1))은? (소수 넷째 자리까지)
정답
0.8069
풀이
21(0+4−ln4−1)=21(3−1.3863)≈0.8069입니다.
5.3 [계산] · 확인 문제
재매개변수화로 μ=2, σ=0.5, 뽑힌 ϵ=−1.2이면 z는?
정답
1.4
풀이
z=2+0.5⋅(−1.2)=1.4입니다.
5.4 [계산] · 확인 문제
잠재 변수가 3차원이고 인코더가 μ=(1,0,−1), σ=(1,1,1)을 낼 때 KL 항은?