본문 바로가기
AI/Paper Review

[ Paper Review ] CLIP (Learning Transferable Visual Models From Natural Language Supervision, 2021)

by seoyeonnn 2024. 7. 15.
 

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

 

0. Abstract

SOTA computer vision 시스템은 사전에 정의된 object category를 예측하도록 훈련되는데, 이러한 형태의 지도 방식은 다른 시각적 개념을 명시하기 위해서는 추가적인 라벨링된 데이터가 필요하기 때문에 일반성과 유연성을 제한한다. 이미지에 대한 raw 텍스트로부터 직접 학습하는 것은 더 폭 넓은 지도학습의 데이터를 활용할 수 있는 유망한 대안이다.

 

본 논문에서는 어떤 캡션이 어떤 이미지와 어울리는지 예측하는 간단한 pre-training task가 이미지 표현을 학습하는 효과적이고 확장성 있는 방법임을 입증한다. pre-training 이후, 자연어는 학습된 시각적 개념을 참조하거나 새로운 것을 설명하는데 사용되어 모델이 downstream task에 zero-shot 전이가 가능하도록 한다. 모델은 대부분의 task에 전이되고, 특정 데이터셋에 대한 훈련 없이도 완전한 지도 학습 기반의 기존 모델과 경쟁할 수 있다.

 

 

1. Introduction and Motivationg Work

raw 텍스트로부터 직접 학습하는 pre-training 방법은 최근 몇 년간 NLP를 발전시켜왔으며, task-agnostic 목표들은 연산 능력, 모델 용량, 데이터의 여러 차원에서 확장되어 지속적으로 성능을 향상시켜왔다. 웹 규모에서 수집한 텍스트 데이터에서 현대 pre-training 방법론에 이용 가능한 지도 학습의 통합이 고품질의 crowd-labeled NLP 데이터셋을 능가한다. 그러나 computer vision과 같은 다른 분야에서는 여전히 ImageNet과 같은 crowd-labeled 데이터셋으로 모델을 학습하는 것이 일반적이다.

 

※ Crowd-labeling

: 다수의 사람들이 온라인 플랫폼을 통해 대규모 데이터셋의 주석을 다는 방법

 

웹 text로부터 직접 학습하는 pre-training 방법론이 computer vision에서도 유사한 진전을 이끌어 낼 수 있을지에 대한 기존 연구들이 있지만, 여전히 이미지 표현 학습을 위해 자연어 지도 방식을 사용하는 것은 드물다.

이러한 연구들은 제한된 양의 'gold-labels'로부터 학습하는 것과 사실상 제한되지 않은 raw 텍스트로부터 학습하는 것 사이의 실용적인 중간 지점을 나타낸다.

 

본 연구에서는 인터넷에 공개된 대규모 데이터를 통해 4억 개의 (이미지, 텍스트) 쌍 데이터셋을 생성하고, ConVIRT의 간소화된 버전을 처음부터 훈련 시킨 CLIP(Contrastive Language-Image Pretraining) 모델이 자연어 지도 학습에서 효율적인 방법임을 입증한다.

 

CLIP의 zero-shot 전이 성능을 30개의 기존 데이터셋을 이용해서 측정했으며 이전의 task-specific한 지도 학습 모델과도 경쟁력 있음을 발견했다.

 

 

2. Approach

2.1. Natural Language Supervision

본 연구의 핵심은 자연어를 포함한 지도를 통해 인식을 학습하는 것이다.

 

자연어 지도 방식은 일반적인 crowd-sourced labeling과 비교했을 때, 특정 형식의 주석을 필요로 하지 않기 때문에 확장하기 더 쉽다. 자연어에서 작용하는 방법들은 인터넷의 방대한 양의 텍스트에 포함된 지도로부터 수동적으로 학습할 수 있다.

또한 자연어로부터 학습하는 것은 표현을 학습하는 것 뿐만 아니라 그 표현을 언어와 연결하여 zero-shot 전이가 유연하도록 한다는 중요한 장점이 있다.

 

2.2. Creating a Sufficiently Large Dataset

인터넷에서의 다양한 공개 소스에서 수집된 4억 개 (이미지, 텍스트) 쌍의 새로운 데이터셋을 구축했다.

 

