Paul's Grit

[논문 리뷰] [CLIP] Learning Transferable Visual Models From Natural Language Supervision 본문

논문 리뷰/Generative models

[논문 리뷰] [CLIP] Learning Transferable Visual Models From Natural Language Supervision

Paul-K 2024. 5. 24. 23:17

Paper

https://arxiv.org/abs/2103.00020

 

Learning Transferable Visual Models From Natural Language Supervision

State-of-the-art computer vision systems are trained to predict a fixed set of predetermined object categories. This restricted form of supervision limits their generality and usability since additional labeled data is needed to specify any other visual co

arxiv.org

 

 

OpenAI CLIP Document

https://openai.com/index/clip/

 

Abstract

기존의 비전 모델들은 고정된 카테고리에서 라벨링된 (image, label) 페어를 학습한다. 이러한 방법은 generality과 usability를 제한한다. 이와 다르게 CLIP은 인터넷에서 수집한 400M 쌍의 (image, raw text) 데이터셋을 학습하는데, 이를 통해 기존보다 더 광범위한 supervision을 활용한다. CLIP의 pre-training task는 (이미지, 텍스트) 데이터셋에서 캡션이 어떤 이미지와 일치하는지 예측하는 것이다. Pre-training 이후에는 다운스트림 태스크에 사전 학습된 CLIP을 사용하는 zero-shot transfer가 가능하다.

 

 

Introduction and Motivating Work

Raw text로부터 직접 학습하는 pre-training 방법은 지난 몇 년 동안 NLP를 발전시켰다. "text-to-text"라는 표준화된 입력-출력 인터페이스의 개발은 task-agnostic 아키텍처가 다운스트림 데이터셋에 zero-shot으로 전이될 수 있도록 하여, specialized output heads나 데이터셋별 맞춤화가 필요 없게 만들었다. GPT-3와 같은 시스템은 이제 거의 또는 전혀 데이터셋별 훈련 데이터가 필요 없이 여러 작업에서 특화된 모델과 경쟁할 수 있다.

 

그러나 컴퓨터 비전과 같은 분야에서는 여전히 ImageNet과 같은 crowd-labeled datasets에서 모델을 pre-training하는 것이 관행이다. 해당 논문은 "웹 텍스트로부터 직접 학습하는 pre-training method가 컴퓨터 비전에서도 돌파구를 가져올 수 있을까"라는 질문에서 시작한다.

 

 

Approach

Natural Language Supervision

CLIP의 핵심은 자연어에 포함된 supervision으로부터 지각을 학습하는 아이디어다. CLIP은 이미지에 대한 label 대신에 이미지에 달려있는 자연어 캡션을 supervision으로 사용는 것이다.

 

자연어로부터 학습하는 것은 다른 훈련 방법에 비해 강점이 있다. 이미지 분류를 위한 crowd-sourced labeling에 비해 natural language supervision은 규모를 확장하기 훨씬 쉽다.

 

또한, 자연어로부터 학습하는 것은 대부분의 unsupervised learning 또는 self-supervised learning 접근 방식보다 중요한 이점을 가지고 있다. 자연어를 활용하면 단순히 데이터의 representation을 학습하는 것뿐만 아니라, 그 representation을 언어와 연결하여 유연한 zero-shot transfer를 가능하게 한다.

 

Creating a Sufficiently Large Dataset

인터넷의 다양한 공개 소스로부터 수집한 4억 쌍의 (이미지, 텍스트) 데이터셋을 구축했다. 데이터셋의 총 단어 수는 GPT-2를 훈련하는 데 사용된 WebText 데이터셋과 유사하다. 이 데이터셋을 WebImageText(WIT)라고 부른다.

 

Selecting an Efficient Pre-Training Method

Training efficiency가 natural language supervision을 성공적으로 확장하는 데 핵심이라는 것을 발견했으며, 효율성을 기반으로 최종 pre-training 방법을 선택했다.

 

 

해당 논문의 초기 접근 방식은 VirTex와 유사하게 iamge CNN과 text transformer를 처음부터 joint하게 학습시켜 이미지의 캡션을 예측하는 것이었다. 그러나 이 방법은 확장성이 좋지 못했다고 한다. Figure. 2에서 보여주듯이, 63M 개의 파라미터를 가진 트랜스포머 언어 모델은 훨씬 간단한 baseline인 bag-of-words prediction보다 학습 속도가 세 배 느렸다.

 

최근의 이미지 contrastive representation learning은 contrastive 목적 함수가 다른 목적 함수들보다 더 나은 표현을 학습할 수 있음을 발견했다. 다른 연구에서는 이미지 생성 모델이 고품질의 이미지 표현을 학습할 수 있지만, 동일한 성능의 contrastive model보다 10배 이상의 연산을 필요로 한다는 것을 발견했다.

 

이러한 발견을 기반으로, CLIP에서는 특정 단어가 아니라, 텍스트 전체가 어느 이미지와 짝을 이루는지 예측하는 더 쉬운 프록시 작업 (proxy task)을 해결하도록 모델을 훈련했다. 목적 함수를 constrastive objective로 바꾼 결과, Figure 2에서처럼 ImageNet으로의 zero-shot transfer 속도가 4배 향상되었다.

 

$N$개의 (이미지, 텍스트) 쌍으로 이루어진 batch가 주어지면, CLIP은 batch 내에서 가능한 $N$ x $N$ (이미지, 텍스트) 쌍 중 어느 쌍이 진짜인지를 예측하도록 훈련된다.

 

이를 위해, CLIP은 image encoder와 text encoder를 공동으로 훈련시켜, batch 내의 N개의 실제 (이미지, 텍스트) 쌍의 임베딩 cosine similarity를 최대화하고, $N^2 - N$개의 잘못된 쌍의 임베딩의 cosine similarity를 최소화하여 multi-modal embedding space를 학습한다. Figure 3는 CLIP의 의사 코드이다. 

 

 

이미지 인코더를 ImageNet 가중치로 초기화하거나 텍스트 인코더를 사전 학습된 가중치로 초기화하지 않고 처음부터 CLIP을 훈련한다. 그리고, 각 인코더의 representation을 multi-modal embedding space로 매핑하는 데에 linear projection을 사용한다.

 

Data augmentation으로는 Random square crop만을 사용했다. 마지막으로, 소프트맥스에서 logit의 범위를 제어하는 temperature parameter $tau$는 하이퍼파라미터로 튜닝하지 않기 위해 학습 중에 최적화된다.

 

2.4. Choosing and Scaling a Model

  • Image Encoder: ResNet-50, ViT
  • Text Encoder: Transformer

 

실험부분은 내용이 방대하기에 다른 블로그 리뷰를 참고하였다.

 


 

참고 자료