1. CLIP이란?
CLIP: Contrastive Language–Image Pretraining
2021년 OpenAI가 발표한
이미지와 텍스트를 함께 학습하는 멀티모달 모델이다.
기존 모델이 “이미지 → 정해진 라벨 분류”였다면,
CLIP은 '이미지와 자연어 문장을 같은 의미 공간으로 매핑하는 모델'이다.
2. 왜 CLIP이 혁신이었을까?
기존 이미지 분류 방식:
- 고정된 클래스
- 사람이 직접 라벨링
- “고양이 / 강아지 / 자동차”
하지만 현실 세계는 더 복잡하다.
- “노을이 지는 해변”
- “커피를 마시는 사람”
- “비 오는 날의 도심”
CLIP은 이런 자연어 문장 자체를 이해한다.
즉,
“이건 3번 클래스입니다” -> X
“이 이미지는 ‘a cat sitting on a chair’와 가장 비슷합니다” -> O
CLIP의 핵심 구조
CLIP은 크게 두 부분으로 구성된다:
1) Image Encoder
- CNN 또는 Vision Transformer 사용
- 이미지를 벡터(embedding)로 변환
2) Text Encoder
- Transformer 기반 모델
- 문장을 벡터로 변환
3. 가장 중요한 개념: 공통 임베딩 공간
CLIP의 핵심 아이디어: 이미지와 텍스트를 같은 벡터 공간으로 보내자
즉,
- 이미지 → 512차원 벡터
- 텍스트 → 512차원 벡터
그리고 이 두 벡터 사이의 cosine similarity를 계산한다.
비슷할수록 → 의미가 비슷함.
4. 학습 방식: Contrastive Learning
CLIP은 **대조 학습(Contrastive Learning)**을 사용한다.
학습 목표:
- 정답 쌍은 가깝게
- 다른 텍스트는 멀어지게
이 방식 덕분에:
- 지도학습 데이터가 제한적이지 않음
- 대규모 웹 데이터로 학습 가능
- 제로샷(Zero-shot) 성능이 뛰어남
5. CLIP의 장점
1) Zero-shot 학습 가능
새로운 클래스가 나와도
자연어 설명만 있으면 분류 가능.
2) 범용성
검색, 분류, 추천, 멀티모달 이해 등 다양한 분야에 활용 가능.
3) 검색에 강함
이미지-텍스트 검색에서 매우 강력.
6. LPCVC Track1과의 연결
LPCVC Track1: 이미지에 대해 가장 적절한 텍스트를 찾는 문제
(이건 거의 CLIP의 대표적인 활용 사례다.)
흐름은 다음과 같다:
- 이미지 → Image Encoder
- 모든 텍스트 → Text Encoder
- 유사도 계산
- Top-K 선택
즉,
Track1은 “CLIP을 얼마나 빠르고 가볍게 최적화하느냐”의 싸움이다.
7. 하지만 문제도 있다
CLIP은 강력하지만:
- 모델이 크다
- 연산량이 많다
- 모바일에서 느리다
그래서:
- 경량화
- Quantization
- Distillation
- 하드웨어 최적화
같은 기술이 필요하다.
이 지점이 바로 LPCVC의 핵심 경쟁 영역이다.
📌 기술적으로 한 단계 더 깊게
CLIP의 학습 목표 함수는:
- Image-Text similarity matrix를 만들고
- Cross-entropy loss로 정답 쌍을 맞추는 방식
이는 InfoNCE Loss 기반의 대조 학습 구조다.
'교내|외 활동 > LPCVC' 카테고리의 다른 글
| LPCV | 텍스트, 이미지 인코더 (0) | 2026.02.19 |
|---|---|
| LPCV | 모델 학습시켜보기 (0) | 2026.02.19 |
| LPCV | 환경설정 (0) | 2026.02.12 |