본문 바로가기
ML | DL/딥러닝 논문

CLIP(Contrastive Language-Image Pre-Training) 논문 리뷰

by Leeys 2024. 4. 11.

introduce

 

이번에 소개할 CLIP 모델은 OpenAI가 개발한 인공지능 기술로, "Contrastive Language–Image Pre-training"의 약자입니다. 이 모델은 대량의 이미지와 텍스트 데이터를 함께 학습함으로써, 이미지를 설명하는 텍스트를 이해하고, 반대로 텍스트로부터 이미지 내용을 예측할 수 있는 있으며, 강력한 zero-shot 능력을 가지고 있습니다.

 


 

Abstract

 

기존의 최신 기술(SOTA) 컴퓨터 비전 태스크들은 지정된 클래스 카테고리에서만 훈련이 가능했습니다. 이러한 방식은 각각의 비전 태스크마다 새로운 레이블 데이터를 추가해야 했기 때문에, 일반화와 유용성에 제한을 받았습니다.

이미지에 대한 텍스트를 직접 학습하는 것은 더 많은 훈련 자원

을 활용할 수 있게 하므로 중요한 접근 방식입니다.

 

본 논문에서는 간단한 사전 훈련 과정을 통해 어떠한 캡션 또는 이미지가 최신 기술을 대표할 수 있는지 입증하기 위해 인터넷에서 수집한 4억 개의 데이터 쌍(텍스트, 이미지)을 사용하였습니다.

 

사전 훈련 이후, 자연어와 시각적 개념 모델이 다운스트림 태스크에서 제로샷 전이가 가능하도록 합니다. 이 방법의 성능을 평가하기 위해, OCR, 액션 인식 비디오, 지오-로컬라이제이션, 다양한 유형의 객체 분류를 포함하는 30개 이상의 컴퓨터 비전 데이터셋에서 벤치마킹을 진행했습니다.

 

CLIP은 대부분의 작업에서 쉽게 적용될 수 있으며, 특정 데이터셋에 대한 훈련 없이도 다른 훈련된 모델들과 경쟁력을 가집니다. 예를 들어, 우리는 원래 ResNet-50의 ImageNet 성능에 도달하기 위해 해당 모델이 훈련된 128만 개의 예제 중 어느 것도 사용하지 않고도 제로샷으로 만들 수 있었습니다.

 

model

CLIP은 이미지 인코더와 텍스트 인코더를 함께 훈련시키는 방식으로 작동합니다. 다른 전통적인 방식이 특징 추출(feature extraction) 모델을 훈련시킨 후, 선형 분류기(linear classifier)에서 라벨을 예측하는 것과 달리, CLIP은 이미지와 텍스트의 쌍을 매칭하여 예측하도록 설계되었습니다.

 

이미지 인코더로는 ResNet 시리즈나 Vision Transformer가 사용되며, 텍스트 인코더로는 CBOW(Continuous Bag Of Words) 또는 텍스트 Transformer가 사용됩니다.

 

 

추론 과정에서는 훈련된 텍스트 인코더를 사용하여 이름을 임베딩하거나 타겟 클래스를 정의하여 제로샷 선형 분류기(zero-shot linear classifier)를 구성합니다. 이때, 각 인코더의 출력은 코사인 유사도(cosine similarities)를 통해 서로의 관계성을 학습합니다. 이 과정에서 각 인코더는 크로스 엔트로피 손실(cross entropy loss)을 사용하며, L2 정규화를 적용한 후 내적(np.dot)을 수행하는 이유는 두 임베딩의 차원을 일치시키기 위함입니다.

 

CLIP에서 이미지 임베딩값과 텍스트 임베딩값의 공간은 서로 다르다고 합니다. 이러한 차이점을 고려하여, 각 손실(loss)의 출력을 합하고 2로 나누어 최종 손실을 계산합니다. 이 방식을 통해 이미지와 텍스트 사이의 복잡한 관계를 학습하면서, 다양한 시각적 태스크에 대해 유연하고 강력한 성능을 발휘할 수 있습니다. CLIP의 이러한 접근 방식은 기존의 방법들과 비교하여 훨씬 더 일반화된 학습과 추론 능력을 제공합니다.

 

