논문 리뷰

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

금잔디명예소방관 2023. 7. 17. 21:23

Stable Diffusion webui에서 사용가능한 fine tuning 기법 4가지 다 끝낼 예정

힘내자..^^!

 

 


Abstract

 

대규모 Text to Image 모델들은 놀라운 발전을 이루었지만, 주어진 세트에서 주체의 외모를 모방하고 다른 맥락에서의 새로운 재현을 합성하는 능력이 부족하다. 이 논문에서는 T2I diffusion 모델의 "Personalization"에 대한 새로운 접근 방식을 제시한다(사용자의 요구에 특화된 모델). 주체의 몇장 이미지를 입력으로 주고, 사전 훈련된 T2I 모델(이 논문에서는 Imagen 사용, 그러나 특정 모델에 제한되지 않는다고 함)을 미세 조정하여 해당 주체와 고유 식별자를 연결하는 방법을 배우게 한다. 주체가 모델의 출력 도메인에 내장된 후, 고유 식별자를 사용하여 주체를 다양한 장면에서 새로운 이미지로 합성할 수 있다. 이 기술은 모델에 내장된 의미론적 사전(semantic prior)과 새로운 자기 생성 클래스별 사전 보존 손실을 이용하여 다양한 장면, 자세, 시각 및 조명 조건에서 주체를 합성하도록 한다. 이러한 기술을 주체의 재구성(subject recontextualization), text-guided view 합성, 모양 수정 및 예술적 렌더링 등 이전에는 어려웠던 여러 작업에 적용했다. (주체의 주요 특징은 보존)

 

1. Introduction

 

상상속의 장면을 렌더링하는 것은 도전적인 과제고, 특정 주제(물체, 동물 등)의 인스턴스를 새로운 맥락에서 자연스럽고 완벽하게 결합시키는 작업을 필요로 한다. 이를 위해서는 이미지에 자연스럽게 녹아들도록 특정 주제를 합성하는 작업이 필요하다. 

 

최근 발전한 대형 T2I 모델은 자연어로 작성된 텍스트 프롬프트를 기반으로 고품질의 다양한 이미지 합성을 가능하게 한다[*Imagen, *DALLE-2]. 이러한 모델의 장점 중 하나는 큰 규모의 이미지-캡션 쌍 데이터로부터 학습된 강력한 의미론적 사전 학습이다.이러한 선호도는 예를 들어 "개"라는 단어를 다양한 자세와 맥락에서 나타날 수 있는 다양한 개 인스턴스와 연결하는 방법을 학습한다. 이러한 모델의 합성 능력은 전례 없이 강력하지만, 주어진 참조 세트 내 주제의 외관을 모방하고, 다른 맥락에서의 새로운 표현을 합성하는 능력은 부족하다. 이는 출력 도메인의 표현력이 제한되기 때문인데, 물체에 대한 가장 상세한 텍스트 설명조차도 다른 외관을 가진 인스턴스를 생성할 수 있다. 게다가 language - vision 공간에서 텍스트 임베딩을 공유하는 모델들[*CLIP]조차 주어진 주제의 외관을 정확하게 재구성할 수 없고, 이미지 콘텐츠의 변형만 생성한다. 

 

Figure 2. T2I diffusion 모델을 사용한 subject-driven 생성. 특정 시계에 대해 최첨단 T2I 모델로는 해당 시계를 다른 맥락에서 생성하는 것은 매우어려워서 그 시계의 주요 시각적 특징을 유지하는 것이 매우 어렵다. "정글에 있는 황갈색 알람 시계로, 흰색 시계 얼굴 오른쪽 부분에 황색 숫자 3이 있다."라는 시계의 외관에 대한 자세한 설명을 포함하는 텍스트 프롬프트를 수십 번 반복해도, Imagen 모델은 주요 시각적 특징을 재구성할 수 없다. 또한 DALL-E2와 같이 텍스트 임베딩이 공유 language-vision 공간에 위치한 모델들은 이미지의 의미론적 변형을 생성할 수 는 있지만, 주어진 주제의 외관을 재구성하거나 맥락을 수정할 수는 없다. 이 논문의 방식은 높은 fidelity로 시계를 합성하고 새로운 맥락에 배치할 수 있다. ("a [V] clock in the jungle")

 

본 연구에서는 T2I diffusion 모델의 "personalization"에 대한 새로운 접근 방식을 제시한다(사용자별 이미지 생성 요구에 적응시키는 방식). 이 논문의 목표는 모델의 language-vision 사전(dictionary)을 확장하여 사용자가 생성하고자 하는 특정 주제와 새로운 단어를 연결하는 것이다. 새로운 사전이 모델에 포함되면 이러한 단어를 사용하여 주제의 새로운 사진을 합성할 수 있고, 이를 통해 다양한 장면에 맥락화된 형태로 주제를 표현하면서도 주요 식별 특징을 보존할 수 있다. 이러한 이유로 이름이 Dreambooth이다 (magic photo booth와 비슷하기 때문?).

 

더 구체적으로 말하자면, 특정 주제의 몇장의 사진 (3~5장)이 주어졌을 때, 목표는 해당 주제를 모델의 출력 도메인에 삽입하여 고유 식별자와 함께 합성할 수 있도록 하는 것이다. 이를 위해, 이 논문에서는 희귀 토큰 식별자(rare token identifiers)로 주어진 주제를 나타내는 기술을 제안하고, 사전 훈련된 diffusion 기반 T2I 프레임워크를 미세 조정하는 방법을 제시한다. 이 프레임워크는 두 단계로 작동한다.

