잠재변수가 1차원인 선형 가우시안 VAE를 생각한다.
p(z)=N(0,1),p(x∣z)=N(wz+b, σ2Id),q(z∣x)=N(μq,sq2).
함수 elbo_terms(x, w, b, sigma, mu_q, s_q)를 완성해 ELBO의 두 항 (rec, kl)을 닫힌 꼴로 반환한다.
- 재구성 항 rec=Eq[logp(x∣z)]
- KL 항 kl=KL(q(z∣x)∥p(z))
ELBO는 rec - kl이다.
| 인자 |
shape·의미 |
x, w, b |
(d,) |
sigma |
decoder 표준편차(양수 스칼라) |
mu_q, s_q |
encoder 평균과 표준편차(스칼라, s_q > 0) |
힌트:
- r=x−b−wμq라 두면 Eq∥x−b−wz∥2=∥r∥2+∥w∥2sq2이다(z=μq+sqε를 대입해 전개한다).
- d차원 등방 가우시안의 로그밀도 상수항은 −2dlog(2πσ2)이다.
- 두 1차원 가우시안의 KL: KL(N(μ,s2)∥N(0,1))=21(μ2+s2−1−logs2).
테스트는 Monte Carlo 추정과 비교하고, encoder가 정확한 사후분포일 때 ELBO가 정확한 logp(x)와 같아지는지 확인한다.