Paper Review
  • Paper Review
    • NLP
      • Latent Retrieval for Weakly Supervised Open Domain Question Answering
      • Dense Passage Retrieval for Open-Domain Question Answering
      • BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Gener, Trans, Comprehension
      • Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
      • REALM: Retrieval-Augmented Language Model Pre-Training
      • ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT
      • Condenser: a Pre-training Architecture for Dense Retrieval
      • InPars: Data Augmentation for Information Retrieval using Large Language Models
      • Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
      • LoRA: Low-Rank Adaptation of Large Language Models
      • LLaMA: Open and Efficient Foundation Language Models
      • TableLlama: Towards Open Large Generalist Models for Tables
    • CV
      • SimCLR: A Simple Framework for Contrastive Learning of Visual Representations
      • ViT : An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
    • VLM
      • Pixel-BERT: Aligning Image Pixels with Text by Deep Multi-Modal Transformers
      • CLIP: Learning Transferable Visual Models From Natural Language Supervision
      • ALBEF: Align before Fuse: Vision and Language Representation Learning with Momentum Distillation
      • MVLM: Masked Vision and Language Modeling for Multi-modal Representation Learning
      • SimVLM: Simple Visual Language Model Pretraining with Weak Supervision
      • VLMo: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts
      • CoCa: Contrastive Captioners are Image-Text Foundation Models
      • Flamingo: a Visual Language Model for Few-Shot Learning
      • GIT: A Generative Image-to-text Transformer for Vision and Language
      • LLaVA: Large Language and Vision Assistant (Visual Instruction Tuning)
    • Medical Domain application
      • Radiology-Llama2: Best-in-Class Large Language Model for Radiology
      • Parameter-Efficient Fine-Tuning of LLaMA for the Clinical Domain
Powered by GitBook
On this page
  • 1. Introduction and Motivating work
  • 2. Approach
  • 2.1 Natural Language Supervision
  • 2.2 Creating a Sufficiently Large Dataset
  • 2.3 Selecting an Efficient Pre-training Method
  • 2.4 Choosing and Scaling a Model
  • 3. Experiments
  • 3.1 Zero-shot Transfer
  • 3.2 Representation Learning
  • 4. Limitation
  • 5. Conclusion
  • Reference

Was this helpful?

  1. Paper Review
  2. VLM

CLIP: Learning Transferable Visual Models From Natural Language Supervision

https://arxiv.org/abs/2103.00020

Last updated 1 year ago

Was this helpful?

1. Introduction and Motivating work

  • NLP는 MLM이나 auto regressive 같은 Task-agnostic(task에 관계없이 적용 가능한; foundation model을 만들고 여기저기 다양한 task에 활용할 수 있는) 방법론 덕분에 자연어 자체를 잘 이해할 수 있는 scalable한 모델을 만드는 방향으로 발전할 수 있었음 ⇒ Task에 맞는 output head나 데이터 없이도 zero-shot transfer이 가능함 (ex. GPT-3)

  • CV의 기존 CNN 기반 vision 모델은 zero-shot task에 대해서는 성능이 낮음

    • 당시 ImageNet SOTA는 88.4%였지만 zero-shot setting으로 할 경우 11.5% 밖에...

  • 본 논문은 4억개의 이미지-텍스트 쌍으로 학습한 ConVIRT의 간단한 버전 모델인 CLIP을 제안함

2. Approach

2.1 Natural Language Supervision

  • 자연어에 포함된 supervision으로부터 학습하는 것이 핵심

  • 자연어를 이용해 학습하는 것에는 다음과 같은 장점이 존재

    • 라벨링을 할 필요가 없으니 dataset의 scalability가 커질 수 있음

    • 이미지와 자연어 쌍은 비교적 Web 상에서 구하기 용이함

    • Natural language supervision은 representation을 학습할 때 언어에 대한 representation까지 학습하므로 zero-shot transfer이 가능할 것

2.2 Creating a Sufficiently Large Dataset

  • MS-COCO, Visual Genome은 퀄리티가 높지만 양이 적음

  • YFCC100M는 1억개지만 각 이미지에 대한 meta 데이터가 sparse하고 품질에 일관성이 없음(=퀄리티가 낮음)

  • WIT(WebImageText)라고 명명한 4억개의 Image-Text 쌍의 데이터셋을 직접 만듬

    • 미리 만들어둔 500,000개의 쿼리 중 단어가 하나라도 포함되어있다면 데이터셋에 추가

    • 500,000개의 쿼리는 위키피디아에서 최소한 100번이상 등장해야하는 필터링을 적용

    • 데이터 균형을 위해 쿼리당 쌍을 20000개 까지만 저장

    • ImageNet 데이터셋의 양 30배 이상의 규모

