본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
카테고리 없음

[2025-1] 이재호 - Denoising Diffusion Implicit Model

by jeffy1234 2025. 1. 9.

https://arxiv.org/abs/2010.02502

 

Denoising Diffusion Implicit Models

Denoising diffusion probabilistic models (DDPMs) have achieved high quality image generation without adversarial training, yet they require simulating a Markov chain for many steps to produce a sample. To accelerate sampling, we present denoising diffusion

arxiv.org

 Denoising Diffusion Implicit Models(DDIM)은 Jiaming Song, Chenlin Meng & Stefano Ermon 이 2021에 발표한 논문이다. 기존의 DDPM의 단점으로 꼽힌 긴 샘플링 시간을 단축시킨 모델로 DDPM과 훈련 방식은 같지만 non-markov 한 forward process를 적용해 샘플링 시간을 단축시켰다. 

 

Abstract

  • DDPM은 adversial training 없이 높은 품질의 이미지 생성이 가능하나 한 스텝씩 노이즈를 제거하면서 이미지를 생성하기에 시간이 매우 오래 걸린다.
  • 이미지 생성시간을 단축시키기 위해 DDPM과 같은 훈련 과정을 거치지만 non-markovian process를 사용하는 DDIM이라는 모델을 만들었다.
  • DDIM은 DDPM보다 10~50배 빠르게 이미지를 생성하며 latent space에서의 image interpolation이 가능하고 에러도 적다.

1. Introduction

<Deep generative models>

- GAN : VAE 보다 높은 품질의 이미지를 생성하지만 학습을 안정화시키기가 힘들고 계속해서 같은 이미지를 만드는 mode collapse가 발생.

- DDPM / NCSN(noise conditional score networks) : Adversial training 과정이 없어 학습이 더 안정적이지만 반복해서 noise를 제거해 이미지를 생성하기 때문에 이미지 샘플 시간이 매우 오래걸림. 

(DDPM으로 50k 개의 32 x 32 이미지를 생성하는데 약 20시간이 걸리지만 GAN을 사용하면 1분 미만이 걸림, Nvidia 2080 Ti GPU 사용 기준)

 

GAN과 DDPM의 효율성 차이를 줄이기 위해 저자들은 DDIM이라는 모델을 개발했다. DDIM은 DDPM과 유사한 모델로 아래와 같은 특징이 있다.

  • DDPM의 Markovian이었던 forward diffusion process를 non-markovian process로 일반화하고 이에 적합한 reverse generative Markov chain을 설계했다.
  • DDPM을 학습 시킬 때 사용한 목적 함수와 같은 목적 함수를 사용한다. 따라서 기존과 동일한 신경망을 사용하면서 diffusion process만 non-markovian process로 하여 다양한 생산 모델을 설계할 수 있다.
  • 다시 말해 forward process를 markov으로 설계하든 non-markov로 설계하든 학습하는 함수는 같다는 뜻이다.
  • Non-markov diffusion process를 이용해 적은 수의 step으로 시뮬레이션할 수 있는 짧은 markov chain을 이용해 품질 손실은 거의 없이 샘플링 효율을 크게 높였다.

DDPM과 비교했을 때 DDIM은 몇 가지 경험적 이점이 있다.

  • 샘플링 속도를 10 ~ 100배 높여도 DDPM보다 우수한 생성 품질을 갖는다.
  • 동일한 latent 변수로 시작하여 다양한 길이의 markov chain으로 여러 샘플을 생성하면 샘플들이 높은 일관성을 가진다.
  • 이러한 일관성 덕분에 DDIM은 latent 변수를 조작하여 의미있는 보간이 가능하다. DDPM은 일관성이 없어 이미지 space 근처에서 보간을 진행해야 했다.

2. Background

DDPM의 내용이다. DDPM에서는 데이터의 분포 $ q(x_0) $가 주어질 때 모델 분포 $ p_{\theta}(x_0) $가 $ q(x_0) $에 근사하도록 학습한다.  

