Abstract

 Denoising Diffusion Probabilistic Models (DDPMs)는 적대적 훈련 없이도 고품질의 이미지 생성을 달성했지만, 샘플을 생성하기 위해 많은 단계에서 마르코프 연쇄를 시뮬레이션해야 한다. 샘플링 속도를 높이기 위해 우리는 DDPMs와 동일한 훈련 절차를 가진 더 효율적인 반복적 암시적 확률 모델 클래스인 Denoising Diffusion Implicit Models (DDIMs)을 제안한다. DDPMs에서는 생성 과정이 특정 마르코프 확산 과정의 역방향으로 정의된다. 우리는 동일한 훈련 목표를 달성하는 비마르코프 확산 과정 클래스를 통해 DDPMs를 일반화한다. 이러한 비마르코프 과정은 결정론적인 생성 과정에 해당할 수 있으며, 이는 훨씬 더 빠르게 고품질 샘플을 생성하는 암시적 모델을 만든다. 우리는 실험적으로 DDIMs가 DDPMs에 비해 10배에서 50배 빠르게 고품질 샘플을 생성하고, 계산과 샘플 품질을 맞바꾸고, 잠재 공간에서 직접 의미 있는 이미지 보간을 수행하며, 매우 낮은 오류로 관찰값을 재구성할 수 있음을 보여준다.

1. Introduction

 Deep Generative 모델은 여러 도메인에서 고품질 샘플을 생성하는 능력을 입증했다(Karras et al., 2020; van den Oord et al., 2016a). 이미지 생성 측면에서, generative adversarial networks (GANs, Goodfellow et al. (2014))는 현재 variational autoencoders (Kingma & Welling, 2013), autoregressive models (van den Oord et al., 2016b), normalizing flows (Rezende & Mohamed, 2015; Dinh et al., 2016)과 같은 likelihood 기반 방법보다 더 높은 샘플 품질을 보인다. 그러나 GANs는 훈련을 안정화하기 위해 매우 특정한 최적화와 아키텍처 선택을 요구하며(Arjovsky et al., 2017; Gulrajani et al., 2017; Karras et al., 2018; Brock et al., 2018), 데이터의 다양한 유형을 잘 생성하지 못할 수도 있다.(Zhao et al., 2018).

 

반면, iterative generative models (Bengio et al., 2014)인 denoising diffusion probabilistic models (DDPM, Ho et al. (2020))와 noise conditional score networks (NCSN, Song & Ermon (2019))는 적대적 훈련 없이도 GANs와 비교할 만한 샘플을 생성할 수 있음을 입증했다. 이를 위해, 다양한 수준의 Gaussian noise로 손상된 샘플을 잡음 제거하는 여러 오토인코딩 모델이 훈련된다. 샘플은 white noise에서 시작하여 점진적으로 이미지를 생성하는 Markov chain에 의해 생성된다. 이 generative Markov Chain 과정은 Langevin dynamics (Song & Ermon, 2019)을 기반으로 하거나, 이미지를 점진적으로 잡음으로 변환하는 forward diffusion 과정을 역으로 수행하여 얻어진다(Sohl-Dickstein et al., 2015).

 

