Search
Duplicate

AI/ Hierarchical VAE(H-VAE)

Hierarchical VAE

LL개 확률적 레이어를 갖는 hierarchical VAE(HVAE)를 다음과 같은 생성 모델로 정의한다.
pθ(x,z1:L)=pθ(zL)[l=L11pθ(zlzl+1)]pθ(xz1)p_{\boldsymbol{\theta}}(\bold{x},\bold{z}_{1:L}) = p_{\boldsymbol{\theta}}(\bold{z}_L)\left[\prod_{l=L-1}^1 p_{\boldsymbol{\theta}}(\bold{z}_l|\bold{z}_{l+1}) \right] p_{\boldsymbol{\theta}}(\bold{x}|\bold{z}_1)
위의 모델을 non-Markovian으로 만들어서 개선할 수 있다. 즉 zl\bold{z}_l이 이전 레벨 뿐만 아니라 모든 상위 레벨 확률적 변수 zl+1:L\bold{z}_{l+1:L}에 의존하도록 할 수 있다.
pθ(x,z)=pθ(zL)[l=L11pθ(zlzl+1:L)]pθ(xz1:L)p_{\boldsymbol{\theta}}(\bold{x},\bold{z}) = p_{\boldsymbol{\theta}}(\bold{z}_L)\left[\prod_{l=L-1}^1 p_{\boldsymbol{\theta}}(\bold{z}_l|\bold{z}_{l+1:L}) \right] p_{\boldsymbol{\theta}}(\bold{x}|\bold{z}_{1:L})
likelihood가 단순히 pθ(xz1)p_{\boldsymbol{\theta}}(\bold{x}|\bold{z}_{1}) 대신 pθ(xz1:L)p_{\boldsymbol{\theta}}(\bold{x}|\bold{z}_{1:L})임에 유의하라. 이것은 모든 선행 변수에서 모든 자식에 skip connection을 추가한 것과 유사하다

Inference

HVAE에서 추론을 수행하기 위해 다음 형식의 bottom-up inference 모델을 사용한다.
qϕ(zx)=qϕ(z1x)l=2Lqϕ(zlx,z1:l1)q_{\boldsymbol{\phi}}(\bold{z}|\bold{x}) = q_{\boldsymbol{\phi}}(\bold{z}_1|\bold{x})\prod_{l=2}^L q_{\boldsymbol{\phi}}(\bold{z}_l|\bold{x},\bold{z}_{1:l-1})
그러나 더 나은 접근은 다음 형식의 top-down inference 모델을 사용하는 것이다.
qϕ(zx)=qϕ(zLx)l=L11qϕ(zlx,zl+1:L)q_{\boldsymbol{\phi}}(\bold{z}|\bold{x}) = q_{\boldsymbol{\phi}}(\bold{z}_L|\bold{x})\prod_{l=L-1}^1 q_{\boldsymbol{\phi}}(\bold{z}_l|\bold{x},\bold{z}_{l+1:L})
zl\bold{z}_l에 대한 추론은 x\bold{x}의 bottom-up 정보를 상위 레이어의 top-down 정보와 결합한다. z>l=zl+1:L\bold{z}_{>l} = \bold{z}_{l+1:L}
위의 모델을 사용하여 ELBO는 다음과 같이 작성할 수 있다. (KL에 대한 체인 룰을 사용하여)
Ł(θ,ϕx)=Eqϕ(zx)[logpθ(xz)]DKL(qϕ(zLx)pθ(zL))l=L11Eqϕ(z>lx)[DKL(qϕ(zlx,z>l)pθ(zlz>l))]\begin{aligned} Ł(\boldsymbol{\theta},\boldsymbol{\phi}|\bold{x}) &= \mathbb{E}_{q_{\boldsymbol{\phi}}(\bold{z}|\bold{x})} [\log p_{\boldsymbol{\theta}}(\bold{x}|\bold{z})] - D_\text{KL}(q_{\boldsymbol{\phi}}(\bold{z}_L|\bold{x}) \| p_{\boldsymbol{\theta}}(\bold{z}_L)) \\ &-\sum_{l=L-1}^1 \mathbb{E}_{q_{\boldsymbol{\phi}}(\bold{z}_{>l}|\bold{x})}[D_\text{KL}(q_{\boldsymbol{\phi}}(\bold{z}_l|\bold{x},\bold{z}_{>l})\|p_{\boldsymbol{\theta}}(\bold{z}_l|\bold{z}_{>l}))] \end{aligned}
여기서
qϕ(z>lx)=i=l+1Lqϕ(zix,z>i)q_{\boldsymbol{\phi}}(\bold{z}_{>l}|\bold{x}) = \prod_{i=l+1}^L q_{\boldsymbol{\phi}}(\bold{z}_i|\bold{x},\bold{z}_{>i})
는 레이어 ll 위의 근사 posterior 이다. (즉 zl\bold{z}_l의 부모)
top-down 추론 모델이 더 나은 이유는 주어진 레이어의 실제 posterior에 더 가깝기 때문이다.

참고