-
- 논문 링크: https://arxiv.org/pdf/2308.06721
- 깃허브: https://github.com/tencent-ailab/IP-Adapter
- 프로젝트 페이지: https://ip-adapter.github.io/
0. Abstract
- 최근 text-to-image 확산 모델 (diffusion model)은 고품질의 이미지 생성에 강력한 생성 성능을 보임
- 그러나 텍스트 프롬프트만으로는 원하는 이미지를 생성하기가 매우 어려우며 종종 복잡한 프롬프트 엔지니어링을 요구
- 이에 따라 텍스트 프롬프트 대신 이미지 프롬프트를 사용하는 것을 생각할 수 있음 → 천개의 단어보다 하나의 이미지가 더 좋다!
- 기존의 기법: 사전학습 된 모델을 직접적으로 파인튜닝 → 효율적이지만 많은 계산 자원이 필요하며 다른 기반 모델, 텍스트 프롬프트, 구조적 제어와 호환되지 않음
- 본 논문에서 제안하는 기법 → IP-Adapter
- 효율적이면서도 가벼운 어댑터를 사용 → 사전학습 된 text-to-image 확산 모델을 위한 이미지 프롬프트 사용 가능
- 핵심 디자인
- 분리된 크로스 어텐션 구조 (Decoupled Cross-attention mechanism): 텍스트 피쳐 (features)와 이미지 피쳐에 대해 분리된 크로스 어텐션 층 사용
- 이미지 프롬프트가 텍스트 프롬프트와 함께 잘 적용되며 이를 통해 멀티모달 이미지 생성이 가능
- IP-Adapter는 오직 22M의 파라미터만 사용하여 이미지 프롬프트 모델을 완전히 파인튜닝 한 것과 유사하거나 더 나은 성능을 보임
- 사전학습 된 확산 모델을 고정 (freeze)하므로 제안된 IP-Adapter는 동일한 기반 모델로 파인튜닝 된 다른 커스텀 모델에도 일반화하여 사용할 수 있을 뿐 아니라 기존의 제어 가능한 도구들을 통해 제어 가능한 (controllable) 생성을 수행할 수 있음
1. Introduction
- 최근 text-to-image 확산 모델의 성능이 크게 향상되면서 사용자들은 텍스트 프롬프트를 사용하여 이미지를 생성할 수 있게 됨
- 기존 text-to-image 확산 모델의 문제점
- 딱 원하는 이미지를 생성하기 위해 좋은 텍스트 프롬프트는 작성하는 것은 어려움! → 복잡한 프롬프트 엔지니어링 필요
- 복잡한 장면이나 컨셉을 설명하기에 글은 충분히 정보를 제공하지 못함
- 이를 해결하기 위한 방법은?? → 이미지 자체를 프롬프트를 사용하는 것! (하나의 이미지가 천개의 단어보다 낫다!)
- 하지만 기존의 text-to-image 확산 모델들은 이미지 생성을 위해 텍스트를 입력으로 사용하도록 학습되어있음 → SD 모델의 경우 고정된 CLIP 텍스트 인코더로부터 추출된 텍스트 피쳐를 기반으로 이미지 생성
- 본 논문에서는 간단한 방법으로 text-to-image 확산 모델들에 이미지 프롬프트를 기반으로 생성을 수행할 수 있는 방법을 연구
- 기존의 SD 변형 모델들이나 Stable Unclip 등은 텍스트 기반 확산 모델들을 이미지 임베딩에 대해 파인튜닝하여 이미지 프롬프트 처리 능력을 달성
- 하지만 해당 접근은 다음과 같은 단점들을 가짐
- 기존의 텍스트를 사용한 이미지 생성 능력을 훼손하며 파인튜닝 수행시 큰 연산 자원 필요
- 파인튜닝 모델들은 재사용 불가 → 동일한 text-to-image 기반 모델로부터 얻어진 다른 커스텀 모델로 직접적인 전이 불가
- 새로운 모델들은 기존 제어 도구들 (ex. ControlNet)과 호환되지 않는 경우가 있음
- 하지만 해당 접근은 다음과 같은 단점들을 가짐
- 이에 따라 텍스트 인코더를 이미지 인코더로 대체하여 확산 모델의 파인튜닝을 피하는 접근도 있었음
- 해당 접근의 단점
- 오직 이미지 프롬프트만 지원되므로 텍스트와 이미지 프롬프트를 동시에 사용하여 이미지를 생성하지 못함
- 단지 이미지 인코더를 파인튜닝하는 것은 때로 이미지 품질을 보장할 수 없고 일반화 이슈가 발생할 수 있음
- 해당 접근의 단점
- 다른 이미지의 스타일이나 내용을 참조하여 이미지를 생성하는 기존의 방법 → simple 어댑터
- 예시: T2I-adapter의 스타일 어댑터, Uni-ControlNet의 global controller
- 이를 위해 CLIP의 이미지 인코더를 통해 추출된 이미지 피쳐를 학습 가능한 네트워크에 통과시켜 새로운 피쳐로 맵핑하고 이를 텍스트 피쳐와 연결 (concatenate)하는 방식을 사용
- 기존의 텍스트 피쳐를 해당 연결된 피쳐로 변경하여 확산 모델의 UNet에 입력하고 이미지 생성을 가이드
- 이런 simple 어댑터를 사용하면 이미지 프롬프트를 사용하는 능력을 가진것처럼 보이지만 생성된 이미지는 프롬프트로 사용된 이미지의 오직 부분만 반영 → 해당 결과는 파인튜닝 이미지 프롬프트 모델이나 처음부터 학습된 모델에 비해 나쁜 성능을 보이는 경우들이 종종 있음
- 본 논문에서는 기존 기법들의 가장 큰 문제가 text-to-image 확산 모델의 크로스 어텐션 (cross-attention) 모듈이라고 주장
- 사전학습된 확산 모델 내부의 크로스 어텐션 층의 key와 value에 대한 투영 (projection) 가중치들은 텍스트 피쳐에 대해 학습된 것
- 이에 따라 이미지 피쳐와 텍스트 피쳐를 병합하여 크로스 어텐션 층에 적용하는 것은 이미지 피쳐를 텍스트 피쳐에 align 하는 것은 달성할 수 있지만 이미지에 대한 구체적 정보를 상실하고 참조 이미지에 대해 오직 큰 범위의 제어 가능한 생성 (e.g. 이미지 스타일)만 가능하도록 함
- 이에 따라 본 논문에서는 더욱 효율적인 이미지 프롬프트 어댑터인 IP-Adapter를 제안하여 기존 기법들의 단점을 극복
- IP-Adapter는 텍스트 피쳐와 이미지 피쳐에 대해 분리된 크로스 어텐션 기법 (Decoupled Cross-Attention Mechanism)을 제안
- 확산 모델의 UNet 내부의 모든 크로스 어텐션 층에 이미지 피쳐만을 위한 추가적인 크로스 어텐션 층을 더함
- 학습 단계에서는 새로운 크로스 어텐션 층만 학습하고 기존의 UNet 모델의 파라미터는 고정 → 이에 따라 가볍고 효율적인 학습 가능 (22M 파라미터)
- IP-Adapter는 일반화 능력이나 텍스트 프롬프트와의 호환에 있어서도 좋은 성능을 보임
- 그림 1과 같이 다양한 이미지 생성 문제를 달성
- 본 논문의 contribution
- 기존의 text-to-image 확산 모델에 분리된 크로스 어텐션 전략을 사용한 가벼운 이미지 프롬프트 어댑터를 제안 → IP-Adapter
- 22M 파라미터만을 학습하지만 완전 파인튜닝된 모델과 유사하거나 더 나은 성능을 보임
- 재사용이 가능하고 유연한 모델 → 동일한 기반 확산 모델로 파인튜닝 된 커스텀 모델로 일반화가 가능하며 ControlNet과 같은 제어 모델과도 호환됨
- 분리된 크로스 어텐션 전략 때문에 이미지 프롬프트와 텍스트 프롬프트가 호환되며 멀티모달 이미지 생성을 가능하게 함
2. Method
2.1. Preliminaries
- 확산 모델은 2 단계로 구성된 생성 모델
- 확산 과정 (forward process)
- T 스텝의 고정된 Markov chain을 사용하여 데이터에 점진적으로 가우시안 노이즈 추가
- 디노이징 과정
- 학습 가능한 모델을 이용하여 가우시안 노이즈로부터 샘플을 생성
- 텍스트 정보와 같은 다른 정보들을 조건으로 설정할 수 있음
- 확산 과정 (forward process)
- 일반적으로 확산 모델의 목적함수는 다음과 같음
-
- $\epsilon$: variational bound의 단순화된 변형으로 노이즈를 예측
- $x_0$:실제 데이터
- $c$: 추가적인 조건
- $t \in [0, T]$: 확산 과정의 타임 스텝
- $x_t = \alpha_t x_0 + \sigma_t \epsilon$: t 스텝의 노이지 데이터, $\alpha_t, \sigma_t$는 확산 과정에서 사전에 정의된 함수
-
- 모델 $\epsilon_0$가 학습되면 순차적인 과정으로 랜덤 노이즈로부터 이미지를 생성할 수 있음
- 일반적으로 추론 과정에서는 생성 속도 향상을 위해 DDIM, PNDM, DPM-Solver와 같이 빠른 샘플러들이 사용됨
- 조건을 사용하는 확산 모델에서는 독립적으로 학습된 분류기의 기울기 (gradients)를 사용하는 classifier guidance가 이미지의 품질과 샘플의 다양성 사이에서 균형을 잡을 수 있는 직관적인 기법
- 독립적으로 분류기를 학습할 필요성을 없애기 위해 classifier-free guidance는 종종 대체 기법을 사용
- 조건과 조건이 적용되지 않은 확산 모델이 동시에 학습되며 학습 동안 $c$를 랜덤하게 제외
- 샘플링 단계에서 예측된 노이즈는 조건부 모델 $\epsilon_{\theta} (x_t, c, t)$와 비조건부 모델 $\epsilon_{\theta}(x_t, t)$ 모두에 대한 예측을 기반으로 계산됨
-
- $w$는 guidance 스케일 혹은 가중치로 조건 $c$와 align을 조절하는 스칼라 값
- text-to-image 확산 모델에서 classifier-free guidance는 생성된 샘플의 이미지-텍스트 alignment를 향상하는 중요한 역할을 수행
- 본 논문에서는 오픈소스 SD 모델을 IP-Adapter 구현의 기반 모델로 사용
- SD는 고정된 CLIP 텍스트 인코더로부터 추출된 텍스트 피쳐를 조건으로 사용하는 잠재 확산 모델 (Latent Diffusion Model)
- 확산 모델의 구조는 어텐션 층으로 구성된 UNet을 기반으로 함
- Imagen 같은 픽셀 기반 확산 모델과 비교했을 때 SD는 사전 학습된 오토 인코더 모델의 잠재 공간을 사용하는 만큼 더욱 효율적
2.2. Image Prompt Adapter
- 본 논문에서 이미지 프롬프트 어댑터는 사전 학습된 text-to-image 확산 모델이 이미지 프롬프트를 통해 이미지를 생성할 수 있도록 함
- 현재의 어댑터 기반 기법들은 파인튜닝 된 이미지 프롬프트 모델이나 처음부터 학습된 모델의 성능에 미치지 못함
- 주된 이유는 이미지 피쳐가 사전학습에 효율적으로 임베딩되지 못하기 때문
- 대부분의 기법들은 단순히 결합된 (concatenated) 피쳐를 고정된 크로스 어텐션 층에 입력하는 방식을 사용 → 확산 모델이 이미지 프롬프트의 세밀한 피쳐를 사용할 수 없음
- 이를 해결하기 위해 본 논문에서는 분리된 크로스 어텐션 (Decoupled Cross-Attention) 구조를 사용
- 이미지 피쳐가 새롭게 추가된 크로스 어텐션 층에 임베딩됨
- IP-Adapter의 전체적인 구조는 그림 2에서 살펴볼 수 있음 → 2개의 파트로 구성
-
- 이미지 인코더: 이미지 프롬프트로부터 이미지 피쳐 추출
- 어댑터 모듈: 분리된 크로스 어텐션을 통해 이미지 임베딩 피쳐를 사전학습된 text-to-image 확산 모델에 입력
2.2.1. Image Encoder
- 이미지 프롬프트에서 이미지 특징을 추출하기 위해 사전학습 된 CLIP 이미지 인코더 모델 사용
- CLIP 이미지 인코더의 이미지 임베딩은 이미지 캡션과 align 되어있고 이미지의 컨텐츠와 스타일을 나타내고 있음
- 학습 단계에서 CLIP 이미지 인코더는 고정하여 학습되지 않도록 함
2.2.2. Decoupled Cross-Attention
- 이미지 피쳐는 분리된 크로스 어텐션을 통해 사전학습된 UNet 모델에 통합됨
- 원본 SD 모델에서 CLIP 텍스트 인코더로부터 얻은 텍스트 피쳐는 크로스 어텐션 층을 통해 UNet 모델에 입력되었음
- 쿼리 피쳐 $Z$, 텍스트 피쳐 $c_t$, 크로스 어텐션의 출력이 $Z'$라고 했을 때 다음 식과 같이 정의
- $Q=ZW_q, K=c_tW_k, V=c_tW_v$는 각각 쿼리, 키, 밸류 행렬의 어텐션 연산이고 $W_q, W_k, W_v$는 학습 가능한 선형 투영층 (linear projection layer)의 가중치 행렬
- 이미지 피쳐를 사용하기 위한 직관적인 방법은 이미지 피쳐와 텍스트 피쳐를 결합하고 이를 크로스 어텐션 층에 입력하는 것
- 하지만 이는 충분히 효율적이지 못함
- 이에 따라 본 논문에서는 분리된 크로스 어텐션 구조를 사용
- 텍스트 피쳐와 이미지 피쳐에 대해 분리된 크로스 어텐션 층을 사용
- 원본 UNet 모델의 각 크로스 어텐션 층에 새로운 크로스 어텐션 층을 추가하고 이미지 피쳐를 대입하는 방식을 사용
- 이미지 피쳐가 $c_i$이고 새로운 크로스 어텐션의 출력이 $Z''$라고 했을 때 다음 식을 정의
- $Q=ZW_q, K'=c_iW'_k, V'=c_iW'_v$는 각각 쿼리, 키, 밸류 행렬의 어텐션 연산
- $W'_k, W'_v$는 관련된 가중치 행렬
- 이미지 크로스 어텐션과 텍스트 크로스 어텐션에 대해 동일한 쿼리를 사용
- 이에 따라 결과적으로는 각 크로스 어텐션 층에 대해 두개의 파라미터만을 사용 → $W'_k, W'_v$
- 빠른 수렴을 위해 $W'_k, W'_v$는 $W_k, W_v$로 초기화
- 그리고 단순히 이미지 크로스 어텐션의 출력을 텍스트 크로스 어텐션의 출력에 더함
- 분리된 크로스 어텐션의 최종 수식은 다음과 같이 정의
2.2.3. Training and Inference
- 학습 동안에는 사전학습 된 확산 모델의 다른 파라미터들은 고정하고 IP-Adapter의 파라미터만 최적화
- IP-Adapter는 이미지-텍스트 쌍 데이터로 학습 → 원본 SD와 동일한 학습 목적함수 사용
- 학습 단계에서 다음과 같이 랜덤하게 이미지 조건을 드랍 → 추론 단계에서 classifier-free guidance 가능
- 이미지 조건이 드랍될 때는 단순히 CLIP의 이미지 임베딩을 0으로 처리
- 텍스트 크로스 어텐션과 이미지 크로스 어텐션을 분리 → 추론 단계에서 이미지 조건의 가중치를 조절할 수 있음
- $\lambda$는 가중치 → $\lambda=0$인 경우 모델은 원본 text-to-image 모델이 됨
3. Experiments
3.1. Experimental Setup
3.1.1. Training Data
- IP-Adapter 학습을 위해 멀티모달 데이터셋 사용
- 2개의 오픈소스 데이터로부터 10M개의 텍스트-이미지 쌍 데이터 사용
- LAION-2B, COYO-700M
3.1.2. Implementation Details
- SD v1.5를 기반 모델로 사용
- 이미지 인코더는 OpenCLIP ViT-H/14 사용
- SD 모델에서는 16개의 크로스 어텐션 층을 사용했으며 각 층에 새로운 이미지 크로스 어텐션 층 추가
- IP-Adapter의 학습 가능 파라미터는 투영 네트워크와 어댑터 모듈 → 총 22M의 가벼운 크기
- HuggingFace Diffusers 라이브러리를 통해 IP-Adapter를 구현했고 빠른 학습을 위해 DeepSpeed ZeRO-2 사용
- IP-Adapter는 8 V100 GPU를 가진 하나의 머신에서 학습됨 → GPU 당 8의 배치 사이즈로 1M 스텝만큼 학습
- AdamW 최적화기 사용 → 고정된 학습률 0.0001을 사용했으며 weight decay는 0.01로 설정
- 이미지의 짧은 부분을 512로 리사이즈하고 센터 크롭하여 512x512 해상도로 이미지 처리
- classifier-free guidance를 위해 텍스트와 이미지 각각 드랍률을 0.05로 설정했으며 또 다른 0.05는 텍스트와 이미지 동시에 드랍하도록 설정
- 추론 단계에서 DDIM 샘플러로 50 스텝 사용, guidance scale=7.5
- 이미지 프롬프트만 사용할때는 텍스트 프롬프트는 비우고 $\lambda=1.0$으로 설정
3.2. Comparison with Existing Methods
- 본 논문의 기법의 효과를 검증하기 위해 기존의 이미지 프롬프트 기반 생성 기법들과 IP-Adapter를 비교
- 3가지 기법을 선정: 처음부터 학습, text-to-image 모델 파인튜닝, 어댑터
- 처음부터 학습하는 경우 3개의 오픈 소스 모델 사용: open unCLIP, Kandinsky-2-1, Versatile Diffusion
- 파인튜닝을 위해서는 다음의 모델들 사용: SD Image Variations, SD unCLIP
- 어댑터의 경우 다음의 모델들 사용: T2I-Adapter의 스타일 어댑터, Uni-ControlNet의 global controller, ControlNet Shuffle, ControlNet Reference only, SeeCoder
3.2.1. Quantitative Comparison
- COCO2017의 검증셋 사용 → 5000개의 이미지와 캡션을 정량 평가에 사용
- 데이터셋의 각 샘플을 이미지 프롬프트로 사용하여 4개의 이미지를 생성 → 각 기법당 총 20,000개의 이미지 생성
- 2개의 지표를 통해 이미지 조건의 alignment를 평가 → CLIP-ViT-L/14 모델 사용
- CLIP-I: 이미지 프롬프트와 생성된 CLIP 이미지 임베딩의 유사도
- CLIP-T: 이미지 프롬프트의 캡션과 생성된 이미지의 CLIPScore
- 결과는 표 1 참고
- 본 논문의 기법이 다른 어댑터들에 비해 훨씬 좋은 성능을 보였으며 22M 만 사용해서 파인튜닝 모델들과 비교했을때도 유사하거나 더 뛰어난 성능을 보임
3.2.2. Qualitative Comparison
- 정성 평가를 위해 다양한 종류의 이미지 스타일 선택
- 공평성을 위해 각 이미지 프롬프트에 대해 4개의 샘플을 생성하고 가장 좋은 결과를 사용
- 그림 3을 살펴보면 제안된 IP-Adapter가 다른 어댑터들에 비해 이미지 품질이나 참고 이미지과의 align 측면에서 가장 뛰어난 성능을 보인다는 것을 알 수 있음
- 파인튜닝 모델들에 비해서는 약간 더 나은 성능을 보이고 처음부터 학습한 경우에 대해서는 대부분의 경우 유사한 성능을 보임
- 결론적으로 제안된 IP-Adapter는 사전학습 된 text-to-image 확산 모델을 위한 이미지 프롬프트를 제공하는 가벼우면서도 효율적인 기법!
3.3. More Results
- IP-Adapter가 이미지 프롬프트를 통한 생성을 위해 디자인 되었지만 강인한 일반화 능력 덕분에 더 넓게 응용이 가능
- 기존의 제어 가능한 도구들이나 텍스트 프롬프트와 호환되어 사용이 가능함
3.3.1. Generalizable to Custom Models
- 학습 단계에서 기존 확산 모델을 고정했으므로 IP-Adapter는 다른 어댑터 (e.g. ControlNet)와 같이 SD v1.5로 파인튜닝 된 커스텀 모델에 일반화하여 사용할 수 있음
- 즉, IP-Adapter는 한번 학습되면 동일한 기반 모델로 파인튜닝 된 커스텀 모델에 직접적으로 재사용 가능
- 이를 검증하기 위해 HuggingFace 모델 라이브러리에 있는 3개의 커뮤니티 모델 사용: Realistic Vision V4.0, Anything v4, ReV Animated → 모두 SD v1.5를 파인튜닝한 모델
- 그림 4와 같이 IP-Adapter가 잘 동작하는 것을 확인할 수 있음
- 생성된 이미지들에 커뮤니티 모델의 스타일이 잘 혼합된 것을 확인할 수 있음
3.3.2. Structure Control
- Text-to-image 확산 모델을 위해 많이 사용되는 응용은 추가적인 구조적 제어를 통해 이미지를 생성하는 것
- IP-Adapter는 기존 네트워크 구조를 변경하지 않으므로 기존의 제어 가능한 도구들과 완전히 호환됨
- 본 논문에서는 ControlNet과 T2I-Adapter와의 호환성을 확인
- 그림 5는 이미지 프롬프트를 다른 구조적 제어 기법과 결합한 생성 결과
- 첫 2줄은 ControlNet 모델에 의해 생성된 이미지
- 마지막 줄은 T2I-Adapters를 통해 생성된 결과
- IP-Adapter가 파인튜닝 없이 제어 가능한 이미지를 잘 생성하는 것을 확인
- 그림 6은 다른 어댑터들과의 구조적 제어에 대한 비교를 나타냄 → T2I-Adapter, Uni-ControlNet
- 이미지의 품질과 참조 이미지와의 align 측면에서 타 기법들과의 성능을 능가
3.3.3. Image-to-Image and Inpainting
- SDEdit을 통해 Text-guided image-to-image와 인페인팅 (Inpainting)에 IP=Adapter 적용 → 그림 7
- 텍스트 프롬프트를 이미지 프롬프트로 대체하여 image-guided image-to-image와 인페인팅 수행
3.3.4. Multimodal Prompts
- 이미지 프롬프트 모델을 완전 파인튜닝하면 기존의 text-to-image 능력을 거의 잃게 됨
- 그러나 IP-Adapter를 사용하면 이미지 프롬프트와 텍스트 프롬프트를 포함한 멀티모달 프롬프트로 이미지를 생성할 수 있음
- 멀티모달 프롬프트를 사용한 추론 단계에서는 $\lambda$를 조절하여 이미지 프롬프트와 텍스트 프롬프트 사이의 균형을 조절할 수 있음
- 그림 8은 Realistic Vision V4.0에 멀티모달 프롬프트를 적용한 다양한 결과를 보여줌
- 텍스트 프롬프트를 추가적으로 사용하여 더욱 다양한 이미지를 생성할 수 있음
- 또한 IP-Adapter를 Versatile Diffusion, BLIP Diffusion, Uni-ControlNet, T2I-Adapter, ControlNet Shuffle, ControlNet Reference-only 들과 비교 → 그림 9
- 이미지 품질과 멀티모달 프롬프트에 대한 align 모두에서 뛰어난 결과를 보이는 것을 확인
3.4. Ablation Study
3.4.1. Importance of Decoupled Cross-Attention
- 분리된 크로스 어텐션 (Decoupled Cross-Attention)의 효과를 검증하기 위해 이미지 피쳐와 텍스트 피쳐를 단순히 결합하고 (concatenate) 사전학습 된 크로스 어텐션 층에 임베딩하는 어댑터를 사용 → Simple Adapter
- 공평한 비교를 위해 두 어댑터 모두 같은 설정으로 200,000 스텝동안 학습
- 그림 10은 분리된 크로스 어텐션과 simple adapter의 결과를 비교
- IP-Adapter가 simple adapter보다 더 고품질의 이미지를 생성할 뿐 아니라 이미지 프롬프트와 더욱 유사한 결과를 생성
3.4.2. Comparison of Fine-grained Features and Global Features
- IP-Adapter는 CLIP 이미지 인코더의 글로벌 이미지 임베딩을 사용 → 참조 이미지의 일부 정보를 잃을 수 있음
- 그러므로 더욱 세밀한 피쳐 (fine-grained feature)를 사용하는 IP-Adapter를 디자인
- 먼저 CLIP 이미지 인코더로부터 penultimate 층의 그리드 피쳐를 추출
- 그리고 피쳐 학습을 위해 작은 쿼리 네트워크를 사용
- 가벼운 트랜스포머 모델을 사용하여 그리드 피쳐로부터 정보를 추출하기 위한 16개의 학습 가능한 토큰을 정의
- 쿼리 네트워크로부터 얻은 토큰 피쳐들은 크로스 어텐션 층의 입력으로 사용
- 두 어댑터의 결과를 비교한 것은 그림 11 참고
- 비록 더욱 세밀한 피쳐를 사용한 IP-Adapter가 이미지 프롬프트와 더욱 일치하는 이미지를 생성하지만 이는 오직 구조적 정보의 일부만을 학습 → 생성되는 이미지의 다양성이 적음
- 그러나 텍스트 프롬프트나 구조적인 정보가 함께 포함되는 경우 이미지 프롬프트와 결합되어 다양한 이미지를 생성
4. Conclusions and Future Work
- IP-Adapter를 제안 → 사전학습 된 text-to-image 확산 모델에 이미지 프롬프트를 적용할 수 있음
- 핵심 디자인!! → 분리된 크로스 어텐션 구조
- 이미지 피쳐를 위해 분리된 크로스 어텐션 층을 사용
- 정량적, 정성적으로 IP-Adapter는 22M개의 파라미터만으로 완전 파인튜닝 모델과 기존의 어댑터와 유사하거나 더 나은 성능을 보임
- IP-Adapter는 한번 학습되면 동일한 기반 모델이나 기존의 구조적 제어가 가능한 도구들과 직접적으로 결합하여 사용하는 것이 가능함 → 사용성 확장
- 이미지 프롬프트는 텍스트 프롬프트와 결합되어 멀티모달 이미지 생성을 가능하게 함
- 한계점
- 참조 이미지의 내용이나 스타일과 유사하게는 생성이 가능하지만 DreamBooth나 Textual Inversion 같이 주어진 이미지의 대상과 높은 일치율을 가지는 이미지 생성은 하지 못함
- 높은 일치율을 위해 이미지 프롬프트 어댑터를 더욱 강력하게 개선할 필요가 있음