본문 바로가기

논문읽기

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models(TPAMI 2023)

2025 논문들을 보면 Q-former를 사용한다. 특히 vision-text alignment를 맞추는데 사용하는 것 같다. anomaly-ov를 읽는데 q-former 부분이 도저히 이해가 안가서 해당 논문을 읽으려 한다.

 

논문을 읽은 후 한 줄로 Q-former를 정리하면 다음과 같다. : 이미지 feature에서 LLM이 이해할 수 있게 중요한 벡터들만 추출한다.

 

목차는 다음과 같다.

 

Abstract

1. introduction

2. related work

3. method

3.1 model architecture

3.2 Bootstrap Vision-Language Representation Learning from a Frozen Image Encode

 - Image-Text Contrastive Learning

 - Image-grounded Text Generation

 - Image-Text Matching

3.3. Bootstrap Vision-to-Language Generative Learning from a Frozen LLM

3.4. Model Pre-training

 - Pre-training data

 - Pre-trained image encoder and LLM

 - Pre-training settings

4. Experiment

4.1. Instructed Zero-shot Image-to-Text Generation

4.2. Image Captioning

4.3. Visual Question Answering

4.4. Image-Text Retrieval

5. Limitation

 


Abstract

  • BLIP2 를 제안함. BLIP2는 frozen vlm을 기반으로 bootstrap 시킴.
  • BLIP2의 핵심은 Q-former를 이용한 모달리티 갭을 줄이는 것임.
  • 2단계의 stage로 BLIP2는 훈련됨.
  • 1. image encoder를 frozen 시키고 vlm의 representation learning
  • 2. text encoder를 frozen 시키고 vlm의 generative learning

1. introduction

전제 : image, language pretrained unimodal을 활용해 VLM을 만들고 싶다.

  • VLM을 만들 때 각각의 unimodal을 pretrain 시키는 과정은 컴퓨팅 파워와 시간이 매우 오래 소모되는 작업이다. 이 때문에 pretrained 된 image text unimodal을 사용하여, VLM을 구성하기를 원한다.
  • 하지만 두 unimodal을 붙였을 때 두 모델 간 modality gap이 맞지 않는다. 즉, cross modal alignment가 맞지 않는다.
  • Q-former를 사용하여 unimodal을 활용한 VLM의 cross modal alignment를 맞추는 것을 제안함.
  • Q-former는 2 개의 stage로 훈련함.
  • stage1 : Q-former가 텍스트랑 잘 어울리는 visual representation vector를 추출하는 과정을 학습
  • stage2 : Q-former가 LLM이 이해하게끔 결과를 출력하는 과정을 학습.

2. related work

  • VLP의 핵심은 두 모델의 contrastive learning이다.
  • 이전 연구들 중 가장 대중적으로 사용하는 방법은 end to end 방식이다.
  • 이는 처음부터 모델을 학습시키는 것이다. 이러한 방법은 이미 pretrained 된 unimodal을 활용하기 어려울 뿐 아니라 높은 컴퓨팅 파워가 소모된다.
  • 최근 들어서는 LLM을 frozen 시키고 image encoder를 학습시키는 방식이 사용되는데 이 또한 image encoder를 학습 시키는 과정에서 컴퓨팅 자원이 소모된다.
  • 다른 방식으로는 이미지 인코더를 finetunes 시키는 방식인데, 이는 이미지 인코더의 출력을 LLM에 연결에는 방식으로 진행된다.
  • 결론적으로 unimodal의 학습이 진행되며, 이는 높은 컴퓨팅 자원을 소모하게 된다.

3. method

 

LAVIS/lavis/models/blip2_models/blip2_qformer.py at main · salesforce/LAVIS

LAVIS - A One-stop Library for Language-Vision Intelligence - salesforce/LAVIS

github.com

 

3.1 model architecture

  • Q-former는 홀수 짝수 번갈아가면서 layer가 구성된다. 홀수번째는 image transformer, 짝수번째는 text transformer 이런식으로 구성되며, 병렬 구성이 아니다. FFN또한 공유한다.
  • 1. image transformer : frozen image encoder에서 최적의 feature를 뽑아낸다.
  • 2. text transformer : text 인코더와 decoder의 역할을 수행한다.
  • 쿼리는 32개의 쿼리가 있고, 차원은 768이다.
  • 3개의 mask가 존재한다. 이는 하나의 self attention layer를 공유하기 때문에 목적에 맞는 mask가 필요하다.
  • bi-directional : 쿼리랑 텍스트에 mask를 하지 않는다.
  • multimodal : 쿼리가 텍스트의 어떤 weighted sum으로 표현되는지를 제한한다.
  • uni-modal : cross weighted sum을 제한한다.
  • Q-former는 3개의 objective function을 가지고 있다. (가지고 있다는 표현이 어색하지만, 논문의 억양을 최대한 녹임.) 이에 대한 자세한 설명은 3.2에 있다.