가능한 넓은 범위의 시각적 개념을 포괄하기 위해 구축 과정에서 500,000개의 쿼리 중 하나가 포함된 텍스트를 가진 것으로 찾았으며, 각 쿼리 당 최대 20,000개의 (이미지, 텍스트) 쌍을 포함하여 결과를 균형있게 조정한다.

 

2.3. Selecting an Efficient Pre-Training Method

SOTA computer vision 시스템은 매우 큰 연산량을 사용한다. 학습 효율성이 자연어 지도학습을 성공적으로 확장하는 데 있어 중요하며, 최종 pre-training 방법을 이에 기반하여 선택했다.

 

 

Transformer Language 모델이 같은 텍스트의 bag-of-words 인코딩을 예측하는 훨씬 간단한 베이스라인에 비해 ImageNet class를 인식하는 속도가 3배나 느리다.

 

두 방법 모두 각 이미지에 일치하는 정확한 단어를 예측하려고 하는데, 이는 설명, 관련 텍스트들의 다양성 때문에 어려운 task이다.

최근 이미지에 대한 대조적 표현 학습 연구에서는 대조적 목표가 예측 목표에 비해 더 나은 표현을 학습할 수 있다는 것을 발견했다.

 

이를 고려하여, 텍스트의 정확한 단어를 예측하는 것이 아닌 어떤 텍스트가 어떤 이미지와 쌍을 이루는지 예측하는 더 쉬운 근사 task를 해결하기 위한 학습을 진행했다. 예측 목표를 대조적 목표로 교체하고 zero-shot 전이 속도에서 4배의 효율성 개선을 관찰했다.

 

주어진 N개의 (이미지, 텍스트) 쌍 배치에서, CLIP은 N x N개의 쌍 중에서 실제로 발생한 것을 예측하도록 훈련된다.

이를 위해 CLIP은 이미지 encoder와 텍스트 encoder를 공동으로 훈련하여 $N$개의 실제 쌍 embdding의 코사인 유사도를 최대화하$N^2 - N$개의 일치하지 않는 쌍의 embdding은 최소화함으로써 multi-modal embdding space를 학습한다.

이러한 유사도 점수에 대해 대칭 cross-entropy loss를 최적화한다.

 

 

CLIP의 pseudocode는 다음과 같다.

 

이미지 encoder와 텍스트 encoder를 pre-trained 가중치로 초기화하지 않고, 처음부터 학습한다.

또한 각 encoder의 representation과 multi-modal embedding 사이에 비선형 projection을 사용하지 않고, 오직 선형 projection만 사용한다.

 

2.4. Choosing and Scaling a Model

image encoder는 ResNet과 ViT 2가지 모델을 사용했으며, text encoder는 Transformer를 사용했다.

 

이전 computer vision 연구는 모델의 너비와 깊이 중 하나만 확장했지만, 본 연구에서는 ResNet image encoder의 너비, 깊이, 해상도 모두를 확장했다.

text encoder는 ResNet의 너비에 맞게 확장했으며 깊이는 확장하지 않았다. 이는 CLIP의 성능이 text encoder에 덜 민감하다는 것을 발견했기 때문이다.

 

2.5. Training

5개의 ResNet 모델과 3개의 ViT 모델을 훈련시켰다.

  • ResNet-50, ResNet101, (EfficientNet-style model) RN50x4, RN50x16, RN50x64
  • ViT-B/32, ViT-B/16, ViT-L/14

모든 모델에 대해 32 epoch 학습시켰으며, ADAM optimizer를 사용했다.

 

가장 큰 ResNet 모델인 RN50x64은 592개 V100 GPU를 사용하여 18일 소요되었으며, 가장 큰 ViT 모델은 256개의 V100 GPU를 사용하여 12일 소요되었다.

 

 

3. Experiments

3.1. Zero-Shot Transfer

computer vision에서 zero-shot learning은 일반적으로 image classification에서 학습에서 보지 못한 object category에 대해 일반화하는 것을 의미하는데, 본 연구에서는 보지 못한 데이터셋에 대한 일반화를 의미한다.

 

unsupervised learning에서 많은 연구들이 representation learning 능력에 집중하는 반면, 본 연구에서는 task-learning을 측정하는 방법으로 zero-shot 전이를 연구한다.

 

