BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
BLIP-2는 큰 규모의 모델을 end-to-end로 훈련하는 vision-language pre-training의 비용이 점점 더 높아지는 문제를 해결하기 위해 제안된 효율적이고 일반적인 pre-training 전략입니다. 이 모델은 기존의 pre-trained image encoders와 대형 language models를 사용하여 vision-language pre-training을 효율적으로 수행합니다.
BLIP-2는 가벼운 Querying Transformer를 사용하여 서로 다른 modality(vision과 language)의 격차를 줄입니다. 이 Querying Transformer는 두 단계에 걸쳐 pre-trained됩니다.
첫 번째 단계에서는 pre-trained image encoder를 사용하여 vision-language representation learning을 bootstrap합니다. bootstrap이라는 용어는 기본적인 시스템이나 소프트웨어가 더 큰 시스템의 초기화나 설정을 돕는 과정을 의미합니다. 따라서 여기서는 pre-trained image encoder를 통해 vision-language 표현을 초기화하고 설정하는 과정을 의미합니다.
두 번째 단계에서는 pre-trained language model을 사용하여 vision-to-language generative learning을 bootstrap합니다. 즉, 이미지에서 텍스트를 생성하는 학습을 language model을 통해 수행합니다.
BLIP-2는 기존의 방법보다 훨씬 적은 trainable parameters를 가지고 있음에도 불구하고 다양한 vision-language tasks에서 state-of-the-art 성능을 달성합니다. 예를 들어, BLIP-2는 54배 적은 trainable parameters를 가지고 있음에도 불구하고 Flamingo80B보다 zero-shot VQAv2에서 8.7% 더 높은 성능을 보였습니다.
또한, 이 모델은 자연어 지시를 따를 수 있는 zero-shot image-to-text generation 능력을 갖추고 있음을 보여주었습니다. 이는 사용자가 주는 자연어 명령에 따라 이미지를 텍스트로 설명하거나 생성할 수 있는 능력을 의미합니다.
Paper Link : https://arxiv.org/abs/2301.12597
참고 링크 : https://www.youtube.com/watch?v=rTEObsTGjNw
Background
Transformer의 발전으로 인해서 많은 데이터로 사전학습하고 Downstream task의 성능을 개선하는 방법이 부각되고 있습니다. 현재 대부분의 Vision Language Downstream task에서 SOTA모델은 Vision Language Pre-training 모델입니다.
Model Architecture
BLIP-2의 핵심은 Frozen Image Encoder와 Frozen LLM 사이의 간극을 줄이기 위해 Q-former를 사용한다는 것입니다. 우선 입력 이미지 해상도와 관계 없이 Image Encoder에서 고정된 수의 Feature를 추출하고 Q-Former에게 넘겨줍니다. Q-Former내부에서는 텍스트와 Learned Queries와 상호작용합니다.
Query가 텍스트에서 가장 많은 정보를 제공하는 Visual Representation을 추출하는 방법을 학습할 수 있도록 Q-former를 학습시키는 것을 목표로 합니다. BLIP에서 영감을 받아 동일한 입력 형식과 모델 파라미터를 공유하는 세 가지 Pre-training Objective를 동시에 최적화 합니다.
ITC(Image-Text Contrastive Loss)
Image representation(이미지 표현)과 text representation(텍스트 표현)을 align(정렬)하는 것입니다. 즉, 이미지와 텍스트 간의 차이(gap)를 줄이는 것이 목표입니다.
Image transforemr의 Output Query Representation Z를 Text transformer의 Text Representation [CLS]토큰의 Output Embedding인 t와 align 합니다. 이 때, 이미지와 텍스트가 서로 정보를 교환할 수 없도록 Uni-modal Self-Attention Mask를 사용합니다.
ITG(Image-grounded Text Generation)
입력 이미지가 조건으로 주어지면 텍스트를 생성하도록 Q-former를 학습합니다. Image Encoder에서 뽑아낸 이미지 정보는 공유된 Self-Attention layer를 통해 text tokens로 전해집니다. 이 때, Query는 Text와 관련된 이미지 정보들을 뽑도록 학습됩니다.
Multimodal Causal Self-Attention을 사용해 Query는 서로에 대해 Attnetion 할 수 있도록 합니다.
ITM(Image-Text Matching)
Image-Text Pair가 Positive(Mathced)인지 Negative(Unmathed)인지 예측하도록 모델에 요청하는 이진 분류 작업입니다. 이 때, 모든 Query와 Text가 Bi-directional Self-Attention Mask를 사용합니다. 또한 모델의 성능을 향상시키기 위해 Hard Negative Mining 전략을 채택하여 informative한 Negative Pair를 생성하여 학습합니다.
Generative Learning from a Frozen LLM
이후 2번째 Stage로 정보를 넘겨주어 결과값을 생성합니다.
Q-Former의 output query는 완전연결 계층(Fully Connected Layer)를 통해 LLM로 전달됩니다. 완전연결 계층은 output query의 차원을 LLM의 text embedding 차원으로 Linear Projection하는 역할을 합니다. Linear Projection된 결과물은 LLM의 text embedding 앞에 붙어 ‘soft visual prompt’로 활용됩니다.
결론적으로 Q-former는 Language-Informatve Visual Representation을 추출하도록 학습되었기 때문에 관련 없는 정보를 제거하면서 가장 유용한 정보를 LLM으로 넘겨주는 Information Bottleneck 역할을 효과적으로 수행할 수 있습니다.
Experiments
Zero-Shot Image-to-Text Generation
Image-to-Text 생성을 위해, Image에 Text를 붙여서 LLM의 Input으로 넣어주어 실험을 진행합니다.
실험 결과 전반적으로 더 강력한 Image Encoder 또는 LLM을 사용하는 것이 더 높은 성능을 달성하는 것에 영향을 주는 것을 확인할 수 있습니다.
또한 Q-former의 Representation Learning 과정을 생략할 경우 성능이 많이 저하되는 것을 확인하여 그 중요성을 강조했습니다.
Image Captioniong
프롬프트를 “a photo of”로 사용하여 이미지가 어떤 이미지인지 분류할 수 있도록 실험했습니다. No Caps Zero-shot 성능이 상당히 개선됨과 동시에 SOTA를 달성했습니다. 이를 통해 강력한 일반화 성능을 가진 것을 확인할 수 있습니다.
Visual Question Answering
Open-ended Generation Models(개방형 생성 모델)은 Classification 모델과 달리 특정한 정답이 정해져 있지 않은 다양한 응답이나 결과물을 생성할 수 있는 모델을 말합니다. VQA작업에서 Open-ended Generation Models 중 SOTA를 달성했습니다.
Image-Text Retrieval
k를 128로 사용한 결과 Zero-Shot Image-Text Retrieval에서 SOTA를 달성했습니다.
Limitations & Conclusion
LLM이 단일 Image-Text 쌍을 학습했기 때문에 성능의 한계가 있습니다. 추후 다중 데이터셋을 개발할 예정이라고 합니다. 또한, LLM 모델의 성능에 크게 의존할 수 있습니다. 이를 해결하기 위한 추가적인 학습이 필요할 것 같습니다.
결론적으로는 Frozen model간의 modality gap을 메우기 위한 새로운 방법을 제시하고, 여러 VL task에서 성능을 끌어올렸습니다. 또한 Pre-Training 과정에서의 Trainable Parameter 개수를 줄여 학습 효율성을 높혔습니다.