Deep Learning/논문(Paper)

[Paper Review] : CLIP(Contrastive Language-Image Pre-training)

nakyung1007 2025. 6. 27. 18:08
2021년에 발표된 CLIP(Contrastive Language–Image Pre‑training) 논문, "Learning Transferable Visual Models From Natural Language Supervision"는 이미지와 텍스트 캡션을 동일한 임베딩 공간에 매핑하여 대조 학습(contrastive learning)을 수행함으로써, 다양한 시각 인식 태스크에서 뛰어난 제로샷 성능을 보여준 연구입니다. 이번 글에서는 CLIP의 핵심 아이디어, 아키텍처, 학습 방식, 그리고 주요 실험 결과를 정리해 보겠습니다.

1.  핵심 아이디어

  • 대조 학습(Contrastive Pre-training): 이미지-텍스트 쌍(예: 사진과 그에 대한 설명)을 이용해, 올바른 쌍은 임베딩 공간에서 가까워지도록, 잘못된 쌍은 멀어지도록 학습합니다.
  • 제로샷 분류(Zero-Shot Prediction) : 사전 학습된 임베딩 공간에서, Label을 "A photo of a {label}" 형태의 텍스트로 표현하고, 이미지-텍스트 유사도를 계산해 최적의 클래스를 선택합니다.

       => 여기서 Prompt Engineering이 필요로함. 

2.  Prompt Engineering

  • 목적: 동음이의어(ambiguous labels)나 구체적 맥락이 필요한 경우, 간단한 프롬프트를 통해 문장 완성(prompt) 방식을 조정합니다.
  • 예시:
    • "A photo of a {label}"
    • "A photo of a large {label}", "A photo of a small {label}" 등으로 다양한 상황을 반영
  • 효과: 데이터셋에 포함된 실제 캡션 문장 구조를 모방함으로써, 임베딩 정합성을 더욱 높입니다.

3. 모델 구조

  1. 이미지 인코더(Image Encoder)
    • ResNet 계열(backbone) 또는 Vision Transformer(ViT) 활용
    • 최종 피처 벡터에 L2 정규화 수행
  2. 텍스트 인코더(Text Encoder)
    • Sparse Transformer 기반
    • 입력 문장을 토크나이저를 통해 분할 후, [EOS] 토큰 출력 사용
    • 최종 벡터에 L2 정규화 수행
  3. Projection + Contrastive Learning
    1. 이미지/텍스트 인코더 출력 벡터에 각각 별도 FC layer을 적용함.
    2. 내적 유사도를 계산
    3. 배치 내 "Positive 이미지-텍스트 쌍" 유사도는 최대화, "Negative 이미지-텍스트 쌍" 유사도는 최소화 진행 

4. 결론 및 시사점

CLIP은 방대한 이미지-텍스트 쌍을 활용한 대조 학습으로, 다양한 비전 태스크에서 제로샷 능력을 극대화한 모델입니다. 후속 연구에서는 이 구조를 기반으로 멀티모달 세분화(예: CLIP + SAM), α채널 확장(Alpha-CLIP), EVA-CLIP 등 다양한 변형이 제안되어, 시각-언어 융합 연구의 새로운 기준을 제시하고 있습니다.