BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
Vision-Language Pre-training (VLP) has advanced the performance for many vision-language tasks. However, most existing pre-trained models only excel in either understanding-based tasks or generation-based tasks. Furthermore, performance improvement has bee
arxiv.org
0. 핵심 요약
Bootstrapping을 통해 noisy web data를 효율적으로 사용
vision-language task 뿐만 아니라 video-language 에서도 우수한 성능을 보임
1. Background
기존 VLP의 한계점
1. Model perspective
기존 VLP가 가지던 모델 구조는 크게 2가지로 존재
1. encoder-based : 이는 text generation task에 취약하다는 단점이 존재
2. encoder-decoder : 이는 image-text retrieval에 취약
2. Data perspective
기존의 VLP 모델인 CLIP과 같은 모델들은 대용량의 데이터를 확보하기 위해 web에 있는 데이터를 크롤링하여 사용
하지만 이러한 데이터는 정제된 데이터가 아니여서 noisy한 데이터가 다수 존재
이는 모델 성능 향상에 오히려 방해가 되는 요소로 작동
VLP(Vision-Language Pre-training)
vision과 language task를 위한 pre-training 모델들을 의미
해당 모델들은 대용량의 image-text data가 핵심
하지만, human-annotated data는 비용이 크다는 한계점이 존재하여 이를 극복하기 위해 web crawling data를 활용
이는 위에서 말했듯이 noisy data가 많이 있다는 단점이 존재
이와 더불어, VLP 모델들의 가장 큰 challenge는 understanding-based task와 generation-based task에 모두 적용할 수 있어야 한다는 것
Knowledge Distillation
KD란 teacher model의 지식을 student model로 전달하는 것
BLIP은 KD 중 self-distillation을 사용
이는 teacher model과 student model의 모델 크기가 동일한 것을 의미
Data Augmentation
CV에서는 널리 적용되는 개념이지만, Language 에서는 아직 사용이 적음
최근에는 generative Language Model로 생성하여 사용하고자 하는 시도들이 등장
2. 논문 핵심 내용
MED(Multimodal mixture of Encoder-Decoder)
multi-task pre-training과 flexible transfer learning에 효과적인 구조
총 3가지 모듈로 구성
1. Unimodal encoder
이는 image와 text를 따로 인코딩하는 것
image encoder로는 ViT, text encoder로는 BERT를 활용
2. Image-grounded text encoder
text encoder에 Self-Attention과 FeedForward Network 사이에 Cross-Attention을 추가
이를 통해 text에 image와 관련된 정보를 주입
3. Image-grounded text decoder
기존 모델의 bidirectional Self-Attention layer를 casual Self-Attention layer로 변경
Pre-training Objectives
image-text pair는 계산 시의 cost가 많이 들기 때문에 forward pass 를 1번만 수행
하지만 text transformer는 이보다 덜하기 때문에 서로 다른 과정의 forward pass를 총 3개 수행
1. Image-Text Contrastive Loss (ITC)
unimodal encoder에 적용하는 loss
ViT와 text Transformer의 feature space가 positive는 positive 끼리, negative 와는 반대로 가도록 하는 것이 목표
2. Image-Text Matching Loss (ITM)
image-grounded text encoder에 적용하는 loss
image-text가 서로 잘 연결되도록 하는 것이 목표
이는 binary classification으로써, 이미지와 text가 서로 잘 연결되면 match, 그렇지 않으면 unmatch를 반환
3. Language Modeling Loss (LM)
image-grounded text decoder에 적용하는 loss
image의 text 설명을 잘 생성하도록 하는 것이 목표
이는 cross entropy loss 로 설정
CapFilt (Captioning and Filtering)
web data에 존재하는 noisy data를 filtering 하기 위한 과정
크게 2가지 모듈로 구성
1. Captioner
image에 대한 caption을 생성하는 모듈
MED 중 image-grounded text decoder 를 불러와 초기값으로 활용
앞선 loss 중 LM을 통해 finetune 수행
2. Filter
noisy한 data를 제거하는 모듈
image-grounded text encoder 를 통해 초기값 세팅
ITC & ITM 으로 fintuning 수행
이때 filter는 ITM이 unmatch 라고 한 pair에 대해서 text를 삭제 수행
3. Model Architecture
MED 에 대한 전반적인 모델 구조
CapFilt 에 대한 모델 구조
4. Experiment
5. Contribution
BLIP은 understanding 및 generation 작업을 포함한 여러 vision-language 작업에서 SOTA을 제공
이 모델은 대규모 noisy image-text pair에서 다양한 caption을 주입하고 noisy caption을 제거하여 bootstrap된 데이터셋을 사용하여 pre-train
+ Comment
최근에는 특정 task를 단일로 수행하는 것이 아닌 다양한 task 혹은 다양한 data를 같이 활용하는 경우가 많다
multimodal이 점점 강조되는 현재, 이러한 기본적인 모델에 대한 공부가 필수적이라고 생각한다