이전에 살펴봤던 Diffusion 은 likelihood-based model 이며 이미지 생성 과정을 denoising autoencoder 를 순차적으로 적용하는 것으로 설계한 것이었다. 그런데 Diffusion model 은 image pixel 을 그대로 model에서 처리하고 사용하기 때문에 training 단계에서 optimization 에 엄청난 컴퓨팅 자원 (GPU 등) 과 시간이 소요되며 학습된 model 을 바탕으로 inference 를 할 때도 decoder 가 순차적으로 동작하다보니 컴퓨팅 자원이 많이 소모된다. 이러한 문제를 해결하고자 Latent Diffusion 을 고려했다고 한다.

“제한된 컴퓨팅 자원에서 동작하며 기존의 이미지 생성 성능을 유지하는” 새로운 diffusion 방식으로 Latent Diffusion 을 제안한 것이다. pretrained (미리 학습된) autoencoder 를 활용하여 image 를 latent vector 로 바꾸고 latent vector 상에서 Diffusion 을 진행하며 latent vector 를 다시 decoder에 통과시켜 image 로 바꾸는 방식이다. 핵심은 “latent vector 에 Diffusion 을 진행한다”는 것이다. 이 방식은 model 의 복잡도를 낮추고 image의 디테일을 보존하여 더 높은 질의 결과를 생성할 수 있었다고 한다.

또한, conditional generation 을 하는 방법으로 “cross-attention” 을 model architecture 에 적용하였다. cross-attention 을 통해 여러 형태의 conditional task (ex. inpainting, class-conditional image, text-to-image 등) 에 대해 높은 quality 의 생성 이미지를 만들어낼 수 있는 강력한 model 구조를 설계하였다고 한다.

1. Introduction

1.1 What’s the problem?

Diffusion model 은 likelihood-based model 이기 때문에 GAN 과는 달리 더 적은 parameter 개수로 더 복잡한 distribution 을 모델링할 수 있다. (더 자연스러운 이미지 생성 가능하다는 것) 하지만, likelihood-based model 이기 때문에 mode-covering (multi-modal distribution 을 modeling 할 수 있다는 것으로 추정됨) 특성이 강하고 이는 생성되는 이미지에서 “사람이 알아보기 어려운 디테일들을 생성하는 것에 너무 많은 컴퓨팅 자원이 투자되고 있다”는 것이다. 즉, 굳이 쓸데없는 부분에 자원을 쓰고 있다는 것이다.

가장 powerful Diffusion model 을 학습시키기 위해 150-1000 V100 days (Tesla V100 GPU 하나로 150-1000 일을 학습해야 한다는 거다) 가 필요하고 inference 에서도 50000개 sample 을 생성하기 위해 A100 GPU 하나로 5일이 필요하다고 한다. 이렇게 되면 training 도 웬만한 컴퓨팅 자원으로 하기 어렵고 inference 도 많은 자원을 필요로 하기 때문에 model 을 실생활에서 사용하기 어렵다.

Diffusion model 은 생성하는 이미지에서 사람이 알아보기 어려운 디테일들을 굳이 생성하기 위해 너무 많은 컴퓨팅 자원을 투자하고 있다.

1.2 Why Latent Space?

Untitled

여기서 저자는 likelihood-based model 의 학습이 이루어지는 과정을 위의 그림처럼 크게 2 단계로 나눈다.

  • perceptual compression stage : 빈도가 높은 디테일들은 제거하지만 이미지의 내용적인 부분은 학습을 잘 안하는 부분
  • semantic compression stage : 이미지의 내용적인 부분을 학습하는 부분

여기서 저자는

perceptually equivalent, but computationally more suitable space

를 찾는 것을 목표로 잡았다고 한다. 즉, 연산적으로 최적화를 하면서 인간의 눈으로 구별불가능한 디테일은 제거하고 인지할 수 있는 디테일들은 똑같이 고해상도로 구현한다는 것이다.

원래의 image pixel data 에서 imperceptible 한 부분을 제거하고 perceptually 똑같으면서 lower-dimension 인 latent variable 을 만들어내는 것에 Autoencoder 를 사용했다.

Autoencoder 를 먼저 학습을 하고, 이 autoencoder 로부터 만들어진 latent variable 로 Diffusion 을 진행하는 방식을 고안하였다. 이러한 방식의 model 을 Latent Diffusion Model (LDM) 이라 이름 붙였다.