2.3 Selecting an Efficient Pre-training Method

  • VirTex와 유사하게 CNN기반 image encoder와 transformer 기반 decoder를 이용해 image captioning 방법으로 함께 학습시켜봄

    • VirTex는 ConvNet + Transformer로 이미지에 대한 natural language caption을 생성하는 방법임

    • Image Captioning 방법은 이미지와 단어를 정확하게 예측하고자 하는 task임

      • 한 이미지에 대해 서술되는 것이 다양할 수 있기 때문에 정확한 단어를 예측하는 것은 몹시 어려운 task

      • 따라서 Figure 2처럼 Transformer 모델은 너무 느려서 비효율적임

  • 본 논문은 한 단어가 아니라 text 전체를 쌍으로 놓고 학습시킴

  • 최종 선택한 CLIP 모델이 image captioning baseline보다 4배 더 효율적임

  • Contrastive 방식이 predictive 방식보다 Representation을 학습하는데는 더 잘됨

  • 1개의 batch에는 N개의 (image, text) 쌍이 존재

  • NN N x NNN 개의 가능한 (image, text) 쌍의 가짓수를 만들 수 있음

    • NNN개의 positive pair, N2−NN^2 - NN2−N개의 negative pair

  • 각각의 image-text representation을 곱하여 cosine similarity를 구함

  • Pos pair에서의 유사도는 최대로, neg pair에서의 유사도는 최소가 되도록 각 유사도 점수들에 대해 symmetric cross entropy loss를 optimize함

  • 데이터셋이 충분히 커서 overfitting 문제는 고려하지 않음

  • Image Encoder는 ImageNet weight를 사용하지 않음

  • Text Encoder도 pretrained weights를 사용하지 않음

  • data augmentation을 random square crop만 사용

  • 훈련과정에서 softmax logit 범위를 조정하는 parameter를 사전에 고정하는 하이퍼파라미터로 설정하는 대신 optimize하도록

2.4 Choosing and Scaling a Model

  • Image Encoder로는 2개의 모델 구조를 고려

    • ResNet-D: ResNet50, ResNet101, ResNet50x4, ResNet50x16, ResNet50x64

    • ViT: ViT-B/32, ViT-B/16, ViT-L/14

      • Layer normalization 추가

  • Text Encoder로는 Transformer 사용

    • base

      • 63M parameter

      • 12 layer

      • 8 attention head

  • 32 epoch 학습

  • Batch Size: 32,768

  • 다양한 학습 및 메모리 최적화 기법 사용

    • Mixed-precision

    • gradient checkpoinint 등

3. Experiments

  • Contrastive Language Image Pretraining 모델의 각각의 encoder로부터 feature embedding을 구하고 cosine similarity를 계산해서 softmax를 통해 확률분포로 정규화함

  • 가장 높은 값을 정답으로 classification 하는 것

3.1 Zero-shot Transfer

Zero-shot Image Classification

  • Visual N-Grams모델과 비교했을 때 월등히 zero-shot classification 성능이 좋음

    • Visual N-Grams 연구가 나오기 전에는 Transformer 모델도 없었으며 학습 데이터 양또한 CLIP이 많았기 때문에 공평한 조건의 비교는 아니라고 언급

Prompt engineering and Ensembling

  • image classification dataset은 label이 숫자 ID로 구성되는 경우가 많아 zero-shot transfer이 어려움

  • 다의성(Polysemy) 문제도 존재

    • Class Name 만이 존재할 때 예를 들어 boxer는 운동선수인지 강아지 종인지 모름

  • text pair가 single word로 존재하는 경우가 적고, image를 full sentence로 설명하는 경우가 많아서 ⇒ default prompt template으로 A photo of a {label} 사용

  • 프롬프트만 바꿔줬을 때, 4배 더 많은 연산을 한 모델과 같은 성능을 보임

  • GPT3 처럼 task마다 prompt text를 커스터마이징 해줌으로써 zero-shot 성능을 향상시킬 수 있었음

  • 라벨이 자연어다보니 Prompt Engineering에 따라 img classification 성능이 천차만별

    • Prompt Engineering이 중요함

Zero-Shot CLIP vs Linear Probe on ResNet50

  • 27개의 dataset을 가지고 ImageNet pre-trained ResNet50을 Linear probe한 모델과 Zero-shot CLIP의 성능을 비교

    • Linear Probe: Supervised Learning으로 Classifier만 fine-tuning

    • Encoder가 좋은 representation learning을 했다면 단순히 classifier만 학습해도 성능이 좋을 것이라는 전제

  • 27개의 dataset 중 16개에서는 성능이 좋았지만 세부적인 representation learning이 필요한 데이터셋에서는 성능이 안좋음

    • General한 task에는 zero-shot transfer가 linear probe보다 좋음 ⇒ 튜닝을 한 것 보다 안한게 더 좋다.

  • MNIST에서도 성능이 안좋은데 이게 pretraining dataset에 MNIST 같은 류의 데이터셋이 없어서라고 논문에서는 말함

