현대 딥러닝에서 VAE, BNN, Diffusion Model은 표면적으로 전혀 다른 모델처럼 보인다. 그러나 이 모델들은 공통된 수학적 뼈대를 공유한다 — ELBO(Evidence Lower Bound). ELBO가 없으면 VAE 학습은 불가능하고, BNN의 variational posterior도 정의되지 않는다. 왜 현대 Bayesian 딥러닝의 거의 모든 scalable 방법이 하나의 부등식으로 수렴하는가?
출발점: Inference를 Optimization으로
Bayesian inference의 핵심 목표는 posterior p(θ∣x)를 구하는 것이다. 문제는 이 posterior가 대부분의 실전 모델에서 intractable하다는 점이다 — 분모인 evidence p(x)=∫p(x∣θ)p(θ)dθ를 닫힌형으로 계산할 수 없다.
Variational Inference(VI)는 이 문제를 다르게 접근한다. 정확한 posterior를 구하는 대신, tractable한 분포 족 Q={qϕ:ϕ∈Φ} 안에서 posterior에 가장 가까운 qϕ∗를 찾는다.
intractablep(θ∣x)≈tractableqϕ∗(θ)
“가까움”의 척도는 KL divergence다. 그런데 KL(q∥p(⋅∣x))를 직접 최소화하려면 p(θ∣x)를 알아야 한다 — 애초에 모르기 때문에 근사를 하는 것인데. 이 순환을 끊는 것이 ELBO다.
분해 **(2)**는 딥러닝과 가장 자연스럽게 연결된다. VAE에서 latent z에 대입하면
L(x)=Eq(z∣x)[logp(x∣z)]−KL(q(z∣x)∥p(z))
왼쪽 항이 reconstruction loss, 오른쪽이 KL regularization이다. VAE의 학습 목적함수는 ELBO 분해 (2)의 직접적 특수화다.
분해 **(3)**은 통계역학과 연결된다. U:=−logp(x,θ)를 에너지로 놓으면 −L(q)=Eq[U]−H(q)는 Helmholtz free energy F=U−TS(T=1)와 동일한 구조다. ELBO 최대화 = free energy 최소화.
✎ 트레이드오프
분해 선택은 implementation에 영향을 준다. VAE 학습 시에는 분해 (2)의 두 항을 따로 모니터링하는 것이 표준 — KL 항이 0으로 수렴하면 posterior collapse(decoder가 latent를 무시하는 현상)를 조기에 감지할 수 있다. 분해 (1)은 이론 분석에, 분해 (3)은 physics-inspired 모델에 적합하다.
Mean-Field와 CAVI: 좌표로 올라가기
Variational family Q를 어떻게 선택하느냐가 근사 품질을 결정한다. 가장 널리 쓰이는 선택은 Mean-Field 가정이다.
q(θ1,…,θd)=∏i=1dqi(θi)
모든 파라미터가 독립이라 가정한다. 이 가정 아래서 ELBO를 qi에 대해 최대화하면 닫힌형 해가 나온다.
qi∗(θi)∝exp(Eq−i[logp(x,θ)])
이를 순환적으로 적용하는 알고리즘이 **CAVI(Coordinate Ascent VI)**다. 각 업데이트가 E[L]를 감소시키지 않으므로 ELBO는 단조 증가하고, ELBO가 위로 유계이므로 수렴이 보장된다.
Conjugate-exponential 구조를 갖는 모델(LDA, Bayesian Mixture 등)에서는 Eq−i[logp]가 자연매개변수 공간에서의 덧셈으로 표현된다 — 닫힌형 업데이트가 가능해 코드 한 줄로 구현된다.
단, Mean-Field는 posterior의 correlation 구조를 완전히 무시한다. 2D Gaussian posterior N(0,Σ)에 Mean-Field를 적용하면 최적 분산이 σi2=1/[Σ−1]ii가 되어 참 marginal variance Σii보다 항상 작다. Mean-Field는 posterior mean은 잘 추정하지만 uncertainty는 체계적으로 과소추정한다.
Reparameterization Trick: 미분 가능한 샘플링
CAVI는 conjugate 구조 없이는 gradient 기반 최적화로 ELBO를 최대화해야 한다. 문제는 ELBO gradient
∇ϕL(ϕ)=∇ϕEqϕ(z)[f(z)]
에서 qϕ가 ϕ에 의존하는 분포이므로 gradient를 기댓값 안으로 단순히 넣을 수 없다는 것이다.
두 가지 해법이 있다. REINFORCE는 log-derivative trick으로 unbiased gradient를 구성한다.
∇ϕEqϕ[f]=Eqϕ[f⋅∇ϕlogqϕ]
Unbiased이지만 ∇ϕlogqϕ가 tail에서 폭발해 분산이 매우 크다.
Reparameterization은 분포의 randomness를 ϕ와 분리한다.
z=gϕ(ϵ),ϵ∼p(ϵ) (φ와무관)
예: z∼N(μϕ,σϕ2)를 z=μϕ+σϕϵ, ϵ∼N(0,1)로 재표현한다. 기댓값이 ϕ와 무관한 측도 p(ϵ)에 대한 것이 되므로 Leibniz rule로 미분과 기댓값 교환이 정당화된다.
∇ϕEqϕ[f(z)]=Ep(ϵ)[∇ϕf(gϕ(ϵ))]
“shared randomness” ϵ이 ϕ 변화에 따른 noise를 상쇄시켜 분산이 REINFORCE 대비 수 배에서 수십 배 낮다. VAE 인코더의 end-to-end gradient가 가능한 이유가 바로 이 트릭이다.
Discrete 분포는 표준 reparameterization이 불가능하다. 이때는 Gumbel-Softmax가 우회로를 제공한다 — Categorical 분포의 연속 완화(continuous relaxation)로, temperature τ→0 극한에서 one-hot categorical로 수렴하면서 τ>0에서 reparameterizable하다.