Variational lower bound를 최대화하는 방식을 사용하여 파라미터 $\theta$를 학습시킨다.

이때 VAE와 같이 전형적인 latent variable model과 다르게 $q(x_{1:T}|x_0)$ 과정을 아래와 같이 고정시키고 학습을 진행한다. 또한 감소 수열  $ \alpha_{1:T} $ ∈ $ (0,1]^T $ 로 매개변수화된 가우시안 분포를 사용한 markov chain을 사용하였다.

DDPM 논문에 사용된 $ \bar{\alpha}_t $이 DDIM에서는 $ \alpha_t $로 사용되었다.

$ q_(x_t|x_{t-1}) $를 forward process라 하고 $x_T$에서 $x_0$로 샘플링하는 Markov chain $p_{\theta}(x_{0:T})$를 generative process라고 하며 이는 reverse process $ q_(x_{t-1}|x_t) $로 근사된다. Forward process는 가우시안 분포의 성질에 의하여 아래와 같이 $x_0$에서 $x_t$로 한 번에 가는 분포를 얻을 수 있고 reparametrization trick을 사용해 다음과 같이 나타낼 수 있다.

오른쪽 식을 (4)번 식이라 하자.

$\alpha_T$를 0에 가깝게 설정하면 임의의 $x_0$에 대하여 $q(x_T|x_0)$는 표준 가우시안 분포에 수렴해 $p_{\theta}(x_T)=N(0, I)$로 설정할 수 있다. 이때 모든 조건부 분포를 학습가능한 평균과 고정된 분산을 가진 가우시안 분포로 모델링할 수 있으면 (2) 식을 아래와 같이 간단하게 나타낼 수 있다.

DDPM에서는 모든 타임 스텝에 관하여 같은 파라미터, weight($\gamma$)을 사용했다.

$\gamma$는 $\alpha_{1:T}$에 의존하는 양수 계수이고 DDPM에서는 생성 성능을 최대화하기 위해 1로 설정해 두었다.

 

3. Variational Inference For Non-Markovian Forward Process

생성 모델은 inference process의 역과정으로 근사되므로 생성 모델이 필요한 iteration 수를 줄이기 위해서는 inference 과정을 다시 생각하여야 한다. (5) 식을 보면 $L_{\gamma}$는 marginal distribution인 $q(x_t|x_0)$에만 의존하고 joint distribution인 $q(x_{1:T}|x_0)$에는 의존하지 않는 것을 알 수 있다. 같은 Marginal distribution에 대하여 다양한 joint distribution이 존재하므로 non-markovian 한 새로운 joint distribution을 떠올려, 즉 새로운 inference process를 만들어 이에 대응되는 새로운 generative process를 만들어낼 수 있다. 이러한 non-markovian process는 DDPM과 같은 목적 함수를 가진다는 것을 추후에 증명한다.

3.1 Non-Markovian Forward Process

실수 벡터 $\sigma \in \mathbb {R}_{\geq 0}^T$ 로 index 된 inference distribution은 아래와 같다.

이때 평균은 모든 t에 대하여 $q_{\sigma}(x_t|x_0) = N(\sqrt {\alpha_t} x_0, (1 - \alpha_t) I)$ 를 만족해 결국 marginal distribution을 만족하도록 하는 joint distribution을 정의한다. (증명은 논문의 Appendix B의 Lemma 1에 나와있다.)

베이즈 정리를 활용해 forward process는 다음과 같이 나타낼 수 있다.

이 분포 또한 가우시안으로 나타내어지며 이제 $x_t$ 가 $x_{t-1}$ 뿐만 아니라 $x_0$에 대해서도 의존하므로 markovian 하지 않다. 그리고 $\sigma$의 크기에 따라 forward process가 얼마나 stochastic 한지 결정된다. 

 

3.2 Generative Process and Unified Variational Inference Objective

