반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- dinov2: learning robust visual features without supervision 논문
- 이미지 필터링
- evaluating object hallucination in large vision-language models paper
- 논문 요약
- Object detection article
- vlm hallucination
- vlm 환각
- 1차 미분 마스크
- 에지 검출
- evaluating object hallucination in large vision-language models
- polling-based object probing evaluation
- object detection
- clip
- 엔트로피란
- blip-2
- dinov2: learning robust visual features without supervision
- 기계학습
- evaluating object hallucination in large vision-language models 논문
- clip adapter
- dinov2 논문 리뷰
- 원격 학습 안끊기게
- vlm hallucination paper
- dinov2: learning robust visual features without supervision 논문 리뷰
- mobilenetv1
- vlm
- vlm 환각이란
- 딥러닝 엔트로피
- 논문 리뷰
- 딥러닝 목적함수
- 객체 검출
Archives
- Today
- Total
My Vision, Computer Vision
[논문 리뷰/요약] BLIP-2: Bootstrapping Language-Image Pre-training 본문
BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
The cost of vision-and-language pre-training has become increasingly prohibitive due to end-to-end training of large-scale models. This paper proposes BLIP-2, a generic and efficient pre-training strategy that bootstraps vision-language pre-training from o
arxiv.org
Problem
- 대부분의 State-of-the-art Vision-Langauge model들은 모델의 크기가 크고 학습 데이터가 많기 때문에 높은 연산량을 요구한다.
- 보통 VLM(Vision-Language Model)은 사전학습된 Unimodal model, 즉 이미지 인코더와 텍스트 인코더를 합쳐서 네트워크를 구축한다.
- 이 때 사전학습된 Unimodal model, 예를 들어 텍스트 데이터만을 학습한 LLM은 이미지에 대한 시각적 정보가 없기때문에 Vision-Language Alignment가 어렵다.
Contribution
- BLIP-2 : Bootstrapping Language-Image Pre-training with frozen unimodal models 을 제안한다.
- BLIP-2는 두 단계로 사전 학습된 Q-Former를 활용하여 모달리티 갭을 줄인다.
- BLIP-2는 Language instruction을 따라 Zero-shot image-to-text 생성으로도 사용할 수 있다.
- Unimodal model을 Freezing하고, 가벼운 Q-Former를 사용하기 때문에 기존 Sota 모델보다 효율적이다.
Method
BLIP-2 아키텍쳐

- Q-Former는 위와 같이 Image Encoder와 LLM 사이에 있는 모듈이다. 두 단계의 사전 학습 과정을 거친다.
- First stage : 고정된 이미지 인코더로 비전-언어 표현(Vision-Language Representation) 학습
- Second stage : 고정된 LLM으로 비전→언어 생성(Vision-to-language generative) 학습
- frozen Image encoder & frozen LLM의 모달리티 갭을 줄이기 위함
Q-Former 란

- Q-Former는 두 개의 트랜스포머 서브 모듈로 구성되며, 같은 Self Attention 레이어(주황색)를 공유한다.
- Image Transformer(왼쪽 모듈), Text Transformer(오른쪽 모듈)로 구성된다.
- Self Attention 레이어와 Feed Forward는 BERT base의 사전학습 가중치를 사용하고, Cross Attetnion 레이어의 가중치는 랜덤으로 초기화한다.
Image Transformer(왼쪽 모듈)
- Frozen Image Encoder와 상호작용하며 시각적 특징을 추출한다.
- 입력으로 들어가는 학습 가능한 쿼리는 셀프 어텐션 레이어에서 서로 상호작용하며, Text transformer와 가중치를 공유하기 때문에 동시에 텍스트 정보도 반영된다.
- 크로스 어텐션 레이어에서는 Frozen image encoder의 피쳐와 상호작용한다.
Learnable Queries
- 768차원의 크기를 가진 벡터이며, 총 쿼리의 개수는 32개이다(32 * 768).
- 출력된 쿼리는 Z 로 나타내며, 크기는 똑같이 (32 * 768)이다.
- 이는 Frozen image feature(257 * 1024)와 비교했을 때 훨씬 작은 크기인데, 이는 병목 구조로 텍스트와 가장 관련성이 높은 정보를 추출하도록 강제한다고 설명한다.
Text Transformer(오른쪽 모듈)
- Text encoder, Text decoder로 모두 작동한다.
- Q-Former는 학습 가능한 쿼리를 포함하여 매개변수의 개수가 188M 개이다.
First Stage(Representation Learning) - Three Objective
- 첫번째 사전학습 단계는 표현을 학습하는 과정이다.
- 세 개의 목적함수(로스)가 사용된다.

