[22’ NIPS] Imagen: Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding
카테고리: Generation
태그: Text2Image Diffusion
0. Abstract
- Imagen은 text-only pretrained LLM을 사용하여 text-to-image generation을 수행하는 모델이다. 저자들은 diffusion model보다 language model의 size가 성능 향상에 더 중요하다고 주장한다.
- Dynamic thresholding이라는 새로운 diffusion sampling 방법을 제안하였으며, 이를 통해 high guidance weight에서 효과적인 sampling이 가능했다.
- DrawBench라는 새로운 text-to-image model benchmark를 제안하였다.
1. Introduction
Imagen은 Google Research에서 발표한 text-to-image generation model로, OpenAI의 DALL-E 2 발표 이후 경쟁 모델로 발표되었다. DALL-E 2는 CLIP을 사용한 반면, Imagen은 text-only LLM을 사용하여 encoding을 수행하였다. 저자들은 이를 통해 더 자연어를 깊이 있게 이해하고 더 현실적인 이미지를 만들어낼 수 있다고 주장한다.
지금까지의 text-to-image generation model을 공부한 것이 Imagen 논문을 이해하기 위함이라고 해도 과언이 아닐 만큼 Imagen 모델은 여러 논문에서 사용된 테크닉들을 종합적으로 사용하였다. 다음 섹션에서는 이러한 Imagen의 특징을 간략하게 정리하고자 한다.
2. Imagen
다른 text-to-image generation model과 Imagen의 가장 큰 차이점은 CLIP과 같은 image-text encoder가 아닌 text-only encoder를 사용한다는 점이다. 전체적인 Imagen의 구조는 다음과 같이 text embedding을 condition으로 한 text-to-image diffusion model과 super-resolution diffusion model의 cascaded structure로 이루어져 있다.
2.1. Pretrained text encoders
먼저 pretrained LLM을 사용하여 text embedding을 수행한다. Imagen에서는 BERT, T5, CLIP을 사용하였으며, 결과적으로 MS-COCO dataset에서는 T5-XXL과 CLIP이 좋은 성능을 보였다(Figure A.5(a)). DrawBench에서는 CLIP보다 T5-XXL이 더 좋은 성능을 보였다(Figure A.5(b)). 따라서 Imagen은 T5-XXL을 사용하였다. 참고로, 아래의 CLIP score과 FID 간의 pareto curve는 결국 image-text alignment와 image fidelity 간의 trade-off 관계를 보여준다.
Pareto curve의 전반적인 경향성을 개인적으로 해석해본 결과는 다음과 같다. Guidance가 증가함에 따라 CLIP score는 증가한다. 너무 낮은 guidance에서는 image-text mismatch와 함께 image fidelity가 떨어지고, 너무 높은 guidance에서는 image-text alignment가 과도하여 image fidelity가 떨어진다. 따라서 적당한 guidance를 찾아야 하고, 따라서 Imagen의 대부분의 experiment에서도 다양한 guidance에 대해 sweeping을 진행했다. 참고로 GLIDE에서는 이러한 trade-off 관계가 CLIP guidance의 방해로 인해 비교하기 어려웠지만, Imagen은 CLIP-free model이기에 이러한 pareto curve를 사용해도 무방하다.
2.2. Large guidance weight samplers
일반적으로 CFG weight $w$를 높이는 것이 image-text alignment 성능을 높이지만, image fidelity를 낮추는 경향이 있다. 보통 guidance가 큰 경우 아래의 Figure A.9(a)와 같이 saturated, unnatural한 이미지를 생성한다.
저자들은 이 이유가 high guidance weight에서의 train-test mismatch 때문이라고 보았다. 즉, 원래 $\mathbf{x}$-prediction $\hat{\mathbf{x}}_ 0 ^ t := \hat{\mathbf{x}}_ 0 (\mathbf{z}_ t, \mathbf{c})$는 이미지의 범위인 $[-1, 1]$ 사이의 범위에 있어야 한다. Training data에서는 이것이 당연하지만 test data에서는 이것이 보장되지 않고, high guidance weight은 이 범위를 벗어나도록 만드는 경향이 있다. 이 문제를 해결하기 위해 두 가지 sampling 방법을 제안하였다.
- Static thresholding: sampling step마다 $\mathbf{x}$-prediction을 $[-1, 1]$로 clipping한다.
- Dynamic thresholding: sampling step마다 $\hat{\mathbf{x}}_ 0 ^ t$의 특정 percentile pixel 값을 $s$라고 하면, $s \gt 1$인 경우 $[-s, s]$로 clipping하고 $s$로 나눠준다.
결과적으로 dynamic thresholding이 가장 효과적이었고, Imagen에서는 이를 사용하였다. 이는 high guidance weight에서도 high-fidelity sampling이 가능하도록 해주었다.
2.3. Robust cascaded diffusion models
위에서 보았듯 Imagen은 text-to-image diffusion model과 super-resolution diffusion model의 cascaded structure로 이루어져 있다. 이러한 구조의 robustness를 위하여 super-resolution model 모두 noise conditioning augmentation을 사용하였다. 이는 CDM에서 먼저 제안되었던 augmentation 방법으로, 간단히 설명하면 lower resolution model이 생성한 이미지에 noise를 추가하여 higher resolution model에 입력으로 사용하는 방법이다. 이를 이용하면 lower resolution model이 생성한 이미지의 train-test mismatch를 줄이고 super-resolution 과정에서 오차가 누적되는 것을 방지할 수 있다. 이때 noise level인 aug_level
을 super-resolution model에 같이 넣어주면 더 좋은 성능을 보인다고 한다.
실제 결과를 보면 aug_level
이 커질수록 image fidelity는 나빠지지만, CLIP score의 범위가 넓어지는 것을 볼 수 있다. 저자들은 따라서 super-resolution model이 더 다양한 이미지를 생성할 수 있다고 하였고, 적절한 aug_level
을 설정하여 trade-off를 조절할 수 있다고 하였다. 아래 그래프를 보면 noise augmentation이 없는 경우에 비해 있는 경우 CLIP score와 FID의 variation이 넓은 것을 볼 수 있는데, 저자들은 noise augmentation으로 인해 모델이 low-resolution image condition보다 text condition에 더욱 의존하게 만들어서 이러한 결과가 나타난다고 설명하였다.
위 그래프가 충분히 납득되지 않는다면 아래 예시를 보면 된다. Noise augmentation 덕분에 text dependency가 높아지고, noise로 인해 더 다양한 이미지 생성이 가능해지면서 아래와 같이 일종의 style transfer까지 가능한 모습이다.
2.4. Neural network architecture
논문에서 text-to-image diffusion model은 IDDPM의 것을 거의 유사하게 사용하였다. 다만 text conditioning을 위해 여러 방법을 실험하였고, cross-attention이 가장 좋은 성능을 보였다고 한다.
한편 super-resolution model은 논문에서 새로 제안한 Efficient U-Net을 사용하였다. 이를 통해 메모리 사용량 및 연산량을 줄이고, 수렴 속도를 빠르게 할 수 있었다고 한다. 본 리뷰에서는 Efficient U-Net에 대한 자세한 설명은 생략하였다. 실험 결과 Efficient U-Net은 실제로 효과적이었다고 한다.
3. Evaluating Text-to-Image Models
지금까지의 분석에서도 알 수 있듯이 Imagen에서는 CLIP과 FID score를 통해 image-text alignment과 image fidelity를 평가하였다. 그러나 FID는 perceptual quality와 완벽히 들어맞지 않는 경우가 있고, CLIP의 경우 숫자 세기(counting)에 약하다. 따라서 human evaluation도 동시에 진행하였다고 한다.
그리고 text-to-image 분야에서 많이 사용되는 COCO benchmark 대신 DrawBench라는 새로운 benchmark를 제안하였다. 이유는 한 마디로 COCO가 너무 쉬워서 더 이상 모델의 성능을 구별하기 어렵기 때문이다. DrawBench는 여러 색상, 많은 물체, 위치 관계, 글(text)이 포함된 이미지 생성, 전형적이지 않은 물체 간의 상호작용 등을 포함한 더 어려운 prompt로 구성되어 있으며, 총 11개의 카테고리로 분류된다. 잘 사용되지 않는 단어나 오타가 있는 경우까지 포함시켰다고 한다.
예를 들어 Imagen이 생성한 결과를 보면 아래와 같다.
4. Experiments
4.1. Comparison with SOTA
MS-COCO Benchmark를 이용하여 비교한 결과는 다음과 같다. 역시 GLIDE, DALL-E 2와 비교해도 SOTA이다. 주목할 만한 점은 Table 2인데, 사람이 포함되지 않은 경우와 그렇지 않은 경우의 Imagen의 성능 차이가 뚜렷하다. 이는 Imagen이 사람을 현실적으로 생성하는 것에 아직 어려움을 겪고 있다는 것을 의미한다.
DrawBench Benchmark에서는 더욱 명확하게 Imagen이 SOTA임을 확인할 수 있다. Imagen 논문에서 DrawBench가 제안되었기에 비판적으로 보아야 할 필요는 있다.
4.2. Ablation Study
Imagen의 ablation study의 결과들은 비교적 명확하여 간단하게 정리할 수 있다. 그 외의 ablation study 결과는 2절에서 이미 다루었기에 생략하였다.
- Text encoder size의 scale은 성능 향상에 큰 영향을 미친다.
- Diffusion model의 크기보다 text encoder의 크기가 더 중요하다.
- Dynamic thresholding이 중요하다.
4.3. Comparison to GLIDE and DALL-E 2
Imagen은 DALL-E 2의 단점이었던 attribute-object confusion을 어느 정도 해결하였다(Figure A.18). 또한 이와 관련하여 conflicting prompt를 주는 경우에도 DALL-E 2보다 더 나은 성능을 보였다(Figure A.19). Text generation에서도 Imagen이 더 나은 성능을 보였다(Figure A.21).
GLIDE의 경우 DALL-E 2에 비해 attribute-object confusion이 덜한 것을 볼 수 있으며, 이는 DALL-E 2의 연구 결과와 일치한다(Figure A.23). 반면 conflicting prompt의 경우 Imagen이 더 나은 성능을 보였고(Figure A.24), 두 개 이상의 object나 복잡한 texture를 생성하는 경우에도 Imagen이 더 나은 성능을 보였다(Figure A.25). Text generation에서도 Imagen이 더 나은 성능을 보였다(Figure A.26).
5. Limitations
Imagen의 limitation은 상당히 자세하게 서술되어 있다. 먼저 데이터셋 중에 pornographic imagery, racist slurs, harmful social stereotypes 등을 포함한 이미지들이 있었다는 것, 따라서 이로 인한 문제가 발생할 수 있다는 것이다. 또한 image data distribution bias에 의해 social & cultural bias가 발생할 수 있다. 그리고 COCO를 통해 확인하였듯 human generation이 어려운 경우가 있다. 정말 놀랍게도 찾을 수 있는 Imagen visualization 중 사람 얼굴이 포함된 이미지는 하나도 없었다…
💡 Summary
- Imagen에서는 text-only pretrained LLM을 사용하여 text-to-image generation을 수행하는 것을 제안하며, 이를 통해 텍스트를 더 깊이 있게 이해하고 더 현실적인 이미지를 만들어낼 수 있었다.
- Dynamic thresholding이라는 새로운 diffusion sampling 방법을 제안하였으며, 이를 통해 high guidance weight에서도 high-fidelity sampling이 가능했다.
- 기존의 GLIDE, DALL-E 2에 비해 attribute-object confusion 및 Text generation 문제가 개선되었다.
- DrawBench라는 새로운 text-to-image model benchmark를 제안하였다.
- 그 외의 부분은 다음과 같다.
- Text encoder size의 scale은 성능 향상에 큰 영향을 미친다.
- Noise conditioning augmentation을 사용하여 super-resolution model의 robustness를 높일 수 있다.
- Text conditioning을 위해 cross-attention을 사용하는 것이 좋다.
- Efficient U-Net을 사용하여 super-resolution model의 성능을 향상시킬 수 있다.
- Opinion: 정리에 정말 힘을 쓴 논문이다. 최근까지도 많이 인용될 수밖에 없는 모델이기 때문이다. 현재 Google은 이 모델을 개선한 Imagen 2를 발표하였으나 논문을 찾을 수는 없다. 이후 T2I 논문들이 어떠한 식으로 발전되었는지 계속 follow-up 해야겠다.
댓글 남기기