논문 링크: https://arxiv.org/pdf/2308.06721
1. Introduction
- 배경 및 문제점
- 최근 GLIDE, DALL-E 2, Imagen, Stable Diffusion(SD), eDiff-I, RAPHAEL 등의 대형 텍스트-이미지 확산 모델(Diffusion Model)이 강력한 생성 능력을 보임.
- 하지만 텍스트 프롬프트만으로 원하는 이미지를 생성하는 것은 어렵고 복잡한 프롬프트 엔지니어링(Prompt Engineering)이 필요.
- 텍스트는 복잡한 장면이나 개념을 표현하는 데 한계가 있음.
- 이미지 프롬프트(Image Prompt)는 더 직관적이면서도 풍부한 정보를 제공할 수 있음.
- 기존 연구의 한계
- DALL-E 2는 이미지 프롬프트를 지원하지만, 사전 모델을 필요로 하고 대부분의 텍스트 기반 확산 모델에서는 직접 지원되지 않음.
- SD Image Variations, Stable unCLIP 등의 방법은 텍스트-이미지 모델을 이미지 임베딩 기반으로 미세 조정(Fine-tuning).
- 하지만 이러한 접근법은:
- 텍스트 기반 생성 능력을 제거하고, 높은 연산 비용이 필요.
- 기존의 ControlNet과 같은 구조 제어 도구와 호환되지 않음.
- IP-Adapter 제안
- 기존 확산 모델을 수정하지 않으면서 이미지 프롬프트 기능을 추가하는 경량화된 어댑터(Adapter) 제안.
- Decoupled Cross-Attention 메커니즘 도입 → 텍스트와 이미지 특징을 개별적인 Cross-Attention Layer에서 학습.
- IP-Adapter(22M 파라미터)만으로도 전체 모델을 Fine-tuning한 수준의 성능 달성.
- 원래의 텍스트-이미지 모델을 유지하면서도 이미지 프롬프트를 지원 → 텍스트+이미지의 멀티모달 이미지 생성 가능.
2. Related Work
2.1 텍스트-이미지 확산 모델(Text-to-Image Diffusion Models)
- 초기 모델: DALL-E, CogView, Make-A-Scene → Auto-regressive 방식.
- 최근 주류 모델: 확산 모델(Diffusion Models) 기반 모델
- GLIDE, DALL-E 2, Imagen, Stable Diffusion(SD), eDiff-I, RAPHAEL.
- 텍스트 특징을 CLIP 기반의 텍스트 인코더로 추출하여 이미지 생성을 유도.
- 이미지 프롬프트 지원 문제
- DALL-E 2는 이미지 프롬프트를 지원하지만, 텍스트-이미지 모델과 구조적으로 다름.
- SD Image Variations, Stable unCLIP은 기존 SD 모델을 Fine-tuning하여 이미지 임베딩을 활용하지만, 연산 비용이 크고 기존 도구와 호환되지 않음.
2.2 대형 모델을 위한 어댑터 연구(Adapters for Large Models)
- NLP에서 어댑터는 소수의 파라미터만 학습하면서도 원래 모델을 유지하는 방식으로 발전.
- ControlNet, T2I-Adapter 등은 구조 제어(Sketch, Depth map, Segmentation 등)를 활용하여 추가적인 제어 기능을 제공.
- 기존 어댑터 방식의 한계:
- 텍스트 특징과 이미지 특징을 단순히 결합하여 사용 → 이미지의 세부 정보를 온전히 반영하지 못함.
- Fine-tuning한 모델보다 생성 품질이 떨어짐.
- 이미지 프롬프트만 지원하며, 텍스트와의 멀티모달 결합이 불가능.
3. Method
3.1 Diffusion Models 개요
- 확산 모델(Diffusion Model)은 Forward Diffusion(노이즈 추가) + Reverse Denoising(이미지 생성) 과정으로 구성.
- 일반적인 확산 모델의 손실 함수: $$L_{\text{simple}} = E_{x_0, \epsilon, t} \| \epsilon - \epsilon_{\theta} (x_t, c, t) \|^2$$
- $$x_t = \alpha_t x_0 + \sigma_t \epsilon$$ : 시간 $t$에서의 노이즈 데이터.
- cc : 텍스트 또는 이미지 조건(condition).
- Classifier-Free Guidance를 사용하여 이미지-텍스트 정렬 성능 향상.
3.2 Image Prompt Adapter
(1) 이미지 인코더 (Image Encoder)
- CLIP 이미지 인코더(OpenCLIP ViT-H/14) 활용 → 이미지 프롬프트를 CLIP 이미지 임베딩으로 변환.
- 작은 투영 네트워크(Projection Network) 추가 → 이미지 임베딩을 UNet의 특징 공간과 동일한 차원으로 변환.
(2) 분리된 크로스 어텐션 (Decoupled Cross-Attention)
- 기존 방법의 문제:
- 이미지 특징과 텍스트 특징을 결합하여 기존 Cross-Attention에 입력 → 이미지 세부 정보 반영이 어려움.
- IP-Adapter의 해결책:
- 기존 UNet의 크로스 어텐션을 그대로 유지.
- 이미지 전용 Cross-Attention Layer 추가 → 이미지와 텍스트를 별도로 처리.
- 최종적으로 두 개의 어텐션 출력을 합산: $$Z_{\text{new}} = \text{Softmax} \left( \frac{QK^T}{\sqrt{d}} \right) V + \lambda \cdot \text{Softmax} \left( \frac{QK'^T}{\sqrt{d}} \right) V'$$
- λ\lambda 조절을 통해 이미지 프롬프트의 가중치 조정 가능.
(3) 훈련 및 추론
- 훈련 시 원래 확산 모델은 Freeze하고 IP-Adapter만 학습.
- Classifier-Free Guidance 적용하여 이미지 프롬프트와 텍스트 프롬프트 조합 가능.
- 추론 시 λ\lambda 값을 조절하여 텍스트/이미지 프롬프트의 영향 비율 조정.
4. Experiments
4.1 실험 설정
- 훈련 데이터: LAION-2B, COYO-700M에서 1천만 개의 텍스트-이미지 페어 데이터 활용.
- 모델 구조: Stable Diffusion v1.5 기반, IP-Adapter는 22M 파라미터.
- 훈련 환경: 8 V100 GPU, 100만 스텝 학습, AdamW (lr=0.0001, weight_decay=0.01).
4.2 기존 방법과 비교
방법 | 파라미터 수 | CLIP-T ↑ | CLIP-I ↑ |
SD Image Variations | 860M | 0.548 | 0.760 |
Uni-ControlNet | 47M | 0.506 | 0.736 |
IP-Adapter | 22M | 0.588 | 0.828 |
- Fine-tuning한 모델에 근접하는 성능을 22M의 경량 모델로 달성.
- ControlNet 등과 함께 활용 가능 → 구조 제어 및 스타일 조정 지원.
5. Conclusion
- IP-Adapter는 기존 텍스트-이미지 모델을 유지하면서 이미지 프롬프트를 추가하는 경량 솔루션.
- 텍스트 프롬프트와 조합하여 멀티모달 이미지 생성 가능.
- Fine-tuning 없이 ControlNet, T2I-Adapter 등과 결합 가능 → 활용성이 뛰어남.