다음으로 각 $ p_{\theta}^{(t)}(x_{t-1}|x_t) $ 가 $q_{\sigma}(x_{t-1}|x_t, x_0) $에 대한 지식을 활용할 수 있는 학습 가능한 generative process $p_{\theta}(x_{0:T})$를 정의한다. 직관적으로, noisy 한 $x_t$가 주어졌을 때 그에 상응하는 $x_0$을 예측한 후 $x_t, x_0$을 모두 이용하여 $q_{\sigma}(x_{t-1}|x_t,x_0) $을 통해 $x_{t-1}$을 구한다고 생각하면 된다. 위의 (4) 번 식과 $x_t$를 통해 $\epsilon_t$ 를 예측하는 모델 $ \epsilon_{\theta}^{(t)}(x_t) $을 사용하면 아래와 같이 $x_0$를 예측할 수 있다.

$p_{\theta}(x_T) = N(0, I)$로 고정시키면 generative process는 아래와 같이 나타낼 수 있다.

이때 모든 t에 대하여 식이 성립하도록 t=1일 때 약간의 noise를 추가했다. 위의 모델에서 파라미터 $\theta$는 다음 목적 함수로 최적화된다.

$J_{\sigma}$의 정의를 보면 $\sigma$에 따라 목적 함수가 다르기 때문에 다른 모델이 학습되어야 하는 것처럼 보인다. 하지만 아래의 정리에 의해 $J_{\sigma}$와 $L_{\gamma}$가 동일한 $\gamma$가 존재함을 알 수 있다. 증명은 논문을 참조하면 된다.

이를 통해 결국 DDIM과 DDPM의 목적함수가 같음을 알 수 있다. 

 

4. Sampling from Generalized Generative Processes

$L_1$을 목적 함수로 설정함으로써 markovian process 뿐만 아니라 $\sigma$에 매개변수화된 non-markovian process들도 학습할 수 있다. 따라서 우리는 pretrained DDPM 모델을 사용하여 새로운 목적함수에 대한 해로 사용할 수 있으며 $\sigma$를 조절하여 더 나은 샘플링 과정을 찾을 수도 있다.

 

4.1 Denoising Diffusion Implicit Models

식 (10)에 의하여 아래 과정을 통해 $x_{t-1}$을 $x_t$를 사용하여 얻을 수 있다.

$\epsilon_t ∽ N(0, I)$는 $x_t$에 독립적인 noise이며 $\alpha_0=1$로 정의한다. $\sigma$를 다르게 선택하면 다른 generative process로 이어지지만 같은 모델 $\epsilon_{\theta}$를 사용하기 때문에 모델을 다시 학습할 필요는 없다. 이때 $ \sigma_t = \sqrt {\frac{(1 - \alpha_{t-1})}{(1 - \alpha_t)}} \sqrt {\frac {1 - \alpha_t}{\alpha_{t-1}}} $로 설정하면 forward process는 markovian이 되고 generative process는 DDPM이 된다. 

만약 모든 t에 대하여 $\sigma_t$ 를 0으로 두면 t=1인 경우를 제외하면 $x_0, x_{t-1}$가 주어졌을 때 forward process가 deterministic 하게 된다. 그리고 generative process에서 noise 앞에 계수가 0이 된다. 따라서 $x_T$에서 $x_0$까지 샘플 할 때 모델이 고정되어 있기 때문에 implicit probabilistic model이 된다. DDPM 목적 함수로 학습된 implicit probabilistic model 이기 때문에 이를 DDIM이라고 한다. 

 

4.2 Accelerated Generation Processes

지금까지는 forward process가 T step으로 고정되어 있었기 때문에 generative process도 T step으로 강제되었었다. 그러나 $L_1$은 $q_{\sigma}(x_t|x_0)$이 고정되어 있는 한 특정 forward step에 의존하지 않는다. 따라서 T보다 더 적은 forward process를 고려해 볼 수 있다.

