Haru's 개발 블로그

[논문 리뷰] DreamBooth : Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation 논문 리뷰 본문

논문 리뷰/Diffusion

[논문 리뷰] DreamBooth : Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation 논문 리뷰

Haru_29 2024. 4. 24. 09:43

Link

 

Abstract

이미지 몇 개만 입력하면 pretrained된 text-to-image 모델을 finetuning하여 고유 식별자를 해당 특정 대상에 바인딩하는 방법을 학습합니다. 고유 식별자를 사용하여 다른 장면에서 맥락화 된 대상의 완전히 새로운 사실적 이미지를 합성할 수 있습다.

 

Introduction

Text-to-image diffusion 모델의 “personalization” 를 위한 새로운 접근 방식을 제시합다. 본 논문의 목표는 대상의 이미지 몇 개(3~5)가 주어지면 고유 식별자로 합성될 수 있도록 모델의 출력 도메인에 대상을 이식하는 것입니다.

 

이를 희귀 토큰 식별자로 주어진 대상을 표현하고 두 단계로 작동하는 사전 훈련된 확산 기반 초해상도 text-to-image 프레임워크를 finetuning하는 기술을 제안합니다.

 

먼저 고유 식별자와 클래스 이름이 포함된 이미지 및 텍스트 프롬프트(e.g., “A [V] dog”)를 사용하여 저해상도에서 finetuning합니다. 여기서 모델이 클래스 이름(e.g., “dog”)을 특정 인스턴스와 연관시키는 것을 방지하기 위해 autogenous class-specific prior preservation loss를 제안하는데, 이는 모델에 포함된 클래스에 앞서 대상과 동일한 클래스의 다양한 인스턴스를 생성하도록 권장합니다.

 

이후 초해상도 구성요소를 finetuning합니다. 본 논문에서는 Imagen을 기반으로 하지만 다른 text-to-image 확산 모델에도 적용될 수 있습니다.

 

Method

 

첫 번째 작업은 대상 인스턴스를 모델의 출력 도메인에 삽입하고 대상을 고유 식별자로 바인딩하는 것입니다.

적은 이미지를 이용한 finetuning은 과적합 되기 쉽기 때문에 이를 방지하기 위해 autogenous class-specific prior preservation loss를 제안하였습니다.

 

Representing the Subject with a Rare-token Identifier

주관성을 최대한 줄이기 위하여 이미지에 "[식별자][클래스 명사]"의 간단한 label을 지정합니다. 클래스 명사 없이 고유 식별자만 사용하면 훈련이 느리고 성능이 떨어졌습니다.

 

식별지로 "unique", "special"등의 기존 단어를 사용하명 의미를 재정의 해야 하기 때문에 훈련이 느려집니다. 저자에 의하면 임의의 문자 조합 식별자(e.g.,"xxy5syt00")도 사용해 보았지만 문제가 있었다고 합니다.

 

Rare-token Identifiers

어휘에서 상대적으로 희귀한 토큰을 찾은 다음 이러한 희귀 토큰을 텍스트 공간으로 반전시킵니다.

Tokenizer f, 텍스트를 V라고 할 때 f(V)인 토큰 임베딩 공간에서 희귀 토큰 조회를 수행해 토큰 f(V̂)를 얻고 해당 토큰을 반전해 얻은 텍스트 V̂을 식별자로 사용합니다.

 

Class-specific Prior Preservation Loss

고전적인 text-to-image few-shot finetuning 방법에는 두 가지 문제가 있는데 과적합과 Language Drift입니다. Language Drift는 특정 클래스 명사가 포함된 텍스트를 finetuning 할 때 해당 클래스의 다른 인스턴스를 서서히 잊어가는 현상입니다.

 

Prior-Preservation Loss

두 문제에 모두 대응하기 위한 autogenous class-specific prior-preserving loss를 제안합니다. 이 방법은 이전 모델을 유지하기 위해 자체 생성된 샘플(~200)로 모델을 감독하는 것입다.

 

사전 훈련된 확산 모델의 finetuning 이전 샘플러에서 컨디셔닝 벡터 cpr := f(”a [클래스 명사]”)를 이용해 데이터 xpr을 얻고

 

이를 이용한 손실항을 추가합니다.

 

Personalized Instance-Specific Super-Resolution

계층 diffusion 모델에서 저해상도 모델은 주로 시각적 의미를, 초해상도 모델은 주로 이미지의 세부사항을 담당합니다.

 

Low-Level Noise Augmentation

생성의 충실한 세부사항을 위해 augmentation의 노이즈 증가 수준을 1/100로 줄입니다.

 

Experiments

 

ablation

 

 

 

Comments