😛 1. Introduction and Motivating Work
🧩 핵심 문제
• 기존 컴퓨터 비전 모델은 고정된 라벨(예: ImageNet의 1000개 클래스)에 대해 훈련됨
→ 새로운 시각 개념을 처리하려면 추가 라벨 데이터가 필요함
💡 새로운 대안: 자연어 기반 감독
• 텍스트로부터 이미지 표현을 학습하면 훨씬 더 일반적이고 유연한 모델을 만들 수 있음
• 자연어는 훨씬 넓은 시각 개념 공간을 표현할 수 있음 (예: “해변에 있는 노란 우산” 등)
📚 이전 연구 흐름
• 과거 연구들도 텍스트-이미지 간의 연결을 활용하여 표현 학습을 시도
• 예: 캡션 기반 단어 예측, 해시태그 기반 학습, 이미지-문서 동시 학습 등
하지만:
• 기존 연구들은 주로 소규모 데이터셋 또는 낮은 정확도 (예: 11.5% ImageNet Zero-shot 성능)에 머무름
• 라벨이 제한적이고 softmax 기반 분류기 구조라서 Zero-shot 전이 성능이 낮음
🚀 전환점
• CLIP은 4억 개의 (이미지, 텍스트) 쌍을 이용하여 대규모 자연어 감독 사전학습 수행
• Zero-shot으로도 다양한 비전 태스크에서 지도 학습 모델에 필적하는 성능을 보임
😛 2. Approach
🔹 2.1 자연어 감독 (Natural Language Supervision)
CLIP의 핵심 아이디어는 자연어로부터 시각 인식을 학습한다는 것.
이는 새로운 아이디어는 아니지만,
기존 연구들에서는 “자기지도(self-supervised)” 또는 “약한 감독(weakly supervised)” 등 다양한 용어로 혼용
공통된 핵심은 자연어를 감독 신호로 사용한다는 점
초기의 n-gram 기반 모델은 언어의 복잡성을 다루기 어려웠지만,
요즘은 딥 컨텍스트 표현 학습(예: 트랜스포머)이 이를 가능하게 만듦
자연어 감독의 장점
• 기존 라벨링보다 확장성 우수 (크라우드소싱 없이도 가능)
• 단순 표현 학습을 넘어 언어와 연결된 표현 학습 → Zero-shot 전이가 가능
🔹 2.2 충분히 큰 데이터셋 구축 (Creating a Sufficiently Large Dataset)
기존의 대표적 이미지-텍스트 데이터셋:
• MS-COCO, Visual Genome: 품질은 높지만 약 10만 장 수준
• YFCC100M: 약 1억 장이지만, 메타데이터가 부정확하거나 자동 생성된 경우가 많음
→ 영어 자연어 설명(title, description)이 포함된 이미지만 선별
→ 실제로 usable한 데이터는 1/6로 줄어듬 (15M)
🌐 CLIP이 새롭게 구축한 데이터셋
• 총 4억 쌍의 이미지-텍스트 데이터
• 웹에서 공개된 소스들을 수집하여 구축
• 500,000개의 자연어 질의(query) 기반으로 수집
• 예: 위키피디아에서 100회 이상 등장하는 단어, bigram, WordNet synset 등 포함
• 이 데이터셋을 WIT (WebImageText)라고 명명함
🔹 2.3 효율적인 사전학습 기법 선택 (Selecting an Efficient Pre-training Method)
• 기존 텍스트 예측 기반 방식은 비효율적 (느리고 compute 소모 큼)
• 대신, 대조 학습(contrastive learning) 채택:
• 이미지-텍스트 쌍 중 정답 쌍은 코사인 유사도 최대화, 오답은 최소화
• N-pair loss / InfoNCE loss 기반의 효율적인 학습 구조
• 사전학습은 ResNet-50, Transformer 등 다양한 백본으로 실험
🔹 2.4. Choosing and Scaling a Model (모델 선택 및 확장)
• ResNet-50과 Vision Transformer (ViT) 기반으로 실험
• ResNet은 EfficientNet 논문처럼 넓이, 깊이, 해상도를 동시에 확장
• ViT는 patch + position 임베딩 → Transformer 인코더로 구성
• 텍스트 인코더는 Transformer 기반, max length 76, Byte-Pair Encoding 사용
🔹 2.5. Training (학습 과정)
• 총 8개의 모델 학습: 5개의 ResNet (RN50 ~ RN50x64), 3개의 ViT (B/32 ~ L/14@336px)
• Optimizer: Adam + decoupled weight decay, Cosine learning rate decay
• Batch size: 32,768 (매우 큼), mixed precision, gradient checkpointing 사용
• 학습 시간:
• RN50x64: 18일 (592개 V100 GPU)
• ViT-L/14: 12일 (256개 V100 GPU)
😛 3. Experiments
🔹 3.1 Zero-Shot Transfer
💠 3.1.1. MOTIVATION (연구 동기)
• 기존 제로샷 학습은 보통 “새로운 클래스”에 대한 일반화였음
→ CLIP은 이를 확장해 “새로운 데이터셋/태스크 전체에 대한 일반화”를 추구
• 기존 비지도 표현 학습은 주로 피처 추출에 초점,
CLIP은 작업 학습 능력(task learning) 자체를 사전학습에 포함
• 따라서 제로샷 성능은 분포 변화(distribution shift), 도메인 일반화 능력을 평가하는 수단
💠 3.1.2. USING CLIP FOR ZERO-SHOT TRANSFER (CLIP의 제로샷 분류 방법)
• 클래스 이름을 활용해 텍스트 프롬프트 생성:
예) "A photo of a {label}."
• 이미지와 클래스 프롬프트 간 코사인 유사도 계산, 소프트맥스(normalized dot-product)로 분류
• 텍스트 인코더가 분류기의 가중치 역할을 하며, CLIP은 하이퍼네트워크(hypernetwork)처럼 동작
💠 3.1.3. INITIAL COMPARISON TO VISUAL N-GRAMS (비교 성능)
• CLIP은 기존 모델인 Visual N-Grams보다 훨씬 뛰어난 성능을 보임
데이터셋 | Visual N-Grams | CLIP (Zero-shot) |
ImageNet | 11.5% | 76.2% |
aYahoo | 72.4% | 98.4% |
SUN | 23.0% | 58.5% |
• 라벨 없이 ImageNet에서 ResNet-50과 유사한 성능 달성
→ 제로샷만으로도 강력한 일반화 가능
💠 3.1.4. PROMPT ENGINEERING AND ENSEMBLING (프롬프트 엔지니어링과 앙상블)
• 단순 라벨은 중의성 문제(예: “crane” = 새 or 기계) 발생
→ "A photo of a {label}." 같은 명시적 문장으로 정렬 성능 향상
• 다양한 프롬프트(예: “A photo of a dog.”, “This is a picture of a dog.” 등)를
앙상블(평균)하면 성능 추가 향상
→ ImageNet에서 +3.5% 정확도 상승 효과
💠 3.1.5. ANALYSIS OF ZERO-SHOT CLIP PERFORMANCE (분석)
• CLIP의 제로샷 분류기는 4-shot 모델 수준의 성능
→ 언어를 통해 직접 개념을 지정할 수 있기 때문
• 일반 퓨샷(few-shot) 모델은 예시로부터 개념 추론해야 하므로 불확실성 높음
• 데이터 효율성 측면에서도 뛰어남: 평균적으로 클래스당 5.4개 라벨 수준의 정보량 내포
🔹3.2. Representation Learning
🎯 목적
• CLIP의 표현이 얼마나 일반적인 시각 표현(visual features)으로서 우수한지 평가
• 즉, 다양한 다운스트림 태스크에 잘 전이되는가?를 실험
🔍 평가 방식
• 선형 분류기(linear probe) 학습으로 표현의 품질 측정
• 사전학습된 모델의 피처는 고정하고, 그 위에 선형 분류기만 학습해서 성능 측정
• End-to-end fine-tuning도 가능하지만, 우리는 CLIP 표현 자체의 순수 성능을 평가하기 위해 선형 분류만 사용
✅ 선형 분류 방식을 선택한 이유
1. fine-tuning은 표현을 왜곡할 수 있음 → 사전학습 표현의 한계를 가림
2. 선형 분류기는 제약이 많아, 표현력이 부족하면 성능이 바로 드러남
3. CLIP의 제로샷 구조와 매우 유사 → 구조적 비교에 유리
4. 수천 회의 실험을 자동화하고 공정 비교하기 쉬움
• fine-tuning은 하이퍼파라미터가 많고 불안정
💡 핵심 통찰
• 선형 분류 성능이 높다는 것은 사전학습된 표현이 범용적이며 분리 가능(discriminative)하다는 것
• 즉, CLIP은 텍스트와 정렬될 뿐만 아니라, 순수 시각 표현 성능도 우수
🔹3.3 자연 분포 변화에 대한 견고성 (Robustness to Natural Distribution Shift)
🔍 문제 제기
• ImageNet에서 SOTA를 달성한 모델도 실제 분포가 다른 환경(다른 도메인)에선 성능이 급감함
→ 예: ImageNet-A, ObjectNet, Sketch 등에서 성능 하락
• 이는 모델이 학습 데이터의 ‘허위 상관 관계(spurious correlations)’에 과적합하기 때문
🔬 실험 개요
• 총 7개의 자연 분포 변화 데이터셋에서 실험
• ImageNetV2, ImageNet-A, ImageNet-R, ObjectNet, Sketch, ImageNet-Vid, Youtube-BB
• 기존 ImageNet 기반 모델(예: ResNet-101)과 Zero-shot CLIP 비교
📊 주요 결과
데이터셋 | 기존 모델 | CLIP (Zero-shot) | 성능 향상 |
ImageNet | 76.2% | 76.2% | - |
ImageNet-A | 2.7% | 77.1% | +74.4% |
ImageNet-R | 37.7% | 88.9% | +51.2% |
ObjectNet | 32.6% | 72.3% | +39.7% |
Sketch | 25.2% | 60.2% | +35.0% |
ImageNetV2 | 64.3% | 70.1% | +5.8% |
→ 최대 75%까지 분포 변화에 대한 성능 격차(robustness gap)를 줄임
🧠 효과적 견고성 vs 상대적 견고성 (Taori et al., 2020)
• 효과적 견고성(effective robustness):
기대 성능(선형 관계)을 넘는 추가적인 일반화 능력
• 상대적 견고성(relative robustness):
분포 변화 상황에서의 성능 그 자체
• CLIP은 두 가지 모두에서 강력한 성능을 보임
🧪 추가 실험: ImageNet에 맞춤 조정 시
• CLIP 피처에 로지스틱 회귀 분류기를 학습하여 ImageNet에 L2-정규화된 적응 적용
• ImageNet 정확도는 +9.2% 증가 (76.2 → 85.4%)
• 그러나 다른 도메인에서는 평균 성능이 오히려 하락
→ ImageNet에 맞춰 학습할수록 특정 도메인에 과적합되고, 일반화 능력은 떨어짐
🎯 결론 및 통찰
• CLIP은 학습 시 특정 데이터셋에 의존하지 않기 때문에 “분포 일반화에 훨씬 유리”
• Zero-shot 구조는 오히려 “불순한 상관관계”를 학습하지 않기 때문에 더 견고
• 맞춤 분류기 없이도, 텍스트 기반 제로샷 모델로도 높은 수준의 일반화가 가능함
'🤖 AI > AI' 카테고리의 다른 글
😛 Clip : Learning Transferable Visual Models From Natural Language Supervision : 4. Comparison to Human Performance - 9. Conclusion (0) | 2025.04.04 |
---|---|
🦿NLP / 감정분석(LSTM) 모델 훈련/평가 (0) | 2025.02.23 |
🦿다층 퍼셉트론(MLP) 기반 숫자 분류 모델 (PyTorch) (0) | 2025.02.23 |
📑 AI Q&As (0) | 2025.02.15 |
📑 모델 최적화 및 트레이닝 기본 개념 (0) | 2025.02.15 |