내가 보려고 만든 논문리뷰 01 - 1 : Auto Encoding Variational Bayes (VAE)

Gahyeon Kim·2023년 6월 6일
0

내가 보려고 만든 Paper Review 01 : "Auto Encoding Variational Bayes", Diederik P.Kingma et al. ICML 2015

[origianl paper link: https://arxiv.org/abs/1503.03585]

※ 주의 드립니다!
아직 저도 수학, 딥러닝, 머신러닝 마스터가 아니기 때문에 잘못된 개념 설명이 들어있을 수 있습니다. 참고용으로 봐주시고, 제가 참고한 자료의 원문을 보시면서 공부하시는 걸 추천드리겠습니다.

Manifold Hypothesis

"Data is concentrated around a lower dimensional fold."
manifold 공간에 있는 representation z(latent space)를 찾는 것이 generative model의 목표이다.

Maximum Likelihood

본딥다 시리즈의 [MLE,Maximum Likelihood Estimation]를 참고하길 바랍니다.

argmaxθ=pθ(x)=zpθ(x,z)=zpθ(xz)pθ(z)argmax_\theta = p_\theta(x) = \int_zp_\theta(x,z) = \int_zp_\theta(x|z)\,p_\theta(z)

Variation Inference

모분포 p는 어떻게 생긴 지 모르고, 복잡하기 때문에 직접적으로 다루기 어렵다. "tractable" 하다고도 말할 수 있다. 그래서 모분포보다 다루기 쉬운 추정 분포 q를 이용하게 된다. MLE를 사용해서 근사를 하는 이유라고 볼 수 있다.

qϕ(zx)pθ(zx)q_\phi(z|x) \approx p_\theta(z|x)

Preliminary

  1. zq(xz)=1\int_zq(x|z) = 1
    전체 확률 분포의 적분 값은 1이다.

  2. p(x)=p(z,x)p(zx)\,p(x) = {p(z, x) \over p(z|x)}

  3. E[x]=xf(x)E[x] = x\int f(x)

  4. DKL(PQ)=p(x)logp(x)q(x)D_{KL}(P||Q) = \int p(x)log{p(x)\over q(x)}

The Variation Bound

Variation Inference에 따라서 log(pθ(x))log (p_\theta(x)) 최대화시킨다. 위의 preliminary에 있는 조건들을 적용시켜서 식을 전개한다.

log(pθ(x))=zqϕ(zx)log(pθ(x))=zqϕ(zx)log(p(z,x)p(zx))log(p_\theta(x)) = \int_z q_\phi(z|x) \,log(p_\theta(x)) = \int_z q_\phi(z|x)log({p(z, x) \over p(z|x)})
=zqϕ(zx)log(p(z,x)qϕ(zx)qϕ(zx)p(zx))= \int_z q_\phi(z|x)log({p(z, x) \over q_\phi(z|x)}\,{q_\phi(z|x) \over p(z|x)})
=zqϕ(zx)log(p(z,x)qϕ(zx))+zqϕ(zx)log(qϕ(zx)p(zx))= \int_z q_\phi(z|x)log({p(z, x) \over q_\phi(z|x)}) + \int_z q_\phi(z|x)log({q_\phi(z|x) \over p(z|x)})

이때, 논문 상에서는 zqϕ(zx)log(p(z,x)qϕ(zx))\int_z q_\phi(z|x)log({p(z, x) \over q_\phi(z|x)}) 항을 편의상 L(θ,ϕ;x)\mathcal L(\theta, \phi ; x)으로 표현한다.

그리고 두번째 항인 zqϕ(zx)log(qϕ(zx)p(zx))\int_z q_\phi(z|x)log({q_\phi(z|x) \over p(z|x)})은 KL-Divergence 식으로 다시 쓸 수 있다. 그래서 위의 식을 정리하게 되면 다음과 같다.

log(pθ(x))=L(θ,ϕ;x)+DKL(qϕ(zx)pθ(zx))log(p_\theta(x)) = \mathcal L(\theta, \phi ; x) + D_{KL}(q_\phi(z|x)||p_\theta(z|x))

KL-Divergence

잠시 KL-divergence에 대해서 생각해보자. DKLD_{KL}은 정보 엔트로피의 상대적인 비교로, DKL(PQ)D_{KL}(P||Q)는 P의 기준으로 봤을 때의 Q에 대한 엔트로피 H(Q)H(Q)와 P에 대한 정보 엔트로피 H(P)H(P)의 합으로 나타낼 수 있다.

이때 DKL(PQ)D_{KL}(P||Q)는 다음의 3가지 조건을 만족한다.
1. DKL(PQ)DKL(QP)D_{KL}(P||Q) \neq D_{KL}(Q||P)
2. DKL(PQ)0D_{KL}(P||Q) \ge 0
3. DKL(PQ)=0D_{KL}(P||Q) = 0 (if and only if P=QP=Q almost everywhere)


그럼 다시 돌아와서 마지막으로 정리된 식을 보자.

log(pθ(x))=L(θ,ϕ;x)+DKL(qϕ(zx)pθ(zx))log(p_\theta(x)) = \mathcal L(\theta, \phi ; x) + D_{KL}(q_\phi(z|x)||p_\theta(z|x))

위 식에서 DKLD_{KL} 항은 아래의 조건을 만족하므로 부등식 좌,우변에 L(θ,ϕ;x)\mathcal L(\theta, \phi ; x)을 더해 아래와 같이 쓸 수 있다.

DKL(qϕ(zx)pθ(zx))0D_{KL}(q_\phi(z|x)||p_\theta(z|x)) \ge 0
L(θ,ϕ;x)+DKL(qϕ(zx)pθ(zx))L(θ,ϕ;x)\mathcal L(\theta, \phi ; x) +D_{KL}(q_\phi(z|x)||p_\theta(z|x)) \ge \mathcal L(\theta, \phi ; x)

우리의 목적은 likelihood인 부등식의 좌항(LHS)을 최대화 하는 것이다. 이를 잊지말고, 식을 정리해나가보자.

Tidy up the L(θ,ϕ;x)\mathcal L(\theta, \phi ; x)

식을 정리하는 데에 있어서 쉬운 이해를 위해 LHS(Left Hand Side)의 L(θ,ϕ;x)\mathcal L(\theta, \phi ; x)LA(θ,ϕ;x)\mathcal L^A(\theta, \phi ; x)라고 쓰고, RHS(Right Hand Side)의 L(θ,ϕ;x)\mathcal L(\theta, \phi ; x)LB(θ,ϕ;x)\mathcal L^B(\theta, \phi ; x)라고 쓰겠다. (편의상 표기만 다르게 해 놓았을 뿐 동일한 loss term이다.)

먼저 MonteCarlo Estimation을 통해서 LA(θ,ϕ;x)L^A(\theta, \phi ; x)를 정리해보자.

LA(θ,ϕ;x)=qϕ(zx)log(pθ(z,x)qϕ(zx))=qϕ(zx){log(pθ(z,x))log(qϕ(zx))}L^A(\theta, \phi ; x) = \int q_\phi(z|x)log({p_\theta(z,x) \over q_\phi(z|x)}) = \int q_\phi(z|x){\{log({p_\theta(z,x)) - log(q_\phi(z|x)})\}}
=Eqϕ(zx)[log(qϕ(zx))+log(pθ(z,x))]= E_{q_\phi(z|x)}[-log{(q_\phi(z|x))} + log(p_\theta(z,x))]
=1LlL(log(pθ(z(l),x)log(qϕ(z(l)x))= {1 \over L}\sum_l^L(log (p_\theta(z^{(l)}, x) - log (q_\phi(z^{(l)}|x))

이때 위 식의 sampling variable zz 아래의 분포를 따르게 된다.

where z(l)qϕ(z(l)x)where {\ z^{(l)} \sim q_{\phi}(z^{(l)}|x) }

이제 우리가 편의상 LB\mathcal L^B라고 썼던 RHS의 loss term을 정리해보자.
우리가 ELBO(Evidence Lower BOund)라고 부르는 항이 된다.

그 다음 내용은 2편에서 이어서 리뷰하겠습니다. (많관부)

profile
이제부터 하려고요,,,,velog

0개의 댓글