주목할 장점은 Autoencoder 는 한 번 학습시켜놓으면 여러 Diffusion Model 혹은 여러 task 에 대해 범용적으로 재사용이 가능하다. 강력한 장점이다.

저자는 아래와 같이 본 연구의 핵심을 정리한다.

  • 이미지의 perceptual 한 부분만 추출하여 diffusion model 에 적용함으로써 더 효율적으로 고해상도 이미지를 생성가능하다.
  • 본 연구에서 제안한 모델은 여러 task들과 dataset에서 비교적 좋은 성과를 보이며 기존의 pixel-based diffusion 에 비해 training 및 inference 비용을 크게 감소시켰다.
  • 본 연구에서 제안한 모델은 학습 과정에서 reconstruction (이미지를 실제 이미지와 최대한 비슷하게 생성하는 것을 의미, 이미지를 “실제” 같이 보이게 하는 것) 과 generation (이미지의 context 를 생성하는 것, 새로운 것을 생성하는 표현력) 사이에 세밀한 가중치 조정이 없다. latent space 에서 regularization 만 조금 해주고 reconstruction 은 상당히 신뢰도 있게 동작한다. (기존에 encoder, decoder 구조와 score-based prior 를 모두 학습시키는 방식에서는 reconstruction loss 와 generative loss 사이에 세밀한 가중치 조정이 필요했었다)
    • reconstruction 이라 함은 perceptual 한 정보만 있는 latent variable 에서 고해상도의 이미지로 구성하는 것을 말한다.
  • 초고해상도, inpainting, semantic synthesis (semantic 문장만 보고 그에 맞는 이미지 생성) 와 같은 굉장히 밀도있는 conditioned task 에서 이 모델을 convolutional 하게 적용가능하다. (부분적으로 생성하여 모두 합쳐서 하나의 이미지로 만드는 방식을 의미하는 것 같다)
  • cross-attention 을 사용하여 여러 형태의 conditioning 이 가능한 메커니즘을 구현했다. (class-conditional, text-to-image, layout-to-image 와 같은 형태의 condition 을 하나의 모델로 처리할 수 있게 함) 이는 multi-modal training 을 가능하게 한다.

(필자도 여기서 설명하는 model 들을 공부해보지 않은 경우가 많아서 정확히는 이해를 못했음)

2.1 Generative Models for Image Synthesis

  • GAN (Generative Adversarial Networks) : 좋은 perceptual quality의 고해상도 이미지를 효율적으로 sampling. 최적화 어려움, 전체 data 분포 파악을 잘 못함.
  • VAE (Variational Autoencoder) & flow-based models : 효율적인 고해상도 이미지 생성, sampling quality가 GAN 보다 못함.
  • ARM (Autoregressive Model) : density estimation 에 강함. 연산이 너무 많이 필요함. sequential 하게 sampling 하는 과정이 생성 이미지를 저해상도로 만듦. imperceptible 한 부분에 너무 많은 컴퓨징 자원 소모.
  • Diffusion Probabilistic Models (Diffusion Model) : density estimation 과 sample quality 에서 당시 SOTA 이던 모델. U-Net 을 backbone 으로 하는 inductive bias (재귀적 bias) 로 구현됨. pixel space 에서 그대로 evaluation 과 optimization 을 해서 inference 속도가 매우 느리고 training 비용도 많이 소모. inference 는 개선된 sampling 전략과 hierarchical approach 로 해결가능하지만 training 비용 문제는 고해상도 이미지에서 해결 불가능. 이 두 가지를 Latent Diffusion Model 에서 모두 해결.

