스터디 영상: https://youtu.be/sNkVRr56MtI
DDPM의 시초격인 논문입니다. 사실 원조는 <Deep unsupervised learning using nonequilibrium thermodynamics> 이 논문인데, 2015년에 나오고서 그 뒤로는 묻혔고 본 논문이 다시 꺼내서 DDPM이 이미지 생성을 꽤 잘한다는 것을 보였죠.
DDPM은 $T$개의 latent variable을 가지는 latent variable generative model
$p_{\theta}(x_0):=\int p_{\theta}(x_{0:T})dx_{1:T}$이다. DDPM은 기본적으로 hierarchical VAE인데, DDPM만의 차별점은 다음과 같다.
그렇다면 VAE는 성능이 안좋은 반면 DDPM은 sharp한 이미지도 생성할 수 있는 이유는 무엇일까? Diffusion process의 총 time step $T$에 대해 DDPM은 $T$-layer의 hierarchical VAE라고 할 수 있다. 각 diffusion process는 정해진 noise schedule을 따라서 조금씩 signal을 파괴한다. 따라서 이를 뒤집는 reverse process의 난이도가 일반적인 VAE에 비해 쉽다. 반면 VAE에서는 encoder가 어떤 layer에서는 signal을 전혀 파괴하지 않을 수도 있고 혹은 너무 많이 파괴할 수도 있다. 이를 뒤집는 decoding step의 난이도는 무척 쉽거나 혹은 무척 어려울 수 있다. 다시 말해, DDPM은 VAE의 generation process를 $T$개의 쉬운 markov process로 쪼갰다고 말할 수 있다.
Forward process는 위와 같이 정의된다. 여기서 $\beta_t$는 $\beta_1=10^{-4}$에서 $\beta_T=0.02$까지 linear하게 증가하게 사전에 설정된다. 이 값은 learnable parameter로 둘 수도 있지만 이 논문의 저자가 상수로 두어도 큰 차이가 없다는 것을 발견하였다. 가령 $\beta_t=0.01$이라면 $x_t=\sqrt{0.99}x_{t-1} + 0.1\epsilon$으로 reparameterize 될 것이다. 이런 식으로 점차 signal을 손상시킨다. 논문에서는 $T=1000$으로 설정하였고, 이런 forward process를 1000 step 밟으면 $x_T$는 거의 완전히 gaussian distribution을 따르게 된다.