꾸준하게

[논문리뷰] CLoRA: A Contrastive Approach to Compose Multiple LoRA Models 본문

논문 리뷰

[논문리뷰] CLoRA: A Contrastive Approach to Compose Multiple LoRA Models

yeonsikc 2024. 5. 17. 14:28

arxiv paper page
Tuna Han Salih Meral, Enis Simsar, Federico Tombari, Pinar Yanardag
Virginia Tech, ETH Zürich, TUM, Google
28 Mar 2024

Abstract

LoRA는 이미지 생성 분야에서 효율적이고 대중적인 기술로 자리잡고있다. 기존 pre-trained 모델에 adapter 형식으로 간단하게 연결하여 효율적인 학습을 할 수 있기 때문이다. 그러나 하나의 이미지 생성에 여러 LoRA를 동시에 사용하여 다양한 스타일을 모두 그대로 녹이는 것은 어렵다. 이는 서로다른 LoRA 모델들 속의 Attention 메커니즘이 겹치기 때문인데, 예를들어 `iom dog and zsd cat`이라고 프롬프트를 입력했을 때 iom dog만 2개 나오거나 iom과 zsd 스타일이 섞인 dog가 나올 수 있는것이다. 저자는 이를 해결하기 위해 CLoRA를 제안하였으며 이는 여러 LoRA 모델의 attention 맵을 업데이트하고 이를 활용하여 latent representation의 융합을 용이하게 하는 semantic mask를 생성함으로써 문제를 해결한다.

 

Introduction

여러 LoRA 모델을 병합하여 복합 이미지를 생성하는 것은 어려운 상황이다. (위 그림 참고) 예를 들어, 병합된 LoRA 중에서 해당 스타일이 반영되지 않을 수 있다. 이를 해결하기 위한 이전 연구 중, 여러 LoRA 모델을 merge하기 위해 coefficient matrices 학습을 진행한 것이 있었으나 수용력에 의해 1) 하나의 콘텐츠와 하나의 스타일을 병합하는 것에 제한되고 2) LoRA의 개수만큼 merging process가 늘어난다는 퍼포먼스적 이슈가 존재한다고 한다. 이외에도 Mix-of-Show 방법의 경우, embedding-decomposed LoRAs (EDLoRAs)를 별도로 학습해야하는 조건이 발생한다.

 

여기에서 L1, L2는 'iom'과 같은 instant token이다.

 

본 논문에서 제안하는 방법은 이전 연구들과 달리 새로운 모델을 학습할 필요 없이, test time 시에만 LoRA들을 병합하면 된다. 이 방법은 LoRA weight를 그대로 유지하면서 적절한 LoRA 모델을 이미지의 정확한 영역으로  효과적으로 가이드하기 위해 테스트 시간 동안 latent update를 통해 attention map을 조정하는 것을 포함한다. 저자는 다음과 같은 새로운 관찰에서 영감을 받았다고 한다 :  " 이전에 이미지 생성에서 언급된 'attention overlap' 및 'attribute binding' 문제는 LoRA 모델에도 존재한다."

 

'attention overlap'은 특화된 LoRA 모델이 이미지 내의 유사한 특징 또는 영역에 중복적으로 초점을 맞출 때 발생한다고 한다. 이 문제로 인해, 하나의 LoRA가 너무 우세하여 균형 잡힌 표현을 희생시키면서 생성 프로세스를 특정 속성이나 스타일로 왜곡시키는 지배적인 문제로 이어질 수 있다. (위 그림 참고)

'attribute binding'은 여러 콘텐츠 LoRA들을 포함한 시나리오에서 발생한다. 예를들어, 각 LoRA 모델들이 그룹 특성에서 다른 각각의 특성에 초점을 맞추는 경우, attribute binding은 한 개인의 특성이 이미지를 지배할 위험이 있을 뿐만 아니라 다른 사람을 표현하기 위한 특성이 불분명하게 혼합되는 상황을 초래할 수 있다. (위 그림 참고)

 

