Diffusion model
noise를 더해가거나 noise로부터 복원해가는 과정을 통해 data를 generate하는 모델
Diffusion
- 기존 데이터인 이미지에서 가우시안 노이즈를 점진적으로 가하는 절차
- 가우시안 노이즈가 점차 확산되면서 전체 이미지의 분포는 가우시안 분포와 가까워짐
Denoising
- 노이즈 이미지를 기존 이미지로 복원
- 이 Denoising 절차에서 기존 생성 모델들의 목적과 같이 Likelihood를 최대로 하는 것
💡
DDPM = Diffusion Process (Forward) + Denoising Process (Reverse)
Diffusion → 사전 정의하는 것, Denoising → 학습해야 하는 것
📌 Markov Chain
- Markov Chain: Markov 성질을 가지는 이산 확률 과정
- Markov 성질
- “특정 상태의 확률(t+1)은 오직 바로 과거(t)의 상태에만 의존한다" → ex. 내일의 날씨(t+1)는 오늘의 날씨만 보고 예측이 가능하다
- DDPM → 모든 노이즈 이미지는 이전 이미지의 상태에만 의존하여, Diffusion하거나 Denoising
- Diffusion이 소량의 Gaussain noise로 구성된 경우, sampling chain transition을 conditional Gaussian으로 설정하여 간단한 neural network parameterization이 가능
📌 Forward Diffusion Process
- Diffusion에서 가우시안 노이즈를 더하는 과정은 사전 정의한 값으로 진행
- Markov chain의 적용 횟수가 충분히 많아지면, 최종 이미지는 완전한 random gaussian을 따름
- ß 값은 t 시점의 beta 값이며, 뒤로 갈수록 커짐
- 10^-4에서 0.02로 linear하게 증가
- 이 값은 learnable parameter로 둘 수도 있지만 상수로 두어도 큰 차이가 없다는 것을 발견
- 매 step마다 gaussian distribution에서 reparameterize를 통해 sample하게 되는 형태로, 단순히 noise만을 더해주는게 아니라 scaling하는 이유는 variance가 발산하는 것을 막기 위함
📌 Reverse Denoising Process
- Forward 과정이 가우시안 분포이면, Reverse 과정도 가우시안 분포
- 완전한 gaussian을 따르는 이미지로부터 시작하여, 이것을 다시 원본으로 되돌리는 과정
- 딥러닝 모델을 사용하여 평균과 분산을 구하고, Markov Chain에 근사하는 방식으로 진행하는 것이 핵심
📌 Loss
- 예측한 가우시안을 Markov chain으로 연결하여, 기존 이미지에 대한 Likelihood를 최대화해야 함
- Negative log likelihood를 최소화하는 방향으로 진행
- Denoising: 이 Loss가 바로 핵심, 본 논문의 모든 Denoising 절차에 대한 Loss를 합한 것
- 결론적으로, 우리가 diffusion model을 학습할 때의 training loss는 정규 분포 사이의 KL divergence 형태로 쉽게 계산될 수 있는 것
Reference
[논문리뷰] Denoising Diffusion Probabilistic Models (DDPM)
[논문 리뷰] Denoising Diffusion Probabilistic Model(2020)
[논문리뷰] DDPM: Diffusion Model Background
[Paper 리뷰] Denoising Diffusion Probabilistic Models
[Paper Review] DDPM: Denoising Diffusion Probabilistic Models 논문 리뷰
'Research Review' 카테고리의 다른 글
[LLM] A Comprehensive Analysis of the Effectiveness of Large Language Models as Automatic Dialogue Evaluators (0) | 2024.05.07 |
---|---|
[LLM] LLMEval: A Preliminary Study on How to Evaluate Large Language Models (0) | 2024.05.07 |
[MultiModal] Transformer (0) | 2024.05.07 |
[MultiModal] VAE: Auto-Encoding Variational Bayes (0) | 2024.05.07 |
[MultiModal] StyleGAN (0) | 2024.05.07 |