Denoising Diffusion Probabilistic Models

위 논문을 다음과 같이 개선하였습니다.

Contribution

  1. DDPM에서 제안된 loss에 더불어 variational lower bound를 같이 학습해서 log likelihood 향상
  2. Posterior의 variance을 학습해서 log likelihood 향상시킴.
  3. Noise schedule을 linear에서 cosine으로 바꿈
  4. Gradient noise 줄임
  5. Sampling step을 건너뛰어서 inference time 줄임

Motivation

DDPM의 log likelihood는 다른 likelihood-based model에 비해 좋지 못합니다. GAN은 log likelihood를 계산할 수 없기 때문에 GAN위주로 보시는 분들은 조금 생소할 수도 있는데, GAN을 제외한 다른 생성 모델에서는 likelihood metric이 굉장히 많이 사용된다고 합니다. Log likelihood를 최적화 시킨다면, data distribution의 모든 mode들을 잘 잡아낼 수 있기 때문입니다.

그리고 일반적으로 log-likelihood를 조금만 향상시켜도, sample quality 와 feature representation이 많이 향상된다는 연구 결과가 있습니다.(Henighan et al.,2020)

물론 log-likelihood가 안좋다고 sample quality가 무조건 안 좋은것은 아니지만, 왜 likelihood 성능이 안좋은지 파악하며 DDPM모델 자체에 근본적인 결함이 있는지를( ex> mode coverage가 안좋다던지) 탐구해볼 수 있습니다.

Method

1. Learning posterior variance $\Sigma_\theta(x_t, t)$ and adding $L_{vlb}$ loss

기존 DDPM(Ho et al., 2020)에서는 reverse process의 variance를 forward process에서 사용했던 동일한 variance $\beta_t$로 고정합니다. 신기한건, $x_0$이 추가로 주어졌을때 bayes theorem을 통해 계산할 수 있는 true posterior $q(x_{t-1}|x_{t}, x_0)$ 의 true variance $\tilde \beta_t$ 를 사용해도 비슷한 결과가 나온다는 것입니다. 이게 어떻게 보면 당연한 결과인게, $\beta_t$ 과 $\tilde \beta_t$는 작은 t를 제외하고는 거의 같습니다. 그래서 그냥 $\beta_t$를 사용해도 상관이 없는 것이죠.

Screen Shot 2021-11-20 at 12.05.31 AM.png