DDPM을 통해 noise를 걷어내며 sample을 생성해가는 형태의 generative Markov Chain Process를 배울 수 있었다. 그러나 이 Process는 일일히 sampling을 해야하는 형태로 매우 많은 step이 필요하고 one step에 끝나는 GAN에 비해 크게 느렸다. 따라서 본 논문에서는 process를 non-markovian으로 일반화한 DDIM을 제시한다.
DDIM: Denoising Diffusion ImplicitModels
DDIM: Denoising Diffusion ImplicitModels0. Abstract1. Introduction2. Background3. Variational Inference for Non-Markovian Forward Process3.1. Non-Markovian Forward Process3.2. Generative Process and Unified Variational Inference Objective4. Sampling from Generalized Generative Process4.1. Denoising Diffusion Implicit Model4.2. Accelerated Generation Processes4.3. Relevance to Neural ODEs5. Experiments5.1. Sample Quality and Efficiency5.2. Sample Consistency in DDIMs5.3. Interpolation in Deterministic Generative Processes5.4. Reconstruction from Latent SpaceReviewReferences
0. Abstract
DDPM은 adversarial training 없이도 고품질 image generation이 가능함을 보였다. 그러나 Sample을 생성해내기 위해 많은step(시간이 오래걸림)의 Markov Chain Process가 필요하다.
Sampling을 가속화하기 위해, Denoising Diffusion Implicit Models(DDIMs)을 제시하는데, 좀 더 빠르게 sample을 생성하기 위해 non-markovian diffusion process로 DDPM을 일반화한다. non-Markovian process를 통해 좀더 deterministic한 generative process를 학습시킬 수 있으며, high quality의 sample을 보다 빠르게 생성할 수 있게 되었다. DDPM 대비 속도가 10배에서 50배 빠름을 입증했다.
1. Introduction
Deep Generation 모델은 high quality 이미지 생성의 여러 도메인에서 능력을 입증했다. GAN은 likelihood-based methods인 VAE와 flow 모델 대비 더 좋은 퀄리티를 보였으나, 학습의 안정화를 위해 매우 소수의 optimization과 구조를 사용할 수 밖에 없고, data distribution의 modes를 cover하는 데에 실패했다.
DDPM과 NCSN(Noise Conditional Score Network)는 GAN에 상응할만한 high quality sample들을 adversarial training없이도 보였는데, Generative Markov Chain Process를 사용하여 Noise로 부터 Sample을 생성하는 방식이다. 다만, 이 방식은 high quality sample을 생성하는 데에 많은 iteration이 필요하고, 이로인해 one pass로 생성해내는 GAN보다 훨씬 느리다.
DDPM과 GAN의 효율성 Gap을 줄이기 위해, 우리는 DDPM과 유사한(same objective function으로 학습하는) DDIM을 제시한다. DDPM에서 사용된 forward diffusion process를 Markovian에서 계속해서 reverse generative Markov chain에 적합한 non-Markovian으로 일반화하였다. 이는 sample quality를 조금만 손해보면서 sample efficiency(샘플링 속도)를 비약적으로(10x에서 100x로) 향상시킬 수 있다.
또한 DDIM은 “consistency” property에서도 DDPM보다 우수한데, 만약 같은 initial latent variable에서 생성을 시작했다면 sample들은 비슷한 high-level feature를 갖게 된다. 또한 이러한 DDIM의 “consistency” 때문에, sematically meaningful image interpolation이 가능하다.
2. Background
모든 conditionals가 학습가능한 mean function과 fixed variance를 가진 Gaussian으로 모델링된다면, DDPM의 objective는 다음과 같이 simplified 될 수 있다.
가 functions의 집합일 때, 각 (indexed by t)는 학습가능한 파라미터 와 에 따라 달라지는 objective의 positive coeffiecients로 구성된 벡터, 로 이루어진 function이다. DDPM에서 학습된 모델의 생성 performance를 극대화하기 위해 인 objective로 최적화되었다. 훈련된 모델에서 은 먼저 이전 에서 를 샘플링한 다음 반복적으로 생성 프로세스에서 을 샘플링한다.
forward process의 길이인 T는 DDPM의 중요한 hyperparameter이다. Variational 관점에서, T가 커질수록 reverse diffusion process가 가우시안에 가까워지고, generative process(reverse process)는 좋은 근사치를 가지게 된다. DDPM에서는 이러한 이유에서 T=1,000과 같은 큰 T값을 사용했는데, T만큼의 반복은 병렬이 아닌 Sequencial로 이루어지므로, DDPM에서 을 샘플링하는 것은 다른 Deep Generation 모델보다 느리다.
3. Variational Inference for Non-Markovian Forward Process
Generative 모델이 inference process의 역(逆)을 근사하므로 inference process를 다시 생각해 보았고, DDPM의 objective인 가 marginal distribution(주변 분포)인 에만 의존할 뿐, joint distribution(결합분포)인 에는 직접적으로 의존하지 않는다는 것을 발견했다. 같은 marginal을 가지는 다른 많은 inference distribution(joints)가 있었기에, 우리는 non-Markovian인 새로운 generative process를 이끌어냈다(Figure 1의 오른쪽). Non-Markovian 관점이 Gaussian case에 적용될 수 있음을 보일 것이다.
결합 분포(Joint Distribution)와 주변 분포(Marginal Distribution)의 정의
3.1. Non-Markovian Forward Process
위의 식들을 만족하려면 inference(forward) distribution의 mean function은 아래와 같아야 한다.
mean function은 모든 t에 대해 를 만족할 수 있도록 설정되었고, 이는 inference 결합 분포가 주변분포를 만족하도록 정의할 수 있게 한다. 여기에서 Bayes’ rule을 사용하면 다음과 같은 forward process를 얻을 수 있다.
DDIM의 Forward Process는 DDPM과는 다르게 더이상 markovian이 아니다. 왜냐하면, 가 과 에 의해 결정되기 때문이다. 또한 의 값은 forward process가 얼마나 stochastic 한지를 컨트롤하며, 이 값이 0에 가까워질수록 값이 fix되며 deterministic 해진다.
3.2. Generative Process and Unified Variational Inference Objective
다음으로, 학습가능한 를 정의한다. 이때 는 (reverse conditional distribution; noisy한 가 있을 때, 를 이용해 를 샘플링)에 대해 알고있는 정보를 활용한다. 직관적으로 노이즈 관측 값인 에 대해 우리는 가장 먼저 대응하는 를 예측하고, 으로 샘플 을 얻는다.
와 에 대해 (Eq 4.)을 통해 를 얻어낼 수 있다. 모델는 에 대한 정보 없이 로부터 를 예측한다. Eq 4.를 에 대해 다시 표현하면 우리는 에 대한 의 예측 값인 denoised observation을 알 수 있다. 또한 fixed prior인 를 통해 generative process를 정의할 수 있다.
(1) denoised observation
- Eq 4.를 에 대해 표현
- 로 을 predict
(2) generative process
- 에서 는 denoised observation으로서 를 대체했다.
- 논문에서는 항상 generative process를 보장하기 위해 일 때, 가우시안 노이즈 를 추가했다.
(3) variational inference objective
- 를 어떤 값으로 선택하냐에 따라 다른 모델이 된다.
- 으로 둔다면, 이 함수는 DDIM의 objective function이 되며,
- 으로 둔다면, 이 함수는 DDPM의 objective function이 된다.
(4) Theorem 1.
- 만약 이라면, objective function은 DDPM의 variational lower bound와 같다.
- 또한, Theorem 1에 따르면 는 의 일종인데, 는 일 때() 최적의 값을 가진다.
4. Sampling from Generalized Generative Process
로 두었을 때, optimal을 구할 수 있으므로 을 objective function으로 사용해보자.
를 어떻게 설정하느냐에 따라 forward process를 markovian으로 학습시킬 수도 있고, non-markovian으로 학습시킬 수도 있다. 주의해야 할 점은 를 어떤 값으로 두냐와 상관없이 학습해야 하는 parameter는 라는 점이다.
- 즉, markovian process로 학습시킨 pretrained DDPM model의 parameter 를 DDIM의 generative process에도 이용할 수 있게 된다는 것이다.
- 여기서 짚고 넘어갈 게 있는데, DDIM은 새로운 훈련 방법을 제시했다기보다는 diffusion process의 objective function을 non-markovian chain으로 generalize하고, 좀 더 빠르게 이미지 생성이 가능하도록 새로운 sampling 방법을 제시했다는 점에 있다.
- 요즘 트렌드는 DDPM으로 학습시킨 모델을 DDIM의 generation 방식으로 sampling 하는 방식이다. 이렇게 하면 좋은 성능의 모델(DDPM)을 사용하면서, 이미지를 빠르게 sampling할 수 있다.
4.1. Denoising Diffusion Implicit Model
에서 우리는 아래의 식을 이용해 sample 을 sample 에서 생성해낼 수 있다. 은 에 독립적인 standard Gaussian noise이며, 우리는 로 정의한다. 에 따라 다른 generative process가 되며, 같은 를 사용하기 때문에 재학습은 불필요하다.
(1) if, for all
- forward process = “Markovian” = DDPM
(2) if, for all
- forward process가 , 에 대해 determinisitc 해지고 ( 제외),
- 가 0이 되어, model이 implicit probabilistic model이 되며,
- sample이 생성되는 과정( 에서 )이 fix된다 (샘플링 속도가 빨라짐)
- 우리는 이를 DDIM(DDPM objective로 훈련시킨 implicit prob model)이라 부른다.
- 이때 forward process는 더이상 diffusion이 아니다.
4.2. Accelerated Generation Processes
이전 섹션에서 generative process는 reverse process의 근사로 고려되었다. forward process가 steps만큼이 필요하기 때문에, generative process도 샘플링을 위해 steps만큼이 필요하다. 그러나 denoising objective인 은 이 고정되어 더이상 forward 과정과 상관이 없으므로, 우리는 보다 짧은 steps의 forward process도 고려해볼 수 있다. (다른 모델의 학습없이 생성프로세스 가속 가능)
forward process가 모든 latent variables 가 아닌 subset에 대해 정의되어 있다고 해보자. 는 의 증가하는 부분 시퀀스이며, 길이가 S이다. 특히 우리는 가 “주변 분포”에 부합하도록 sequential forward process를 정의한다.
generative process는 이제 reversed()에 따라 샘플링하고, 이를 (sampling) trajectory라고 한다. sampling trajectory가 보다 짧을 때, 우리는 유의미한 computational efficiency 증가를 달성할 수 있다.
본 논문에서는 Ep 12.에서 보이는 것과 같은 약간의 업데이트만으로 새롭고 더 빠른 generative process를 얻어냈는데, 이를 DDPM/DDIM에 모두 적용 가능하다. 다만, 위와 같이 sampling을 하면 빠르게 이미지를 추출할 수 있지만, forward step에서 임의의 step에 대해서만 모델을 학습했기 때문에, generative process에서도 일부만 sampling할 수 있다. 따라서 더 많은 step에 대해 학습을 할 필요가 있다.
- DDIM의 이 방식처럼 임의의 step의 forward step에서만 모델을 훈련시키는 것보다 DDPM처럼 수많은 step에 대해서 모델을 학습시키는게 더 효과적이다.
- 따라서 최근 DDPM으로 학습시키고 DDIM으로 sampling 하는 경우가 많다고 한다.
4.3. Relevance to Neural ODEs
ODE(Ordinaly Differential Equation; 상미분방정식)란?
본 논문에서는 DDIM의 iterate를 Eq 12.에 따라 재작성하였고, ODE(Ordinary Differential Equation)를 풀기위한 Euler integration과의 유사성은 더욱 명백해졌다.
상응하는 ODE를 도출하기 위해, () with 그리고 () with 로 reparameterize할 수 있다. 일 때, Eq (13).은 다음의 ODE를 따르는 Euler method로 다루어질 수 있다.
충분히 Discretization steps를 거치면, Eq 14.의 ODE를 reverse해서 generation process의 reverse, 즉 encoding도 가능해진다.( → )
5. Experiments
DDIM은 DDPM보다 훨씬 더 적은 iteration으로 이미지 생성이 가능하다(10x~100x의 속도 향상). DDPM과 다르게 initial latent variables 가 고정되면, generation trajectory와 상관없이 항상 high-level의 이미지를 생성할 수 있으며, latent space 상에서의 interpolation도 가능하다.
DDIM은 sample을 encode하는데에도 활용가능하며, latent code에서 해당 이미지의 reconstruction도 가능 (DDPM은 stochastic sampling process로 이미지를 생성했기 때문에 불가능했음) 각 dataset에 대해 으로 학습된 동일한 모델을 사용했으며, training objective는 였음. 바뀐 것은 단지 how we produce samples from the model
논문에서는 sub-sequences of 와 다른 variance hyperparameter인 를 고려한다. 는 우리가 직접 컨트롤 할 수 있는 hyperparmeter이다.
- 이면, DDPM
- 이면, DDIM
5.1. Sample Quality and Efficiency
- Figure 3은 CIFAR10과 CelebA에 대해 학습된 모델에 대한 FID(Frechet Inception Distance) Score
- sample quality는 를 높일수록 좋아진다. sample quality와 computational costs는 trande-off 관계로서 같은 에 대해 DDIM이 성능이 더 좋다.
- sample trajectory의 길이가 늘어날수록 generation에 필요한 시간이 선형적으로 증가하는데, 이는 DDIM이 더 효율적으로 샘플을 생성함을 보여준다.
- DDPM이 1,000 steps정도 필요한 퀄리티의 sample을 DDIM은 20-100 steps면 생성할 수 있고, 이는 DDPM 대비 10~50배 정도 빠른 속도
5.2. Sample Consistency in DDIMs
- DDIM에서 genreative process는 deteministic하고, 는 오로지 initial state인 에만 관련이 있다. Figure 5에는 같은 에 대해 다른 generative trajectories를 갖는 이미지들이 나와있는데, 흥미로운 것은 같은 inital 에 대해 high-level feature는 유사하다는 점이다.
- 따라서, 만으로도 이미지의 informative latent encoding이 될 수 있다.
- 물론, longer sample trajectories는 더 나은 sample quality를 보여주지만, high-level feature에는 유의미한 영향을 끼치지 않는다.
5.3. Interpolation in Deterministic Generative Processes
- DDIM sample의 high-level feature가 에 의해서 encoding되므로, 저자들은 GAN에서 가능한(GAN역시 implicit probabilistic model) semantic interpolation을 보일 수 있지 않을까 궁금했고, 에서 두 샘플 사이의 interpolation이 가능함을 보였다.
- 이것은 stochastic generative process인 DDPM에서는 불가능.
5.4. Reconstruction from Latent Space
- DDIM이 ODE로 Euler integraion을 하므로, 를 로 encoding하거나 반대로 reconstruction하는 것도 가능하다. 또한 Neural ODE와 유사하게 sample trajectory length인 가 커질수록 낮은 reconstruction error를 보인다. 마찬가지로 DDPM에서는 reconstruction 할 수 없다.
Review
DDIM은 DDPM의 Sampling 속도를 개선했고, 유의미한 발전을 이룬 듯 보인다. markovian에서 non-markovian으로, stochastic에서 deterministic으로 변경됨에 따라 interpolation이나 encoding & reconstruction도 가능해졌다는 사실 또한 발전에 해당할 듯 하다.