Image-Text Contrastive (ITC)
- Image Transformer로부터 출력된 쿼리 Z 와 Text Transformer 로부터 출력된 Text representation t 끼리 대조학습한다.
- Z 는 32개의 임베딩(32 * 768)으로 되어있기 때문에 32개 중 t 와 가장 높은 유사도 값을 Image-Text 유사도로 사용한다.
- 이 때, 쿼리와 텍스트 사이 정보 누출이 없도록 Uni-modal Self-Attention Mask를 사용한다. 이미지와 텍스트를 대조하는 학습이기 때문에, 이미지를 담당하는 쿼리와 텍스트 사이 정보 공유를 방지하는 것이다.
Image-grounded Text Generation (ITG)
- Q-Former가 입력 이미지로부터 텍스트를 생성하도록 학습한다.
- 구조상 텍스트 트랜스포머가 이미지의 정보를 직접적으로 활용할 수 없기때문에 Self-Attention 레이어에서 Query의 정보를 사용한다.
- Multimodal Causal Self-Attention Mask를 적용하여 쿼리는 텍스트 토큰을 참조하지 못하도록, 텍스트 토큰은 쿼리의 정보와 이전 텍스트 토큰만을 참조할 수 있도록한다.
Image-Text Matching (ITM)
- 주어진 이미지와 텍스트가 양성(Match)인지 음성인지 예측하도록 이진 분류로 학습한다.
- Bi-directional Self-Attention Mask를 적용하여 Query와 Text가 서로 참조할 수 있도록한다.
- 모든 쿼리의 평균 로짓을 최종 매칭 스코어로 사용한다.
Second Stage(Generative Learning)

- 첫번째 단계에서는 고정된 이미지 인코더를 활용하여 Q-Former가 이미지로부터 텍스트와 관련된 정보를 추출하도록 훈련했다.
- 두번째 단계는 고정된 LLM을 활용하여 Q-Former를 학습시킨다.
- 위 그림에서처럼 Q-Former로부터 출력된 쿼리 임베딩을 Fully Connected 레이어를 거쳐 LLM의 입력과 같은 크기로 변환한다.
- LLM Decoder만 사용할 수도 있고, LLM Encoder-Docoder를 사용할 수도 있다.
- 그림에서 윗부분은 LLM Decoder만 사용한 경우인데, 이미지 정보를 LLM Decoder에게 넘겨주고 적절한 문장을 생성하게끔 학습하는 것이다.
- 그림에서 아랫부분은 LLM Encoder에게 이미지 정보와 Prefix Text(앞부분)를 넘겨주고 디코더로부터 Suffix Text(뒷부분)를 예측하게끔 하는 것이다.
Model Pre-training
Pre-Training Data
- 사전 학습 데이터의 이미지는 총 129M개이고, COCO, Visual Genome, CC3M, CC12M, SBU, LAION400M 데이터셋으로부터 가져온 115M개가 포함된다.
- 캡션은 BLIP의 CapFilt 방법을 사용하여 선별된 캡션과 원본 캡션 중 랜덤 샘플링하여 사용한다.
Pre-trained image encoder and LLM
- Frozen Image Encoder로는 CLIP의 ViT-L/14 혹은 EVA-CLIP의 ViT-g/14를 사용한다.
- ViT의 마지막 레이어를 제거하고 그 이전 레이어의 출력을 사용한다(실험적으로 성능 향상 확인).
- Frozen LLM으로는 OPT 계열 모델과 FlanT5 모델 계열을 사용한다.
Pre-training settings
- First stage에서 250k step, Second stage에서 80k 스텝 학습.
- ViT-L/ViT-g의 배치는 각각 2320/1680, 두번째 단계에서 OPT/FlanT5의 배치는 각각 1920/1520이다.
- 그 외 하이퍼 파라미터 세팅은 논문 참고.
Experiment

- BLIP-2와 SOTA 모델들의 Zero-shot을 태스크별로 측정한 테이블이다.
- BLIP-2가 Trainable Parameter는 가장 적지만 성능은 제일 높은 것을 확인할 수 있다.
- 여기서 파라미터 개수는 모델 전체 파라미터 개수가 아니고 학습 가능한 파라미터의 개수이다.

- VQA task에 대해 Zero-shot 성능을 비교한 것이다.
- BLIP-2의 전체 파라미터는 3.1B ~ 12.1B인데, 비슷한 파라미터 개수를 가진 모델과 비교해보면 더 높은 것을 확인할 수 있다.
Conclusion
- 본 논문에서는 BLIP-2를 제안한다.
- BLIP-2는 Pre-trained Frozne Image Encoder, LLM을 활용하여 효율적인 훈련 방식을 제안한다.
- 또한 Zero-shot을 포함한 여러가지 Vision-Language 태스크에서 State-of-the-art를 달성했다.
Review
- BLIP-2는 상당히 복잡한 구조로 만들어졌다.
- 학습 파라미터가 적다고 해도 Loss가 세번 계산되기 때문에, 학습 시간은 그만큼 느릴 것으로 생각된다.
- 그래도 구조를 논리적으로 풀어내는 부분과 성능이 높게 측정됐다는 부분이 칭찬할 만 하다.
728x90