- 데이터는 latent variables로부터 생겨났다 라는 관점을 갖고 있어야 함
- 그 중에서도, 우리는 lower-dimensional latent representations 에 관심이 더욱 많다. 더 많은 정보가 압축돼있기 때문에 더 얻어갈 것도 많기 때문
ELBO (Evidence Lower Bound)
개념 : p(x) 를 곧바로 유추하긴 어려우니 Lower Bound를 최대화하는 방식으로 우회해서 찾자! ELBO를 최대화한다면 $q_\phi$ 를 $p$ 에 근사시킬 수 있다!
- latent variables = z
- data = x
- 그 사이의 관계 = p(x,z)
- likelihood-based approach의 목적은, 모든 데이터 x에 대해 likelihood p(x)를 최대화하는 것
$p(x) = \int p(x,z)dz = \dfrac{p(x,z)}{p(z|x)}$
- p(x)를 바로 계산하려면 모든 z에 대해 적분을 때려야 함. 복잡한 모델에선 이게 어려운데, 복잡한 모델에서는 z를 알 수 없고, 두번째 식으로 계산하려 해도 ground truth latent encoder p(z|x) 를 알아야 하기 때문임 (상식적으로 x를 바탕으로 z를 유추하는 건 불가능하다. z는 우리가 가상으로 상상해낸 latent variable이기 때문)
- 하지만 위 식을 이용해서 ELBO 를 도출하고, ELBO를 최대화시키면 근사적으로 lavent variable model을 최적화할 수 있다.
- 여기서 Evidence 란, [ log likelihood of the observed data ] 로 정의된다.
- 즉, dataset의 likelihood 의 lower bound를 최대화한다는 뜻이므로 모델의 최적화와 의미가 통함
- Lower Bound가 완벽하게 최적화된다면 ELBO와 evidence는 같다.
$\log p(x) \ge ELBO = \mathbb{E}{q\phi(z|x)}[log\dfrac{p(x,z)}{q_\phi(z|x)}]$
- 문자를 봐서 유추할 수 있듯, $q_\phi$ 는 최적화 해야 할 대상 (분포) 이다. ( 당연히 $\phi$ 는 parameter를 뜻함 )
- 구체적으로, q_\phi 는 true posterior p(z|x) 에 근사하도록 학습된다. ( q_\phi(z|x) 가 커질수록 ELBO )
- 위 유도식을 활용해서 ELBO를 유도한다면 $\log p(x) = ELBO + D_{KL}(q_\phi(z|x) || p(z|x))$ 의 관계식을 얻을 수 있다. $D_{KL} \ge 0$ 이므로 ELBO가 Lower Bound임을 확인할 수 있고, ELBO를 최대화하는 것은 $q_\phi(z|x) = p(z|x)$ 로 근사시키는 것과 같은 의미임을 알 수 있다.
- $D_{KL}$ 을 minimize해서 $q_\phi(z|x) = p(z|x)$ 를 만드는 것이 가장 이상적이긴 하지만, ground truth distribution $p(z|x)$ 를 모르므로 이건 불가능하다. 다만, $\log p(x)$ 가 $\phi$ 에 관계없이 변하지 않는 상수이므로, 대신해서 ELBO를 최대화하면 $D_{KL}$ 을 minimize하는 것과 같은 효과이다.
'딥러닝' 카테고리의 다른 글
Hierarchical Variational Autoencoders (1) | 2023.11.24 |
---|---|
VAE (0) | 2023.11.24 |
Generative Models (0) | 2023.11.24 |
논문리뷰 Diffusion Models already have a Semantic Latent Space (ICLR2023 notable-top-25%) (1) | 2023.09.26 |
Text-to-image Diffusion Models in Generative AI:A Survey (0) | 2023.07.04 |