INITIAL COMPARISON TO VISUAL N-GRAMS

  • VISUAL N-GRAMS(https://arxiv.org/abs/1612.09161)은 기존의 이미지를 이용해 문구를 예측할 수 있었던 모델이며
  • 현재 clip은 aYahoo 데이터셋에서 100에 가까운 성능을 보였고 나머지 ImageNet, SUN 데이터셋에서 두배이상의 성능을 달성했다.

 

PROMPT ENGINEERING AND ENSEMBLING

  • 텍스트를 지정하는 데 도움이 되는 좋은 기본값은 이미지의 내용에 관한 것이다. 이렇게 하면 레이블 텍스트만 사용하는 기준에 비해 성능이 향상되는 경우가 많다. 예를 들어, 이러한 프롬프트를 사용하면 ImageNet의 정확도가 1.3% 향상된다.“A photo of a {label}, a type of pet.”
  • 이러한 방법으로 label옆에 단어에 대한 설명 프롬포트를 주면 더욱 성능이 개선되었다.

 

ANALYSIS OF ZERO-SHOT CLIP PERFORMANCE

  • 일반화된 이미지(?) 에서는 기존 resnet50과 비교했을때 zero-shot learning으로 27개의 데이터셋중 16개를 성능에서 이겼다고한다.
  • 20개의 데이터세트에서 실험했을때 linear probe(기존 모델 backbone의 fc layer를 달아 사용한것) zero-shot clip이 기존 1~16shot과 비슷하거나 뛰어나고, linear probe clip은 그보다 뛰어남
  • 여기서 zero-shot은 아무것도 학습시키지 않았는데 대상 데이터를 예측
  • clip 빼고 zero-shot이 없는이유는 나머지는 zero-shot 예측이 불가능하기 때문에 one-shot 부터 시작한다.

 

  • 일부 depth가 낮은 resnet 계열을 제외하고, clip resnet 그리고 특히 vit 기반의 linear probe가 sota vision 모델에 비교하여 다수의 데이터셋에서 평균적으로 더 높은 성능을 보임

 

 

  • ImageNet datasets를 pre-trained transfer learning으로 학습해도 clip이 훨씬더 좋다.

궁금한점 → clip을 제외한 모델들이 zero-shot으로 데이터셋을 평가했다는건지 아니면 데이터셋을 학습한 모델로 평가한건지 궁금..

 

 

 

n Oxford IIT Pets 데이터셋에서 인간과 clip으로 성능을 비교했을때도 clip이 이겼다고함

사람이 제로샷에서 원샷이 되었을때 성능향상은 대부분 확실하지 않았던 것들이 줄어들었기 때문이라하며..

  • Guesses은 참가자가 I don't know 외의 답변을 선택한 경우에 대한 데이터셋을 나타는것
  • Majority Vote는 각 이미지에서 가장 빈도가 높은 (동점을 제외한) 답변을 선택하는 것

 

zero-shot learning이 성능이 떨어져 보일때는 위성 이미지 분류(EuroSAT, RESISC45), 림프 노드 종양 탐지(PatchCamelyon), 합성 장면에서의 물체 계수(CLEVRCounts), 독일 교통 신호 인식(GTSRB)과 같은 자율 주행 관련 작업, 가장 가까운 자동차까지의 거리 인식(KITTI Distance) 같은 분야의 데이터셋은 상당히 취약함

반면, 일반인들이 몇몇 작업, 예를 들어 계수, 위성 이미지 분류 및 교통 신호 인식과 같은 작업들을 견고하게 수행할 수 있으며, 이는 많은 데이터셋이 생성되어 clip을 개선할 여지가 많다는 것인가..

애초에 이전에 거의 학습하지못한? 종양 분류같은 평가가 명확한지는 다시 생각해봐야한다.

한계점

  • Zero-shot CLIP은 훈련 데이터가 분할된 데이터셋에서는 선형 분류기가 ResNet-50 ~ 101 정도의 있는 간단한 모델과 성능이 비슷하지만 대부분의 데이터셋에서 이 성능은 현재 sota에 크게 미치지 못한다.
  • 현재 clip의 zero-shot learning이 sota에 근접할 수 있는 성능을 내기위해서는 1000배이상의 계산량의 들것으로 추정되며, CLIP의 계산 및 데이터 효율성을 향상시키기 위한 추가 연구가 필요하다.
  • clip의 분석 결과, CLIP의 zero-shot 성능은 여러 유형의 작업에서 여전히 상당히 약하다는 것을 나타낸다. 특정 작업에 특화된 모델과 비교할 때 CLIP의 성능은 자동차 모델, 꽃의 종 및 항공기의 변종과 같은 세밀한 분류 작업에서 부족하며, 이미지에서 객체의 수를 정확하게 세는 것과 같은 더 추상적이고 체계적인 작업에서도 CLIP은 어려움을 겪는다.
  • 결론적으로 모델이 훈련 데이터에 포함되지 않은 특정 유형의 작업에 효과적으로 일반화하기 어렵다.

느낀점

제로샷 학습(Zero-shot Learning)을 통해 기존에 학습된 태스크에만 한정되어 새로운 태스크에 대응하는 데 있어서의 한계를 극복한 점은 분명 혁신적입니다. 특히 CLIP과 같은 모델이 ResNet과 같은 기존 모델의 성능에 도달하거나 이를 뛰어넘는 성능을 제로샷 학습으로 달성했다는 것은 제로샷 학습의 혁신성을 입증하는 강력한 사례입니다.

 

그러나, 제로샷 학습을 통해 최신 기술(SOTA, State-of-the-Art) 모델을 능가하기 위해서는 엄청난 계산량이 필요하다는 점, 그리고 이미지의 세밀한 분류 작업에서는 기존 모델에 비해 성능이 떨어질 수 있다는 점은 여전히 극복해야 할 과제입니다.

 

2024년에 나오는 논문들을 보며 clip의 한계를 극복한 모델이 있는지 살펴볼 예정입니다.

 

댓글