이 모델들의 중요한 단점은 고품질 샘플을 생성하는 데 많은 반복이 필요하다는 점이다. DDPMs의 경우, 생성 과정(noise에서 data로)은 전방 확산 과정(data에서 noise로)의 역을 근사하기 때문에 수천 단계가 필요하다. 모든 단계를 반복해야 단일 샘플을 생성할 수 있어, 네트워크를 한 번 통과하면 되는 GANs에 비해 훨씬 느리다. 예를 들어, Nvidia 2080 Ti GPU에서 32 × 32 크기의 이미지를 5만 개 샘플링하는 데 DDPM은 약 20시간이 걸리지만, GAN은 1분 이내에 가능하다. 더 큰 이미지의 경우 문제가 더 심각해져, 동일한 GPU에서 256 × 256 크기의 이미지를 5만 개 샘플링하는 데 거의 1000시간이 걸릴 수 있다.

 

 DDPMs와 GANs 사이의 효율성 격차를 해소하기 위해, 우리는 denoising diffusion implicit models (DDIMs)을 제안한다. DDIMs는 implicit probabilistic models (Mohamed & Lakshminarayanan, 2016)이며, 동일한 목적 함수로 훈련된다는 점에서 DDPMs와 밀접한 관련이 있다.

 

 

 제3절에서는 DDPMs가 사용하는 마르코프 확산 과정을 비마르코프 과정으로 일반화하며, 이를 통해 여전히 적절한 역생성 마르코프 연쇄를 설계할 수 있음을 보인다. 그 결과로 도출된 variational training objectives는 DDPM을 훈련시키는 데 사용된 목표와 정확히 일치한다. 따라서 동일한 신경망을 사용하여 다른 비마르코프 확산 과정을 선택하고 이에 상응하는 역생성 마르코프 연쇄를 선택함으로써 큰 범주의 생성 모델을 자유롭게 선택할 수 있다(4.1절). 특히, 짧은 생성 마르코프 연쇄를 도출하는 비마르코프 확산 과정을 사용할 수 있으며(4.2절), 이는 적은 단계로 시뮬레이션할 수 있어 샘플 효율성을 크게 높이지만 샘플 품질에는 거의 영향을 미치지 않는다.

 

 제5절에서는 DDIMs의 DDPMs 대비 여러 실증적 이점을 보여준다. 첫째, 제안된 방법을 사용하여 샘플링 속도를 10배에서 100배까지 가속할 때 DDIMs는 DDPMs보다 우수한 샘플 생성 품질을 보인다. 둘째, DDIM 샘플은 동일한 초기 잠재 변수를 사용하여 다양한 길이의 마르코프 연쇄로 여러 샘플을 생성할 때 유사한 고수준 특징을 가지는 "일관성" 속성을 가진다. 셋째, DDIMs의 "일관성" 덕분에 DDPMs와 달리 초기 잠재 변수를 조작하여 의미있는 이미지 보간을 수행할 수 있다. 이는 확률적 생성 과정으로 인해 이미지 공간 근처에서 보간하는 DDPMs와는 다르다.

2. Background

 q(x_0)를 따르는 x_0에 대해 q(x_0)를 근사하는 p(x_0)를 학습하여 쉽게 샘플링하는 것에 관심이 있다. 아래 식은 DDPM에서 확인할 수 있음.

 파라미터 θ는 variational lower bound를 maximizing하면서 q(x_0)를 학습한다.

 VAE와 달리 DDPM은 fixend inference procedure q(x_{1:T}|x_0)를 사용하고 latent variables의 크기가 원본 이미지와 같아 상대적으로 차원이 높다. DDPM 논문에서 사용한 Markov chain with Gaussain transitions는 다음과 같음.

여기 중요한점: α에 대한 notation이 DDPM과 다르다.
DDPM

 위 과정을 forward process라 하고 p(x_{0:T})가 generative process로 intractable한 q(x_{t-1}|x_0)를 근사하여 samling 하는 process임. 직관적으로 forawrd process는 점진적으로 noise를 첨가하고 generative process는 점진적으로 noise를 제거한다.

 forward pprocess의 놀라운 성질은 x_0에서 x_t를 한번에 구할 수 있다.

 만약 α_T가 작다면 q(X_T|x_0)는 standard Gaussian for all x_0에 가까워져 p(x_T)를 N(0, I)로 잡는 것이 자연스럽다. 마만약 모든 p(x_{t-1}|x_t)가 학습되는 mean functions와 고정된 variances를 가지면 (2)에서 얻은 objectives는 다음의 식으로 간단해진다.

여기서 ε_θ는 ε _t를 예측하는데 쓰인 함수이고 γ는 α에 의존하는 positive 계수들이다. DDPM의 초기 논문에서는 이 γ를 1로 두었고 이 objective는 score matching을 기반으로 하는 noise conditional score networks의 objective와 동일하다. 이렇게 학습된 모델이 x_0는 x_T가 먼저 sampling 되고 x_{t-1}이 하나씩 sampling되면서 최종적으로 만들어진다.
 DDPM에서 forward process의 lengh를 결정하는 hyperparameter인 T는 매우 중요하다. Variational 관전에서 large T는 reverse process가 Gaussian에 가깝도록 만들어준다. 따라서 DDPM에서는 T를 큰 값인 1000을 사용하지만 이 때문에 sampling process가 다른 모델들에 비해서 느리다.

