본문 바로가기
Paper review

Learning Transferable Visual Models From Natural Language Supervision(CLIP, 2021)리뷰 part-2

by Yonghip 2024. 1. 18.

이번에는 CLIP의 Experiments part에 대해 살펴보겠다. 크게 Zero-shot transfer과 Representation learning으로 구성되어 있다.

 

Zero-shot Transfer

Motivation

이 논문에서는 대게 사용하는 Representation learning보다는 Zero-shot transfer를 통해 model의 task learning성능을 측정하였다고 한다. Representation learning은 fine-tune, linear-probing과 같이 모델을 추가 학습시키는 것이고 Zero-shot transfer는 말 그대로 라벨 없이 성능을 측정하는 것을 의미한다.

 

Using CLIP for zero-shot transfer

part1에서 CLIP이 image와 text를 인코딩하고 그 유사도를 측정하는 방법임을 알 수 있었다. CLIP을 ZS transfer에 사용할 때는 text encoderimage encoder를 통해 출력된 벡터의 유사도가 가장 높은 값을 예측한다. 이때 text encoder를 통해 예측된 벡터들은 한 번만 계산되고 이후에는 이 값이 계속해서 사용되어 예측할 때 자원을 효율적으로 사용할 수 있다.

 

 

Prompt engineering and ensembling

자연어와 이미지를 동시에 사용할 때 두 가지 문제점이 있다.

  1. 대다수의 Vision dataset이 image와 class_id로 구성되어 있으며 의미를 아예 내포하고 있지 않은 데이터셋 역시 존재한다.(e.g.Floewrs102, GTSRB)
  2. 자연어 형태의 라벨이 있다고 해도 다의성의 문제가 존재한다.(e.g. boxer는 Oxfore-111 Pet dataset에서는 개의 품종이나 text encoder는 이를 보통 운동선수로 인코딩한다)

위의 문제를 해결하기 위해 단일 라벨이 아닌 한 문장으로 prompt engineering하여  text encoderinput으로 사용했다.

 

예를 들어 위성에는 “a satellite photo of a {label}”, 애완동물 데이터에는 “A photo of a {label}, a type of pet.”과 같은 promt를 추가해 ZS transfer성능을 높일 수 있었으며 실험을 통해 여러 개의 prompt(e.g. A photo of a big {label}” and A photo of a small {label})을 사용해 추가적으로도 성능을 향상할 수 있음을 보여주었다.

Prompo engineering result

 

Analysis of zero-shot CLIP performance

그림을 보면 ResNet50과 성능을 비교했을 때 여러 데이터셋에서 성능이 뛰어남을 알 수 있다.(ResNet Linear probe 방식으로 데이터셋마다 추가학습된 것에 반해 CLIPZero-shot이다)

Evaluation of Zero shot CLIP vs ResNet50

 

Zero-shot transfer뿐만 아니라 다른 모델과 공평하게 Linear probe 방식으로 학습했을 때 역시 성능이 뛰어남 을 알 수 있다.

 

Represenatation Learning

Zero shot transfer뿐만 아니라 당시 일반적으로 사용하던 representation learning방식으로도 평가를 진행했다. Fine tuning방식은 Linear probe에 비해 학습 비용이 높고 공정한 비교로 보기도 어렵기 때문에 Linear probe 방식을 사용했다고 한다.

 

ResNet을 기반으로 한 변형은 성능이 기존보다 낮을 때도 있지만 ViT는 모두 당시 SOTA 모델보다 좋은 성능을 보여주었다.

 

ImageNet을 사전학습시키고 다른 데이터셋들에 각각 추가 학습시킨 뒤 성능을 비교했을 때 성능변화가 다른 모델에 비해 크지 않은 점을 알 수 있다. 눈에 띄는 점은 EfficntNet noisy student는 이전에 높은 성능을 보여주었으나 여기서는 성능이 떨어지고 반대로 ViT + Constrasive Learning 기법을 사용한 모델은 상대적으로 성능 저하가 적은 성향을 보인다.

 

 

Conclusion

CLIP은 NLP의 감독 하에 CV에서도 task-agnostic모델을 만들 수 있게 되었다. Zero shot 성능도 뛰어나고 추가 학습을 했을 때 역시 기존 SOTA 모델과 견주어도 뒤떨어지지 않는다.

 

 


이전에는 CLIP의 Main contribution을 Multimodal로 알고 있었는데 논문을 직접 읽어보니 NLP의 pre-train능력을 CV에 적용시키는? 방법에 가까운 것 같다.

 

이 논문 이전에만 해도 Image와 text의 유사도를 통해 학습시키는 방법이 그리 대중적이지는 않았던 것 같은데 지금 와서는 여러 도메인의 데이터를 활용하는 대표적인 방법이 되었고 Multimodal에서 새로운 지평을 열었다고도 생각된다.

 

논문링크: https://arxiv.org/abs/2103.00020