[Dacon] BLIP-2: Bootstrapping Language-Image Pre-trainingwith Frozen Image Encoders and Large Language Models #2
Related Work
목표 : 비전 - 언어 과제에서 더 나은 성능을 내는 멀티 모달 기반 모델을 학습하는 것
다운스트림 태스크에 따라 다양한 모델 구조 제안되어 왔음.
시간이 지나면서 몇 가지 검증된 방식으로 수렴
end to end로 학습된 모델은 LLM(대형언어모델, Brown et al., 2020; Zhang et al., 2022; Chung et al., 2022) 처럼 이미 학습된 단일 모달 모델을 유연하게 활용하는 데 한계가 존재함
Modular vision-language pre-training
pre-trained 모델을 그대로 두고 VLP 과정에서 고정시켜 사용하는 방법들이다.
또 다른 방법에선, 언어모델 (LLM)을 고정시켜, LLM의 지식을 활용해 이미지-텍스트 생성 (vision to language generation) 태스크에 사용 (Tsimpoukelli et al., 2021; Alayrac et al., 2022; Chen et al., 2022a; Mañas et al., 2023; Tiong et al., 2022; Guo et al., 2022
-> 이때 BLIP-2는 고정된 이미지 인코더와 고정된 LLM을 모두 사용하여 비전 - 언어 태스크에서 더 낮은 계산 비용으로 더 뛰어난 성능
Method
1. 고정된 단일 모달 모델
2. 두 모달리티 간의 차이를 연결하기 위해, 두 단계로 사전학습된 Q-Former (Quering Transformer)라는 구조 제안
Model Architecture
Q-Former는 고정된 이미지 이놐더와 고정된 LLM 사이의 간극을 연결하는 학습 가능한 모듈
이미지 인코더에서 입력 이미지 해상도와 무관하게 고정된 개수의 출력 특성을 추출
Q-Foremr는 두 개의 트랜스포머 서브 모듈로 구성 (둘 다 같은 self-attention layer를 공유)
학습 가능한 쿼리 임베딩 여러 개를 생성하여 이미지 트랜스포머의 입력으로 사용
< 학습 가능한 쿼리 임베딩이란 >
쿼리 임베딩 : transformer의 입력으로 쓰임
-> Q-Former가 이미지 피처와 쿼리 임베딩을 함께 입력 받는데
-> 각 쿼리 임베딩에 대해 이미지에서 정보를 추출함
즉, 모델이 목적에 맞게, 이미지에서 어떤 정보를 추출해야 할 지 스스로 배우는 벡터
쿼리들은 self-attention으로 상호 작용, 고정된 이미지 특성과는 cross-attention layer를 통해 상호작용
사전 학습 태스크에 따라 서로 다른 self-attention 마스크를 적용해서 쿼리 텍스트 상호작용을 조절
Q-Former는 BERT_base(Devlin et al., 2019)의 사전학습 가중치로 초기화 (초기화에도 기준이 있나?)
cross-attention layer만 랜덤하게 초기화
Q-Former는 총 1억 8,800만(188M) 파라미터로 구성된다. 쿼리도 모델 파라미터로 간주
실험에서는 32개의 쿼리를 사용했고, 각 쿼리의 차원은 768이다(Q-Former의 히든 차원과 동일)
병목 구조(bottleneck architecture)는 쿼리들이 텍스트와 가장 관련성 높은 시각 정보를 뽑아내도록 유도