Untitled

OpenAI가 DALLE2를 발표한 이후로 diffusion model을 이용한 text-conditional image synthesis에 대한 관심이 집중되고 있다. 이 글에서는 GAN을 이용한 manipulation 방법들부터 DALLE-2에 이르기 까지의 연구 동향을 살펴보고자 하며, 독자가 diffusion model에 어느정도 익숙하다고 가정한다.

GAN-based image manipulation

Untitled

Text-guided image manipulation은 주어진 text prompt를 바탕으로 이미지를 수정하는 task이다. 위 예시가 보여주듯이 사진 속 피자의 토핑을 바꾸거나, 초코 쿠키로 만들거나, 화풍을 변경할 수도 있다.

Untitled

Pre-trained GAN을 이용해 image manipulation을 수행하는 연구들은 크게 latent optimization을 사용하는 방법 (w-learner) [1] 과 generator optimization을 수행하는 방법 (G-learner) [2] 으로 분류될 수 있다. 주어진 text prompt와 생성된 이미지의 similarity $s$를 maximize하는 방향으로 generator 혹은 latent vector를 optimize하면,text와 consistent한 이미지를 생성할 수 있다는 아이디어이다. Latent space exploration만 수행하는 w-learner와 달리 G-learner는 generator의 distribution을 바꾸기 때문에 학습 데이터에서는 보지 못했던 domain으로의 translation도 가능하다는 장점이 있다. 다만 이러한 방법을 이용해 real image를 manipulate 하기 위해서는 GAN-inversion을 수행하여야 한다.

The Cons

  1. $w$ 또는 $G$의 optimization을 필요로 한다.
  2. GAN inversion이 완벽하지 않다. 이는 real image editing 시에 문제가 된다.
  3. ImageNet 등의 복잡한 데이터셋에서 GAN의 생성 능력이 떨어진다. 따라서 특정 데이터셋에 대해서만 잘 동작한다.

DiffusionCLIP

Untitled

GAN-based manipulation 방법들의 단점은 inversion의 성능이 떨어지고, 복잡한 데이터셋에 적용하기 힘들다는 점이다. DDIM sampler를 이용하면 diffusion model의 generative process를 deterministic하게 만들 수 있다는 것이 알려져 있는데, 이러한 generative ODE를 역으로 수행하는 ODE 또한 구할 수 있고 이를 통해 거의 완벽한 inversion을 수행할 수 있다는 것을 ADM [6] 의 저자들이 보였다. 또한, diffusion model은 ImageNet같은 복잡한 데이터셋에서 GAN보다 성능이 좋은데, 이러한 장점들을 활용한 모델이 DiffusionCLIP [3] 이다. CLIP을 이용해 뽑은 text와 image간의 similarity를 maximize하도록 ODE를 fine-tune 하는데, 이는 GAN-based 방식에서 G-learner와 흡사하고 따라서 DiffusionCLIP도 out-of-domain으로의 translation이 가능하다.

The cons

여전히 optimization이 필요하다.

CLIP-guided Diffusion

Unconditional diffusion model의 reverse process시에 CLIP guidance를 이용하면 text-conditional generation이 가능하다 [4] .

$$ \begin{equation} \hat \mu_\theta (x_t) = \mu_\theta(x_t) + s\Sigma\nabla x_t( I(x_t)\cdot T(c)) \end{equation} $$