Visual N-Grams는 image classification에서 zero-shot 전이를 처음 사용한 연구인데, 이와 비교했을 때 CLIP이 더 높은 성능을 보임을 알 수 있다.

 

본 연구에서 ‘A photo of a {label}’과 같은 형식의 prompt를 default로 사용했으며, ImageNet에서는 80개의 다른 prompt를 사용하는 것의 하나의 default prompt를 사용하는 것보다 3.5%의 성능 향상이 있었다.

prompt engineering을 사용함으로써 5% 정도의 성능 향상을 만들 수 있었다.

 

Linear probe 방식을 통해 fine tuing 시킨 ResNet50 모델과 성능을 비교한 결과, 27개의 데이터셋 중 16개의 데이터셋에서 CLIP이 더 좋은 성능을 보였다.

 

※ Linear probe

: 학습된 representation을 평가하기 위한 방법으로, 모델의 마지막에 Classification을 위한 linear layer만 추가해 해당 부분만 학습시키는 방법

 

 

CLIP이 더 약한 성능을 보인 데이터셋은 위성 이미지 분류, 림프절 종양 감지 등으로 복잡하거나 추상적인 task에서는 CLIP의 성능이 취약하다는 것을 알 수 있다.

 

다음은 CLIP과 다른 모델들의 few-shot 성능을 비교한 그래프이다.

 

CLIP이 다른 모델들보다 더 좋은 성능을 보이며, zero-shot CLIP은 다른 모델들이 많은 데이터로 학습해야 낼 수 있는 성능이다.

 

3.2. Representation Learning

다음은 각각 12개와 27개의 데이터셋에서 linear probe를 이용해 측정한 성능이다.

 

모든 크기에서 CLIP이 다른 모델보다 더 높은 성능을 보였다.

 

3.3. Robustness to Natural Distribution Shift

다음은 ImageNet 점수와 다른 task에서의 점수(Transfer score)와의 비교 관계를 나타낸 것인데, CLIP 모델이 다른 분포의 데이터셋에 대해서도 훨씬 robustness를 가진다고 볼 수 있다.

 

 

4. Comparison to Human Performance

본 연구에서는 CLIP과 인간의 성능을 비교하기 위해, 5명을 대상으로 Oxford IIT Pets dataset에서 3669개의 이미지를 보고 37개의 class로 분류하도록 했다.

 

 

5. Data Overlap Analysis

대규모의 인터넷 데이터셋으로 pre-trainig 했기 때문에, downstream 평가의 데이터셋과 중복될 수 있다.

얼마나 많은 중복이 발생하고 이 중복 때문에 어떻게 성능이 변화하는지를 기록하기 위해, 다음과 같은 절차를 수행한다.

 

1. 각 평가 데이터셋에 대해, duplicate detector를 사용하여 유사도가 threshold 이상일 경우 Overlap, 아닐 경우 Clean 집합으로 설정한다. All(전체 데이터) 중 Overlap의 비율을 오염 정도로 한다.

2. All과 Clean에서 CLIP의 zero-shot accuracy 차이를 계산하고, 이것이 오염으로 인한 accuracy의 차이이다.

 

Overlap 비율의 중앙값은 2.2%, 평균은 3.2%이며 이 적은 overlap 양 때문에 전체 accuracy가 0.1% 이상 변하는 경우는 거의 없었다.

 

 

6. Limitations

CLIP이 특정 task에서는 좋지 않은 성능을 보이며, 특히 task가 복잡하고 세밀한 경우 성능 저하가 심했다.

또한 CLIP은 인터넷에서 가져온 (이미지, 텍스트) 쌍을 통해 학습되었는데, 필터링 되지 않았으며 이에 따라 social biases를 그대로 학습할 수 있다는 문제가 있다.

CLIP에서 zero-shot 성능을 더욱 향상시킬 수 있는 few-shot 방법에 대한 후속 연구가 필요하다.

 

 

7. Conclusion

본 연구에서는 NLP에서 task-agonostic한 웹 규모 pre-training의 성공이 다른 도메인으로 전이될 수 있는지에 대해 연구했으며, computer vision에서도 유사한 결과가 나타난다는 것을 발견했다.

CLIP 모델은 pre-training동안 다양한 task를 수행하는 법을 학습하며, 이 task learning은 자연어 prompt를 통해 활용되어 많은 기존 데이터셋에 대해 전이가 가능하게 한다.