KalelPark's LAB

[ 논문 리뷰] Conditional Prompt Learning for Vision-Language Models 본문

Data Science/Vision Language Model

[ 논문 리뷰] Conditional Prompt Learning for Vision-Language Models

kalelpark 2023. 4. 10. 16:18

Abstract

CLIP과 같이, Vision-Language Model의 영향력이 증가함으로써, 다운스트림에서 테스트 하는 것은 필수입니다. 본 연구에서 우리는 CoOp의 문제점을 파악하고, Learned context는 동일한 데이터세트에서 일반화가 가능하는 것을 시사하며, CoOp은 학습도중에 Overfitting이 발생함을 언급합니다. 이러한 문제를 다루기 위해 본 논문에서는 Conditional Context Optimization(CoCoOp)을 설명합니다. 기존의 방법론과 비교했을 때, 우리의 dyanmaic prompts는 each instance를 채택하고, class의 변화에 민감하지 않습니다.

Introduction

VLM과 관련하여, 전반적인 설명을 하고 있습니다. automate prompt engineering을 위해 연구가 진행된 CoOp을 설명하고 있습니다.

CoOp은 text word를 learnable vector로 보고, 활용하였습니다. 하지만 CoOp의 단점은 학습된 것을 제외하고는, 이후의 넓은 클래스에서 활용하기에는 힘듭니 다.

 

즉 기존 연구에서는 prompt learning의 개념을 pre-train된 vision-language model에 도입하여, prompt 내의 context 단어들을 학습가능한 벡터들로 변환하였습니다. 이렇게 된다면, 많은 시간 및 비용 소모가 될 뿐만 아니라, 낮은 generalizability가 있습니다.

(학습된 context는 같은 데이터셋 내의 unseen class로 잘 generalize하지 못하여, over fitting이 발생)

CoOp work에 의해 생성된 context는 base class에 대해서는 잘 학습합니다. 다만, 예상하지 못한 class에 대해서는, 상당히 성능이 떨어지는 것을 알 수 있습니다. 이러한 결과는 learned context는 base classes에 overfit이 되고, 일반화된 요소를 capture하는데 실패합니다. 이러한 문제는 CoOp의 static design, fixed context되면, 고정된 class만을 학습하게 됩니다. 반대로 Zero-shot에 의한 방법은 비교적 일반화하는 것이 가능해야 합니다. Weak generalization problem을 다루기 위해서, 본 논문에서는 Conditional Prompt learning을 도입합니다.

핵심은 fiexe once learned이라기 보다는, 각 입력에 따라 Prompt를 조정하는 것입니다. 모델의 파라미터를 효율적으로 다루기 위해서 conditional prompt learning을 도입합니다. 특히, 우리는 이미지에 대해 가능한 context vector와 조건부 token을 생성하기 위해, lightweight neural Network를 사용합니다. 이러한 접근법을 Coditional Context Optimization이라고 합니다. 

우리는 base classes를 활용하기 위해 base-to-new generalization setting을 합니다. 요약하자면, 본 연구는 prompt learning의 일반화 문제를 다루고, 상당한 성능을 보여줍니다.

 

즉, Conditional prompt Learning을 사용함으로써, 한번 학습되면 고정되는 context가 아닌 각 input instance(이미지)에 condition된 prompt를 생성합니다.

Methodology

Reviews of CLIP and CoOp

Contrastive Language-Image Pre-training

CLIP은 visual concept을 잘 학습하는 것을 증명하였습니다. CLIP은 2가지 Encoder를 사용합니다. (Image, text) Image Encoder는 ResNet or ViT를 사용하고, Text Encoder는 Transformer를 사용합니다.

Training 동안에는, CLIP은 two modalities로부터 joint embedding space를 학습하기 위해, contrastive loss를 사용합니다. 특히, CLIP은  matching text와 cosine similarity를 최대화하고, 반면에 다른 것들과는 거리를 두도록 합니다. Training 이후에 CLIP은 zero-shot으로 활용됩니다.

CoCoOp : Conditional Context Optimization

 

CoOp은 context vector를 허용하는 효율적인 접근법입니다. 하지만, 데이터셋이 부족한 경우, 활용하는데 제한이 됩니다.
 
각 입력 instance에 대해서 과적합을 줄이기 위한 특정 클래스 집합에서 벗어나 전체 입력으로 초점을 두기 때문에 본 논문에서 우리는 instance-conditional context를 활용하면 일반화될 수 있음을 주장합니다.
 
CoCoOp은  context vector를 생성하기 위한 Neural Net만 만들면 됩니다. 하지만, 이러한 방법은 CoOp보다 상당히 더 많은 vector가 활용됩니다. lightweight neural net을 학습하기 위해 불리는 Meta-Net은 각 input에 대해서 conditional token을 생성합니다.
 
 
 

Experiments

 

 

Comments