평범한 필기장

[평범한 학부생이 하는 논문 리뷰] GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models 본문

AI/Diffusion

[평범한 학부생이 하는 논문 리뷰] GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models

junseok-rh 2024. 5. 6. 01:59

https://arxiv.org/abs/2112.10741

 

GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models

Diffusion models have recently been shown to generate high-quality synthetic images, especially when paired with a guidance technique to trade off diversity for fidelity. We explore diffusion models for the problem of text-conditional image synthesis and c

arxiv.org

1. Introduction

 최근 text-conditional image 모델들은 자유 형식의 text prompt로부터 이미지들을 생성할 수 있다. 그러나 대응되는 text prompt의 모든 측면을 반영하는 photorealistic 이미지들을 아직 생성할 수 없다. 이전에 classifier-free guidance의 연구에서 guided diffusion models의 photorealistic 샘플들을 생성하는 능력과 text-to-image 모델들이 free-form text prompt를 다루는 능력에 영감받아, 본 논문에서 guided diffusion을 text-conditional image 합성 문제에 적용한다.

 본 논문의 모델이 다양한 text prompt를 zero-shot으로 렌더링하지만, 복잡한 prompt에서 사실적인 이미지를 생성하는 데에는 어려움을 가진다. 복잡한 prompt에 매칭될 때까지 모델의 샘플들을 반복적으로 향상시키는 editing 능력을 모델에 제공한다. 본 논문에서는 모델을 image-inpainting을 수행하도록 finetune시켜서 자연어 prompt를 사용하여 이미지를 자연스럽게 editing할 수 있다는 것을 발견했다. 또한 수정된 이미지는 그림자와 반사들을 포함한 주변 context의 스타일과 lighting을 매칭한다.

2. Training

 본 논문에서의 실험을 위해, $64 \times 64$ 해상도에서의 text-conditional diffusion model, $256 \times 256$ 해상도로 늘리기 위한 text-conditional upsampling diffusion model, CLIP guidance를 위한 noised $64 \times 64$ ViT-L CLIP을 사용한다.

2.1 Text-Conditional Diffusion Models

출처 : https://ffighting.net/deep-learning-paper-review/diffusion-model/glide/

 본 논문에서는 Classifier Guidance 논문에서 제안된 ADM 모델 구조를 적용하는데, 이때 text conditioning 정보를 사용한다. Text에 대해 condition하기 위해, 먼저 $K$의 토큰의 sequence로 인코딩한다. 그후 이 토큰들을 transformer 모델에 넣는다. 이를 통해 나온 output은 두가지 방식으로 사용된다. i) 마지막 토큰은 ADM 모델에서 class 임베딩을 대신해서 사용된다. ii) $K$개의 feature vectors의 sequence인 마지막 레이어의 token 임베딩은 ADM 모델 전체에 대해 각 attention layer의 차원에 각각 project된다. 그리고 나서 각 레이어에서 attention context에 concat된다.

 본 논문에서 DALL-E와 동일한 데이터셋으로 모델을 학습시킨다. 또한 $64 \times 64$ 모델은 classifier guidance에서의 모델과 동일하지만 넓이를 512채널로 늘린 모델을 사용한다. Text encoding Transformer에 대해서는 2048 넓이의 residual  blocks 24개를 사용한다. Upsampling diffusion 모델은 $64 \times 64$를 $256 \times 256$로 upsampling 하는 모델로 base 모델과 동일한 방식으로 text conditioned되지만 2048대신 1024 넓이의 더 작은 text encoder를 쓴다. 

 이렇게 세 모델을 최종적으로 학습시키게 된다. 본 논문에 따르면 전체 학습 계산량은 DALL-E와 거의 동일하다고 한다.

2.2 Fine-tuning for classifier-free guidance

  초기 학습 이후에 base 모델을 unconditional image generation을 위해 fine-tune하는데 20%의 text sequence token을 빈 token으로 대체해서 학습시킨다. 이를 통해 모델은 이미지를 unconditionally하게 생성할 수도 있게 된다.

2.3 Image inpainting

 기존에 diffusion model을 이용한 inpainting은 이 task를 위해 따로 학습하지 않고 할 수 있었기에 따로 모델을 이 task에 대해 finetuning을 하지 않았다. 하지만 이러한 방식은 본 논문에서의 실험 결과 artifact들을 야기했다. 그래서 본 논문은 inpainting을 수행하기 위해 이 task에 대해 모델을 finetuning했다. Finetuning동안, 학습 예시들의 random ragion들을 지우고 남은 부분을 mask channel과 함께 추가적인 condition으로 model에 들어가게 된다. 본 논문에서는 RGB channel과 mask channel을 가지는 4channel input을 위한 구조로 모델을 수정한다. 또한 새로운 채널에 대한 input weight들은 0으로 초기화하고 finetuning을 시작한다. Upsampling 모델에 대해 원래 low resolution 이미지 전체를 제공하지만 unmasked된 지역의 high resolution 이미지를 제공한다.

2.4 Noised CLIP models

 Classifier Guidance와 더 잘 매치시키기 위해, noised image $x_t$를 받는 image encoder $f(x_t,t)$를 가진 noised CLIP model을 학습시킨다. 이때 이 모델은 원래 CLIP 모델과 동일한 objective로 학습된다.

3. Results

3.1 Qualitative Results

위 결과를 통해 classifier-free guidance를 썼을 때, CLIP guidance를 썼을 때보다 더 현실적인 이미지를 생성하는 것을 확인할 수 있다.

위 결과를 통해 GLIDE가 text prompt를 이용해서 이미지를 수정할 수 있다는 것을 볼 수 있다.

이러한 실험들 외에 논문에서 더 다양한 실험 결과들을 확인할 수 있다.

4. Limitations

 Unusual한 객체나 scenario에 대해서는 종종 실패한다.