My Vision, Computer Vision

[논문 리뷰/요약] CLIP-Adapter: Better Vision-Language Models with Feature Adapters 본문

Paper

[논문 리뷰/요약] CLIP-Adapter: Better Vision-Language Models with Feature Adapters

gyuilLim 2025. 2. 5. 13:54
 

CLIP-Adapter: Better Vision-Language Models with Feature Adapters

Large-scale contrastive vision-language pre-training has shown significant progress in visual representation learning. Unlike traditional visual systems trained by a fixed set of discrete labels, a new paradigm was introduced in \cite{radford2021learning}

arxiv.org


Problem(문제 지적)

  • CLIP은 클래스 이름을 프롬프트 템플릿에 넣어 Zero-shot transfer를 수행하는데, 이 프롬프트를 엔지니어링하는 데에 어느 정도의 시간과 사전 지식이 필요한 문제가 있다.
  • CoOp(Context Optimization)은 이를 Few-shot example을 통해 소프트 프롬프트를 학습하는 방식으로 해결한다.
  • 본 논문에서는 CoOp과 다른 방식으로, 가벼운 버틀넥 구조의 Feature adapter를 도입하는 방식을 제안한다.

Contributions(기여)

  • 효율적인 Few-shot transfer를 위해 Residual-style feature blending(잔차 스타일 피쳐 융합)의 CLIP-Adapter를 제안한다.
  • CoOp과 비교하여 더 좋은 성능과 간단한 디자인으로 CLIP-Adapter가 프롬프트 튜닝의 대안이 될 수 있음을 입증한다.
  • 여러가지 데이터셋으로 Ablation study를 수행한다.

Method(해결 방법)

  • CLIP은 클래스의 이름($C_i$)을 미리 지정된 하드 텍스트 프롬프트($H$)에 넣어 텍스트 피쳐를 추출하는데, 이를 식으로 나타내면 다음과 같다.

$$
\mathbf W_i = \mathrm{Text : Encoder}(\mathrm{Tokenizer}([H; C_i]))
$$

  • 다음으로 CoOp은, 소프트 프롬프트 역할을 하는 학습 가능한 벡터($S$)를 사용한다. 아래와 같이 나타낼 수 있다.

$$
\mathbf W_i =\mathrm{Text : Encoder}([S; \mathrm{Tokenizer(C_i)])}
$$

 

  • 이제 Feature adapter에 대해 알아보자.

CLIP-Adapter의 파이프라인

  • Visual encoder와 Text encoder에 각각 붙어있는 어댑터 두 개는 아래와 같다.

$$
A_v(f)=\mathrm{ReLU}(f^T \mathbf W^v_1)\mathbf W^v_2 \
A_t(\mathbf W)=\mathrm{ReLU}(\mathbf W^T \mathbf W^t_1) \mathbf W^t_2
$$

  • 여기서 $f$ 와 $\mathbf W$ 는 각각 이미지 인코더, 텍스트 인코더의 피쳐 혹은 임베딩을 의미하고, $W^v_1, W^v_2$ 와 $W^t_1, W^t_2$ 는 $f$ 와 $\mathbf W$ 가 각각 두 번의 선형 변환(Linear transformation), 즉 두 개의 Fully connected layer를 거친다는 것을 의미한다.
  • 이 때, 각 레이어는 Residual connection으로 구현하여 사전학습된 CLIP의 표현 정보($f, \mathbf W$)를 최대한 유지한다.
  • 또한 학습가능한 변수 Residual ratio($\alpha, \beta$)를 도입하여 원본 표현과 어댑터를 거친 표현을 어느 비중으로 반영할지를 결정하는데, 최종적으로 아래와 같이 나타낼 수 있다.

$$
f^* = \alpha A_v(f)^T + (1-\alpha)f \ \mathbf W^* = \beta A_t (\mathbf W)^T + (1- \beta) \mathbf W
$$

  • CLIP의 Image encoder, Text encoder와 Adapater를 거쳐 최종적으로 만들어진 Representation이 $f^, \mathbf W^$ 이다.

Experiment

11개 데이터셋에 대한 성능의 평균을 나타낸 그래프

  • 11개 데이터셋에 대해 CLIP-Adapter를 포함한 4개의 모델을 비교한 그래프.
  • CLIP-Adapter의 성능이 제일 좋다.
  • 참고로 CLIP-Adapter의 프롬프트는 오리지널 CLIP과 똑같이 사용했다.

 

CLIP과 비교했을 때 성능 증가량

  • 피쳐 어댑터를 적용했을 때, Hand-crafted 프롬프트와 비교하여 각 데이터셋 별로 성능이 얼마나 증가했는지 나타낸 그래프이다.
  • EruoSAT(위성 이미지), Flowers102, DTD 등 Fine-grained dataset에서 성능이 크게 향상되었다.

 

훈련 시간, 파라미터 개수, 정확도 비교

  • CLIP-adapater는 높은 정확도를 달성하면서도 파라미터 수와 Trade-off를 유지한다.
  • 파라미터의 개수가 Linear probe CLIP의 절반 정도이고, 학습은 37분 더 소요되지만 정확도는 약 8% 높다.
  • CoOp이랑 비교했을 때, 학습 시간은 16배 정도 작고 추론 시간은 29배 빠르다.
  • CoOp은 파라미터 수가 적지만, 학습 가능한 소프트 프롬프트 벡터가 네트워크 앞단에 있기 때문에 순전파와 역전파 과정 모두에 연산이 필요하여 학습 시간이 오래걸린다.

 

EruoSAT에 대한 클래스 별 t-SNE 시각화

  • EuroSAT dataset에 대해 Zero-shot CLIP, CoOp, CLIP-Adapter(w/o Res), CLIP-Adapter를 파인튜닝한 후 각 클래스에 대한 피쳐를 t-SNE로 시각화 한 것이다.
  • 결과를 보면, CLIP-AdapterResidual connection을 적용했을 때가 적용하지 않았을 때 보다 피쳐들의 구분이 확실한 것을 알 수 있다.

 

Residual ratio alpha에 대한 Ablation study

  • 두 개의 데이터셋 DTD, ImageNet에 대해 Residual ratio $\alpha$ 의 Ablation study이다.
  • DTD 같은 Find-grained 데이터셋에서는 $\alpha$ 의 비율이 클 때, 즉 Adapter의 출력을 더 많이 사용할 때 성능이 증가하고
  • ImageNet 같은 범용 데이터셋에서는 $\alpha$ 의 비율이 작을 때, 원본 CLIP의 출력을 더 많이 사용할 때 성능이 증가한다.

결론

  • Few-shot classification을 위해 CoOp의 대안으로 CLIP-Adapter를 제안한다.
  • Bottleneck layerResidual ratio를 도입하여 피쳐들을 효과적으로 융합한다.
  • 다양한 분석 연구를 통해 CLIP-Adapter가 더 좋은 매니폴드(Manifold)를 학습한다는 것을 입증하였다.

리뷰

  • 이 논문의 접근 방식은 Linear probe와 상당히 유사하다.
  • Lienar probe란, 사전학습된 CLIP의 Visual representation을 사용하여 뒷단의 추가적인 선형 분류기를 Few-shot example로 학습 시키는 것이다.
  • CLIP-Adapter도 마찬가지로 사전학습된 CLIP의 Visual & Text representation을 사용하여 추가적인 Layer를 Few-shot example로 학습시킨다.
  • 이 논문에서는 CLIP-AdapterCoOp의 대안으로 제시한다고 말하지만, CoOp 보다는 Linear probe의 개선 버전같다.

 

728x90