Learning Transferable Visual Models From Natural Language Supervision
Alec Radford · Jong Wook Kim · Chris Hallacy · Aditya Ramesh · Gabriel Goh · Sandhini Agarwal · Girish Sastry · Amanda Askell · Pamela Mishkin · Jack Clark · Gretchen Krueger · Ilya Sutskever
Proceedings of the 38th International Conference on Machine Learning (ICML), 2021
Abstract
- 기존 문제: 기존 컴퓨터 비전 모델은 사전에 정의된 고정된 라벨로만 학습되어 일반성과 확장성이 부족함.
- 제안 방법: 이미지와 캡션 쌍 (총 4억 개)을 활용하여, 어떤 이미지와 어떤 텍스트가 짝인지 맞추는 단순한 pre-training 작업을 수행함.
- 자연어를 통해 새로운 시각 개념도 참조 가능
- Zero-shot transfer가 가능: 학습 없이도 다양한 downstream task에 바로 적용 가능
- 대부분의 task에서 학습 없이도 SOTA 수준의 성능
1. Introduction and Motivating Work
- 문제점
- NLP 분야에서는 GPT-3와 같은 모델이 웹에서 수집한 대규모 텍스트로 사전학습되어, zero-shot transfer가 가능해졌음.
- 컴퓨터 비전(CV)에서는 여전히 ImageNet 같은 사람이 라벨링한 데이터셋에 의존함
→ 비전 분야에서도 웹 텍스트 기반 사전학습 어떨까?
- CLIP (Contrastive Language–Image Pre-training) 제안
- 웹에서 수집한 대규모 이미지–텍스트 쌍으로 사전학습
- OCR, 위치 인식, 행동 인식 등 다양한 작업을 사전학습 중에 자동으로 학습
- ImageNet SOTA 모델보다 효율적이며 더 강건한 zero-shot 성능 달성
2. Approach
핵심 아이디어: 이미지와 자연어 텍스트 쌍을 활용하여 시각 인식(perception)을 학습
- 기존의 라벨(label) 기반 지도 학습 대신, 자연어를 통한 유연하고 확장 가능한 학습 방법
2.1 Creating a Sufficiently Large Dataset
- 기존 데이터셋: ImageNet 수준에 불과하며, 수십억 장 이미지로 학습되는 최신 모델에 비해 규모가 부족함
- CLIP의 새로운 데이터셋: WIT (WebImageText)
- 인터넷 오픈 소스에서 수집한 4억 쌍의 이미지–텍스트 데이터 구축
- 다양한 시각 개념을 포괄하기 위해 500,000개의 쿼리 키워드를 기준으로 이미지–텍스트 쌍 수집
- 각 쿼리당 최대 20,000쌍까지 포함해 클래스 불균형 완화
2.2. Selecting an Efficient Pre-Training Method
- 초기 방법: VirTex와 유사하게, 이미지 CNN과 텍스트 Transformer를 함께 학습시켜 캡션을 예측하도록 시도
- 계산 비용이 매우 크고 학습 속도가 느림
- 정확한 단어를 예측하는 것보다, 전체 텍스트를 구분하는 방식이 더 효율적
->> "어떤 이미지와 어떤 텍스트가 짝인지 맞히는" contrastive objective로 변경
- CLIP 학습 방식
- 한 번에 N개의 (이미지, 텍스트) 쌍을 배치로 처리
- 가능한 N×N개의 쌍 중에서 실제 정답 쌍 N개를 맞히도록 학습
- 이미지와 텍스트 인코더를 함께 학습하여, 코사인 유사도 기반의 공통 임베딩 공간에서 학습 수행
- 손실 함수: 대칭 cross-entropy loss
- 기존 ConVIRT 대비 불필요한 구성 제거:
- 비선형 projection 제거 → 선형 projection만 사용
- 텍스트 변환 함수 제거 (대부분 1문장이라 불필요)
- 이미지 증강: 랜덤 크롭 하나만 사용
- 소프트맥스의 온도 파라미터(τ)는 하이퍼파라미터 대신 학습 중 직접 최적화
2.3. Choosing and Scaling a Model
1) 이미지 인코더: 두 가지 아키텍처 실험
-
ResNet50 기반
- 널리 쓰이는 성능 검증된 구조
- 향상된 구조 반영: ResNet-D 개선, Anti-aliased Blur Pooling, Global average pooling → attention pooling으로 대체 → Transformer-style multi-head attention을 사용해 더 정교한 global feature 추출
-
Vision Transformer (ViT)
- 최신 구조 ViT 사용
- 패치+포지션 임베딩에 layer normalization 추가
- 초기화 방식만 약간 변경
- 12-layer, width 512, 8-head attention
- 입력은 BPE(Byte Pair Encoding)로 토큰화, 소문자 처리
- [SOS]와 [EOS]로 문장 감싸고, 마지막 레이어의 [EOS] 토큰 출력을 feature로 사용
→ LayerNorm 후 멀티모달 임베딩 공간으로 선형 사상
- Masked self-attention 사용 → 언어모델 보조 학습 여지 남겨둠
3) 모델 스케일링
- 기존에는 폭(width), 깊이(depth), 해상도(resolution) 중 하나만 증가시키는 경우 많았음
- CLIP에서는 세 요소 모두 균형 있게 증가 → 성능 개선 효과 극대화
- 텍스트 인코더는 폭만 증가하고 깊이는 그대로 유지 → 성능이 텍스트 인코더 구조에 덜 민감하기 때문
2.4. Pre-training
CLIP은 다양한 크기의 ResNet과 Vision Transformer 모델들을 사전학습하였으며, 가장 성능이 뛰어난 ViT-L/14@336px 모델을 중심으로 실험
2.5. Using CLIP
- 사전학습 목적: 이미지와 텍스트 쌍이 서로 일치하는지 여부를 예측하도록 학습됨 (WIT 기반)
- 다운스트림 작업에의 적용:
- 이 사전학습 능력을 그대로 활용해 zero-shot 방식으로 전이 학습 수행
- 추가 학습 없이, 각 이미지에 대해 해당하는 텍스트(class 이름)를 고르는 방식
- Zero-shot 테스트 방법:
- 각 데이터셋의 클래스 이름들을 텍스트로 사용
- 이미지–텍스트 쌍 중 가장 유사한 조합을 CLIP이 선택
- 다양한 텍스트 템플릿(prompt)을 사용해 작업 명확화 가능 → 여러 템플릿 앙상블 시 성능 향상됨
- CLIP은 zero-shot 전이뿐만 아니라, 일반적인 표현력 평가 방식(linear probe)으로도 실험됨
→ 표현 학습 능력 vs 과제 해결 능력(task learning) 모두 분석
3. Analysis
3.1. Initial Comparison to Visual N-Grams
- 라벨 없이도 강력한 supervised 모델과 성능이 맞먹음> CLIP은 범용성과 실용성을 갖춘 zero-shot 분류기의 가능성을 보여줌
- 모델 구조, 데이터 수집 방식 등 여러 조건이 다르므로 완전한 공정 비교는 아님
- zero-shot 의미
- 기존: 보지 못한 객체 클래스에 일반화
- CLIP: 보지 못한 전체 데이터셋/과제에 대한 일반화
- 비교 대상:
- 기존 50개 이상의 컴퓨터 비전 모델
- ResNet50 feature 기반의 supervised logistic regression
- 다양한 few-shot 학습 모델
- 성능 비교
- 일반 분류 (ImageNet, CIFAR10 등): ResNet50과 비슷하거나 약간 우수
- 세밀 분류 (Stanford Cars, Food101 등): 일부에서 20% 이상 우수
- 행동 인식 (Kinetics700, UCF101): 각각 14.5%, 7.7% 향상
- 복잡·전문 작업 (의료, 위성, 자율주행 등): 성능 급감 — 예: EuroSAT, CLEVRCounts, KITTI 등
-> 결론: WIT는 일반적인 개념에 강하나, 특정 과제나 기술적 도메인에는 부족
- Few-Shot과의 비교
- 일반적으로 zero-shot < few-shot: CLIP은 zero-shot으로도 4-shot 수준의 성능 달성
- CLIP은 자연어를 통해 개념을 명시적으로 전달 가능. 일반적인 few-shot은 이미지만 보고 추론해야 하므로 불확실성 존재
- CLIP은 학습 샘플이 거의 없는 상황에서 강함, 반면 fully-supervised 상황에서는 상대적으로 약할 수 있음
3.3. Representation Learning
표현 학습(Representation Learning) 평가
- 방법: Linear probing 성능 평가
- CLIP방식으로 학습된 모델의 Feature Extractor 부분은 고정(weight 고정)해 놓은채로 Classifier 부분만 재학습 > 진짜로 이미지를 벡터로 표현(feature extraction)을 잘 하는건지 평가
- 단순 선형 분류기를 CLIP의 고정된 feature 위에 얹어 성능 평가
- 하이퍼파라미터 튜닝이 거의 없고 비교가 표준화되어 있음
- 결과
- SOTA 모델보다 평균 2.6~5% 더 높은 성능
- 다양한 시각 과제를 단일 모델로 학습할 수 있는 표현력과 연산 효율성을 입증
- Vision Transformer 기반 CLIP은 ResNet 대비 3배 이상 효율적이다.
3.4. Robustness to Natural Distribution Shift
- 문제: 딥러닝 모델의 distribution shift에 대한 취약성
- Effective robustness: 기대값 이상으로 분포 변화 상황에서 성능이 향상된 정도
- Relative robustness: 분포 변화에서도 정확도 자체가 높음
- CLIP이 강건한 이유:
- 기존 모델은 대부분 ImageNet에 학습/튜닝됨. CLIP은 ImageNet을 전혀 보지 않은 zero-shot 모델
- 따라서 ImageNet의 편향된 통계 패턴에 의존하지 않음 → 자연스러운 분포 변화에도 더 잘 일반화
- CLIP 성능 결과
- 모든 zero-shot CLIP 모델이 effective robustness 대폭 향상. → ImageNet 성능 대비 분포 변화 성능 격차를 최대 75% 감소
- CLIP은 기존 204개 모델과 완전히 다른 위치의 robustness frontier 형성 → 새로운 강건성 패러다임 제시
CLIP의 대규모, 과제 무관(task-agnostic) 사전학습과 zero-shot 전이 기반 평가는 더 강건하고 현실적인 모델 성능을 가능하게 함
4. Data Overlap Analysis
인터넷 기반의 대규모 데이터셋을 사전학습에 사용하면, 다운스트림 평가 데이터와의 우연한 중복(overlap) 가능성이 있음 → 성능 과대 추정 우려
- CLIP의 사전학습 데이터와 평가 데이터 간의 중복은 평균 3.2% 수준으로 낮으며, 대부분의 경우 정확도에 유의미한 영향을 주지 않음
- 대규모 웹 기반 학습이 성능 과대 추정 없이도 신뢰할 수 있음을 보여줌
5. Broader Impacts
CLIP 장점:
- 특정 작업을 위한 라벨링 데이터 없이도 분류기 생성 가능
- 누구나 자유롭게 분류 작업 설계 가능
- 희귀하거나 특수한 작업도 쉽게 접근 가능
CLIP 유의점:
- 라벨 설계에 따른 편향 발생
- 프라이버시 및 감시 문제
6. Limitations
- CLIP은 zero-shot 성능에서 강점을 보이지만, 여전히 SOTA 수준에는 도달하지 못함.
- 연산 효율성, 데이터 활용, 평가 방식 측면에서 많은 개선이 필요.
- 자연어 기반 분류기 설계는 유연하지만 복잡한 과제를 다루기엔 한계가 있고, true zero-shot 평가를 위한 새로운 벤치마크의 정립도 요구됨.
8. Conclusion
- NLP에서 성공한 대규모 사전학습 전략을 컴퓨터 비전으로 확장 가능함을 입증
- CLIP은 훈련 과정에서 다양한 시각 작업을 스스로 학습
- 자연어 프롬프트를 통해 zero-shot 전이 가능
- 충분한 규모에서는 특정 작업에 맞춘 감독 모델과 유사한 성능 도달 가능
- 여전히 성능 향상, 효율성 개선, 편향 완화 등의 연구 필요