상세 컨텐츠

본문 제목

[PAPER REVIEW] Denoising Diffusion Probabilistic Models

ANALYSIS/Paper Review

by koharin 2023. 8. 2. 00:53

본문

728x90
반응형

BACKGROUND

Markov Chain

  • Markov 성질을 갖는 이산 확률 과정
  • Markov 성질: 특정 상태의 확률($t-1$)은 현재 상태($t$)에만 의존한다.
  • 이산 확률 과정: 이산적 시간(0초, 1초, …) 속 확률적 현상

Diffusion model

  • 분류: 생성 모델
  • 학습된 모델의 패턴을 생성.
  • 많은 수의 latent variable을 만드는 Markov chain이 있음
  • 패턴 생성 과정 학습 위해 고의로 패턴을 무너뜨리고(noising)(diffusion process), 이를 다시 복원하는 조건부 PDF를 학습(denoising)(reverse process)
  • 학습 목표: reverse process $p_{\Theta}(X_{t-1} | X_t)$를 $q(X_{t-1} | X_t)$로 approximate하도록 학습하는 것

1. forward process (diffusion process) $q(x_{t-1}|x_t)$

  • diffusion process: gaussian noise를 점진적으로 추가 (= Conditional Gaussian Distribution)하여 $X_0$를 조건부로 다수의 latent variable($X_1$, $X_2$, …, $X_T$, $X_{1:T}$)를 생성하는 과정
  • 조건부 가우시안 $q(X_t | X_{t-1})$의 Markov chain으로 구성
  • $\beta_t$
    • 가우시안 노이즈 크기
    • 사전적 정의 (scheduling) → Linear schedule, Quad Schedule, Sigmoid Schedule
    • 재파라미터화로 학습하거나 hyperparameter로 상수 취급 가능
  • 사전에 정의된 노이즈에 따라 형성되기 때문에 diffusion 과정은 학습하지 않고도 알 수 있음
  • $q(X_t | X_{t-1})$ 가 gaussian이면, $\beta_t$가 충분히 작으면 $q(X_{t-1} | X_t)$ 도 gaussian임이 증명됨
  • Markov chain 과정 → variance schedule $\beta$에 따라 점진적으로 Gaussian noise를 데이터에 추가하여 ($T$ 스텝만큼) noise smaple $x_1,…x_T$ 생성
  • 데이터 샘플 $x_0$은 스텝 $t$가 커짐에 따라 noise가 커지면서 구별할 수 있는 특성을 잃어감

코드: 이전 시점의 x를 받아서 다음 시점의 x를 각 시점의 노이즈 beta_t를 통해 reparameterization trick으로 만듦

2. reverse process $p_\Theta(x_{0:T})$

  • diffusion process의 역(reverse) 과정으로, gaussian noise를 제거하면서 패턴 생성
  • 조건부가 바뀐 $q(X_{t-1} | X_t)$ 는 inference 과정에서 활용 불가능
  • 데이터: $x_0 \text{\textasciitilde} q(x_0)$
  • forward process를 reverse하여 $q(x_{t-1}|x_t)$를 샘플링하면, Gaussian noise 입력 $x_T \text{\textasciitilde} \Nu(0,I)$로부터 true sample 재생성 가능
  • $\beta_t$가 충분히 작으면, $q(x_{t-1}|x_t)$도 Gaussian이 될 수 있음
  • loss: Negative log likelihood를 최대화(데이터에 대한 fitting 최대화)함

Training

  • 효과적인 학습은 랜덤인 $L$(loss)을 stochastic gradient descent로 최적화하는 것

DESIGN

Diffusion probabilistic model

  • 파라미터화된 Markov chain
    • 데이터에 매칭되는 샘플을 만들기 위해 variational inference(변이 추론)을 사용하여 학습
    • diffusion 과정을 reverse하기 위해 Markov chain 과정을 학습함
    • Markov chain: sign이 없어질 때까지 sampling의 역방향으로 점진적으로 데이터에 노이즈를 추가하는 것
    • diffusion이 적은 수의 가우시안 노이즈를 구성하게 되면, sampling chain 과정을 conditional 가우시안에 세팅하는데 충분하다는 것. 부분적인 신경망 파라미터화 가능

DDPM Loss $L_{simple}$

1. forward process (diffusion process) & $L_T$

  • Regularization term에 해당
  • 학습 가능한 파라미터가 없다고 가정
  • variance $\beta_t$를 상수로 고정
  • $L_T$는 학습 동안 상수이므로 무시 가능

2. reverse process & $L_{1:T-1}$ → Denoising Process 목적식 재구성

  • 학습 대상이 mean & variance function에서 DDPM 이후 mean function만으로 줄어들음
  • Denoising Matching
  • 남은 예측 대상은 $t$ 시점의 noise($\epsilon$)

IMPLEMENTATION

T = 1000으로 설정 (T: step 수)


EVALUATION

  • unconditional CIFAR10 - Inception Score 9.46, FID 3.17(state-of-the-art)

  • 256x256 LSUN - ProgressiveGAN과 비슷한 샘플 품질 보임

RELATED WORK

Deep generative model

  • Generative adversarial network(GAN)
  • autoregressive model
  • Flow
  • Variational autoencoder(VAEs)
  • energy-based modeling
  • Score matching

CONCLUSION

Contribution

  • diffusion model이 고해상도 샘플을 생성하는 능력이 있는지 입증이 없었는데, diffusion model은 다른 생성모델보다 고해상도 이미지 생성이 가능함을 보임
  • diffusion model의 파라미터화
    • 이는 학습 중의 여러 노이즈 레벨을 거친 노이즈 제거 점수 매칭과 샘플링 중의 어닐링된 Langevin dynamics와 동등함을 보임
  • 제안하는 모델의 무손실 코드 길이는 대부분이 감지할 수 없는 이미지의 세부 사항을 표현할 수 있음
  • Open Source

Limitation

  • 제안하는 모델로 생성된 샘플 품질은 좋은데 다른 유사도 기반 모델보다 로그 유사도가 경쟁력이 있지 않음? (에너지 기반과 점수 매칭 기반으로 생성된 샘플보다는 로그 유사도가 높음)
728x90
반응형

관련글 더보기