본문 바로가기
논문 리뷰/Generative Model

[논문 리뷰] Denoising Diffusion Probabilistic Models

by donyy 2024. 10. 7.
Paper Details
Title: Denoising Diffusion Probabilistic Models
Authors: Jonathan Ho, Ajay Jain, Pieter Abbeel
Conference: 34th Conference on Neural Information Processing Systems (NeurIPS 2020)
Year of Publication: 2020
Link: https://arxiv.org/abs/2006.11239
Key Focus:
This paper presents a method for high-quality image synthesis using diffusion probabilistic models, a class of latent variable models inspired by nonequilibrium thermodynamics. It demonstrates that diffusion models, when trained using a weighted variational bound and incorporating connections to denoising score matching with Langevin dynamics, can generate high-quality samples that are competitive with state-of-the-art generative models. The paper discusses parameterization, objective simplifications, and the practical implementation of these models, achieving an Inception score of 9.46 and a FID score of 3.17 on the CIFAR-10 dataset, and sample quality comparable to ProgressiveGAN on 256x256 LSUN datasets.

 

💡Key point: 모델의 최적화를 노이즈 예측(noise prediction) 문제로 단순화 

 

📄 Summary of the Paper

1. Introduction

해당 논문에서 다루는 확산 확률 모델(Diffusion Probabilistic Models)은 데이터 생성 과정을 두 가지 단계로 나누어 설명한다.

  1. Forward process: 원본 데이터를 점진적으로 노이즈가 추가된 상태로 변화시키는 과정
  2. Reverse process: 노이즈가 제거되며 원래의 데이터로 복원되는 과정

이 과정은 비평형 열역학(Nonequilibrium Thermodynamics) 개념에서 영감을 받아 마르코프 체인(Markov Chain)의 구조를 따른다.

 

해당 논문은 기존의 확산 모델이 학습할 때 가졌던 문제를 해결하기 위해 새로운 매개변수화 기법과 변분 경계(Variational Bound)를 제안하여, 더욱 높은 샘플 품질과 학습 효율성을 달성하였으며, 이를 통해 확산 모델이 단순한 이론적 모델을 넘어, 실제 이미지 생성에서도 경쟁력 있는 성능을 발휘할 수 있음을 실험적으로 증명했다.

2. Background

Markov Chain(마르코프 체인)

Markov 성질을 갖는 이산 확률과정

$P[s_{t+1}|s_t] = P[s_{t+1}|s_1, ..., s_t]$

  • Markov 성질: 특정 상태의 확률(t+1)은 오직 현재(t)의 상태에 의존한다.
  • 이산 확률 과정: 이산적인 시간(0초, 1초, 2초, ...) 속에서의 확률적 현상

 

Diffusion model

Figure 2: The directed graphical model considered in this work.

 

Diffusion model은 Generative model의 한 종류로 학습된 데이터의 패턴을 생성하는 역할을 한다.

패턴 생성 과정을 학습하기 위해 고의적으로 패턴을 무너뜨리고(= Noising), 이를 다시 복원하는 조건부 PDF를 학습(= Denoising)한다.

여기에서 노이즈를 추가하여 패턴을 무너뜨리는 과정을 Forward process, 혹은 Diffusion process라고 하고, 반대로 노이즈에서 원본 데이터로 복원하는 과정을 Reverse process라고 한다.

 

그리고 이 과정을 여러 단계로 나누어 실행하는 것이 Diffusion model의 핵심이다.

 

 

Reverse process

Diffusion model의 목표는 \( p_\theta(x_0) := \int p_{\theta} (x_{0:T})dx_{1:T} \)  를 찾는 것이. 목표이다.

여기에서 \( p_{\theta} (x_{0:T}) \) 는 Reverse process에 해당하며, 가우시안 분포를 의미하는 \( p(x_T) = N (x_T;0,I) \) 에서 시작한다. 

위 식은 마르코프 체인의 형태로, \( p_{\theta}(x_{0:T}) \) 가 각 시점 \( t \)의 잠재 변수들 \( x_0, x_1, \ldots, x_T \)​ 사이의 확률 관계를 나타낸다. 이때, 각 전이 확률 \( p_{\theta}(x_{t-1} | x_t) \) 는 가우시안 분포로 매개변수화됩니다. \( \mu_{\theta}(x_t, t) \)와 \( \Sigma_{\theta}(x_t, t) \) 는 각각 조건부 평균과 공분산을 나타낸다.

 