3. Variational Inference for non-Markovian forward process

 Generative model에서 reverse process를 inference process로 근사하기 때문에 이 과정에서 iterations의 숫자를 줄일 수 있는 방법을 생각해보았다. 우리의 중요한 관찰을 DDPM의 obejctive인 L_γ는 모든 latent variable의 joint인 q(x_{1:T}|x_0)에 직접적으로 의존하는 것이 아니라 오직 marginals인 q(x_t|x_0)에 의존한다는 점이다. 
 그런데 이 marginal 분포를 만드는 다양한 inference distribution이 있으므로 inference process(=sampling process)에 다른 non-Markovian 분포를 찾아볼 것이고 이를 통해 새로운 generative process를 유도해볼 것이다. 이 새로운 non-Markovian inference process는 똑같은 surrogate objective function을 만족하고 Gaussian case가 아닌 경우에도 non-Markovian 관점을 적용해볼 것이다.

3.1 Non-Markovian Forward Process

 Inference distribution인 Q를 생각해보면 

다음의 식이 성립한다. q(x_{t-1}|x_t, x_0)의 평균과 분산은 이 분포의 marginal인 q(x_{t-1}|x_0)가

t만 t-1로 바꿔서 생각

위를 만족시키기 위해 만들어짐. 따라서 이 (7)에 해당하는 분포는 위에서 말한 요구사항이었던 marginals를 만족한다. 이 분포로부터 새로 만든 forward process는 베이즈 정리에 의해

이 되고 이 역시 가우시안이다.

이 분포와 달리 (8)의 분포는 더 이상 Markovian이 아니고 파라미터 σ는 forward process의 stochastic한 정도를 다룬다. σ가 0이면 전혀 노이즈가 추가되지 않는 경우인데 이 경우에 x_0와 x_t를 안다면 x_{t-1} 역시 fixed한 값으로 정해진다.

3.2 Generative Process and Unified Variationl Inference Objective

  다음은 trainable generative process인 p_θ(x_{0:T})인데 p_ θ^t(x_{t-1}|x_t)는 q(x_{t-1]|x_t,x_0)에 대한 지식으로 만들어진다. 직관적으로 noisy observation인 x_t가 주어졌을 때 먼저 대응되는 x_0를 예측하고 이를 사용해 x_t-1을 우리가 정의한 분포인 q(x_{t-1]|x_t,x_0)로 sampling하는 방식이다.
 먼저 q(x_0)를 따르는 x_0에 대해 x_t를 (4)를 통해 얻으면 다음과 같다.

역으로 x_t로부터 x_0를 예측해야하기 때문에 x_0로부터 더해진 noise인 ε을 예측해야한다.(ε_θ(x_t)가 그 역할) 따라서 아래 식인 denoised observation을 얻을 수 있다.

 그럼 우린 generative process를 정의할 수 있고 p(x_T) = N(0, I)를 따른다고 하면

가 된다.(DDPM과 달리 x_1에서 x_0를 생성하는 과정에도 Gaussian noise를 첨가함.)
우리는 아래의 variational inference objective를 minimize하는 θ를 구한다.

q는 (6)에서 p는 (1)에서 얻는다.

 J의 정의를 보면 마치 σ가 달라짐에 따라 여러 model을 훈련해야 하는 것처럼 보인다. 하지만 특정 가중치 γ에 대해 J_σ와 L_γ가 동일하다고 알려져있다.
 

 Variational objective L_γ는 모델의 파라미터 θ가 다른 t에 걸쳐 공유되지 않는다면 θ의 최적해가 weights인 γ에 의존하지 않는다는 점에서 특별하다.(합계에서 t에 의존하는 각 항을 별도로 최적화하여 전역 최적해를 달성하기 때문) 이러한 L의 성질은 두 가지 의미를 가진다. 첫째는 DDPM에서 variational lower bound로 L_1을 사용하는 것을 정당화하고 둘째는 J가 어떤 L과 동일하므로 J의 최적해는 L_1의 최적해와 동일하다는 것이다.
 따라서  모델의 파라미터 θ가 t에 걸쳐 공유되지 않는다면 L_1을 J의 surrogate objective로 사용할 수 있다.