2.2 Two-stage Image Synthesis

  • VQ-VAE : Autoregressive model 로 discretized (continuous 하지 않고 vector quantization 을 한다는 것) latent space 에서의 prior 를 학습함. Autoencoder/decoder 구조에 vector quantization 을 추가한 것.
  • VQGAN : encoder 를 거친 latent variable 을 quantization 하는 codebook 이 있는 stage (adversarial training 으로 학습) 와 Transformer 를 활용하여 codebook index 를 예측하여 decoder 로 이미지를 생성하는 stage (negative log-likelihood 로 학습) 가 있음. Transformer 는 표현력이 풍부하지만 고해상도 생성이 어렵기 때문에 codebook 및 quantization, encoder & decoder 를 활용하여 Transformer 를 고해상도 이미지 생성에 활용해보자는 취지의 모델임. 이미지를 압축 (compression)하는 정도가 너무 크면 연산량이 줄어서 학습하기 용이하지만 perceptual 정보를 잃기에 performance 가 제한되고 압축 정도를 줄이면 컴퓨팅 비용이 너무 높아지기에 이 trade-off 를 고려하여 타협점을 찾는 것이 중요하다.
  • 본 연구에서 LDM 은 이러한 trade-off 에서 탈피하여 latent variable을 higher dimension 으로 바꾸는 과정을 convolutional backbone (Autoencoder) 를 활용하며 더 부드럽게 진행한다. image 에서 latent variable 로 compression 을 하는 과정에서 compression 정도에 상관없이 perceptual 정보를 최대한 잃지 않으면서 높은 quality 의 reconstruction 을 보장한다.

3. Method

chapter 1. Introduction 에서도 이야기했지만 기존의 Diffusion model 은 pixel space 에서 그대로 diffusion 을 진행하였고 사람이 인지할 수 없는, 쓸데없는 디테일을 생성하기 위해 많은 컴퓨팅 자원을 소모하고 있다고 하였다. 이를 해결하기 위한 방법으로 본 연구는 생성을 학습하는 부분 (generative learning phase) 과 image 를 압축 (compressive) 하는 부분을 분리하였다.

compressive 부분에서 Autoencoding model 을 사용하였다. 이는 pixel space에서의 이미지와 perceptual 한 부분이 모두 동일한 latent space 를 학습하면서도 latent space 에서 연산 복잡도를 줄여준다. Autoencoding model 을 compression 에 사용하는 것은 3가지 장점이 있다고 한다.

  1. high-dimensional pixel image 가 아닌 비교적 낮은 dimension 의 latent space 에서 sampling을 진행함으로써 연산이 효율적이다.
  2. 기존 Diffusion model의 U-Net 을 그대로 가져옴으로써 Diffusion model 의 inductive bias 를 그대로 이용한다. U-Net 은 Convolution 연산의 일종이기에 inductive bias 가 locality 의 특성을 가진다. 이는 spatial structure (공간적 구조가 들어있는 data) 를 가지는 data에 대해 Model 이 더 효과적이도록 한다. 이는 VQGAN 에서와 같은 aggressive 한 compression model (quantization 등으로 크게 compression 을 해서 quality 에 영향을 주는 경우도 많음) 을 사용하지 않아도 되도록 해준다.
    1. inductive bias 란 기존에 학습된 data 이외의 input에 대해 모델이 어떻게 처리할 것인지 정해져있는 bias 를 의미한다. model 이 한 번도 본 적 없는 data 에 대해 ‘일반화’한 방식이라고 할 수 있다. 자세한 설명은 검색 및 reference 에 있는 사이트를 참조하라.
  3. 한 번 학습을 시켜서 compression model 을 구축하면 이는 범용적으로 사용될 수 있다. (general-purpose compression model) compression model 은 그대로 사용하고 여러 generative model 을 학습시킬 수 있으며 다른 곳에도 이용가능하다. (논문에서는 예시로 single-image CLIP-guided synthesis 에도 이용될 수 있다고 하고 있음)

3.1 Perceptual Image Compression

본 연구에서 기존 Diffusion model 과 가장 큰 차이점은 latent variable 로 변환한 후에 diffusion 을 진행한다는 것에 있다. 본 논문에서 제안한, pixel space 의 image data를 latent variable 로 변환했다가 다시 pixel space 의 data로 변환하는 메커니즘에 대해 알아보자.

본 논문의 perceptual image compression model 은 VQGAN (Taming Transformers for High Resolution Image Synthesis) 을 기반으로 한다. perceptual loss 와 patch-based adversarial objective 로 학습된 autoencoder 로 구성되어 있다. 이 Autoencoder 는 생성하는 이미지의 local realism 을 강화하여 (국소적인 부분의 현실성을 강화한다는 의미로 추정됨) reconstruction 이 image manifold 에 국한되도록 하며, bluriness (흐릿함) 를 방지한다. (bluriness 는 pixel space 에서의 loss 만 사용할 때 발생함)

