Contribution

Diffusion model과 GAN을 합친 아이디어를 제시하였다. 제시된 모델은 diffusion model보다 빠른 속도, GAN보다 뛰어난 mode coverage를 보여준다.

Reverse Process는 Gaussian이 아니다

$\beta_t$가 충분히 작을 때 reverse process $q(x_{t-1}|x_t)$는 forward process와 functional form이 같다고 알려져있고, 그 이유는 다음과 같다.

$$ q(x_{t-1}|x_t)=\frac{q(x_{t}|x_{t-1})q(x_{t-1})}{q(x_t)} $$

위와 같이 reverse process를 bayes’ rule로 나타냈을 때, $\frac{q(x_{t-1})}{q(x_t)} \approx1$이고 따라서 $q(x_t|x_{t-1})$이 저 식을 dominate 하게 되기 때문이다. $q(x_t|x_{t-1})$가 gaussian이므로 reverse도 gaussian이라고 생각할 수 있다.

문제는 이 가정은 $\beta_t$가 작을 때만 성립하고, 그렇게 하기 위해서 $T$를 매우 크게 잡아야 했기 때문에 diffusion model의 생성 과정은 매우 느렸다. $\beta_t$를 늘리고 $T$를 줄이면 reverse가 더이상 gaussian이 아니게 되고, 그렇다면 KLD를 계산하기도 힘들어진다.

더 복잡한 reverse process

Untitled

기존 DDPM의 objective는 위와 같았다. 사실 이 식만 봤을 때는 $q(x_{t-1}|x_t,x_0)$가 $\beta_t$에 관계없이 무조건 gaussian이기 때문에 $p_\theta(x_{t-1}|x_t)$를 더 복잡하게 설계할 이유가 없어보이기도 한다. 위 식은 다음과 같은 형태로도 쓸 수 있는데,

Untitled

여기서 $q(x_{t-1}|x_t)$가 intractable하기 때문에 이 꼴은 실제 학습에는 사용되지 않았다. 이 식을 살펴보면 $p_\theta(x_{t-1}|x_t)$가 $q(x_{t-1}|x_t)$만큼 복잡해져야 함을 확인할 수 있다. 이 논문에서는 이 형태의 식을 사용할 것이다.

Untitled

Eq 3의 KLD가 intractable하므로 다른 divergence를 사용해야 한다. GAN을 divergence minimization으로 해석할 수 있으므로 위와 같이 KLD를 $D_{adv}$로 대체하며, $D_{adv}$는 loss function에 따라 JSD, Wasserstein distance 등이 될 수 있고 논문에서는 non-saturating loss를 사용하였다. Discriminator의 loss는 다음과 같다.

Untitled

여전히 $q(x_{t-1}|x_t)$가 intractable하다는 문제는 남아있는데, 따라서 첫 번째 expectation을 계산할 수 없으므로 이는 다음과 같이 해결한다.

Untitled

$q(x_0)q(x_{t-1}|x_0)q(x_t|x_{t-1})=q(x_0,x_{t-1},x_t)$이고, $E_{q(x_{t-1},x_t)}[-log(D_\phi(x_{t-1},x_t,t))]=E_{q(x_0,x_{t-1},x_t)}[-log(D_\phi(x_{t-1},x_t,t))]$인 점을 이용한 것이다.