(θ가 t에 걸쳐 공유된다는 것은 모든 시점 t에 대해 동일한 θ를 사용한다는 것을 의미)

4. Sampling from generalized generative process

 목적 함수로 L_1을 사용함으로써, 우리는 Markovian inference process뿐만 아니라, 우리가 설명한 σ로 매개변수화된 많은 non-Markovian forward process에 대한 생성 과정도 학습하고 있다. 따라서 사전 훈련된 DDPM을 새로운 objectives의 해결책으로 보아 σ를 변경하여 우리의 필요에 맞는 샘플을 생성하는데 더 나은 generative process를 찾는 것에 집중할 수 있다.

4.1 Denoising Diffusion Implicit Models

 Eq.(10)을 통해 x_{t-1}을 x_t로부터 sampling하면 다음과 같다.

α_0는 1로 정의

 σ를 달리하면 generative process가 달라지지만 동일한 모델의 θ를 사용하므로 re-training은 필요하지 않다. 만약

라면 forward process는 Markovian이 되고 DDPM의 generative process가 된다.
 우리는 σ가 모든 t에 대해 0인 special한 상황에 주목하였는데 이 상황의 경우 forward process가 given x_{t-1} and x_0에 대해 deterministic해진다. 이렇게 얻어지는 모델은 implicit 모델(fixed procedure과 latent varaibles를 통해 samples가 만들어짐)인데 우리의 모델은 implicit model이면서 DDPM objective로 훈련되므로 denoising diffusion implicit model(DDIM)으로 명하였다. (그런데 이제 forward process는 더 이상 diffusion이 아님)

4.2 Accelerated Generation Process

 Generative process는 reverse process의 근사이다. 이 때 forward process가 T step을 거쳐야하기 때문에 generative process역시 T steps를 거쳐야했다. 그러나 denoising objective L_1은 q(x_t|x_0)가 고정되어 있는 한 특정한 forward procedure에 의존하지 않으므로 우리는T보다 짧은 길이의 forward procedure만 고려할 수 있었다. -> 이를 통해 generative process에서 다른 모델을 훈련할 필요없이 가속화할 수 있음.
  Forward process의 모든 잠제변수를 고려하는 것이 아니라 [1, ... , T]의 sub-sequence이면서 길이가 S인 τ에서 {x_ τ1, ..., x_ τS}를 생각하면 

q(x_ τi|x_rj, x_0)의 marginal이 q(x_ri|x_0) = N((α_ τi)**0.5*x_0, (1- α_ τi)I)가 되도록 잡아 sampling 과정의 반복되는 특성을 사용해 계산 효율성을 늘릴 수 있따.
 DDIM 역시 trainin에서는 section 3에서 언급한 대로 L_1을 목적 함수로 훈련할 수 있기 때문에 training은 변화가 필요하지 않다. 다만 생성시

α_0는 1로 정의

에 약간의 변경을 추가하여 새로운, 더 빠른 생성 과정을 얻는다. 

5. Experiments

 이 section에서는 적은 iterations로 image generation을 수행할 때 DDIM이 DDPM보다 우수함을 보여주며 DDPM generation process에 비해 10배에서 100배의 속도 향상을 보인다고 한다. 게다가 DDPM과 달리 초기 잠재 변수인 x_T가 고정되면 DDIM은 generation trajectoryy에 관계없이 high-level image features를 유지하므로 latent space에서 직접적으로 보간을 수행할 수 있다. DDIM은 또한 latent code에서 재구성할 수 있기에 sample을 인코딩하는 데 사용할 수 있지만 DDPM은 확률적 샘플링 과정으로 이를 수행할 수 없다.
 
 각 데이터셋에 대해 동일한 훈련된 모델인 T=1000, 목적함수로는 L_1을 사용한다. Section 3에서 주장하는 바와 같이, 훈련 절차와 관련하여 변경 사항이 필요하지 않고 샘플을 생성하는 방식이 달라진다. 샘플이 얼마나 빨리 얻어지는지 제어하는 요소인 τ와 deterministic DDIM과 stochastic DDPM 사이의 비율을 결정하는 σ만 달라진다.
 
 우리는 [1, ...T]의 다양한 sub-sequences인 τ와 다양한 분산 하이퍼파라미터인 σ를 고려한다. 비교를 단순화 하기 위해 다음 형식의 σ를 고려한다.

 위 식의 η가 직접 제어할 수 있는 하이퍼파라미터로 η가 1일 때 원래의 DDPM을 의미하며 η가 0일 때 DDIM을 나타낸다.