(참고; manifold 는 일종의 data space 라 볼 수 있다. high-dimensional data 를 low-dimensional data 로 바꾸었을 때 data 의 특성을 더 잘 파악할 수 있는 경우가 있다. high-dimensional data 의 중요한 특성을 더 잘 표현하는 subspace 가 있다는 것이 manifold hypothesis 이며, 이러한 subspace 를 manifold 라 부른다. reconstruction 이 image manifold 에 국한되도록 한다는 것은 Autoencoder 구조에서 latent variable 에서 최종 이미지로 reconstruction 을 할 때 image data space 에 국한되어 있다는 의미이다. 이는 compression model 에 사용된 autoencoder 는 image 의 context 를 건드는 것이 아니라 Diffusion model 을 통해 생성된 이미지의 context 를 나타내는 latent variable 을 사실적인 image 로 바꾸는 역할만 한다는 의미로 추정된다)

Untitled

구조는 위 그림과 같다. H(height) * W (width) * 3 (RGB 3색) 의 크기를 가지는 pixel space 의 data x 가 encoder 를 통과하면 h * w * c (channel 개수) 의 크기를 가지는 latent variable z 가 된다. latent variable z는 decoder 를 통과하면 다시 pixel space 의 data $x’$ 이 된다.

이 때 pixel space 에서 latent variable 로 압축되는 비율을 f 라 하고 있다. $f=H/h=W/w$ 이다. 논문에서는 다양한 compression rate $f=2^m (m \in \mathbb N)$ 에 대해 실험을 했다.

encoder 와 decoder 를 학습할 때 latent variable 이 높은 variance 를 가지지 않도록 해야 한다. latent space 가 variance 가 크다는 것은 encoder 가 overfitting 되는 등의 문제가 있다는 것을 의미한다. 이를 방지하기 위해 regularization 을 적용하였으며 아래 2가지 방식에 대해 각각 실험을 진행했다.

  1. KL-regularization : 학습된 latent 에서 standard normal 방향으로 가도록 약간의 KL-penalty 를 준다. 학습된 latent space 와 standard normal distribution 의 차이에 대해 약간의 KL-divergence loss 를 추가한 것이다. (VAE 에서 사용한 방식과 비슷함)
  2. VQ-regularization : decoder 안에 vector quantization layer 가 있다. VQGAN 에서 사용된 vector quantization 과 비슷한 구조이다. VQGAN 에서는 VAE 에서 decoder 가 너무 강해져서 latent variable 이 무시되어 버리는 Posterior Collapse 현상을 방지하기 위해 vector quantization 및 codebook 을 도입하였다. vector 값이 continuous 하지 않고 codebook 의 index 로 표현하며 decoder 에서도 codebook 의 index 를 예측하는 방식으로 작동하는 것인데 이를 LDM 에서는 decoder 안에 vector quantization 을 포함시키는 방식으로 사용하였다.

VQGAN 에서는 latent variable 이 1D (1차원) 이었고 이는 latent variable 고유의 data 구조를 무시해버리는 단점이 있었다. 하지만, LDM (latent diffusion model) 에서는 2차원의 latent variable 에 대해 diffusion 을 진행할 수 있도록 설계되었기에 compression rate (위에서 f 값) 가 비교적 작고 reconstruction 이 잘 이루어지는 특징이 있다. 이 때문에 원래 data x 의 detail들을 잘 보존하게 된다.

3.2 Latent Diffusion Models

논문에서는 기존의 DDPM 논문에서 제안한 diffusion model 에 대해 먼저 설명한다. 이는 다른 post 인 Deep Dive into Diffusion 에서 자세히 다루었으니 읽고 오는 것을 추천한다. 결과적으로 유도된 loss 를 아래와 같이 소개한다. (위의 post 에는 아래 loss 의 유도 과정을 자세히 설명함)

Untitled

chapter 3.1 에서 설명한 perceptual compression model 에 의해 high-frequency, imperceptible (인간이 인지하기 어려운) detail 이 모두 제거된 효율적이고 low-dimension 의 latent variable 을 원래 data 에서 얻을 수 있다.

