Vision & Multimodal · ICML 2021 2021

Learning Transferable Visual Models From Natural Language Supervision — CLIP

4억 (image, text) 대조 학습 — ImageNet 제로샷 76.2%로 지도 ResNet-50과 동급.

Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, et al. · OpenAI

clipmultimodalcontrastivezero-shotwit

1. 핵심 요약

2. 왜 중요한가 — 쉬운 설명

30초 비유

사진과 그 설명문 4억 쌍을 보여주며 “맞는 짝은 가깝게, 틀린 짝은 멀게” 훈련합니다. 그러면 새 사진도 "고양이 사진" 이라는 문장과 얼마나 가까운지로 분류할 수 있습니다 — 라벨을 한 장도 안 쓰고.

무엇을 제안했나

  • 대조 학습 — 이미지 인코더와 텍스트 인코더를 같은 공간에 맞추고, 배치 안에서 올바른 (이미지, 텍스트) 짝의 유사도를 최대화.
  • 프롬프트 분류 — 클래스 이름을 "A photo of a {label}." 문장으로 바꿔 제로샷 분류기를 즉석에서 구성.

그래서 무엇이 달라졌나

  • ImageNet 제로샷 76.2% — 128만 장 라벨로 학습한 지도 ResNet-50과 동급.
  • 이후 멀티모달·생성모델(DALL·E, Stable Diffusion)의 텍스트↔이미지 다리.

더 공부할 가치가 있을까?

  • 멀티모달을 한다면 필수 — Flamingo·LLaVA·BLIP-2가 모두 CLIP류 인코더를 씁니다.

3. 배경 · 고정 클래스의 한계

ImageNet식 지도 학습은 1000개 같은 고정 클래스 softmax가 필요합니다. 새 개념·도메인마다 레이블·헤드 교체. 웹에는 alt text·캡션 등 (image, text) 가 이미 쌍으로 널립니다 — GPT-2의 제로샷처럼, 비전도 자연어 프롬프트만으로 태스크를 지정할 수 있습니다.

고정 클래스 vs CLIP

지도 softmax와 자연어 제로샷을 비교하세요.

이미지🖼
→
텍스트"A photo of a dog."
text→cls

웹 (image, text) 대조 학습. 테스트 때 클래스 이름을 문장으로 넣어 제로샷 분류기 생성. ImageNet 76.2% (Table 11).

고정 클래스 softmax vs 자연어 제로샷.

4. 대조 학습

캡션의 단어 예측(BoW/LM)보다, 배치 안에서 어느 텍스트가 어느 이미지와 짝인지 맞추는 대조 목표가 훨씬 효율적(Fig. 2). N개 쌍 배치 → N×N 유사도 행렬. 대각선(진짜 쌍)은 ↑, 나머지 N²−N은 ↓. 대칭 cross-entropy(InfoNCE).

L=12N∑i[CEiI→T+CEiT→I]L = \tfrac{1}{2N}\sum_i\Big[\mathrm{CE}_i^{I\to T} + \mathrm{CE}_i^{T\to I}\Big]
대칭 InfoNCE — 이미지→텍스트 + 텍스트→이미지
CLIP 대칭 InfoNCE수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

배치 대조

N×N 유사도. 대각선=진짜 쌍. τ 슬라이더.

Image ↓
Text →
I₁↔T₁ × T₁

대각선 — softmax 타깃. 대칭 CE. (셀 값은 데모용 스케치)

배치 유사도 행렬. 칸을 클릭하세요.

5. 아키텍처

sim(I,T)=I⊤T∥I∥ ∥T∥⋅elog⁡τ\mathrm{sim}(I,T) = \frac{I^{\top}T}{\|I\|\,\|T\|} \cdot e^{\log \tau}
L2 정규화 코사인 × 학습 가능 온도 τ
스케일 코사인 유사도수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

듀얼 인코더

Fig. 1. 이미지 백본을 고르고 블록을 클릭하세요.

+→
이미지 인코더

ResNet-50/101(+attention pool) 또는 ViT-B/32·B/16·L/14. scratch 학습.