Forward process

\( q(x_{1:T​}∣x_0​) \) 는 Forward process 혹은 Diffusion process 라고 불리며, 이는 각 단계에서 가우시안 노이즈를 데이터에 점진적으로 추가하는 마르코프 체인이다. 각 단계에서 추가되는 노이즈의 양은 분산 스케쥴 \( \beta_t \) 에 의해 결정된다.

이 수식은 순방향 과정에서 각 단계 \( t \)의 확률 전이 과정을 정의한다. \( \sqrt{1 - \beta_t} x_{t-1} \)는 이전 단계 \( x_{t-1} \)의 축소된 버전을 나타내며, \( \beta_t I \)는 노이즈의 분산이 시간 \( t \)마다 달라지는 것을 보여준다.

 

Forward Process의 학습은 변분 경계 목적 함수(Variational Bound Objective)인 \( L \)을 최소화하는 방식으로 수행된다.

 

위 수식은 음의 로그 가능도의 변분 경계(Variational Bound)를 나타낸다. 좌변은 데이터 \( x_0 \)의 음의 로그 가능도 \( -\log p_{\theta}(x_0) \) 의 기대값이고, 우변은 이를 계산하기 위한 변분 경계로, 학습 시 최적화하는 손실 함수이다.

  • \( p(x_T) \): Forward Process의 마지막 단계 \( x_T \)의 사전 확률 (보통 평균이 0이고, 분산이 단위 행렬인 표준 가우시안 분포 \( N(0, I) \) 으로 설정)
  • \( p_{\theta}(x_{t-1} | x_t) \): Reverse process에서의 조건부 확률. 모델이 학습하는 주요 대상이며, 학습된 매개변수 \( \theta \)를 기반으로 각 시간 단계 \( t \)에서 \( x_{t-1} \)을 예측한다.
  • \( q(x_t | x_{t-1}) \): Forward Process에서의 조건부 확률. 순방향으로 노이즈가 추가되는 과정의 조건부 확률로, 마찬가지로 가우시안 분포에 해당한다.

 

목적 함수 \( L \)은 각 시간 단계에서의 KL 발산 \( \log \frac{p_{\theta}(x_{t-1}|x_t)}{q(x_t|x_{t-1})} \)의 합으로 나타나며, Forward ProcessReverse Process 간의 차이를 최소화하는 것을 목표로 한다.

 

3. Diffusion models and denoising autoencoders

잠재 변수 모델(Latent variable model) 중 하나인 Diffusion model은 구현시 많은 자유도를 허용한다. 예를 들어, forward process의 분산 스케쥴 \( \beta_t \)를 어떻게, 설정할지, reverse process의 가우시안 분포 매개변수를 어떻게 정의할지 등 다양한 선택이 필요하다. 그리고, 다양한 선택은 곧 복잡한 과정을 의미하기도 한다.

 

해당 논문은 Diffusion model과 denoising score matching 사이에서 연결성을 발견하였고, 이에 따라 단순화된 가중 분변 경계 목적 함수(a simplified, weighted variational bound objective)를 제안한다.

3.1. Forward process and $L_T$

순방향 과정의 분산 \( \beta_t \)는 재매개변수화(reparameterization)를 통해 학습할 수 있지만, 해당 논문에서는 실험의 단순화를 위해 이를 상수로 고정하고 있다.

이에 따라 논문에서 구현된 모델에서 근사 사후 확률 \( q \)는 학습할 매개변수가 없는 형태를 가지며, \( L_T \)는 학습 중 상수로 간주되어 무시할 수 있다.

3.2. Reverse process and $L_{1:T-1}$

 

여기서, \( \Sigma_\theta(x_t, t) \)는 학습되지 않은 시간 의존적인 상수로 설정되며, 다음과 같은 두 가지 선택지를 갖는다.

  • \( \Sigma_\theta(x_t, t) = \beta_t I \): \( x_0 \sim \mathcal{N}(0, I) \) 일 때 최적
  • \( \Sigma_{\theta}(x_t, t) = \frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_{t}} \beta_t \mathbf{I}
    \): \( x_0 \)가 하나의 고정된 점으로 설정될 때 최적

