[Capstone #3] Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding

윤하은·2024년 3월 9일
2

Capstone

목록 보기
3/10

Paper : https://arxiv.org/abs/2205.11487

💡 로 표시된 부분은 제가 이해한 내용을 적은 부분입니다. 오류가 있다면 댓글로 남겨주세요 🙏🏻


Abstract


본 논문에서는 Imagen이라는 텍스트에서 이미지로의 Diffusion 모델을 소개한다. Imagen은 대규모 트랜스포머 언어 모델이 텍스트를 이해하는 능력과, 고품질 이미지 생성에서의 Diffusion 모델의 강점을 결합하고 있다.

텍스트 전용 말뭉치에서 사전 훈련된 일반적인 대형 언어 모델 (예: T5)이 이미지 합성을 위한 텍스트를 인코딩하는 데 놀랄만큼 효과적이라는 것을 발견했다. 언어 모델 크기를 키우면 이미지의 품질과 이미지-텍스트 정렬 모두가 향상되는데, 이는 이미지 Diffusion 모델 크기를 키우는 것보다 더 큰 영향을 미친다.


Imagen은 COCO 데이터셋에서 7.27의 새로운 최고 FID 점수를 기록하였으며, COCO에 대한 훈련 없이도 Imagen 샘플은 인간 평가자들에게 이미지-텍스트 정렬에서 COCO 데이터 자체와 비등하게 느껴진다.

텍스트에서 이미지로의 모델을 보다 심층적으로 평가하기 위해 DrawBench라는 텍스트에서 이미지로의 벤치마크를 소개한다. DrawBench를 통해 Imagen을 VQ-GAN+CLIP, 잠재 Diffusion 모델, DALL-E 2와 같은 최근 방법들과 비교하였으며, 인간 평가자들은 Imagen을 다른 모델들보다 샘플 품질과 이미지-텍스트 정렬 측면에서 선호한다는 결과를 얻었다.

결과에 대한 개요는 https://imagen.research.google/에서 확인할 수 있다.




1. Introduction


멀티모달 학습은 텍스트-이미지 합성 및 이미지-텍스트 대조 학습을 중심으로 최근 두각을 나타내고 있다. 이러한 모델은 창의적인 이미지 생성 및 편집 애플리케이션을 통해 연구 커뮤니티를 변화시키고 광범위한 대중의 관심을 끌었다.

Imagen은 이러한 연구 방향을 더욱 추구하기 위해 트랜스포머 언어 모델(LM)과 high-fidelity Diffusion 모델을 결합하여 텍스트-이미지 합성에서 높은 수준의 포토리얼리즘과 깊은 언어 이해력을 제공하는 텍스트-이미지 Diffusion 모델이다.

high-fidelity

출처 : https://blog.naver.com/true4voice/220817455913

: 인간의 가청영역대 20Hz ~ 20kHz의 녹음된 소리를, 최대한 원음에 가깝게 재현 하려는 행위, 또는 장비(시스템) 를 일컫는 용어다.

  • 하이파이를 추구한다 = 최대한 원음과 가까운 좋은 음질을 추구한다

이미지-텍스트 데이터만을 사용하여 모델을 훈련하는 이전 작업과 대조적으로, Imagen의 핵심 발견은 텍스트만을 대상으로 사전 훈련된 대형 LMs 에서 나온 텍스트 임베딩이 텍스트에서 이미지로의 합성에 매우 효과적이라는 것이다. 선택된 샘플은 다음과 같다:


Imagen은 입력 텍스트를 임베딩 시퀀스로 매핑하는 frozen T5-XXL 인코더64×64 이미지 diffusion 모델로 구성되어 있으며, 256×256 및 1024×1024 이미지를 생성하기 위한 두 개의 초해상도 diffusion 모델이 뒤따른다:


모든 Diffusion 모델은 텍스트 임베딩 시퀀스에 조건을 두며 classifier-free guidance를 사용한다. Imagen은 이전 연구에서 관찰된 샘플 품질 저하 없이 큰 가이드 가중치를 사용할 수 있는 새로운 샘플링 기술을 기반으로 하고 있어, 이전보다 더 원본에 가까운 품질과 더 나은 이미지-텍스트 정렬을 갖춘 이미지를 생성한다.


DrawBench는 텍스트에서 이미지로의 평가를 위한 새로운 구조화된 텍스트 프롬프트 모음이다.

  • 모델의 다양한 의미적 특성을 조사하기 위해 설계된 텍스트 프롬프트를 통해 다차원 평가를 가능하게 하며, 이를 통해 더 깊은 통찰력을 얻을 수 있다.

  • 이 텍스트 프롬프트는 모델의 합성성, 기수, 공간적 관계, 복잡한 텍스트 프롬프트 또는 드문 단어가 포함된 프롬프트를 처리할 수 있는 능력과 같은 다양한 의미적 특성을 조사한다.

  • 훈련 데이터 범위를 벗어나 매우 환상적인 장면을 생성하는 모델의 능력을 끌어올리기 위한 창의적인 프롬프트도 포함되어 있다.

  • Imagen에 대한 텍스트 인코더로서의 큰 사전 훈련된 언어 모델 사용이 CLIP과 같은 다중 모달 임베딩보다 명확한 이점을 몇 가지 더 시연하고 있다.


논문의 주요 기여 요약:

  1. 텍스트 데이터만을 사용하여 훈련된 frozen LLM이 효과적인 텍스트 인코더로서 작용하며, 동결된 텍스트 인코더 크기를 확장하는 것이 이미지 diffusion 모델 크기를 확장하는 것보다 샘플 품질을 획기적으로 향상시킨다는 것을 발견했다.

  2. 높은 가이드 가중치를 활용하여 이전에 가능했던 것보다 더 사실적이고 자세한 이미지를 생성하기 위한 새로운 diffusion 샘플링 기술인 dynamic thresholding을 소개했다.

  3. 여러 중요한 diffusion 아키텍처 설계 선택 사항을 강조하고, 더 단순하며 빠르게 수렴되며 메모리 사용이 효율적인 새로운 아키텍처 변형인 Efficient U-Net을 제안했다.

  4. COCO FID에서 새로운 최고 성능인 7.27을 달성했다. 인간 평가자들은 Imagen이 이미지-텍스트 정렬 측면에서 참조 이미지와 동등하다고 평가한다.

  5. 텍스트에서 이미지로의 작업을 위한 새로운 평가 벤치마크인 DrawBench를 소개했다. DrawBench에서의 인간 평가에서 Imagen이 DALL-E 2를 포함한 다른 모든 연구를 능가한다는 결과를 얻었다.




2. Imagen


Imagen은 텍스트를 임베딩 시퀀스에 매핑하는 텍스트 인코더와 이러한 임베딩을 점점 높은 해상도의 이미지에 매핑하는 conditional diffusion model의 연속체로 구성된다.


2.1 Pretrained text encoders


텍스트에서 이미지로의 모델은 임의의 자연어 텍스트 입력의 복잡성과 합성성을 포착하기 위한 강력한 의미적 텍스트 인코더가 필요하다. 현재의 텍스트에서 이미지로의 모델에서는 이미지-텍스트 데이터에 대해 훈련된 텍스트 인코더가 표준적으로 사용된다.


이미지-텍스트 훈련 목표는 이러한 텍스트 인코더가 텍스트에서 이미지로의 생성 작업에 관련이 있는 시각적 의미와 의미 있는 표현을 인코딩할 수 있다고 제시한다. 대형 언어 모델은 텍스트를 텍스트에서 이미지로의 생성을 위해 인코딩하는 데 뛰어난 선택일 수 있다. 최근 대형 언어 모델의 발전 (BERT, GPT, T5)은 텍스트의 이해와 생성 능력을 크게 향상시켰다.

언어 모델은 이미지-텍스트 데이터보다 훨씬 큰 텍스트 전용 말뭉치에서 훈련되어 매우 풍부하고 넓은 텍스트 분포에 노출되었다. 이러한 모델은 일반적으로 현재의 이미지-텍스트 모델의 텍스트 인코더보다 훨씬 크다.

  • PaLM는 540B 매개변수를 가지고 있으며, CoCa는 약 1B 매개변수 텍스트 인코더를 가지고 있음.

따라서 텍스트-이미지 작업을 위해 이 두 가지 텍스트 인코더를 모두 살펴보아야 한다. Imagen은 사전 훈련된 텍스트 인코더인 BERT, T5, CLIP을 활용한다.

단순화를 위해 텍스트 인코더의 가중치를 고정시킨다. 가중치 고정은 임베딩의 오프라인 계산과 같은 여러 장점을 가지며, 결과적으로 텍스트-이미지 모델 훈련 중에 무시할 수 있는 계산 또는 메모리 풋프린트를 갖게 한다.


본 논문에서는 텍스트 인코더 크기를 확장하면 텍스트에서 이미지로의 생성 품질이 개선된다는 것을 발견했다. 또한 T5-XXL 및 CLIP 텍스트 인코더가 MS-COCO와 같은 간단한 벤치마크에서는 유사한 성능을 보이지만, 인간 평가자들은 DrawBench에서 T5-XXL 인코더가 CLIP 텍스트 인코더보다 이미지-텍스트 정렬 및 이미지 충실도 측면에서 선호한다는 결과를 찾았다.



2.2 Diffusion models and classifier-free guidance


Diffusion 모델은 가우시안 노이즈를 반복적인 제거 과정을 통해 학습된 데이터 분포의 샘플로 변환하는 생성 모델 클래스다. 이러한 모델은 클래스 레이블, 텍스트 또는 저해상도 이미지에 대한 것처럼 조건부일 수 있다.


Diffusion 모델 xˆθ는 다음과 같은 제거 목적으로 훈련된다:

t : t ∼ U([0, 1])
ε : ε ∼ N (0, I)
(x, c) : 데이터 조건 쌍
α_t, σ_t, w_t : t의 함수로서 샘플 품질에 영향을 미치는 값


xˆ_θ는 z_t를 x로 변환시키는 것을 목표로 훈련된다. 평균제곱 오차 손실을 사용하며, 특정 t 값들을 강조하기 위해 가중치가 적용된다.

z_t : 초기 노이즈
x : 실제 데이터

💡 즉, 특정 시간 단계 t에서 더 중요한 정보에 더 집중하도록 모델이 훈련되었다.



샘플링은 Ancestral 샘플러 및 DDIM과 같은 방법을 사용한다.

  • 초기에 순수한 노이즈 z_1∼N(0, I)에서 시작하여 반복적으로 z_t1, . . . , z_tT와 같은 점들을 생성한다.

  • 이때, t_1 > · · · > t_T = 0이 되도록 점진적으로 노이즈 콘텐츠가 감소한다.
    

이렇게 생성된 각 점들은 x-predictions의 함수로 사용된다:

💡 xˆθ은 초기에 노이즈가 섞인 데이터를 받아 깨끗한 데이터로 변환하는 데 중점적으로 훈련되었으며, 샘플링은 이 과정을 반복하여 시간에 따라 점진적으로 더 나은 품질의 데이터를 생성한다.


Classifier guidance는 샘플링 중에 사전 훈련된 모델 p(c|z_t)에서의 그래디언트를 사용하여 조건부 Diffusion 모델에서 샘플 품질을 향상시키고 다양성을 감소시키는 기술이다.

반면에 Classifier-free guidance는 이러한 사전 훈련된 모델을 피하기 위한 대안적인 기술로, 훈련 중에 c를 랜덤으로 드롭아웃하여 조건부 및 무조건적인 목적으로 단일 Diffusion 모델을 공동으로 훈련시킨다.

샘플링은 조정된 x-prediction (zt − σ˜εθ)/αt를 사용하여 수행된다:

ϵ_θ(z_t, c) : conditional ϵ-prediction
ϵ_θ(z_t) : unconditional ϵ-prediction



Imagen은 효과적인 텍스트 conditioning을 위해 classifier-free guidance 에 의존한다.

w : guidance weight

  • w = 1 : Classifier-free guidance 비활성화
  • w > 1 : guidance 강화

💡 Classifier guidance는 사전 훈련된 모델의 그래디언트를 사용하여 샘플 품질을 개선하고 다양성을 줄이는 기술이며, Classifier-free guidance는 이러한 사전 훈련된 모델을 피하면서 효과적인 텍스트 조건을 위해 랜덤 드롭아웃을 사용하여 모델을 훈련하는 기술이다.



2.3 Large guidance weight samplers


최근의 text guidance diffusion 작업 결과를 확인하고 classifier-free guidance weight를 증가시키면 이미지-텍스트 정렬이 향상된다.

💡 Classifier-free guidance weight를 증가시키면 이미지-텍스트 정렬이 향상되는 이유?

Classifier-free guidance는 사전 훈련된 모델에 의존하지 않고 Diffusion 모델을 텍스트에 조건화하는 기술이다. 따라서 가중치를 증가시키면 모델이 텍스트에 더 많은 주의를 기울이고, 이로 인해 생성된 이미지와 텍스트 간의 일치도가 향상되어 높은 이미지-텍스트 정렬을 달성할 수 있다.



그러나 이미지 정확도가 저하되어 과도하게 포화되고 자연스럽지 않은 이미지가 생성된다는 것을 발견했다. 이는 높은 안내 가중치에서 발생하는 훈련-테스트 불일치에서 비롯된 것으로 확인된다.

  • 각 샘플링 단계 t에서 x-prediction xˆt0는 교육 데이터 x와 동일한 범위 내에 있어야 한다. 즉, [−1, 1] 범위 내에 있어야 하지만 높은 안내 가중치로 인해 x-prediction이 이러한 범위를 초과하는 것을 경험적으로 확인했다.

  • 이는 훈련-테스트 불일치이며, Diffusion 모델이 샘플링 중에 자체 출력에 반복적으로 적용되므로 샘플링 과정에서는 자연스럽지 않은 이미지가 생성되며 때로는 발산할 수도 있다.



이 문제를 해결하기 위해 정적 임계값 및 동적 임계값을 조사했다. x-prediction을 [−1, 1]로 요소별로 클리핑하는 것을 의미한다. 이 방법은 이전 작업에서 사용되었지만 강조되지는 않았으며, 가이드 샘플링의 맥락에서 그 중요성은 조사되지 않았다.

Static thresholding

본 논문에서는 정적 임계값이 large guidance weight 샘플링에 필수적이며 공백 이미지 생성을 방지하는 데 필수적임을 발견했다. 그러나 정적 임계값은 여전히 guidance weight가 더 증가함에 따라 포화된 이미지와 덜 세부적인 이미지를 생성한다.

Dynamic thresholding

따라서 본 논문에서는 새로운 동적 임계값 방법을 소개한다. 각 샘플링 단계에서 xˆt0에서 특정 백분위수의 절대 픽셀 값을 s로 설정하고, s > 1이면 xˆt0를 범위 [−s, s]로 임계값을 설정한 다음 s로 나눈다.

동적 임계값은 포화된 픽셀 (즉, -1과 1에 가까운 픽셀)을 내부로 밀어넣어 각 단계에서 픽셀 포화를 적극적으로 방지한다. 동적 임계값은 특히 매우 큰 guidance weights를 사용할 때 현저하게 더 나은 사실적인 이미지 및 이미지-텍스트 정렬을 도출한다.



2.4 Robust cascaded diffusion models


Imagen은 기본 64×64 모델과 두 개의 텍스트 조건부 초해상도 Diffusion 모델의 파이프라인을 활용하여 64 × 64 생성된 이미지를 256 × 256 이미지로 업샘플링한 다음 1024 × 1024 이미지로 업샘플링한다.


잡음 조건 증강을 사용한 연쇄적인 Diffusion 모델은 고품질 이미지를 점진적으로 생성하는 데 매우 효과적이었다.

더 나아가 초해상도 모델이 추가된 잡음의 양을 알 수 있도록 하는 노이즈 레벨 조건화를 통해 초해상도 모델의 샘플 품질이 크게 향상되고 낮은 해상도 모델에서 생성된 아티팩트를 처리하는 초해상도 모델의 견고성이 향상되었다.

Imagen은 두 초해상도 모델 모두에 대해 잡음 조건 증강을 사용한다. 본 논문에서는 이것이 고품질 이미지를 생성하는 데 중요하다고 판단했다.


저해상도 이미지와 증강 정도(예: 가우시안 노이즈 또는 블러의 강도)가 주어지면 낮은 해상도 이미지를 해당 증강 정도로 손상시키고 Diffusion 모델을 그에 맞춰 조건화한다. 훈련 중에는 증강 정도을 무작위로 선택하며, 추론 중에는 다양한 값을 스위핑하여 최상의 샘플 품질을 찾는다.

본 논문에서는 증강의 형태로 가우시안 노이즈를 사용하고 Diffusion 모델에서 사용된 전방 과정과 유사한 분산 보존 가우시안 노이즈 증강을 적용했다. 증강 정도는 aug_level ∈ [0, 1]로 지정했다.



2.5 Neural network architecture


Base model

U-Net 아키텍처를 기본 64 × 64 텍스트 대 이미지 Diffusion 모델에 적용했다. 네트워크는 풀링된 임베딩 벡터를 통한 텍스트 임베딩에 조건을 걸고, Diffusion 타임스텝 임베딩에 추가된다.

또한 다양한 해상도에서 텍스트 임베딩에 대한 교차 어텐션 을 추가하여 전체 텍스트 임베딩 시퀀스에 대한 조건을 더한다. 또한 어텐션 및 풀링 레이어에서의 텍스트 임베딩에 대한 레이어 정규화가 성능을 상당히 향상시키는 데 도움이 되었다.


Super-resolution models

64 × 64 → 256 × 256 초해상도에 대해, Improved Denoising Diffusion Probabilistic Models에서 채택한 U-Net 모델을 사용한다.

  • Efficient U-Net : U-Net을 메모리 효율성, 추론 시간 및 수렴 속도를 개선하기 위해 여러 수정을 가했다. 본 논문에서의 변형은 기존에 사용된 U-Net보다 초당 단계/초당 2-3배 빠르다.

256×256 → 1024×1024 초해상도 모델은 1024 × 1024 이미지의 64 × 64 → 256 × 256 크롭에서 훈련한다. 이를 용이하게 하기 위해 self-attention 레이어를 제거하지만 텍스트 교차 어텐션 레이어는 중요하다고 판단되어 유지했다.

추론 중에는 모델이 전체 256 × 256 저해상도 이미지를 입력으로 받아 1024 × 1024 이미지를 업샘플링하여 출력한다. 초해상도 모델에는 양쪽 모두에 텍스트 교차 어텐션을 사용한다.



소감

해당 논문에서는 Text input에서 Diffusion을 통해 이미지를 생성하는데, Efficient U-Net 아키텍처를 사용하여 초해상도 이미지를 생성해낸다. U-Net의 각 블록은 Convolution layer, 풀링 된 텍스트 임베딩과 Diffusion 타임 스텝을 혼합한 Combine Embeddings, ResNet block, Self Attention으로 구성되어 있다.

캡스톤 프로젝트에서는 Text input, Audio output이 필요하기 때문에, Audio 생성에 Conv layer, ResNet block이 적합한지 확인하는 과정이 필요할 것 같다. 부가적으로 모델에 새로운 feature를 추가할 예정인데, Combine Embeddings에 어떤 방식으로 정보를 줘야 할지 고민해 보고, Attention의 입력으로 추가해 주는 방법도 고려해 봐야겠다.

0개의 댓글