ELBO

이종우·2023년 3월 27일

용어

ELBO = Evidence of lower bound = variational lower bound

용도

관찰한 P(zx)P(z|x)가 다루기 힘든 분포를 이루고 있을 때, 이를 Q(x)Q(x)로 대체하는 과정에서 두 분포 p(zx)p(z|x)Q(x)Q(x)와 차이(KLD)를 최소화하기 위해 사용된다.

유도

DKL(q(z)p(zx))D_{KL}(q(z)||p(z|x))
=Eq[logq(z)]Eq[logp(zx)]=E_q[\log{q(z)}]-E_q[\log{p(z|x)}]
=Eq[logq(z)]Eq[logp(x,z)p(x)]=E_q[\log{q(z)}]-E_q[\log{\dfrac{p(x,z)}{p(x)}}]
=Eq[logq(z)]Eq[logp(x,z)logp(x)]=E_q[\log{q(z)}]-E_q[\log{p(x,z)}-\log{p(x)}]
=Eq[logq(z)]Eq[logp(x,z)]+logp(x)=E_q[\log{q(z)}]-E_q[\log{p(x,z)}]+\log{p(x)} (q(x)=1\int{q(x)}=1이므로)

이를 정리하면
logp(x)=DKL(q(z)p(zx))+Eq[logp(x,z)]Eq[logq(z)]\log{p(x)}=D_{KL}(q(z)||p(z|x))+E_q[\log{p(x,z)}]-E_q[\log{q(z)}]
가 된다.

이 식의 첫번째 항은 KL divergence이므로 항상 0보다 크거나 같다. 그러므로
logp(x)Eq[logp(x,z)]Eq[logq(z)]\log{p(x)} \ge E_q[\log{p(x,z)}]-E_q[\log{q(z)}]
이다.

ELBO=Eq[logp(x,z)]Eq[logq(z)]ELBO = E_q[\log{p(x,z)}]-E_q[\log{q(z)}]

의미

1) 첫번째 항

Eq[logp(x,z)]Eq[logq(z)]E_q[\log{p(x,z)}]-E_q[\log{q(z)}]q(x)logp(x,z)\int{q(x)\log{p(x,z)}}로 나타낼 수 있고 energy를 의미한다.

2) 두번째 항

Eq[logq(z)]E_q[\log{q(z)}]는 entropy를 의미한다. 그러므로 이 항이 커질 수록 무질서도가 증가하고 probability가 골고루 퍼지게 된다.

3) 정리

두 항이 trade-off 관계를 가진다.

profile
지식 정리용 벨로그

0개의 댓글