이는  Reverse process 엔트로피의 상한 및 하한에 대응하는 극단적인 두 가지 설정으로, 데이터가 표준 정규 분포를 따르는 경우와 단일한 값으로 고정될 경우의 두 상황을 가정하여 설정한 것이다.

 

평균 \( \mu_\theta(x_t, t) \) 구체적인 매개변수화(parameterization)

여기서,  \( C \)는 매개변수 \( \theta \)와 무관한 상수이다.

따라서,  \( \mu_\theta(x_t, t) \)를 정의하는 가장 단순한 방법은 Forward process의 평균 \( \tilde{\mu}_t \)를 예측하도록 설정하는 것이다. 하지만 이러한 단순한 매개변수화가 샘플 품질에 부정적인 영향을 미친다는 것을 발견하여 Forward process에서 다음과 같은 형태의 평균을 사용하여 더 나은 결과를 도출하도록 수정하였다.

위의 수식을 기반으로 \( \mu_\theta(x_t, t) \)를 재정의하면 다음과 같다.

 

3.3. Data scaling, reverse process decoder, and $L_0$

해당 논문에서는 이미지 데이터가 {0, 1, ..., 255}의 정수 값으로 구성되며, 이 값들이 [−1,1] 사이로 선형적으로 스케일링된다고 가정한다. 이렇게 하면, 신경망의 역방향 과정이 표준 정규 사전 확률 분포 \( p(x_T) \)로부터 시작하여 일관된 스케일의 입력을 처리할 수 있다고 한다.

불연속적인 로그 가능도(log likelihood)를 얻기 위해, Reverse process의 마지막 항을 독립적인 불연속 디코더 형태로 정의하여, 다음과 같은 가우시안 분포로 표현하였다.

 

  • \( \delta_+(x) \)와 \( \delta_-(x) \)는 불연속 경계를 나타낸다.
  • \( D \)는 데이터의 차원 수를 의미한다.
  • 각 픽셀 값이 정수이므로, 이를 구간으로 나누어 해당 구간의 가우시안 분포의 누적 분포 값을 계산한다.

이를 통해, 로그 가능도를 계산할 때 발생하는 경계 효과(edge effect)나 분산 \( \sigma_1^2 \) 의 영향을 무시할 수 있다.

3.4. Simplified training objectie

