Post

DDPM & DDIM

DDPM & DDIM

DDPM & DDIM

DDPM (확률적 Sampling)
복원 과정에서는 매 단계마다 새로운 가우시안 노이즈를 샘플링하는 stochastic sampling을 수행한다. 따라서 seed를 고정하지 않으면 동일한 초기 노이즈라도 생성 과정에서 사용되는 노이즈가 달라져 서로 다른 결과가 생성될 수 있다.
논문 실험에서는 대부분 seed를 고정하므로 초기 노이즈와 각 단계에서 샘플링되는 노이즈가 모두 동일해져 같은 결과를 재현할 수 있다.

DDIM (결정론적 Sampling)
복원 과정에서 무작위 노이즈를 더하지 않는 결정론적 경로를 따른다. 따라서 초기 노이즈가 같으면 항상 100% 동일한 결과가 생성된다.

DDPM에서 노이즈를 예측하는데 또 노이즈를 추가하는 이유

현재 이미지 $x_t$ 에 얼마나 노이즈가 섞여 있는지를 예측한다. 이를 이용해 깨끗한 이미지를 만든다.

다만 DDPM은 하나의 이미지를 복원하는 알고리즘이 아니라 확률 분포에서 샘플을 생성하는 생성 모델이다. 현재 상태에서 가능한 다음 상태가 하나만 있는 것이 아니라 여러개가 가능하다.

평균만 따라가면 다양한 이미지를 만들 수 없으니 평균 주변에서 샘플을 하나 뽑는다.

“공은 이 방향으로 굴러가는 것이 평균적으로 맞습니다.”
실제 공은 다르게 굴러갈 수 있다.
DDIM은 평균적인 경로만 따라가는 아이디어다.

[논문정리] Denoising Diffusion Probabilistic Models

Algorithm2 sampling 참고

DDIM에서도 랜덤하게 만들 수 있다

DDIM에는 η(eta)라는 파라미터가 있다.

η = 0 → 결정적
η > 0 → 확률적(stochastic)

$σ_t$는 η에 의해 결정된다.

η > 0이면 같은 초기 노이즈라도 결과가 달라질 수 있습니다.

다만 Stable Diffusion에서 일반적으로 사용하는 DDIM은 η=0이라서 결정적이다.

다른 이미지를 만들기 위해 보통은 초기 노이즈(seed)를 바꾼다.

현재 대부분의 Stable Diffusion 기반 연구에서는 다양한 이미지를 얻고 싶을 때 DDIM을 랜덤하게 만드는 것이 아니라 seed를 바꾸는 방식을 사용한다.

Personalization 연구에서는

대부분의 personalization 연구는 같은 seed를 고정하여 실험한다.

모델만 바뀌었을 때의 성능 차이를 공정하게 비교하기 위해서이다.

Identity를 유지하는 것은 fine-tuning, image feature, embedding이다.

DDIM은 노이즈 제거 방법을 결정한다. DDPM보다 빠르고 재현성이 좋으며 품질도 거의 비슷하다.

sampler 말고 다른 방법은 GAN, Autoregressive, fow matcing 등이 있다.

This post is licensed under CC BY 4.0 by the author.