🔴 논문
- 제목 : Learning to Prompt for Vision-Language Models
- 저널/년도 : International Journal of Computer Vision (IJCV, IF:13.369)/2022 (https://arxiv.org/pdf/2109.01134.pdf)
🟠 1. Introduction
- ResNet/ViT
: 비전모델에서 생성된 이미지를 고정 가중치 set와 일치시킴으로써, 데이터를 추가하여 새로운 학습이 어려움- CLIP/ALIGN (vision-language pre-training)
: 주요 아이디어는 개별 인코더를 사용하여 이미지와 텍스트를 정렬함
: ex. CLIP/ALIGN 모두 학습목표를 contrastive loss로 이미지와 텍스트 설명을 함께 가져오고, 기능 공간에서 일치하지 않는 쌍을 밀어냄- pre-training at a large scale
: 다양한 시각적 개념을 학습할 수 있고, 프롬프트를 통해 모든 downstream task로 쉽게 전환할 수 있음
: 특히, 새로운 classification task의 경우, 먼저 task 관련 범주를 설명하는 문장을 텍스트 인코더에 제공하여 classification weights를 합성한 다음 이미지 인코더에서 생성된 이미지 특징과 비교할 수 있음- pre-trained vision-language models의 경우, 프롬프트인 텍스트 입력이 다운스트림 데이터 세트에서 중요한 역할을 한다는 것을 관찰함
- 그러나, 프롬프트의 정확한 식별은 쉽지 않으며, words tuning에 상당한 시간이 걸릴 수 있음 (문구를 조금만 변경해도 성능이 크게 달라질 수 있음)
: ex. Caltech101 (a) 3번째 줄a photo of a [class]"a"를 추가하면 정확도가 5% 이상 증가함- 문장 구조를 조정하면,
Flowers102class token 뒤에 "a type of flower"를 넣고,DTD"texture"만 유지하고,EuroSAT의 satellite photo 앞에 “centered”를 추가하여 개선 할 수 있음- 그러나, 광범위하게 조정하더라도 결과 prompts가 downstream tasks에 최적이라고 할 수 없음
- 🔸 자동화를 위한
CoOp(Context Optimization)방식 제안
:CoOp는 학습 가능한 벡터를 사용하여 프롬프트의 context words를 모델링함
: 이 벡터는 무작위 값 or pre-trained word embedding으로 초기화 될 수 있음
(1) 모든 클래스와 동일한 컨텍스트를 공유하고 대부분의 범주에서 잘 작동하는 통합 컨텍스트를 기반으로 함
(2) 각 클래스에 대한 특정 컨텍스트 토큰 집합을 학습하고 일부 세분화된 범주에 더 적합한 것으로 밝혀진 클래스별 컨텍스트를 기반으로 함- 훈련하는 동안 사전 훈련된 전체 매개변수를 고정하면서 학습 가능한 컨텍스트 벡터에 대한 cross entropy loss을 사용하여 prediction errors를 최소화함
- gradients는 text encoder를 통해 모든 방식으로 역전파되어 작업 관련 컨텍스트를 학습하기 위해 매개 변수에 인코딩된 풍부한 지식을 추출할 수 있음
🟡 Related Work
(1) Vision-Language Models
- Vision-language models
: prompt를 통해 다양한 downstream classification tasks으로 zero-shot transfer 가능하다는 것을 보여줌- vision-language learning
: CLIP/ALIGN의 최근 발전은 주로 다음 3가지 영역의 발전에 의해 주도됨
(a) text representation learning with Transformers (Vaswan et al., 2017)
(b) large-minibatch contrastive representation learning
(c) web-scale training datasets
➡ downstream datasets에서 이러한 모델의 적응 및 배포를 용이하게 하는 비전언어모델
(2) Prompt Learning in NLP- fill-in the-blank (빈칸 채우기) cloze tests로서 최근 NLP의 prompt learning에 대한 관심을 불러일으킴
- pre-trained language models을 유도하여 cloze-style prompts가 주어진 답변을 생성함
- 이는 감정 분석과 같은 downstream tasks에 도움이 될 수 있음
: Jiang et al. (2020) text mining and paraphrasing을 통해 후보 prompts를 생성하고, 가장 높은 교육 정확도를 제공하는 최적의 prompt 식별
: Shin et al. (2020) label에서 gradient 변화가 가장 큰 tokens을 searches하는 gradient 기반 접근 방식 도입
: 본 연구와 가장 관련있는 것은 word embedding space에서 continuous vectors를 최적화하는 continuous prompt learning
: computer vision에서 large vision-language models에 prompt learning을 최초로 적용한 점이 주목할 점임
: prompt learning이 transfer learning 측면에서 computer vision tasks을 크게 개선할 뿐 아니라, domain 이동을 처리할 수 있는 robust models을 생성함
🟢 Methodology
- Vision-Language Pre-training
: CLIP와 같은 vision language models에 적용할 수 있음
: Models CLIP은 두 개의 인코더로 구성
: (1) 이미지 인코더는 고차원 이미지를 저차원 embedding space에 매핑하는 것을 목표 (ResNet-50/ViT)
: (2) 텍스트 인코더는 Transformer 위에 구축되며, 자연어에서 텍스트 표현을 생성하는 것을 목표
® [git 주소] https://github.com/KaiyangZhou/CoOp