Diffusion 은 likelihood-based model 이고, latent variable 은 pixel space 의 data 보다 likelihood-based model 에 더 적합하다. 원래 data 의 semantic 한 정보 (이미지의 의미에 해당하는 정보)에 집중할 수 있고 low-dimension 이기 때문에 연산이 더 효율적이기 때문이다.

LDM 의 전체적인 구조는 아래 figure와 같다. encoder, decoder 가 있고 latent variable 상에서 diffusion의 forward process 과 reverse process 가 진행되는 것을 볼 수 있다. 또한, conditioning (이미지 생성 시에 조건을 부여하는 것) 을 위한 concatenation 과 cross-attention 이 UNet 에 적용된 것을 볼 수 있다.

Untitled

본 model 에서는 image-specific inductive biases 가 있기 때문에 이는 큰 장점이 된다. (이전의 VQGAN 과 같은 모델들은 autoregressive, attention 기반의 transformer model 이었기에 압축이 굉장히 많이 되어있고 latent space 도 discrete 해서 image 자체의 정보가 보존되기 어려웠음) 즉, 기본적인 UNet 이 2D convolutional layer 로 이루어지고 이 convolutional layer의 inductive bias 를 활용하며 image data의 perceptual 한 부분에 더 집중하여 diffusion 학습을 진행하는 것이 본 논문에서 제안하는 LDM 의 핵심이다.

latent variable 상에서 diffusion 을 진행하기 때문에 기존 diffusion model 의 loss 에서 pixel space data x 가 $\varepsilon (x)$ 로 바뀐 것이 latent diffusion model 의 loss 가 된다.

Untitled

위의 loss 수식에서 $\epsilon_\theta(z_t, t)$ 부분이 time-conditional UNet (t step 에서 t를 condition 으로 받는 UNet, 각 layer 에 t 정보가 offset 의 형태로 포함됨) 이다. 실질적으로 학습이 이루어지는 parameter 들에 해당하는 neural backbone 이다.

pixel space 의 data x 가 encoder 를 통과하여 만들어진 latent variable 상에서 Diffusion의 forward process 가 진행되고 이후 denoising step (reverse process) 을 학습하며 최종적으로 sampling 된 latent variable 이 decoder 를 통과하면 image space 의 생성 data 가 된다.

3.3 Conditioning Mechanisms

기존의 Diffusion model 은 기본적으로 conditional distribution $p(z \mid y)$ 를 따르는 sample 을 생성할 수 있다. (y 가 condition) 이는 conditional denoising autoencoder $\epsilon_\theta(z_t, t, y)$ 를 통해 구현할 수 있다. 기존 연구들에서는 class-label conditioning, 또는 input image 에서 일부가 가려진 형태의 conditioning 이외에는 연구된 적이 없다. 이론적으로 Diffusion model 에서는 text, semantic map, image-to-image translation task 형태의 y 를 input 으로 주는 conditional distribution 을 모델링할 수 있다.

본 연구에서는 UNet backbone 에 cross-attention 을 적용하여 diffusion model 이 더 유연하게 conditional image 를 생성할 수 있도록 했다. (cross-attentional mechanism 은 다양한 input 형태에 대한 attention 기반 모델을 효율적으로 학습할 수 있는 방식임) condition y 는 다양한 형태가 될 수 있고 (various modalities) 이를 모델에 맞춰 적용해주기 위해서는 중간에 domain specific encoder $\tau_\theta(y) \in \mathbb R^{M \times d_\tau}$ 가 필요하다. 이는 UNet 내부의 cross-attention 에 들어간다.

UNet 은 기존의 Diffusion model 과 동일하게 diffusion 과정에서 추가된 noise 인 $\epsilon_\theta$ 를 예측한다. $\varphi_i(z_t) \in \mathbb R^{N \times d^i_{\epsilon}}$ 를 UNet 의 중간 layer 값을 flatten (2차원 matrix 를 1차원으로 변환) 한 후 함수에 통과시킨 representation 값이라 하자.

Attention 은 아래와 같다. 수식을 보았을 때 본 연구에서는 scaled-dot product attention 을 사용하였음을 알 수 있다.

Untitled

여기서 Q (query), K (key), V (value) 는 각각 아래와 같다. (논문에서는 아래와 다른 식으로 나와있는데 논문의 오타이다. 아래 식이 맞다.)

