Research/Generative Model

Denoising Diffusion Implicit Models (DDIM)

업무외시간 2022. 7. 17. 19:57

Diffusion model의 sampling step을 줄이기 위해 제안된 연구. DDPM의 generalized version이라고 볼 수 있겠다. 논문이 어렵게 쓰여있지만 key idea는 sigma라는 stochastic parameter를 두어 q(x(t-1)|x(t), x(0))에 대해 새로운 form을 제안한 것이다. 이 form은 여전히 nice property를 만족한다. (즉, nice property를 만족하면서 x(t)와 x(0)를 condition으로 사용하는 form을 제안)

Generalized Form

[2]에서는 위 form을 forward/reverse process의 mu function을 x(t)와 noise의 linear combination으로 가정한 것이라고 해석한다. (즉, 각 process의 mu function을 어떻게 정의하느냐에 따라서 DDPM 혹은 DDIM이 된다) sigma(t)가 0이 되면 DDIM, 특정한 값을 만족하면 DDPM이 되는 구조이다. DDIM의 reverse process는 deterministic process이기 때문에 x(T)에만 의존하여 stochastic 성질을 보장한다. 이는 x(T)가 semantic latent feature로 활용될 수 있음을 의미한다.

 

학습은 reverse process에서 q와 p의 거리를 작게 하는 방향으로 진행하는데, DDPM처럼 p의 특정 output을 가정해놓고 q와 p의 loss 식을 만드는 게 아니라 x(t)만을 가지고 x(0)를 복원하는 loss 식을 만든다.

x(t)로부터 x(0) 복원

사실 x(0)을 복원하려면 z(t)를 예측할 수 있어야 하기 때문에 epsilon_theta는 noise predictor가 되고 DDIM의 objective는 DDPM의 objective와 같아진다 (엄밀하게 따져보면 특정 조건에서 같아지는 듯). x(0)를 잘 예측할 수 있으면 q(x(t-1)|x(t), x'(0))를 이용해 reverse process가 가능해진다. 예측하고자 하는 것이 x(0)이기 때문에 DDIM에서는 굳이 forward process를 계산할 필요가 없다 (논문에서 대충 설명하고 넘어감).

 

Sampling step이 충분하면 DDPM으로도 좋은 성능이 보장되나 적은 step에서는 DDIM이 확실히 좋다. 이는 stochastic한 process 일수록 촘촘한 step이 필요하다는 것을 의미한다.

 

References

[1] J. Song et al., Denoising Diffusion Implicit Models, ICLR 2021

[2] CVPR 2022 Tutorial for Diffusion-based Generative Model