이미지 인코더 · 텍스트 Transformer · d=512 공유 공간.

이미지: 수정 ResNet-50/101(attention pool) 또는 ViT-B/32·B/16·L/14. 텍스트: ~63M Transformer, BPE vocab 49,152, 최대 76 토큰, 인과적 마스크, 마지막 EOS = 텍스트 임베딩(BERT [CLS]와 다름). 선형 투영만. ImageNet init 없음.

6. 제로샷 분류

테스트 시 텍스트 인코더가 분류기를 만듭니다: 클래스 이름을 프롬프트에 넣어 임베딩 → 이미지와 코사인 유사도 → argmax. 80개 프롬프트 앙상블은 확률이 아니라 임베딩 공간에서 평균(Fig. 4). 기본 “A photo of a {label}.” (+1.3%p), 80개 앙상블 +3.5%p on ImageNet.

제로샷 분류

정답 클래스를 고르고 프롬프트 앙상블을 켜/끄세요.

🖼
개
92
고양이
59
기중기/두루미
46

예: "A photo of a dog." → argmax. ImageNet 기본 프롬프트만으로 +1.3%p, 80개 앙상블 +3.5%p (논문 §3.1.4).

프롬프트 · 유사도 · 예측. 클래스를 고르세요.

7. WIT · 실험 · 유산

WIT 데이터

400M (image, text) — 단계를 클릭하세요.

쌍 수400M
지도자연어(비지도)
에폭32

WebImageText — 클래스 균형에 가깝게 필터. ImageNet-21k(14M)·JFT(300M)보다 다양한 자연어.

WIT 400M 쌍 — Wikipedia 쿼리로 크롤.

ImageNet (Table 11, zero-shot)

  • ViT-B/32: 63.2% · ViT-L/14: 75.3% · ViT-L/14@336: 76.2% (= 지도 ResNet-50)
  • 85.4%는 제로샷이 아니라 선형 프로브(ViT-L/14@336, Table 10)

27개 데이터셋

제로샷 CLIP이 ResNet-50 선형 프로브보다 16/27에서 우세(Fig. 5). STL10 99.3% 제로샷 SOTA.

강건성

ImageNet 분포 밖(ImageNet-V2/A/R…)에서 robustness gap 최대 75% 축소(Fig. 13). ImageNet 파인튜닝은 정확도 +9.2%p지만 평균 강건성은 약간 ↓.

결과 · 유산

ViT-L/14@336 ZS
76.2
ResNet-50 sup.
76.2
ViT-L/14 ZS
75.3
RN50×64 ZS
73.6
ViT-B/32 ZS
63.2
Visual N-Grams
11.5

Table 11 ImageNet zero-shot top-1. 76.2% = supervised ResNet-50. Top-5: 95% (Inception-V4 동급).

ImageNet · 27 datasets · Stable Diffusion / LLaVA 유산.

유산

  • Stable Diffusion · DALL-E 2: CLIP 텍스트/이미지 임베딩으로 조건화
  • LLaVA 등: CLIP 비전 인코더 + LLM 커넥터
  • ALIGN(Google, ~18억 쌍) 등 후속 대조 학습

한계

세밀·추상 태스크(EuroSAT, PatchCamelyon, CLEVR counts)는 제로샷 약함. WIT 편향·윤리 이슈(§7).

IdeaRole
ContrastiveMatch (I,T) pairs in a batch; repel N²−N negatives
Shared d=512L2-normalized multimodal embedding space
Zero-shotText encoder synthesizes the classifier at test time
WIT 400MWeb crawl from ~500k Wikipedia-derived queries
τ (temperature)Learnable scale on cosine logits

이해도 점검

보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.

0 / 5 정답
  1. 1. CLIP의 학습 목표는?

  2. 2. CLIP의 학습 데이터는?

  3. 3. CLIP의 제로샷 분류 방식은?

  4. 4. 프롬프트 문구가 제로샷 정확도에 영향을 주는 이유는?

  5. 5. CLIP의 강점과 한계는?