본문 바로가기
  • 컴공생의 공부 일기
  • 공부보단 일기에 가까운 것 같은
  • 블로그
🤖 AI/AI

😛 Clip : Learning Transferable Visual Models From Natural Language Supervision : 1. Introduction - 3. Experiments

by 정람지 2025. 4. 3.

😛 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 구조는 오히려 “불순한 상관관계”를 학습하지 않기 때문에 더 견고

 맞춤 분류기 없이도, 텍스트 기반 제로샷 모델로도 높은 수준의 일반화가 가능함