[논문 리뷰]/컴퓨터비전

[논문 리뷰] BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation

johyeongseob 2025. 7. 1. 17:16

논문: https://arxiv.org/abs/2201.12086

저자: Junnan Li, Dongxu Li, Caiming Xiong, Steven Hoi.
Salesforce Research

인용: Li, Junnan, et al. "Blip: Bootstrapping language-image pre-training for unified vision-language understanding and generation." International conference on machine learning. PMLR, 2022.

코드: http://github.com/salesforce/BLIP

 

0. 초록

Vision-Language Pre-training (VLP) 는 이미지-언어 작업 대부분에 사용된다. 그러나, 기존 모델들은 이해 기반 (understanding-based) 작업 혹은 생성 기반 (generation-based) 작업 중 한 가지에만 뛰어나다. 또한 기존 모델들은 노이즈가 있는 대규모 웹 데이터 ---suboptimal--- 로부터 훈련을 진행한다. 이에 대해 저자들은 BLIP이라는 새로운 VLP 프레임워크를 제안한다. BLIP은 이미지-언어 이해 기반과 생성 기반 작업 모두 사용이 가능하다. BLIP은 web 데이터에 대해 caption을 bootstrapping한다. 두 모듈, captioner는 이미지에 적절한 caption을 생성하고, filter는 노이즈가 있는 캡션을 제거한다. 이를 통해 모델은 다양한 이미지-언어 분야에서 SOTA를 달성한다.

1. 서론

이미지-언어 사전학습(pre-training)은 많은 멀티모달 작업에서 엄청난 성과를 보인다. 그러나 기존 모델들은 다음 두 가지 중요한 한계가 있다.

  • Model: 대부분 방법들은 인코더 기반 모델 (CLIP, ALIGN) 혹은 인코더-디코더 기반 모델 (VL-T5, SimVLM) 이다. 전자는 이미지 생성 (e.g. image captioning)에 전이 학습이 어렵다. 후자는 이미지-언어 검색 작업에 적합하지 않다.
  • Data: 대부분 SOTA 모델은 web에서 얻은 대규모 데이터를 사전 학습에 사용한다. 대규모 데이터셋 훈련의 장점으로 성능이 오르지만, 저자들은 이 방법이 이미지-언어 학습에서 차선책(suboptimal)임을 확인하였다.

이에 대해 저자들은 Bootstrapping Language-Image Pra-training (BLIP) 을 제안한다. BLIP은 model 과 data 관점에서 contribution을 가진다.

  • Multimodal mixture of Encoder-Decoder (MED): MED는 단일 인코더, 이미지기반 텍스트 인코더, 이미지기반 텍스트 디코더 (생성기) 모두 적용이 가능하다. 이 모델의 objective (목표, 손실함수)는 세 가지이다: image-text contrastive learning, image-text matching, image-conditioned language modeling.
  • Captioning and Filtering (CapFilt): web dataset 로부터 훈련을 위해 정제된 새로운 데이터셋. 저자들은 사전 훈련한 MED의 두 모듈을 추가로 학습한다. Figure 1. 과 같이, captioner는 web 이미지에 대해 caption을 생성하고, filter는 web text와 생성한 text 모두 확인한 후, nosiy caption을 제거한다.

2. 관련 연구

2.1. Vision-language Pre-training

Vision-language pre-training (VLP)는 대규모 이미지-언어 쌍 데이터로 사전 학습한 모델들로부터 성능 향상을 이루었다. 대규모 데이터셋 구성에는 엄청난 비용이 발생하여, 대부분 모델은 web으로부터 얻은 noisy한 데이터셋을 사용하였다. 저자들은 noisy한 데이터셋이 VLP 학습에서 차선책 (suboptimal)임을 보이고, web 데이터셋을 유용하게 이용할 수 있는 방법인 CapFilt (captioner and filter)를 제안한다.

지금까지 단일 프레임워크에 vision과 language 작업을 통합하려는 시도들이 있었다. 가장 큰 문제는 이해기반 작업과 생성기반 작업 모두 가능한 모델 아키텍처 구성이다. 인코더 기반 모델도, 인코더-디코더 모델 기반도 두 작업 모두 확실한 성과를 보여주지 못했다. 저자들이 제안한 MED는 간단하고 효과적인 사전 훈련을 통해, 두 작업 모두 높은 성능을 보인다.

2.2 Knowledge Distillation

Knowledge distillation (KD)는 teacher 모델이 student model에게 지식을 증류 (distill)하여 성능을 높이는 방법이다. CapFilt는 VLP에서 KD를 효과적으로 수행한다. captioner는 의미있는 caption을 생상하는 능력을, filter는 noisy caption을 제거하는 능력을 BLIP에게 전수한다.

2.3. Data Augmentation

데이터 증강은 컴퓨터비전에 주로 사용되나 (crop, rotation, color, ...) 자연어 처리에는 쉽게 적용하기 어렵다. 저자들이 제안한 모델은 대규모 이미지-언어 사전 학습에 사용할 합성 캡션을 만드는 방법을 제안한다.

3. Method

3.1. Model Architecure