Forward process가 $x_{1:T}$ 모두에 정의되지 않고 부분 집합인 {$x_{\tau1},..., x_{\tau s} $} ($\tau$ 는 길이가 S인 [1,...T]의  부분 수열)에 대해 정의된다고 생각해 볼 수 있다. 이때 $q(x_{\tau_i}|x_0) = \mathcal{N}\left(\sqrt{\alpha_{\tau_i}} x_0, (1 - \alpha_{\tau_i}) I\right)$ 가 marginal distribution에 일치하도록 $x_{\tau1}, ..., x_{\tau s} $ 에 대한 forward process를 정의한다. 그러면 generative process는 $\tau$를 뒤집어 샘플링하며 이를 샘플링 궤적이라 한다. 샘플링 궤적의 길이가 T 보다 짧다면 샘플링 과정의 계산 효율이 증가하게 된다. 

논문에서 DDIM과 DDPM에 accelerated generation process를 적용하기 위해서 10번 식에 약간의 변화를 주었다.

 

4.3 Relevance To Neural ODEs

식 (12)에서 $\sigma_t = 0$을 대입하면 DDIM의 샘플링 식이 나온다. 이는 다음과 같이 쓸 수 있으며 이는 상미분방정식(ODE)를 풀기 위한 Euler integration과 비슷해진다. 

$\sqrt{\frac{1 - \alpha}{\alpha}} = \sigma, \quad \frac{x}{\sqrt{\alpha}} = \bar{x}$로 치환하면 아래와 같이 ODE를 구할 수 있다.

초기 조건은 $x(T) ∽ N(0,\sigma(T)$ 이다. 위 식을 통해 알 수 있는 것은 충분한 discretization step을 거치면 ODE를 reverse 해서 generation process의 reverse를 할 수 있다는 점이다. 즉, DDIM을 encoding ($x_0 → x_T$)로 사용할 수 있다는 것이다.

 

5. Experiments

  • DDPM과 같은 모델로 같은 목적함수로 T=1000에 대하여 학습
  • 모델에서 샘플링 하는 방법만 다르게 함
  • $\sigma$를 다음과 같이 정의 함. $\sigma_{\tau_i}(\eta) = \eta \sqrt{\frac{(1 - \alpha_{\tau_{i-1}})}{(1 - \alpha_{\tau_i})}} \sqrt{1 - \frac{\alpha_{\tau_i}}{\alpha_{\tau_{i-1}}}}$
  • $\eta=0$이면 DDIM, $\eta=1$이면 DDPM이다.
  • Random noise가 $\sigma(1)$보다 큰 경우인 DDPM도 고려해줌.

5.1 Sample Quality and Efficiency

  • Forward process step(S)을 변경하여 실험을 진행
  • DDIM의 경우 적은 스텝으로도 높은 효율을 보여줌
  • 같은 스텝일 때 stochasticity가 높을 수록 안 좋은 결과를 보여줌
  • DDIM(step=20)인 경우와 DDPM(step=100)이 비슷한 결과를 보여줌. DDIM이 DDPM보다 약 50배 빠르게 비슷한 품질의 이미지를 생성할 수 있음.
  • 이미지 생성 시간은 step수에 linear하게 변함을 확인 할 수 있음

5.2 Sample Consistency in DDIMs

 

같은 $x_T$에서 이미지 생성을 시작했을 때 step수와 상관 없이 생성하는 이미지가 일관성을 띈다. 이는 $x_T$ 자체가 이미지의 informative latent encoding이 된다는 것을 의미한다.

 

5.3 Interpolation in Deterministic Generative Processes

DDIM에서 high level feature들은 $x_T$에 있는 것을 확인했으므로 $x_T$에서 interpolation을 진행하고 이미지를 생성해본 결과 의미있는 interpolation 결과가 나왔다. 이는 생성 과정에 stochasticity가 많은 DDPM에서는 볼 수 없는 결과이다.

 

5.4 Reconstruction From Latent Space

위의 Euler Integration을 이용하여 $x_0$에서 $x_T$를 encoding하고 $x_T$에서 다시 $x_0$을 생성하는 reconstruction을 다양한 step에 대하여 진행해보았다. CIFAR-10 데이터에 대하여 실험을 진행해본 결과 낮은 error를 보였다.