Zero-shot CLIP vs Few-shot linear probes

  • CLIP Zero-shot task는 다른 모델들(SimCLR, BIT)의 few-shot 결과보다 좋음

  • CLIP Zero-shot 성능은 4-shot linear probe CLIP의 성능과 비슷함

3.2 Representation Learning

  • Zero-shot을 잘한다고 Representation learning 능력이 좋다고 단정짓기 어려우니 Linear probe을 할 때 FC layer를 사용하지 않고 Logistic Regression Linear Classifier를 사용

    • FC layer는 model의 representation failure를 가릴 수 있기 때문에 좀 더 representation 능력을 정확히 파악하고자함

  • 12개 / 27개의 데이터셋을 평가한 점수를 평균냄

  • CLIP-VIT가 가장 성능이 우수함

  • image-text pair를 Contrastive Learning 하는 방법이 representation learning하는데 우수함

Distribution Shift

  • ImageNet dataset에 변형을 주고(distribution shift) ResNet과 Zero-shot CLIP 모델의 성능을 비교

    • Vision 모델의 공통적인 한계

      • 학습한 데이터셋에 노이즈가 섞인다던가 등의 변형이 이루어지면 성능이 감소함== Robustness가 낮음

    • ImageNet에서 pretrained된 ResNet101보다 CLIP이 더 Robust함 ⇒ Multi-modal model은 기존 Vision 모델의 한계를 극복함

  • few-shot 이미지가 추가될수록 성능이 높아지지만 여전히 zero-shot의 robustness 성능이 더 좋

  • Fine-tuning을 잘못시키면 일반화 성능을 해칠 수 있음을 보임

Comparison of human performance

  • Oxford IIT Pets test set으로 개와 고양이를 labeling하는 task를 수행

  • CLIP Zero-shot이 사람보다 성능이 좋음

4. Limitation

  • CLIP Zero-shot은 ResNet50과 비슷한 수준이지만 SOTA보다는 낮음

    • SOTA 수준까지 성능을 올릴려면 계산량이 1000배 정도 늘려야함

  • 여전히 몇몇 task들(지엽적인 이미지 분류)에는 성능이 낮음

    • Task specific한 모델들에 비해 fine-grained classification에서 성능이 낮음

    • abstract 및 systemic한 task(이미지에서 숫자 제거) 에서도 성능이 낮음

    • CLIP pretraining dataset에 없는 novel task에서도 성능이 낮음

      • CLIP이 generalization 문제를 완전히 해결하지는 못함

  • 인터넷 상의 데이터로 학습했기에 Social bias를 학습할 위험 존재

"Is a Caption Worth a Thousand Images? A Controlled Study for Representation Learning" 논문 내용

  • CLIP은 data scale이 중요함. data scale이 뒷받침되지 않는 경우 language supervision은 모델 성능을 해칠 수 있음

  • Caption descriptiveness가 중요함

    • 1개의 상세한 caption이 5개의 러프한 caption보다 낫다.

  • 데이터 스케일이 작을 수록 descriptivness가 중요함

  • caption의 다양성은 성능에 악영향을 미침

    • image : caption = 1 : M이라고 하면 M=10 정도에서 saturation함함

    • 하나의 image에 여러개의 object가 존재하는 경우 multi-object를 모두 묘사하는 경우 성능에 악영향을 끼침

5. Conclusion

  • Image-Text 대용량 데이터로 Contrastive Learning하면 Zero-shot transfer가 가능함을 보인 논문

  • NLP 분야에서 널리 쓰이는 task-agnostic pretraining 방식이 CV 분야에도 적용할 수 있음을 보임

  • "웹에서는이미지 데이터에 텍스트가 함께 있는 경우가 많으니 이 텍스트를 이용해서 supervision을 받아 학습을 하면 vision task도 task agnostic하지 않을까" 라는 가정에서 출발해서 이미지와 텍스트를 contrastive learning했더니 generality(zero-shot)이 좋았다를 정말 다양한 실험을 통해 증명한 논문

    • 증명하기 위한 실험 설계하는 것을 많이 배울 수 있었음

  • Contrastive 방식이 predictive 방식보다 Representation을 학습하는데는 더 잘됨

  • 그런데 In-batch negative 방식의 contrastive learning에서 batch size보면 진짜 데이터 스케일이 항상 엄청 크게 필요하다...😢

  • 어려운 task에서는 zero-shot transfer가 linear probe보다 성능이 안좋은데, 언어모델을 pretrained weight을 사용하지 않아서 언어 representation에 대한 성능이 그다지 좋지 않아서가 아닐까?

    • 그렇지만 본 논문의 목표는 raw text supervision으로부터 visual representation을 학습하는 것이었으니 transformer encoder의 pretrained weight를 사용하지 않는 선택을 할 수 있다고 생각함

Reference

https://dealicious-inc.github.io/2021/03/22/learning-transferable-visual-models.html
https://www.youtube.com/watch?v=T9XSU0pKX2E
https://www.youtube.com/watch?v=BoDFT85-Z8U
Contrastive Learning
Page cover image