앞서 정의한 역방향 과정과 디코더를 사용하여, 변분 경계(variational bound)를 다음과 같은 식으로 단순화할 수 있다.

  • \( \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon \) : Forward process에서 노이즈가 추가된 상태의 \( x_t \

이 목적 함수는 각 시간 단계 \( t \)에서 예측된 노이즈 \( \epsilon_\theta \)와 실제 노이즈 \( \epsilon \) 간의 차이를 최소화하도록 학습된다. 즉, 조금 더 간단히 말하자면, 위의 단순화된 목적 함수는 기존의 가중 변분 경계 목적 함수보다 학습이 더 용이하고, 샘플 품질을 높이는 데 효과적이다.

4. Experiments

* 해당 포스트에서는 실험의 주요 결과만 요약 정리하였다.

4.1. Sample quality

Table 1. CIFAR10 results. NLL measured in bits/dim.

 

위의 표는 CIFAR-10 데이터셋에서의 Inception 점수와 FID 스코어, 및 음의 로그 가능도(무손실 코드 길이)를 보여주는 표이다.

해당 논문에서 제안한 모델은 FID 점수 3.17을 기록하며, 무조건적(unconditional) 모델로서 기존의 문헌에서 보고된 대부분의 모델들, 특히 클래스 조건부 모델(class conditional models)보다 더 나은 샘플 품질을 달성했음을 확인할 수 있다.

 

또한, 정확한 변분 경계(True Variational Bound )로 학습했을 때는 더 나은 codelength를 얻을 수 있었지만, 단순화된 목적 함수(Simplified Objective)를 사용했을 때는 더 나은 샘플 품질을 얻을 수 있음을 확인하였다.

 

Figure 1. Generated samples on CelebA-HQ 256 × 256 (left) and unconditional CIFAR10 (right) / Figure 3: LSUN Church samples. FID=7.89 (Left) / Figure 4: LSUN Bedroom samples. FID=4.90 (Right)

 

4.2. Reverse process parameterization and training objective ablation

Reverse process의 다양한 매개변수화와 학습 목적 함수가 샘플 품질에 미치는 영향을 분석한 결과는 다음과 같다.

Table 2: Unconditional CIFAR10 reverse process parameterization and training objective ablation. Blank entries were unstable to train and generated poor samples with out-of- range scores.

 

  • \( \mu \)를 예측하도록 학습한 경우, 변분 경계를 기반으로 학습할 때는 좋은 성능을 보였으나, 가중치가 없는 평균 제곱 오차(simplified objective)를 사용하면 샘플 품질이 크게 저하되었다. 학습된 역방향 과정의 분산( \( \Sigma_\theta \) )를 변분 경계에 포함하는 경우 오히려 더 불안정한 학습과 낮은 샘플 품질을 초래하였다.
  • ​반면, 단순화된 학습 목적 함수를 사용할 때, 노이즈 \( \epsilon \) 를 예측하는 방식은 매우 좋은 샘플 품질을 제공하며, 변분 경계에서 고정된 분산을 사용한 경우와 유사한 성능을 보였다. 그러나 단순화된 목적 함수에서 노이즈 \( \epsilon \)를 예측하도록 학습하면 \( \tilde{\mu} \)를 예측하는 방식보다 훨씬 더 나은 성능을 보였다.

 

4.3. Progressive coding

CIFAR-10 모델의 무손실 코드 길이(lossless codelength)를 확인하고, 다른 가능도 기반 모델들과 비교하여 점진적 코딩의 효율성을 평가한 결과는 다음과 같다.

 

앞서 첨부한 Table 1을 통해 CIFAR-10 모델의 무손실 코드 길이(lossless codelength)를 확인할 수 있다. Train set과 Test set 간의 차이는 차원당 0.03 비트 미만(3.75-3.72=0.03)으로, 이는 다른 가능도 기반 모델(likelihood-based models)과 비교했을 때 매우 작은 차이에 해당함을 확인할 수 있다. 이는 해당 논문에서 제안하는 확산 모델에서 overfitting이 발생하지 않음을 의미한다.

 

새로운 모델의 무손실 코드 길이는 기존 에너지 기반 모델이나 중요 샘플링을 사용하는 score matching에서 보고된 값보다 더 좋은 성능을 보이기는 하나, 다른 종류의 가능도 기반 생성 모델들과 비교했을 때 완전히 경쟁력 있는 수준은 아니다.

 

Figure 6. Unconditional CIFAR10 progressive generation (x^0 over time, from left to right)
Figure 7. When conditioned on the same latent, CelebA-HQ 256 × 256 samples share high-level attributes. Bottom-right quadrants are xt, and other quadrants are samples from pθ(x0❘xt).

4.4. Interpolation

잠재 공간(latent space)에서의 이미지 보간을 통해 모델의 잠재 변수 해석 능력과 샘플링 성능을 평가한 결과는 다음과 같다.

 

Figure 8. Interpolations of CelebA-HQ 256x256 images with 500 timesteps of diffusion.

 

잠재 공간(latent space)에서 원본 이미지  \( x_0 \) , \( x_0' \sim q(x_0) \) 을 보간할 수 있는데, 보간된 결과인 \( \tilde{x}_t = (1 - \Lambda) x_0 + \Lambda x_0' \) 을 reverse process를 사용해서 복원하여 \( \tilde{x}_t \sim p(x_0|\tilde{x}_t) \) 의 형태의 이미지 공간으로 변환하는 것이다.

 

위의 Figure 8은 CelebA-HQ 256x256 이미지에서 t = 500 단계에서의 보간 결과를 보여주는 이미지이다. 얼굴이나 피부 톤, 헤어스타일, 배경 등이 상당히 부드럽게 보간 및 변환되는 것을 볼 수 있다.

 

5. Conclusion

  • 확산 확률 모델이 고품질 이미지 생성을 가능하게 하고, 기존의 생성 모델(GAN, VAE 등)과 견줄 수 있는 성능을 가짐을 입증한다.
  • 확산 모델이 denoising score matching 및 Langevin dynamics와의 이론적 연결을 기반으로 새로운 유형의 이미지 생성 모델을 설계할 수 있음을 제안한다.
  • 확산 모델이 가지는 잠재적 유연성과 단순한 학습 목표를 통해 고품질 샘플을 생성하는 데 탁월한 성능을 발휘할 수 있음을 실험적으로 확인하였다.

 

 

참고 문헌

[Paper Review] Denoising Diffusion Probabilistic Models

[논문리뷰] DDPM: Diffusion Model Background