본 논문에서 제안하는 새로운 Framework인 CLoRA는 위 문제들을 해결하며 여러 LoRA를 효과적으로 결합하는 것으로, 저자의 Contribution은 아래와 같다.

 

  • 여러 콘텐츠와 스타일 LoRA를 동시에 통합할 수 있는 contrastive learning 기반의 새로운 접근 방식을 제시하였다.
  • 이전의 방법들과 달리, 별도의 LoRA 변종이나 추가적인 학습이 필요없으며, Civit.ai와 같은 커뮤니티에 있는 LoRA를 plug-and-play 방식으로 바로 쓸 수 있다. 또한, 여러 LoRA 모델을 결합하여 이미지를 생성하는데 1분이 소요된다고 한다.
  • 테스트 시점에 attention map에 따라 latent를 업데이트하고 여러 latent를 서로 다른 LoRA 모델에 해당하는 cross-attention map을 사용하여 생성된 mask와 융합함으로써 강화된 LoRA 이미지 생성 모델 내에서 attention overlap 및 attribute binding을 구체적으로 다루는 최초의 종합적인 시도이다.

Related work

충실성(Fidelity) 향상을 위한 Attention-based 방법

일반적인 T2I 생성에서 입력 프롬프트에 대한 충실도를 보장하는데 어려움이 있다. 예를들어, 프롬프트에 여러 형용사 또는 밀접하게 관련된 개념(동음이의어)가 있는 경우 모델은 특정 이미지 영역에 미치는 영향을 구별하는데 어려움을 겪을 수 있다. 그 결과, 생성된 이미지는 흐릿하거나 일관되지 않을 수 있다. 이를 해결하기 위해 다양한 attention 기반의 방법들이 연구되어왔다. ComposableDiffusion은 사용자가 결합 연산자와 부정 연산자를 통해 개념 조합을 제어할 수 있도록 하였다. 유사하게, StructureDiffusion segment는 명사구로 프롬프트되어, 별개의 객체에 대한 보다 표적화된 attention 분포를 용이하게 한다.  이외에도, attention 제어를 기반으로 공간 레이아웃 예측기를 통합하는 연구도 진행된 바 있다.

 

개인화된 이미지 생성

이미지 기반 Style transfer는 긴 역사를 갖고있다. GAN 방식은 최근 one-shot stylization도 가능하지만 특정 도메인에 국한되거나 텍스트 기반 제어가 불가하다는 한계점이 있다. 이에반해 Diffusion 계열 모델의 경우, 우수한 성능과 텍스트 제어까지 가능하다는 장점이 있다. 하지만 one-shot example-based stylization은 아직 도전 과제로 남아있다.

 

여러 LoRA 모델 결합

스타일 및 주체 제어를 위한 LoRA의 결합은 아직y 뚜렷한 결과가 나오지 않은 상황이다. 단순한 가중치 합산을 통한 결합은 원하는 이미지를 생성하기에 제한된다. 이외에도 다양한 연구들이 있긴 하지만 별도의 LoRA 모델을 재학습하거나 커뮤니티 상의 LoRA를 바로 사용할 수 없는 방법들이다.

 

Methodology

본 섹션에서는 diffusion 모델의 기초부터해서 fine-tuning 방법, LoRA, 본 논문의 구체적인 방법에 대해 다루지만 기초적인 내용은 생략하고 본 논문의 메인이 되는 부분 위주로 정리하겠다.

 

Attention

text token이 CLIP을 통과해 생성된 임베딩은 cross-attention의 Query, Value 부분에 들어가고 latent map이 Key로 들어간다. Attention Shape은 R^{h \times w \times l}이고 h,w는 latent resolution이고 l은 text embedding의 sequence length이다. attention resolution은 {16*16, 32*32, 64*64} 해상도에서 이루어지지만 본 연구에서는 가장 유의미한 {16*16} 부분에 초점을 맞추었다. 

 

CLoRA

 

프롬프트 예시

  • 원본 프롬프트 : a woman with an umbrella
  • L1 LoRA 적용 프롬프트 : an L1 woman with an umbrella
  • L2 LoRA 적용 프롬프트 : a woman with an L2 umbrella

Guiding Diffusion with Attention Maps

저자는 위에서 언급된 플모프트에서 각 컨셉( woman , umbrella)들을 그룹화하였다.

  • Woman 컨셉 그룹
    • 원본 프롬프트의 woman
    • L1 LoRA 적용 프롬프트의 L1, woman
    • L2 LoRA 적용 프롬프트의 woman
  • Umbrella 컨셉 그룹
    • 원본 프롬프트의 umbrella
    • L1 LoRA 적용 프롬프트의 umbrella
    • L2 LoRA 적용 프롬프트의 L2, umbrella