5.1 Sample Quality and Efficiency 

 Table 1을 보면 샘플을 생성하는 데 사용된 timesteps 수(S)와 η를 달리하였다. 당연히 샘플의 품질은 S가 증가할 수록 높아졌으며 이는 샘플  품질과 계산 비용 간의 tradeoff를 나타낸다. S가 작을 때 DDIM이  최고의 샘플 품질을 달성하고 DDPM에 가까워질 수록 샘플 품질이 일반적으로 더 낮았다. 하지만 S가 클 경우 DDPM이 좋은 성능을 봉ㅆ다.
 
 Figure 3에서는 동일한 샘플링 단계 수와 다양한 η값을 가진 CIFAR10 및 CelebA 샘플을 보여주는데 DDPM의 경우 샘플링 경로가 10단계에 일 때 샘플 품질이 급격히 저하된다. η 값의 경우 생성된 이미지가 짧은 경로에서 더 많은 noisy perturbations를 갖는 것으로 판단된다. (이 때문에 FID 점수가 낮은 것으로 판단됨.)
 
 Figure 4에서는 샘플을 생성하는 데 필요한 시간이 샘플 경로의 길이에 따라 선형적으로 증가함을 보여줌. DDIM이 훨씬 적은 단계로 샘플을 생성할 수 있으므로 DDIM이 샘플을 더 효율적으로 생성할 수 있음을 시사한다. 

5.2 Sample Consistency in DDIMs

 DDIM의 경우 생성 과정은 결정론적이기 때문에 x_0는 오직 초기 상태인 x_T에 의존한다. Figure 5에서 보면 동일한 초기 x_T로 시작하면서 다른 generative trajectories(different τ)에서 생성된 이미지를 관찰했는데 흥미롭게도 동일한 초기 x_T로 생성된 이미지들은 생성 경로와 관계없이 대부분 고수준 특징들이 유사한다. 많은 경우에 단지 20단계로 생성된 샘플들이 1000단계로 생성된 샘플들과 고수준 특징 면에서 유사하며, 세부 사항에서만 약간의 차이를 보였다. 이는 x_T 자체가 이미지의 충분한 정보를 담고 있는 잠재 인코딩임을 나타내고 세부 사항은 생성 경로가 긴 부분에서 담당하는 것으로 보인다.

5.3 Interpolation in Deterministic Generative Process

 DDIM sample의 고수준 특징이 x_T에 의해 인코딩되므로 다른 implicit probabilistic models에서 관찰된 것과 유사한 semantic interpolation effect를 내는지 확인해보았다. DDPM에서는 동일한 x_T가 확률적 생성 과정으로 다양한 x_0를 생성할 수 있기 때문에 DDPM의 보간과는 다르다. 
 Figure 6에서 x_T에서의 간단한 보간이 두 샘플 사이에서 의미론적으로 유의미한 보간을 이끌어 낼 수 있음을 보여준다. 이를 통해 DDIM에서는 DDPM에서는 못하는 잠재 변수를 통해 생성된 이미지를 고수준에서 직접적으로 제어할 수 있다.

5.4 Reconstruction from Latent Space 

 블로그에선 생략하였지만 DDIM이 특정 ODE에 대한 오일러 적분 방식이기 때문에 x_0에서 x_T로 인코딩하고 x_T를 재구성할 수 있는 확인해보았다. CIFAR-10 모델로 CIFAR-10 test set에서 인코딩 및 디코딩을 S steps 수행해보았다. Error는 per-dimension mean squared error를 사용하였다. Table 2를 보면 우리의 결과는 DDIM이 더 큰 S 값에서 더 낮은 재구성 오류를 가지는데 이는 neural ODEs 및 normalizing flows와 유사한 특성을 가지고 있음을 보여준다. 동일한 것을 DDPM에 대해서는 수행할 수 없는데 이는 DDPM의 확률적 특성 때문이다.

+ Recent posts