\[W_{Q}^{(i)} \in \mathbb R^{d_\epsilon^i \times d}\\W_{K}^{(i)} \in \mathbb R^{d_\tau \times d}\\W_{V}^{(i)} \in \mathbb R^{d_\tau \times d}\\Q=\varphi_i(z_t) \cdot W_Q^{(i)} \in \mathbb R^{N \times d}\\K=\tau_\theta(y) \cdot W_K^{(i)} \in \mathbb R^{M \times d}\\V=\tau_\theta(y) \cdot W_V^{(i)} \in \mathbb R^{M \times d}\]

여기서 W matrix 는 전부 학습되는 parameter 이다. image-conditioning pair (특정 conditioning 을 넣으면 나오는 image에서 image와 condition의 pair 를 의미하는 듯 함) 를 바탕으로 “conditional LDM” 을 아래의 loss 에 따라 학습시킬 수 있다.

Untitled

위의 loss 에 따라 학습이 진행되며 condition 을 encoding 하는 $\tau_\theta$ 와 $\epsilon_\theta$ 는 동시에 optimize 된다. condition 의 domain 에 따라 $\tau_\theta$ 를 바꾸면 되기 때문에 상당히 유연한 구조라 할 수 있다.

4. Experiments

본 연구에서 제안한 모델을 어떻게 구현하고 실험 결과 성능이 어땠는지, 세부적으로 어떤 implementation 을 사용했는지 이 챕터에서 설명한다.

  • VQ-regularization과 KL-regularization 방식을 각각 적용하여 실험하였는데 VQ-regularized latent space 에서 학습된 LDM 이 더 생성 quality 가 좋았다고 한다. VQ-reg. 를 사용하면 quantization 하지 않고 연속적인 latent space 보다 reconstruction 성능이 떨어지지만 sample quality 는 더 좋은 것은 특이한 현상이다.

4.1 Perceptual Compression Tradeoffs

chapter 3.1 에서 downsampling factor $f$ 가 있었다. 본 연구에서는 $f$가 1, 2, 4, 8, 16, 32 인 경우에 대해 실험을 진행했다. 예를 들어, LDM-1 이면 pixel-based Diffusion model 과 동일한 것이고 $f$의 값에 따라 모델을 ‘LDM-$f$’ 라고 표시한다.

  1. 첫번째 실험은 $f$ 만 변화시키며 컴퓨팅 자원은 NVIDIA A100 1개, 동일한 step 개수, 동일한 parameter 개수로 학습을 진행했다. downsampling factor 가 작은 경우 학습 속도가 느렸는데 이는 perceptual compression 이 diffusion model 에서 진행되는 효과가 발생했기 때문이라고 본 논문에서는 추정한다. 또한 downsampling factor 가 큰 경우에는 적은 training step 이 지난 후에 sample quality 가 더 이상 좋아지지 않고 정체되었고 그 이유는 처음에 너무 강한 compression 을 하면 data의 정보가 손실되어 quality 가 일정 수준 이상으로 올라가지 않는 것으로 추정하였다. 실험 결과 LDM-{4-16} 이 학습 효율과 quality 사이에 균형을 이루어 가장 적절했다고 한다.
  2. Diffusion model 로 DDIM 을 사용할 때 f를 1, 2, 4, 8, 16, 32 로 변화시키고 f에 대해 denoising step 개수 (diffusion model 에서 T에 해당하는 값) 를 10, 20, 50, 100, 200 으로 변화시키며 각각의 경우에 대해 throughput (sampling 속도에 관한 척도) 과 FID score (sampling quality, 작을 수록 quality 높다) 를 측정하였다. sampling 속도와 FID score 의 균형점으로 LDM-{4-8} 이 가장 좋았다고 한다.

위의 두 실험에서 LDM-4 와 LDM-8 이 높은 quality 의 sample 을 생성하면서 training 및 inference 속도가 빠르다는 결론을 얻었다.

4.2 Image Generation with Latent Diffusion

unconditional model (condition 없이 그냥 이미지를 생성하는 것)을 학습시키는 실험이다. 척도로 FID (sample quality 측정), Precision-and-Recall (생성된 이미지의 다양성 측정) 를 사용했다.