이러한 그룹화를 통해 diffusion 프로세스는 모든 프롬프트에서 동일한 개념(woman or umbrella)에 대한 attention을 동시에 고려한다. 이는 모델이 LoRA 모델(L1 , L2)에 의해 정의된 스타일 변형을 통합하면서 각 객체에 대한 전반적인 개념을 이해하는데 도움이 된다. 이는 또한 다른 그룹이 같은 위치에 생성되는 것을 막는데, 예를들어 woman에 대한 attention과 umbrella의 attention이 겹치지 않게 한다. (위 그림 참고)

 

Contrastive Learning for Fidelty

저자는 이미지 생성 시 입력 프롬프트의 충실도를 높이기 위해 inference 때 contrastive learning을 사용하였으, contrastive objective는 이전 방법들 중에서 빠르게 수렴 가능한 InfoNCE loss를 사용하였다. 이는 cross-attention 맵 pair에서 작동한다. 같은 그룹끼리는 positive로, 다른 그룹간에는 negative로 label된다. 

최종적으로 모든 positive pair들에 대해 위 Loss를 계산하고, 그것들의 평균을 사용한다.

 

Optimization

latent representation은 위 식에 의해 업데이트된다.

 

Masking Latents

Diffusion 프로세스에서 한 번의 backward step이 이루어진 후, SD에 의해 생성된 latent representations를 LoRA 모델의 표현과 결합한다. 이러한 latent를 직접 결합하는 것도 가능하지만, 저자는 LoRA가 관련 이미지 영역에만 영향을 미칠 수 있도록 하기 위해 마스킹 메커니즘을 도입하였다고 한다. 이는 각 관련 토큰에 대한 attention 맵에 임계값을 적용하여 바이너리 마스크를 만든 다음에 조합 작업을 사용하여 이를 결합한다.

 

위에서 언급된 예시 'an L1 woman with an L2 umbrella'를 위해 L1 LoRA의 'an L1 woman with umbrella'에서 L1, woman 토큰을 사용하고 'a woman with a L2 umbrella'에서 L2, umbrella 토큰을 사용한다. 이후, attention 맵은 다음과 같이 threshold를 적용하여 만들어진다.

  1. attention 맵은 각 LoRA모델을 통과한 각 토큰의 attention 맵을 가져온다. L2
  2. attention 맵 중 가장 큰 값의 일정 비율을 넘는 값들을 1, 아니면 0으로 설정한다.
  3. 한 LoRA에 기여하는 토큰이 여러개일 수 있기 때문에(예 : L1의 경우, ' woman ', ' L1 woman ', 개별 마스크에 대한 조합 작업을 수행한다. 이를 통해 토큰 중 하나에서 attention을 받는 모든 영역이 해당 LoRA의 최종 mask에 포함된다.

 

Experiments

Dataset

여러 LoRA를 병합하는 것에 대한 벤치마크가 없기 때문에 저자는 이를 위한 벤치마크 셋부터 정의하였다. Custom Concept(Multi-Concept Customization of Text-to-Image Diffusion) 데이터를 사용하였으며 각기 다른 콘텐츠와 스타일을 담은 다양한 프롬프트가 있는 50여개의 LoRA를 학습했다.

Experimental Setup

  • seed : prompt당 서로다른 10개의 seed 사용
  • step : SD1.5 모델에서 50step 사용
  • backward step : i = {0, 10, 20}.
    • 25 이후부터는 원하지 않는 아티팩트 생성을 억제하기 위해 최적화 중지
  • contrastive learning temperature t = 0.5
  • GPU : v100

CLoRA : 2개의 콘텐츠 + 3개의 스타일

이전 연구들과의 정성적 품질 비교

정량적 품질 비교

Average, Minimum/Maximum DINO image-image similarities 및 User Study 평가 결과

* User Study : 50명에게 각 방법별 4장의 이미지를 제시하고 1점부터 5점까지의 리커트 척도로 평가를 요청한 결과

Ablation Study

  • Latent Update : attention이 특정 컨셉에 집중할 수 있도록 도우며 관련없는 영역에 영향력을 행사하지 않게 함. 이를 적용하지 않으면  생성 이미지에 1cat and 1dog 대신 2dogs가 나올 수 있음
  • Latent Masking : 주요 피사체의 정체성을 보호하는 것으로, 이를 적용하지 않으면 모든 픽셀이 모든 프롬프트에 영향을 받게 된다.

Limitation

  1. 합성 결과가 LoRA 모델의 품질에 영향을 받는다.
  2. 여러 LoRA 모델을 동시에 통합하고 최적화하는데 수반되는 잠재적인 계산 복잡도가 높다. 이는 이미지 생성을 시간 및 리소스 요구 사항 측면에서 문제를 일으킬 수 있다.