1. 먼저 텍스트로부터 저해상도 이미지를 생성하고, 이후 SR diffusion 모델을 적용하여 고해상도 이미지를 생성한다. 이 모델에서는 먼저 입력 이미지와 주제의 고유 식별자를 포함한 텍스트 프롬프트로 저해상도 T2I 모델을 미세 조정한다(ex : A [V] dog"). 클래스 이름(ex : "dog")를 특정 인스턴스와 연결하는 과적합과 언어 이동(language drift)을 방지하기 위해, 자체적인 클래스별 사전 보존 손실(autogenous, class-specific prior preservation loss)을 제안한다. 이 손실은 모델에 내장된 클래스에 대한 의미적 사전(semantic prior)을 활용하여 동일한 클래스의 다양한 인스턴스를 생성하도록 유도한다. 

2. 두 번째 단계에서는 저해상도와 고해상도 버전의 입력 이미지 쌍으로 SR 구성 요소를 미세 조정한다. 이를 통해 모델은 주제의 작고 중요한 세부 사항을 높은 정확도로 유지할 수 있다. 이 실험에서는 사전 훈련된 Imagen 모델을 기본으로 사용하였지만, 사실 특정한 T2I diffusion 모델에 제한되지 않는다. 

 

이 논문의 방법은 아마도 처음 도전적인 문제를 다루는 기술로, 사용자가 주제의 몇 장의 이미지를 가져와서 다양한 맥락에서 새로운 렌더링을 생성하면서도 주요 특징을 유지할 수 있게 해준다. 최첨단 3D 재구성 기술로 이러한 결과를 달성하는 것은 쉽지 않다. 입력 세트의 다양성을 제한할 수 있다. (ex: 입력 주제가 동물인 경우, 포즈가 일관되어야 함) 더 많은 입력 view가 필요할 수 있으며, 좋은 3D 재구성이라도 주제의 새로운 구조와 맥락에서의 렌더링은 여전히 열려있는 문제이다.

 

결국 이 논문의 두 가지 주요 기여는 : 

1. 새로운 문제 : 주제 중심(subject-driven)의 생성. 주제의 몇 장의 캐주얼하게 촬영된 이미지를 주어진 상황에서 새로운 렌더링을 합성하는 것이며, 주요 시각적 특징을 고수하면서 이루어져야 한다.

2. few shot 설정에서 T2I diffusion 모델을 섬세하게 튜닝하는 새로운 기술을 제시하며, 주제의 클래스에 대한 모델의 의미론적 지식(semantic knowledge)을 보존한다. 

 

이 논문에서는 제안된 메커니즘과 이와 관련된 연구와의 유사성에 대한 다양한 통찰을 논의하고, 각 구성 요소의 기여를 구성 요소 제거 실험을 통해 강조하며, 대안적인 기준선과의 비교를 진행한다. 이 접근방식을 주제 기반의 이미지 생성 응용 프로그램에 다양하게 적용하며, 주제의 재문맥화, 속성 수정, 원본 예술 렌더링 등을 포함한 다양한 작업에 대한 새로운 가능성을 제시하고, 이를 통해 예전에는 해결하기 어려웠던 작업에 대한 새로운 연구 방향을 제시한다. 

 

2. Related work

 

Compositing Objects into Scenes

주어진 주제를 다른 맥락에서 합성하는 것은 이전에 다양한 형태로 다뤄진 어려운 작업이다. 예를 들어 이미지 합성 기술[*DoveNet, *St-gan, *Gp-gan]은 특정 주제를 새로운 배경에 자연스럽게 통합하는 것을 목표로 한다. 그러나 이러한 기술은 배경에서 올바른 조명을 적용하거나 적절한 그림자를 만들거나 배경 콘텐츠를 의미론적으로 적합하게 맞추는 부분에서는 한계가 있다. 주어진 이미지에서 보지 못한 새로운 자세와 시점에서 주제를 합성하는 요구 사항일 경우, 이러한 도전은 더욱 힘들다. 이 작업에는 최첨단 3D 재구성 기술[*Mip-nerf, *Samurai, *Nerf, *Ref-Nerf]조차도 제한적인데, 일반적으로 강체 개체에 적용되며 더 많은 시점이 필요하다. 게다가, 희소한 이미지 세트로부터 재현적인 렌더링을 위해 필요한 재료 특성과 조명을 정확하게 추론하는 것은 매우 어렵다. 

 

Text-Driven Editing

장면에 객체를 보존하면서 context를 변경하는 한 가지 방법은 이미지 편집이다. 직관적인 접근 방법은 사용자가 제공한 텍스트 힌트를 사용한다. 최근 GAN을 사용하여 텍스트 기반 이미지 조작이 큰 발전을 이루었는데, CLIP의 등장과 함께 시맨틱하게 풍부한 이미지-텍스트 표현이 결합된다면 매우 현실적인 조작을 수행할 수 있다. 최근 연구들은 이러한 구성 요소들을 결합하여 추가적인 수작업 없이 텍스트를 사용한 매우 현실적인 이미지 편집을 가능하게 한다. 추가로 사용자가 제공한 마스크를 활용하여 텍스트 기반 편집을 지역적으로 제한하고 특정 공간 영역에 변경을 적용하는 방법을 제시하기도 했다. [*Paint by word,] 하지만 GAN 기반의 이미지 편집 접근 방법은 고도로 정제된 데이터셋, 예를 들어 인간 얼굴은 성공하지만 많은 종류의 객체를 포함하는 다양한 데이터셋에서는 어려울 수 있다. 더 표현력 있게 생성[*VQgan-clip]하기 위해 다른 연구들은 최근의 Diffusion 모델을 활용하여 고품질의 다양한 데이터셋에서 상위 수준의 생성 능력을 달성하면서 GAN을 능가한다. [*DiffusionClip]은 전역적인 변경을 수행하는 방법을 보여주고, [*Blended diffusion model]은 사용자가 제공한 마스크를 사용하여 지역적인 조작을 성공적으로 수행한다. 텍스트만 필요한 대부분의 작업[*Vqgan-clip, *Clipstyler]은 전역적인 편집에 제한되지만, [*Text2Live]은 마스크를 사용하지 않고 텍스트 기반의 지역화된 편집 기법을 제안하여 인상적인 결과를 보여준다. 이러한 편집 접근 방법들은 대부분 전역적인 속성의 수정이나 주어진 이미지의 지역적인 편집을 가능케 하지만, 주어진 주제의 새로운 변형을 새로운 맥락에서 생성하는 것은 불가능하다. 

 

Text-to-Image Synthesis

텍스트에 기반한 이미지 생성에 관한 연구들도 다양한데, 이러한 연구들은 text-to-image synthesis라고도 한다. 최근 대규모 T2I 이미지 모델[*Imagen, *Parti, *Dalle2, *CogView2]들은 이전에 없던 의미론적인 생성 능력을 보여준다. 이러한 모델들은 생성된 이미지에 대해 상세한 control을 제공하지 않으며, 텍스트 가이드만을 사용한다. 구체적으로, 텍스트 설명을 통해 주어진 이미지에서 주체의 정체성을 일관되게 유지하는 것은 어렵거나 불가능하다. 왜냐하면 프롬프트의 문맥을 수정하게 되면 주체의 외형도 수정되기 때문. [*More control for free!]은 이미지와 텍스트를 사용하여 확산 모델을 가이드하는 분류 가이드 수정 방법을 제안하여 이미지의 의미적 변형을 가능하게 했지만, 주체의 정체성은 종종 변동된다. 주체의 수정을 극복하기 위해서 몇몇 연구들은 사용자가 변경 사항을 적용할 영역을 제한하는 마스크를 제공한다고 가정한다. prompt-to-prompt의 최근 연구는 입력 마스크 요구사항 없이 지역 및 전역 편집을 가능케 하지만, 주어진 주제를 새로운 맥락에서 합성하는 문제에 대해서는 다루지 않는다. 

 

Inversion of diffusion models

확산 모델의 역함수, 즉 생성된 이미지에 해당하는 노이즈맵과 조건 벡터를 찾는 문제는 어려운 과제이자 주체 중심의 새로운 이미지 생성을 다룰수 있는 방법이다. 역방향 및 정방향 디퓨전 단계(forward denoising process인듯) 사이의 비대칭성으로 인해, 이미지에 노이즈를 단순히 추가한 후 노이즈 제거를 수행하는 것만으로는 완전히 다른 이미지가 생성될 수 있다. [*ILVR]은 역방향 과정을 처리하기 위해 대상 이미지로부터 노이즈가 추가된 저주파 필터 데이터에 기반한 노이즈 제거 과정을 조건으로 사용한다. [*classifier guidiance]은 결정론적 DDIM 샘플링을 역으로 사용하여 특정 실제 이미지를 생성할 수 있는 잠재적인 노이즈 맵을 추출한다. [*Dalle2]은 이 방법을 사용하여 CLIP 잠재 벡터를 활용한 이미지 간 보간 또는 의미적 이미지 편집을 생성한다. 그러나 이러한 방법들은 충실성을 보존하면서 주체의 새로운 샘플을 생성하는 데는 한계가 있다. 한 모델의 동시 작업은 언어적 역추론 방법을 제안하며, 어떤 개념(객체 또는 스타일 등)을 동결된 T2I 모델의 임베딩 공간에서 새로운 유사 단어를 통해 표현하는 방법을 학습한다. 그들의 접근 방식은 개념을 표현할 수 있는 최적의 임베딩을 찾기 때문에 텍스트 모드의 표현 능력에 제한을 받으며 모델의 원래 출력 영역에 제한된다. 대조적으로, 이 논문의 모델은 미세 조정을 통해 주체를 모델의 출력 도메인에 포함시키므로 주체의 핵심 시각적 특징을 보존하면서 주체의 새로운 이미지를 생성할 수 있다. 

 

Personalization

최근 몇년간의 personalization은 추천 시스템(Recommendation system), 언어모델, 연합 학습(federated learning)과 같은 기계 학습 분야에서 중요한 요소가 되었다. Visin and graphics 커뮤니티에서는 GAN을 사용하여 주체의 새로운 합성 문제를 다루는 연구가 몇개 있다. 하지만 다들 한계가 존재하고, 이 모델에서의 접근 방식은 3~5개의 일상적으로 촬영된 이미지만으로 다양한 유형의 주체의 신원을 새로운 맥락에서 재구성할 수 있다.

 

3. Preliminaries

<이쪽파트는 패드 들고 수식 정리>

 

그림 3. High level 방법 개요. 특정 주체의 몇 장의 이미지와 해당하는 클래스 이름을 입력으로 받아, 고유 식별자를 인코딩하는 세밀하게 조정된 "personalized"된 T2I 모델을 반환한다. 그 후 추론 시에는 고유 식별자를 다양한 문장에 삽입하여 다른 맥락에서 주체를 합성할 수 있다.

 

4. Method

 

특정 주체에 대한 단순히 3~5장의 캐주얼한 촬영 이미지만으로, 어떠한 텍스트 설명도 없이 이 논문의 목표는 텍스트 프롬프트에 따라 가이드되는 변형과 함께, 높은 디테일을 가진 주체의 새로운 이미지를 생성하는 것. 입력 이미지 촬영 설정에 대한 어떠한 제약도 요구하지 않고, 주체 이미지는 다양한 맥락을 가질 수 있음. output 변경의 예시로는, 주체의 위치 변경/색상, 종, 형태와 같은 주체의 속성을 변경하는것/주체의 자세, 표정, 재료 및 의미적인 수정을 변경하는 것. 이러한 변형의 폭이 이 모델들의 강력한 prior로 인해 매우 크다는 것을 발견함.

 

이를 달성하기 위해 처음에는 주체 인스턴스를 모델의 출력 도메인에 심어주고, 주체를 고유 식별자와 결합한다. 아래에서 식별자를 설계하기 위한 이 논문의 방법과 주체 인스턴스에 대한 모델의 prior를 재활용하기 위한 세밀 조정 과정을 설명한다. 주어진 주체를 보여주는 소수의 이미지에 대해 세밀 조정을 수행하면 오버피팅이 일어날 수 있다. 또한 언어 모델에서 일반적인 문제인 language drift는 T2I diffusion 모델에서도 나타난다. 모델은 동일한 클래스의 다른 주체를 생성하는 방법을 잊어버리고, 해당 클래스에 속하는 인스턴스들의 다양성과 자연스러운 변동성에 대한 내장된 지식을 잃을 수 있기 때문에, 이 논문에서는 자기생성적인 클래스별 prior 보존 손실을 제시한다. 이를 통해 오버피팅은 완화, 주체와 동일한 클래스의 다양한 인스턴스를 생성하도록 diffusion model에 유도해서 language drift는 방지한다.

 

그림 4. wncpdml 3~5장의 이미지를 사용하여 T2I diffusion을 두 단계로 fine tuning한다. (a) 입력 이미지와 주체가 속한 클래스의 이름인 고유 식별자가 포함된 텍스트 프롬프트와 함께 저해상도 T2I 모델을 fine tuning하고, 동시에 클래스별 prior 보존 손실을 적용한다. 이 손실은 모델이 클래스에 대한 의미론적 prior을 활용하고, 텍스트 프롬프트에서 클래스 이름(ex: "dog")을 사용하여 주체의 클래스에 속하는 다양한 인스턴스를 생성하도록 장려. (b) 입력 이미지 세트에서 저해상도와 고해상도 이미지 쌍으로 초해상도 구성 요소를 fine tuning하여 주체의 작은 세부 사항을 고도로 보존할 수 있도록.

 

세부 보존 사항을 향상하기 위해 이 모델은 초해상도 구성 요소도 fine tuning이 필요하다는 것을 발견, 하지만 만약 이러한 구성 요소가 주체 인스턴스를 단순히 생성하기 위해 fine tuning된다면 인스턴스의 중요 세부 사항을 복제할 수 없음. 이러한 SR 모듈을 훈련하고 테스트 하는 방법을 제시 - 주체의 세부사항 보존 향상, 재문맥화에서 높은 성능 달성. 이 내용은 그림 4에.

 

4.1 Representing the Subject with a Rare-token Identifier

 

Designing Prompts for Few-Shot Personalization

이 논문의 목표는 주어진 텍스트 프롬프트에 따라 의미있는 semantic modification이 가이드되는 주체의 완전히 새로운 이미지를 생성할 수 있는 희귀(키, 값)쌍을 확산 모델의 "사전"에 삽입하는 것이다. 한 가지 방법은 모델의 few shot fine tuning이다. 일반적으로 텍스트 프롬프트는 사람이 작성하며 대규모 온라인 데이터셋에서 가져온다. 주요한 제한 사항은 특정 이미지 세트에 대한 상세한 이미지 설명을 작성하는데 필요한 작업 부하와 사람이 작성한 캡션의 높은 변동성과 주관성이다.

 

이 논문에서는 더 간단한 방법을 제안함. 주체와 모든 입력 이미지를 "a [identifier][class noun]"로 labeling함. 여기서 식별자는 주체와 연결된 고유한 식별자이고, 클래스 명사는 주체의 대략적인 클래스 설명. 클래스 설명은 classifier를 사용하여 얻음. 특히 문장에 클래스 설명을 사용하여 클래스의 사전을 고유 주체에 묶는다. 이 논문에서는 고유 식별자만 사용하여 주체의 키로 사용하는 것이 훈련 시간을 증가시키고 성능을 감소시킨다는 것을 발견. 본질적으로, 확산 모델의 특정 클래스에 대한 prior를 활용하고 주체의 고유 식별자와 함께 이를 얽는다. 이렇게 하면 시각적 prior를 사용할 수 있어 주체를 다양한 문맥에서의 새로운 표현으로 생성할 수 있다.

 

주체에 대한 식별자로 기존 단어를 사용하는 가장 간단한 방법은 "unique" 또는 "special"과 같은 단어를 사용하는 것인데, 이러한 일반적인 단어를 사용하여 주체를 인덱싱 하는 경우 훈련 세트에 발생하는 강한 prior때문에 훈련시간이 증가하고 성능이 감소하는 것이 발겨노딤. 모델은 이러한 원래 의미와의 연관을 끊고 다시 다르게 연관시켜야 함. 이러한 접근 방식은 단어의 의미를 주체의 외관과 얽히게 할 수 있다. 이렇게 되면 혼란이 오니, 양식이나 영문자를 사용하여 희귀한 식별자를 생성해야 한다.(ex : xxy5syt00). 그러나 실제로는 토커나이저가 각 문자를 개별적으로 분리할 수 있어, 이러한 토큰도 일반 단어를 사용할 때와 같이 동일한 약점을 가진다. 

 

Rare-token Identifiers

희귀한 토큰을 생성하기 위해 먼저 어휘 사전에서 희귀 토큰 식별자 시퀀스 f(^V)를 얻는다. 여기서 f는 토커나이저이며 문자 시퀀스를 토큰으로 매핑. ^V는 토큰에서 복원된 텍스트. 이 시퀀스의 길이 k는 하이퍼 파라미터, k = {1 ... 3}과 같은 상대적으로 짧은 시퀀스가 잘 동작하는 것을 확인. 그런 다음 f(^V)에서 디토커나이저를 사용하여 어휘를 역으로 변환 후 고유 식별자를 정의하는 문자시퀀스 ^V를 얻을 수 있음. 이 논문에서는 3개 이하의 유니코드 문자에 해당하는 토큰을 균일한 비복원 추출을 통해 선택하고, {5000 ... 10000} 범위의 T5-XXL 토커나이저 토큰을 사용할 때 잘 작동하는 것을 관찰함.

 

4.2 Class-specific Prior Preservation Loss

 

Few-shot Personalization of a Diffusion Model

대상 주제 Xs (식 축약)를 묘사하는 작은 이미지 세트와 테스트 프롬프트 "a [identifier] [class noun]" 에서 얻은 동일한 조건 벡터 cs가 주어진 경우, Equation 1에서 제시된 클래식한 노이즈 제거 손실을 사용하여 T2I 모델을 세밀하게 조정한다. 이때, 원래 diffusion 모델과 동일한 하이퍼 파라미터를 사용한다. 그러나 이러한 단순한 fine tuning 전략에는 두 가지 주요 문제가 발생하는데, 과적합과 language drift이다. 

 

Issue-1: Overfitting

입력 이미지 세트가 매우 작아서 대규모 이미지 생성 모델을 파인튜닝하면 주어진 입력 이미지의 맥락과 주체의 외관에 모두 과적합될 수 있다. 그림 12(상단)는 단순한 파인 튜닝으로 생성된 일부 샘플 이미지를 보여주며, 주체인 개의 외모와 맥락이 입력 이미지와 과적합되었음을 명확히 알 수 있다. 이러한 문제를 해결하기 위해 정규화 또는 모델의 특정부분을 선택해서 파인튜닝하는 등 다양한 기술을 사용할 수 있다. 어떤 부분을 선택해야 하는지에 대해선 확신이 없고, 주체의 fidelity와 semantic modification flexibility을 모두 얻기 위해서는 모델의 모든 레이어를 파인 튜닝하는 것이 최상의 결과를 얻는 방법이다. 그러나 이에는 텍스트 임베딩을 기반으로 한 조건화된 레이어도 파인 튜닝에 포함되므로 language drift 문제가 생길 수 있다.

그림 12. 과적합을 방지하기 위한 prior 보존 손실(prior-preservation loss). 단순한 파인 튜닝은 입력 이미지에서 주체의 맥락과 외관에 대한 과적합을 초래할 수 있음. 이 논문의 사전 보존 손실은 과적합을 완화시키는 정규화 요소로 작용하여 특정 맥락에서 자세의 가변성과 외관의 다양성을 허용한다. 실제 주체 이미지에서의 원단 유형 재현이 파인튜닝된 룰력에서 보존됨을 확인할 수 잇으며(상단), 주체 자세의 가변성이 제한된다. 반면, 사전 보존 손실을 적용한 결과에서(하단) 비엉겨 분리된 맥락 내에서 주체의 자세 변이가 나타난다.(왼쪽 사진이 원본, 오른쪽 사진에서 바다, 해변 등 추가)

 

Issue-2: Language Drift

언어 이동은 언어 모델 문헌에서 먼저 관촬된 문제인데, 대규모 텍스트 말뭉치로 사전 훈련된 언어 모델이 특정 작업을 위해 파인튜닝됨에 따라, 해당 작업에서 성능을 향상시키기 위해 언어의 구문 및 의미를 점차 상실하는 현상이다. 저자들은 처음으로 diffusion 모델에서 영향을 미치는 유사한 현상을 발견했다고 한다. [identifier]와 [class noun]을 포함하는 텍스트 프롬프트로 인해 확산 모델이 작은 주체 이미지 세트로 파인튜닝될 때, 동일한 클래스의 주체를 생성하는 방법을 점차 잊어가며 클래스별 사전 지식을 점차 잊어버리고 해당 클래스의 다른 인스턴스를 생성할 수 없게 됨을 관찰. 그림 13(가운데)은 "개"에 대한 모델 파인튜닝 후 생성된 일부 샘플 이미지를 보여준다. 결과에서는 모델이 단순한 파인튜닝으로 범용 개 이미지를 생성하는 능력을 상실함을 명확히 확인할 수 있다. 

 

Prior-Preservation Loss 

overfitting과 language drift 문제를 극복하기 위해 자체 생성된 샘플을 사용하여 autogenous class-specific prior-preserving loss를 제안한다. Few shot learning이 시작되면 모델이 우선 순위를 유지할 수 있도록 자체 생성된 샘플로 모델을 지도한다. 

랜덤 초기 노이즈
조건 벡터

이 두 가지를 사용하여 동결된 pretrained diffusion 모델에서 ancestral sampler(윈시 샘플러)를 사용하여

두가지를 사용하여 생성한 데이터

데이터를 생성함.

Loss

λ는 우선순위 보존 항의 상대적인 가중치 조절. 

 

그림 4에서 클래스별 생성된 샘플 및 우선순위 보존 로스로 모델의 파인튜닝 과정을 보여준다. 이 loss를 통해 오버피팅과 언어 변화 문제를 극복하는데 성공적으로 진행. 이 논문에서는 학습률이 10^-5인 ~200 에포크와 λ로 충분한 결과를 얻을 수 있다고 증명. 이 과정에서 N이 주제 데이터셋의 크기라면 ~200*N 개의 "a [class noun]" 샘플이 생성되며, 훈련 과정은 TPUv4 한개에서 약 15분 소요.(train image 3~5일때)

4.3 Personalized Instance-Specific Super-Resolution

 

그림 14. SR 모델을 파인튜닝하는 중 SR모델의 세밀조정을 통한 제거 실험. SR 모델을 훈련하기 위해 일반적인 수준의 노이즈 증강을 사용하면 high frequency 패턴이 흐릿하게 되는 반면, 파인튜닝을 하지 않으면 가공된 고주파 패턴이 발생한다. SR모델에 대해 낮은 수준의 노이즈 증강을 사용하면 샘플 품질과 주체의 fidelity가 향상된다.

T2I 확산 모델은 대부분의 시각적 의미를 제어하지만 SR 모델은 사실적인 콘텐츠를 구현하고 주체의 세부 사항을 보존하기 위해 필수적이다. SR 네트워크를 파인 튜닝없이 사용할 경우, 생성된 출력물에는 아티팩트가 포함될 수 있다. SR 모델은 주체 인스턴스의 특정 세부 표현이나 질감에 익숙하지 않을 수 있으며, 주체 인스턴스는 잘못된 특징을 환각시키거나 세부 사항을 누락할 수 있다. 그림 14(하단 행)는 SR 모델의 파인 튜닝 없이 생성된 샘플 출력 이미지를 보여준다. 모델은 일부 high frequency 디테일의 환각을 보여주는 경향이 있다. 대부분의 주체는 64*64 -> 256*256 파인튜닝은 필수적이고, 디테일이 높은 일부 주체 인스턴스들은 256*256 -> 1024*1024 파인튜닝이 도움이 될 수 있다.

 

Low-level Noise Augmentation

저자들은 [Photorealistic text-to-image diffusion models with deep language understanding] 라는 논문의 훈련 레시피와 테스트 파라미터를 사용하여 주체 인스턴스의 few shot을 파인튜닝하는 경우 결과가 최적이 아닌 것을 발견했다. 구체적으로, SR 네트워크를 훈련하는 데 사용된 원래의 노이즈 증강 수준을 유지하면 주체의 환경의 high frequency 패턴이 흐릿해진다. 샘플 생성 결과는 그림 14(중간 행)에서 확인할 수 있다. 주체 인스턴스를 충실히 재현하기 위해 256*256 모델의 파인튜닝 중 노이즈 증강 수준을 10^-3에서 10^-5로 줄인다. 이 작은 수정으로 주체 인스턴스의 세부 사항을 정확히 복원할 수 있다. 

 

5. Experiments

 

이 섹션에서는 응용 및 실험 평가를 보여줌. 저자는 주체 인스턴스의 많은 영역에 대한 잠재적인 텍스트 기반 semantic modification을 발견했다. 이는 색상 등 주체의 속성 수정, 동물 종의 조합과 같은 보다 복잡한 속성, 주체 인스턴스를 묘사한 예술작품, 그리고 시점 및 표현 수정 등을 포함한다. 중요한 것은 이러한 다양한 의미적 수정을 통해 이전에는 힘들던 몇가지 작업에서도 주체의 고유한 시각적 특징을 보존할 수 있다는 점이다. 재지정 작업의 경우 주체의 특징은 보존하지만 외관은 변경 될 수 있다  주체와 다른 종/객체의 교차 등과 같이 보다 강한 의미적 수정이 있는 작업의 경우 수정 후에도 특징이 보존된다. 이 섹션에선 [V]를 사용하여 주체의 고유한 식별자를 참조한다.

 

5.1 Applications

 

Recontextualization

사용자 정의된 모델 x^_세타를 사용하여 특정 주체 인스턴스에 대한 새로운 이미지를 생성할 수 있다. 이를 위해 훈련된 모델에 [V]와 클래스 명을 포함한 문장으로 프롬프트를 제공한다. 재지정 작업의 경우 일반적으로 다음과 같은 형식의 문장을 구성한다 : "a [V][클래스 명][컨텍스트 설명]".

ex : 주체 인스턴스가 시계인 경우

"a [V] clock on top of snow"와 같은 문장을 사용 > 유명한 랜드마크에 재지정 : "a [V] clock with the Eiffel Tower in the background". 이 능력의 예시는 그림 5에.

중요한 점은 배경 수정과 달리 새로운 자세와 구조, 이전에는 없던 장면 구성으로 주체를 생성할 수 있다는 점. 실제적인 그림자와 반사도 확인 가능. 이는 이 논문의 모델이 주체 세부 정보의 보간이나 복원 뿐 만 아니라 외삽에도 가능하다는 것을 보여줌. 

 

Art Renditions

"피터팬의 [V] [클래스 명]에 대한 [유명한 화가]스타일의 그림" 또는 "피터팬의 [V] [클래스 명]에 대한 [유명한 조각가]스타일의 조각" 이라는 프롬프트를 사용하여 주체 인스턴스의 독특한 예술적 표현을 생성할 수 잇다. 특히 이 작업은 다른 이미지의 스타일을 소스 장면에 이식하는 스타일 전이와 동일하지 않다. 대신, 예술적인 스타일에 따라 장면에서 의미있는 변화와 주체 인스턴스의 세부 정보 및 신원 보존을 얻을 수 있다. 그림 6에서 personalized된 모델의 원본 예시를 보여준다.  

Expression Manipulation

이 논문의 방법은 원본 주체 이미지 세트에서 보이지 않는 수정된 표현을 가진 주체의 새로운 이미지 생성을 가능케 한다. 그림 7에 예시 있음. 개의 독특함은 보존된다. 

Novel View Synthesis

주체인 고양이를 다양한 새로운 시점에서 렌더링 할 수 있다. 그림 8에서는 주체인 고양이의 실제 이미지를 보여주며, 새로운 이미지를 생성할 수 있다. 또한 이 특정 고양이의 뒷모습과 같은 사진이 없었음에도 불구하고 주체의 전면 이미지만으로 새로운 시점을 생성하기 위해 클래스의 선행지식(knowledge from the class prior)을 사용할 수 있다. 

Accessorization

생성 모델의 강력한 구성 선행지식으로부터 파생되는 기능 중 하나는 주체에 액세서리를 추가할 수 있다는 것이다. 그림 9에서는 차우차우 개의 액세서리화 예제를 보여준다. 입력은 "a [V] [class noun] wearing [accessory]".

Property Modification

주체 인스턴스의 속성 수정이 가능하다. 예를 들어 "a [color adjective] [V] [class noun]"와 같은 문장에서 색깔 형용사를 포함시킬 수 있다. 이렇게 하면 주체의 다른 색상으로 새로운 인스턴스를 생성할 수 있다. 그림 10의 첫번째 행에서는 차량의 색상 변화를 보여준다. 더 의미론적으로 복잡한 속성 수정을 보자면, 아래 행에서는 특정 차우차우 개와 다른 동물 종의 교차를 보여준다. 이 문장의 입력은 "a cross of a [V] dog and a [target species]". 특히 이 예에서는 종이 바뀌어도 개의 정체성이 뚜렷이 출력된다. 하지만 속성 수정은 다른 기능보다 어렵고, 기본 생성 모델의 선행 지식에 따라 달라진다.

 

5.2 Ablation Studies

 

Class-Prior Ablation

이 논문에서는 no class noun, wrong class noun, correct class noun의 결과를 보여준다. 그림 11에서 나옴.wrong class의 선행 지식은 엉키고, 이러한 방식으로 모델을 훈련시키면 주체의 새로운 이미지를 생성할 수 없다. 더 오랜 시간을 투자하면 클래스 명사 "개"의 선행 지식을 해제할 수 는 있지만, 개를 생성하는 능력을 잃어버리며 결과적으로는 성능이 저하된다. no class noun인 경우 모델은 주체 인스턴스 학습부터 어려움을 겪고 클래스 선행 지식은 쉽게 엉키지 않는다. 모델 수렴 시간이 더 오래 걸리고 잘못된 샘플을 생성할 수 있다. 

 

Prior Preservation Loss Ablation

이 논문에서 제안한 loss는 강력한 정규화 효과를 발휘한다. 순수하게 파인튜닝된 네트워크는 주체 이미지의 소규모 집합에 빠르게 과적합될 수 있다. 이 현상을 탐구하기 위해 저자는 두 개의 모델은 200 에포크 동안 훈련시켰는데, 하나는 나이브한 파인튜닝을 사용한 모델(즉 식 1의 로스 사용), 하나는 식 2에 나타낸 이 논문의 선행 지식 보존 손실을 사용한 모델이다. 그림 12에서 다양한 문맥 캡션에 대한 결과를 보여준다. 저자들의 loss 정규화 효과로 인해 주체의 더 다양한 포즈를 포착하고, 충실도도 유지한다.중요한 점은 나이브한 파인튜닝 모델의 경우 훈련 이미지와 유사한 이미지를 출력하지만 이 논문의 loss 방법을 사용하면 그런 현상을 피할 수 있음.  

또한 섹션 4.2에서 설명한 선행 지식 보존 로스가 어떻게 모델의 변동성을 보존하는지 평가하고 그림 13에서 샘플 결과를 보여준다. 나이브하게 파인튜닝된 모델은 language drift를 보이며 "개"라는 프롬프트로 주체 개를 생성한다. 이 논문에서 제안된 로스는 선행 지식의 변동성을 보존하며, "개"라는 프롬프트로 주체 개의 새로운 인스턴스를 생성할 수 있는 동시에 "개"라는 프롬프트로 다양한 종류의 개를 생성할 수 있다.

Super Resolution with Low-Noise Forward Diffusion

그림 14에서는 초고해상도 모델을 파인 튜닝하지 않은 경우, 주체에 대한 고주파 패턴의 환각을 관찰할 수 있으며, 이는 신원 보존에 해를 가한다. 더 나아가 imagen 256*256 모델의 훈련에 사용된 실제 노이즈 증가 수준(10^-3)을 사용하는 경우, 흐릿하고 선명하지 않은 세부 사항을 얻는다. 그래서 SR 모델의 훈련에 사용된 노이즈를 10^-5로 줄이면 패턴 환각이나 흐림 없이 세부사항을 많이 보존할 수 있다. 

 

5.3 Comparisons

 

그림 15에서 이 논문의 결과를 최근에 동시에 진행된 [An image is worth one word : Textual inversion 논문]연구와 비교한다. 이 비교를 위해 Textual inversion 논문에서 제공한 티저 이미지에 등장하는 두 개체(머리 없는 조각상과 고양이 장난감)의 훈련 이미지로 이 논문의 모델을 훈련시키고, textual inversion에서 제안된 프롬프트를 적용한다. 여러개의 생성 이미지가 제시된 프롬프트의 경우 최상의 샘플(이미지 품질과 주제와의 형태 유사성이 가장 높은)을 수작업으로 선택한다. 이 논문의 작업은 주제 identity를 보존하는데 중점을 두어 해당 독특한 객체의 동일한 의미 변형을 생성할 수 있음을 발견했다. 예를 들어 보존된 고양이 조각상의 상세한 패턴을 볼 수 있다. Textual inversion 모델의 경우 Stable Diffusion모델에서 구현되었기 때문에 비교가 공정하지 않을 수도 있지만, 두가지 접근 방식의 주요한 기술적 차이점은 이 논문의 접근 바익은 주제를 모델의 출력 도메인 내에 포함하는 반면, Textual inversion은 원래 모델의 표현 능력에 의해 제한되고 고정되어있다는 점이다. TI는 주제와 관련된 다양한 속성의 합성에 초점을 맞추기 때문에 드림 부스의 주요 목표와는 다르다. 

다음으로 Dreambooth와 Imagen, DALLE-2의 공개 API를 사용하여 시계라는 주제의 재문맥화를 비교한다. 두 모델 모두를 사용하여 작업한 결과 기본 프롬프트로는 "래트로 스타일의 노란색 알람 시계로 시계 얼굴에 흰색 시계판과 시계판 우측 하단에 노란색 숫자 3이 있는"을 지정했다. DALL-E2와 Imagen은 레트로 스타일의 노란색 알람 시계를 생성은 하지만, 시계판 숫자와는 구분되는 숫자 3을 표현하는게 힘들었다. Dreambooth는 시계의 모양, 시계판 폰트, 시계판의 숫자 등과 같은 다양한 상세 정보를 보존하는 결과가 그림 16에 있다.

 

5.4 Limitations

 

Dreambooth에는 몇 가지 제한 사항이 있는데, 이를 그림 17에서 주요 세 가지를 보여준다.

첫 번째는 원하는 문맥을 정확하게 생성하지 못하는 것이다. 예를 들어 그림 17에서 "ISS에서 [V] 배낭" 및 "달 위의 [V] 배낭"으로 모델에 프롬프트를 제공하였지마 원하는 문맥을 생성하지 못하였다. 추측되는 이유로는 생성 모델이 이러한 문맥에 대한 사전을 가지고 있지 않거나, 주제와 문맥을 함께 표현하는 것이 어려운 작업이기 때문일 것이다.

두 번째 실패는 문맥과 외관이 얽혀잇는 경우로, 프롬프트된 문맥으로 인해 주제의 외관이 변형되는 것을 뜻한다. "볼리비아 소금 평원에서 [V] 배낭" 과 같은 원하는 문맥이 드물거나 문맥의 색상과 주제의 색상이 얽혀있는 경우 "파란 천 위의 [V]배낭" 예시가 나타난다.

세 번째로 주어진 프롬프트가 주제가 관찰된 원래 설정과 유사한 경우 오버피팅 문제가 존재한다.

또다른 한계로는 일부 주제가 다른 것들보다 훨씬 쉽게 학습된다는 점이다. 예를 들어 모델은 개와 고양이에 대해선 강력한 dictionary를 가지고 있고 많은 다양성을 학습한다. 하지만 가끔 드물거나 복잡한 주제의 경우 많은 변화를 지원하지 못하고, 주제의 충실도에도 변동성이 있다. 

 

6. Conclusions

 

Dreambooth는 주어진 주제의 몇장의 이미지를 사용하여 새로운 해석을 합성하는 방법을 제안했다. 주요 아이디어는 고유한 식별자에 주제 인스턴스를 바인딩하여 T2I 확산 모델의 출력 도메인에 주어진 주제 인스턴스를 임베딩하는 것이다. 사회적 영향력으로는 사용자가 악의적인 이미지를 사용할 수 있다는 우려가 존재한다.