이미지 인코더로 visual transformer (ViT)를 사용한다. understanding과 generation 능력을 모두 가진 통합 모델을 사전 훈려하기 위해, 저자는 multimodal mixture of encoder-decoder (MED)를 제안한다. Figure 2. 와 같이, MED는 세 가지 기능을 수행한다.

  1. Unimodal encoder. 이는 이미지와 텍스트를 개별적으로 인코딩한다. 텍스트 인코더는 BERT를 사용한다. 
  2. Image-grounded text encoder. 이는 시각 적보를 추가하기 위해 각 transformer layer의 self-attention (SA)와 feed forward network (FFN) 사이에 cross-attention (CA)를 삽입한다. 그리고 text에 task-specific한 [Encode] 토큰을 추가한다. 출력 [Encode] 토큰은 이미지-텍스트 pair 정보를 나타내는 멀티모달 토큰이다.
  3. Image-grounded text decoder. 이는 image-grounded text encoder의 bi-directional self-attentaion (SA) 을 casual self-attention (CA)로 대체한다. {Decode] 토큰은 문장의 시작 token 이고, end-of-sequence (EOS) token은 문장의 끝 token 이다.

3.2. Pre-training Objectives

저자들은 사전 학습에서 3가지 손실함수 (objective) ---two understanding-based objectives, one generation-based objective--- 를 동시에 최적화한다. 각 이미지-텍스트 쌍은 1개의 visual transformer를 통과하고 (forward pass) 3개의 text transformer를 통과한다. 이때 모델은 아래 설명할 3가지 loss를 계산하여 학습이 진행된다.

Image-Text Contrastive Loss (ITC) 는 unimodal encoder를 훈련한다. 이 손실함수는 visual tansformer와 text transformer의 출력 차원 공간을 정렬한다. 이 손실함수는 CLIP과 유사하게 positive image-text 쌍은 비슷한 표현을 가지도록 모델을 훈련시킨다. 
Image-Text Matching Loss (ITM) 는 image-grounded text encoder를 훈련한다. 이 손실함수는 이미지와 텍스트를 잘 정렬시켜 image-text 멀티모달 표현을 학습한다. ITM은 binary classification task야. 모델은 ITM head를 이용하여 주어진 image-text feature가 positive (matched) 인지 negative (unmatched) 인지를 예측한다. 특히, 중요한 negative를 학습하기 위해, 저자들은 hard negavie mining ---ALIGN 모델--- 전력을 사용한다.
Language Modleing Loss (LM) 은 image-grounded text decoder를 훈련한다. 이 손실함수는 주어진 이미지에 대한 text 설명을 생성한다. 이는 자기회귀 (autoregressive) 방법으로 가장 적절한 텍스트가 나올 가능성 (likelihood)를 최대화하도록 cross-entropy loss를 사용한다. 저자들은 label smoothing ($\epsilon=0.1$)을 적용한다. 

Multi-task learning을 효과적으로 사전 학습하기 위해 저자들은 text encoder와 text decoder의 self attention (SA) 를 제외한 나머지 파라미터들은 모두 공유한다. encoding과 decoding의 결정적 차이는 SA에서 나오기 때문이다. 

3.3. CapFilt

엄청난 주석처리 비용으로, 지금까지는 제한된 수의 고품질 이미지-텍스트 pair {($I_h, T_h$)} 만이 존재했다. 최근 연구 (ALIGN, SimVLM)는 웹에서 자동으로 모은 대규모 이미지-대체텍스트 pair {($I_w, T_w$)}를 사용한다. 그러나 alternative-text (alt-text) 는 이미지의 시각적 내용을 정확하게 설명하지 못한다. 이는 noisy signal로 vision-language 정렬을 학습할 때, 차선책이 된다.

엄청난 주석처리 비용으로, 지금까지는 제한된 수의 고품질 이미지-텍스트 pair {($I_h, T_h$)} 만이 존재했다. 최근 연구 (ALIGN, SimVLM)는 웹에서 자동으로 모은 대규모 이미지-대체텍스트 pair {($I_w, T_w$)}를 사용한다. 그러나 alternative-text (alt-text) 는 이미지의 시각적 내용을 정확하게 설명하지 못한다. 이는 noisy signal로 vision-language 정렬을 학습할 때, 차선책이 된다.

저자들은 Captioning and Filtering (CapFilt) 를 제안한다. 이 방법은 text corpus 품질을 올릴 수 있다. Figure 3. 은 CpaFilt를 시각화한다. CapFilt는 두 가지 모듈을 소개한다. captioner 는 web 이미지에 대한 caption을 생성한다. filter 는 noisy 캡션을 제거한다. captioner와 filter는 각각 image-grounded text decoder, encoder이며, COCO 데이터셋으로 전이학습한다.

저자들은 captioner 를 이용하여 web 이미지 $I_w$ 로부터 캡션 $T_s$ 을 생성하고, filter 로 web text $T_w$ 와 생성 text $T_s$ 모두 필터링한다. 여기서 ITM head가 unmatched로 예측하면 그것은 noisy가 된다. 저자들은 필터링한 image-text pair 데이터셋을 기존 고품질 데이터셋과 함쳐 새로운 데이터셋을 구성하고, 이를 다시 새로운 모델 MED 에 사전학습한다.

4. Experiments and Discussions

4.1. Pre-training Details

BLIP의 이미지 인코더는 ImageNet으로 사전학습한 ViT-B/16과 ViT-L/16을 사용한다. 특별한 언급이 없다면 실험 결과들은 ViT-B/16이다. 언어 모델은 BERT base를 사용한다. 데이터셋은 6개로 주석 데이터셋 (COCO, Visual Genome) 2개와 웹 데이터 (Concept Captions, Conceptual 12M, SBU Captions, LAION-400M 부분사용) 4개를 사용한다.

5. Comparison with State-of-the-arts

실험에 사용한 downstream task는아래와 같다.

  • image-to-text retrieval (TR), text-to-image retrieval (IR)
  • Image Captioning
  • Visual Question Answering (VQA)
  • Natural Language Visual Reasoning (NLVR$^2$)
  • Visual Dialog (VisDial)
  • Zero-shot Transfer to Video-Language Tasks