3.2 Bootstrap Vision-Language Representation Learning from a Frozen Image Encode

 - Image-Text Contrastive Learning

  • text-sub block의 cls token과 image sub-block들의 contrastive learning을 진행한다.
  • 일단 learnable query랑 이미지 인코더 출력과 attention을 한다는 것의 의미는 필자가 생각하기에, 쿼리를 이미지 벡터의 weighted sum으로 표현한다는 것이다. 즉, 이미지의 중요한 부분만 골라서 쿼리 set을 구성한다는 것이다.
  • Contrastive learning의 의의는 쿼리가 이미지 피처에서 weighted sim으로 추출한 정보가 텍스트와 얼마나 잘 정렬되는지를 학습하여, 이미지-텍스트 쌍의 유사성을 최적화하는 데 있다고 생각한다.

 - Image-grounded Text Generation

  • query랑 image랑 cross attention을 진행하고 다음 레이어에서 다시 서로 self attention을 하게 된다.
  • 그러면 다음과 같은 상황이 발생된다.
  • 1. query는 이미지 벡터의 weighted sum으로 표현된다.
  • 2. text vector는 이전까지 들어온 text vector와 이미지 벡터의 어떤 weighted sum으로 표현되는지 확인하게 된다.
  • 3. 즉, 지금까지 들어온 텍스트와 이미지를 기반으로 다음 토큰은 어떤걸 출력해야 하는지를 학습한다

 - Image-Text Matching

  • 해당 과정은 간단하게 positive, negative image-text-pair matching을 확인한다.

3.3. Bootstrap Vision-to-Language Generative Learning from a Frozen LLM

Q-foemer가 image encoder - LLM 사이를 중계 할 때는 위와 같이 2가지 방식이 있다. 이런 생각이 들 수 있다. 어? Q-former 학습 시킬 때 image-grouned text generation을 하지 않았나? 왜 또하지? -> 해당 작업은 Q-former의 learnable query를 학습시키는데 의의가 있다. text encoder는 BERT기반이기에 어느정도 텍스트를 생성할 수 있지만, 그 목적이 이미지를 기반으로 생성된 learnable query와 text의 align을 학습하는데 있다.

  • 이제 Q-former의 Z(32,768 = 출력)가 LLM에 붙어서 사진의 정보를 추가하는 역할을 한다.

3.4. Model Pre-training

 - Pre-training data : COCO, Visual Genome, CC3M, CC12M, SBU, LAION400M을 사용한다.

 - Pre-trained image encoder and LLM : 이미지 인코더는 VIT-L/14 from CLIP, ViT-g/14 from EVA-CLIP을 사용한다. LLM은 OPT를 사용한다.

 - Pre-training settings : 컴퓨터 사양과 LR 관련하여 말해주는데 해당 부분은 기술하지 않겠다.

4. Experiment

적은 파라미터로 SORA 달성. TR@1은 텍스트 기반으로 이미지를 찾는다. IR@1은 이미지를 기반으로 텍스트를 찾는다. 그런데 @1이 의미하는 것은 해당 이미지, 텍스트가 첫번째로 나왔다는 것을 의미한다. CIDEr는 생성 문장과 GT의 유사성. SPICE는 생성 문장의 의미적 정확성을 말한다.
test-dev, test-std 중, test std가 중요. test-std는 정답이 공개되지 않고, 서버를 통해 채점되는 방식이기에 더욱 공정한 평가.

5. Limitation

  • few-shot VQA의 개선이 없음. 데이터 가체가 1:1 pair로 구성되어있기에 이미지 하나와 샘플 text 몇 개를 줘도 발전이 없음.
  • Image1: [cat image] Question: What is this? Answer: A cat.
    Image2: [dog image] Question: What is this? Answer: A dog.
    Image3: [new image] Question: What is this? Answer: ? 
  • 위와 같은 예시를 줘도, 구조적으로 1:1 pair만 학습하게끔 설계됨.
  • frozen LLM이기에 부정확한 지식까지 모두 상속받음. 이미지의 핵심 요소가 아닌 배경에 대한 설명을 할 때가 있음.