CelebA-HQ dataset 에서는 FID 에서 SOTA 를 달성했고 다른 dataset 에서는 이전 diffusion 기반 방식들에 비해 높은 성능을 보였으나 LSUN-Bedrooms dataset 에서는 ADM 에 가까운 FID 성능을 보였다. 하지만, parameter 개수가 ADM 의 절반 수준이며 training 을 위해 사용된 자원이 ADM의 1/4 정도임을 고려하면 높은 성능이다. Precision-and-Recall 에서도 기존의 GAN 기반 방식보다 높았다.

4.3 Conditional Latent Diffusion

text-to-image task 에서는 LDM (1.45B parameters, KL-regularized) 을 LAION-400M (400M 개의 image-english pair data 가 있음) dataset 으로 학습시켰다. conditioning 을 위해 BERT-tokenizer 를 사용했으며 conditional encoder 인 $\tau_\theta$ 는 transformer 로 구현했다. 실험을 통해 classifier-free diffusion guidance 가 sample quality 를 상당히 향상시킨다는 것을 알 수 있었다. (conditional encoder 를 UNet 에 cross-attention 으로 연결시키는 구조가 classifier-free diffusion guidance 임) 기존의 SOTA AR (autoregressive) 모델과 거의 동등한 성능이 나왔다고 한다.

  • Implementations of $\tau_\theta$ in detail

$\tau_\theta$ 를 어떻게 구현했는지 좀 더 알아보자. (본 논문 Appendix E.2.1 을 참고했다)

Untitled 7

$\tau_\theta$ 는 위 그림과 같은 구조의 transformer 로 구현되었다. N개의 transformer block 으로 구성되며 각 block 은 global self-attention layer (위의 그림에서 Multi-Head Self Attention) 와 layer-normalization, position-wise MLP (multi-layer perceptron) 으로 구성된다.

  • Conditioning UNet in detail

conditioning 이 UNet 에 cross-attention 을 통해 mapping 된다고 하였는데 이 부분에 대한 자세한 설명이 Appendix 에 있다. “ablated UNet” 이라는 구조에서 self-attention 부분을 아래와 같은 architecture 로 치환한 구조의 UNet 을 사용했다고 한다.

Untitled 8

chapter 3 에서 설명할 때는 condition이 conditional encoder 를 통과하여 UNet 내부의 cross-attention 에 연결된다고 하였는데, condition 정보가 들어오는 부분이 위의 architecture 에서 cross-attention 에 해당하기 때문에 그렇게 설명을 한 것이다. LDM 에서 사용하는 UNet의 실제 구조는 ablated UNet 의 self-attention layer를 위의 구조로 바꾼 것임을 알아두자.

layout-to-image task 에 대한 학습도 진행했다. OpenImages 의 semantic layout 에 기반하여 학습 시켰으며 COCO dataset 으로 finetuning 을 했다. layout-to-image 의 SOTA 성능까지 도달했다고 한다.

class-conditional ImageNet model (ImageNet dataset 기반 class 가 주어졌을 때의 이미지 생성) 실험도 진행했는데 chapter 4.1 에서 말했던 LDM-4 와 LDM-8 model 을 사용하였으며 이 task 에서는 SOTA 인 ADM diffusion model 보다 더 좋은 성능을 냈으며 동시에 컴퓨팅 자원과 parameter 개수는 ADM 보다 적게 사용했다.

이외에도 concatenate 및 low-resolution conditioning 을 활용한 Super-Resolution (초고해상도) 이미지 생성, Inpainting (주어진 이미지에서 일부분을 지우고 주변 배경과 자연스럽게 채워넣는 것) task를 어떻게 구현했는지, 그리고 기존 model 과의 성능 비교를 하고 있다. Appendix 에도 이에 대한 자세한 내용이 나와 있다.

5. Conclusion

본 논문에서는 기존의 pixel-based diffusion model 을 autoencoder 를 사용하여 latent space 상에서의 diffusion 으로 바꾼 LDM (Latent Diffusion Model) 을 제안하였다. 또한, cross-attention conditional 메커니즘을 diffusion 의 UNet 에 적용하여 다양한 형태의 conditioning 이 가능하도록 하였다.

Comment

This post is the part of ‘Uploading 5 academic blog posts’ which is July’s resolution project in 9th squad.

본 post 는 9th Squad 의 7월 목표에서 필자의 목표인 ‘학술 블로그 포스트 5개 업로드’ 의 일환임을 알림

Reference

Leave a comment