CLIP (Contrastive Language-Image Pretraining)란?
CLIP은 OpenAI에서 개발한 멀티모달 모델로, 이미지와 텍스트를 같은 벡터 공간(embedding space)에 매핑하여 서로 비교할 수 있도록 설계된 모델입니다.
📌 CLIP이란?
- Contrastive Language-Image Pretraining의 약자
- 이미지와 텍스트를 함께 학습하여 "이 사진은 고양이야, 저 사진은 강아지야"라는 개념을 이해함
- 별도의 파인튜닝 없이도 "제로샷(zero-shot) 분류"가 가능
🟢 예시
- 이미지를 입력하고:
- "a photo of a dog"
- "a photo of a cat"
- 두 설명 중 어느 것이 더 어울리는지 확률로 알려줌
🧠 동작 원리
입력 |
처리 방법 |
결과 |
🖼️ 이미지 |
이미지 Encoder (ViT 등 사용) |
이미지 임베딩 (벡터) |
📝 텍스트 |
텍스트 Encoder (Transformer 기반) |
텍스트 임베딩 (벡터) |
🎯 비교 |
코사인 유사도 (Cosine Similarity) |
가장 잘 맞는 텍스트 선택 |
🔥 CLIP이 유용한 이유
활용 상황 |
CLIP이 할 수 있는 일 |
이미지 검색 |
사진을 업로드하고 "고양이"라고 검색 |
이미지 분류 |
"이건 사과인가, 오렌지인가?" 맞히기 |
Zero-shot 분류 |
별도 학습 없이 바로 분류 |
멀티모달 애플리케이션 개발 |
텍스트-이미지 퀴즈, 이미지 설명 생성 등 |
🏆 CLIP의 강점
- Zero-shot learning: 추가 훈련 없이 바로 사용 가능
- 텍스트 설명만으로 이미지 분류 가능
- 다양한 분야에 즉시 활용 가능 (이커머스, 콘텐츠 추천, 이미지 검색 등)
📚 대표 CLIP 모델들
모델 이름 |
특징 |
openai/clip-vit-base-patch32 |
기본 모델, 널리 사용됨 |
openai/clip-vit-large-patch14 |
더 큰 모델, 성능 향상 |
laion/CLIP-ViT-B-32-laion2B-s34B-b79K |
LAION 데이터셋으로 학습된 공개 모델 |
💡 참고사항
- CLIP은 "이미지-텍스트 매칭"을 학습했기 때문에, 파인튜닝 없이도 다양한 태스크에 사용 가능
- 주로 이미지 분류, 검색, 추천, 멀티모달 인터페이스 구축에 사용됨