DDPM (NeurIPS 2020, Diffusion)

2024. 6. 11. 16:19·DL·ML/Paper

 

 

DDPM

Background

* diffusion process는 원래 종전의 [1]을 발전시킨 모델으로, variational inference를 이용하여 train된 parametrized Markov chain으로 image를 generation하는 과정이다. 

 

→ variational inference는 posterior probability $p(x|z)$를 직접 구하는 대신 parametrized function $q(x)$를 대신 구하고, ELBO를 이용하여 둘의 차이를 minimize하는 것을 의미한다. 이때 ELBO를 maximize하면 둘의 KL divergence $D_{KL}(p(x|z) || q(x))$를 minimize하는 것과 같다. 

 

Figure 1: The directed graphical model.

 

물리학에서 말하는 diffusion처럼, diffusion process는 원래 structure에서 diffuse되어 noise를 만들고, 이를 역과정으로도 수행하여 noise로부터 image를 generate할 수 있게 된다. 각각의 markov chain process는 data에 작은 양의 Gaussian noise를 더한다. 이는 conditional Gaussian, 즉 neural network로 parametrize될 수 있다.

 

생성된 image를 $x_0$, signal이 제거된 image를 $x_T$라고 했을 때, diffusion model은 $p_θ(x_0):=\int p_θ(x_{0:T})dx_{1:T}$로 정의될 수 있다. 이 joint distribution $p_θ(x_{0:T}$는 reverse process라고 한다. 이때 각각의 step의 Guassian translation을 수행하는 Markov chain으로 정의된다:

 

$$ p_θ(x_{0:T}):=p(x_T)\prod^T_{t=1}p_θ(x_{t-1}|x_t),\qquad p_θ(x_{t-1}|x_t):=\mathcal{N} (x_{t-1};\mu_θ(x_t,t),Σ_θ(x_t,t))$$

 

→ 따라서 $x_0$는 $x_T$에서 여러 번의 Gaussian을 여러 번 곱해준 형태가 되는 것이다. 

 

원래 data에 noise를 더하는 과정을 forward process 또는 diffusion process라고 하며 이는 원래 데이터 $x_0$에 variance schedule $β_t$에 따라서 Gaussian noise를 더해주는 Markov chain이다. 

 

$$ q(x_{1:T}|x_0):=\prod^T_{t=1}q(x_t|x_{t-1}),\qquad q(x_t|x_{t-1}):=\mathcal {N} (x_t;\sqrt{1-β_t} x_{t-1},β_t I)$$

 

→ 이때 mean에 원래 signal에 $\sqrt{1-β_t}$를 곱해주는 것은 variance 값이 convex combination으로 구성되게 하기 위한 것이다. 

 

Training은 ELBO를 minimize함으로써 수행될 수 있다. 

$$\mathbb{E} [-\log p_θ(x_0)] ≤ \mathbb E_q \left [ -\log \frac{p_θ(x_{0:T}}{q)x_{1:T}|x_0} \right] \\ = \mathbb E_q \left[ -\log p(x_T)-\sum_{t≥1}\log\frac{p_θ(x_{t-1}|x_t}{q(x_t|x_{t-1})}\right ] =: \mathcal L$$

 

이때 각 variance는 reparametrization에 의해서 train될 수도 있고, hyperparameter로 설정될 수도 있다. 또한 이때 $x_t$의 sampling은 $x_0$을 mean으로 하는 Guassian에서의 sampling의 형태를 갖게 된다.

$$ q(x_t|x_0)=\mathcal{N}$$

이때 $α_t:=1-β_t, \qquad \bar α_t:=\prod^t_{s=1}α_s$

 

 

 

Forward Process & Reverse Process

  • Forward process

forward process는 모든 $β_t$가 constant로 fix된 형태이다. 따라서 $q$는 learnable parameter가 없다. 

  • Backward process

backward process는 neural network로 $μ, Σ$를 학습하여 이루어진다. 처음에는 $x_0 \sim \mathcal {N}(0,I)$를 하게 되고,

 

위의 형태로 backward process를 정의한다. 이를 optimize하기 위해서 위의 ELBO term을 optimize해야 한다. 이때 $L_0$와 $L_T$는 optimize하지 않고 $L_{t-1}$만 optimize하게 된다. 이는 $L_T$에는 training이 가능한 parameter가 없고 $L_0$는 제외했을 때 performance가 더 좋았기 때문이다.

 

따라서 loss term은 다음과 같이 쓰여질 수 있다.

그러나 이를 더 간단히 하기 위해서 reparametrization trick을 사용해서 $ε~\mathcal {N}(0,I)$로 표현한다. 

이를 추가 simplify하는 과정을 거쳐 다음과 같이 표현하게 된다. 

 

이는 곧 $ε$을 predict하는 문제로 바뀔 수 있음을 의미한다. 물론 $x_0$를 predict할 수 있지만, 이 경우 performance가 떨어지는 문제가 있었다. 

 

최종적으로는 다음 loss를 optimize하게 된다:

이때 t는 1과 T 사이에서 uniform하다.

 

이를 정리하면 다음 algorithm으로 표현할 수 있다:

 

Discussion

 

 


References

[1] Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In International Conference on Machine Learning, pages 2256–2265, 2015.

Footnotes

'DL·ML > Paper' 카테고리의 다른 글

X-VARS (CVPR 2024)  (0) 2024.06.26
BASNet (CVPR 2019, OD)  (0) 2024.06.14
VideoChat2 (CVPR 2024, MLLM)  (0) 2024.05.28
UMT(ICCV 2023 Oral, Video Foundation Model)  (0) 2024.05.28
MViT v1 (ICCV 2021, Video Recognition)  (0) 2024.05.18
'DL·ML/Paper' Other articles in this category
  • X-VARS (CVPR 2024)
  • BASNet (CVPR 2019, OD)
  • VideoChat2 (CVPR 2024, MLLM)
  • UMT(ICCV 2023 Oral, Video Foundation Model)
Jordano
Jordano
  • Jordano
    Jordano
    Jordano
  • Total
    Today
    Yesterday
    • All categories
      • Introduction
      • Theatre⋅Play
      • Thinking
        • iDeAs
        • Philosophy
      • History
        • Cuba
        • China
      • CS
        • HTML·CSS·JavaScript
        • Dart·Flutter
        • C, C++
        • Python
        • PS
        • Algorithm
        • Network
        • OS
        • etc
      • DL·ML
        • Paper
        • Study
        • Project
      • Mathematics
        • Information Theory
        • Linear Algebra
        • Statistics
        • etc
      • etc
        • Paper
      • Private
      • Travel
  • Blog Menu

    • 홈
    • 태그
    • 방명록
  • Link

  • hELLO· Designed By정상우.v4.10.3
Jordano
DDPM (NeurIPS 2020, Diffusion)
상단으로

티스토리툴바