[논문] BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
Contents
Abstract
본 논문에서는 VLP(Vision-Language Pre-traing)이 vision-language task에서 많은 발전이 있었지만, 기존 모델들은 이해(undertatnding-based)나 생성(generation-based) task들 에만 두각을 나타낸다고 설명합니다. 게다가 웹에서 모은 노이즈가 있는 이미지-텍스트 데이터 셋의 스케일링 업으로 주로 성능이 향상이 되어왔습니다. 그래서 저자는 BLIP 이라는 새로운 VLP 프레임워크를 제안합니다. 이는 노이즈가 있는 웹데이터들을 Boostrapping 기법을 통해 효과적으로 사용하며 예시가 없는 zero-shot 방법에서도 매우 일반화가 잘되어 있다고 설명합니다.
VLP(Visual Language Pretraining)는 이미지와 텍스트를 함께 학습하는 사전 학습 방법론으로, 이미지와 텍스트 데이터를 병렬적으로 입력으로 받아, 이들을 통합된 임베딩 공간(embedding space)로 변환하여 이미지와 텍스트 사이의 관계를 학습하게 됩니다.
Contrastive learning :
기존의 VLP모델들은 Large web scale data 즉 웹페이지, 소셜미디어 포스트, 뉴스 기사, 블로그 글, 이미지, 비디오 등 다양한 형태와 소스에서 수집이 된 대규모 데이터 입니다. 이는 다양성 또는 실시간성의 장점을 가지지만 노이즈가 많다는 특징을 가지고 있습니다.
부트스트래핑(boostrapping)은 재표본추출(resampling) 방법론 중 하나입니다.
부트스트래핑의 기본 원리는 원본 데이터 셋에서 무작위로 복원 추출(replacement)을 통해 새로운 샘플들을 생성하고, 이 새로운 샘플들을 사용하여 통계적 추정을 수행하는 것입니다. 이 방법은 원본 데이터의 분포에 대한 가정이 없어도 통계적 추정을 실시할 수 있어, 특히 작은 데이터셋에서 유용하게 사용됩니다.
Introduction
VLP 에는 두가지 limitations이 존재합니다.
1) Model perspective: 대부분의 VLP모델은 encoder-based 모델과 encoder-decoder모델인데, encoder-based모델은 generation(생성)에 약하고, encoder-decoder 모델은 image-text retrieval(image captioning)에 약한모습을 보입니다.
2) Data perspective: CLIP, ALBEF, SimVLM등 의 최근 SOTA 논문에서 모델들은 data를 web에서 수집하는데, 이런 noise가 많은 데이터들의 수를 늘려서 성능을 올리는것은 optimal한 방법이 아니라고 말합니다.
그래서 이를 해결하기 위해, 각 모델관점과 데이터관점에서의 해결책을 제시합니다.
1) Multimodal mixture of Encoder-Decoder(MED) : 세가지 Loss functions으로 효과적인 학습을 진행합니다. image-text contrastive learning , image-text matching, image-conditioned language modeling.
2) Captioning and Filtering (CapFilt) : Boostrapping방법을 통해 noisy image-text pairs을 적용시킬것인데, MED를 필터를 통해 noisy captions들을 삭제하여 학습을 시킬것입니다.
Method
1.Model Arhitecture
1-1) Unimodal encoder: image와 text를 각각 나누어 학습하며, 이미지는 Vit(visual transformer)로 텍스트는 BERT로 문장을 요약한 [CLS] 토큰을 앞에 부착해서 학습합니다.
1-2) Image-grounded text encoder : cross-attention(CA)를 통해서 visual information을 넣고, [Encode]라는 토큰을 붙여주어 이미지-텍스트쌍의 멀티모달 결과에 사용됩니다.
1-3) Image-grounded text decoder : 역시 cross-attention을 통해서 visual information을 넣고, causal self-attention 에 텍스트와 [Decode] 토큰을 넣어주어 문장의 시작을 알려줍니다.
N 의 크기는 데이터셋의 크기, 복잡도, 모델의 용량(capacity), 그리고 계산 자원 등을 고려하여 조정
.
2)Pre-training Objectives
Image-Text Contrastive Loss(ITC) : image와 text가 입력으로 들어올 때 이 pair가 서로 유사한것 끼리는 feature space를 가까이 아닌것은 멀게 학습 되도록 합니다. ( 두 데이터를 임베딩 시켜 같은 차원으로 맞춰준뒤 연관성 있는 차원 끼리 합쳐줍니다.)
Image-Text Matching Loss(ITM) : ITM에서는 이진분류를 사용하여 space상에서 거리나 정도가 아닌 긍정 or 부정으로만 학습하게 됩니다. ITC는 이미지와 텍스트 간의 기본적인 연관성을 학습하는 데 중점을 두고, ITM은 구체적인 이미지-텍스트 쌍의 매칭 여부를 판별하는 데 초점을 맞춥니다.
ITC 와 ITM은 얼핏보면 image와 text의 특징벡터를 이용해 학습한다는 점 때문에 비슷해 보일 수 있으나,
ITC는 image와 text간의 대조적 관계를 학습하여 긍정적인 쌍이 서로 가까운 특징 공간에 , 부정적인 쌍이 멀리 떨어진 특징공간에 위치하도록 하여, 관련이 있는 쌍인지 , 없는 쌍인지 구분하여, 이미지-텍스트 매칭, 이미지검색, 분류작업등에 사용한다면,
ITM은 Cross Attention 메커니즘을 사용하여 텍스트가 특정이미지 맥락 내에서 어떻게 해석되어야 하는지에 초점을 맞추어 긍정인지, 부정인지 이진분류하여, 이미지 기반의 택스트 생성(captioning) , 시각적 질문 응답 등의 작업에 사용됩니다
"Causal self-attention"은 특정 시점의 출력이 그 이후의 정보에 의존하지 않도록 설계된 자기 주의 메커니즘
Language Modeling Loss(LM) : image로 부터 text를 생성할 수 있도록 학습 합니다. image로 부터 captioning을 통해 text를 생성한 뒤, 이와 주어진 text와 비교하여 적절하고 상세한 텍스트를 생성할 수 있도록 학습합니다.
3)CapFilt
사람이 만든 데이터 쌍과 웹에서 수집한 데이터로 Filter(생성된 캡션과 웹 텍스트의 품질을 평가하는 모델 )와 Captioner(이미지에 대한 캡션을 생성하는 모델 )를 학습시킵니다. 이때 사람이 직접만든 데이터로 모델의 정확성을 향상시키고, 웹에서 가지고 온 데이터로 모델의 일반화 능력을 향상시킵니다. 그래서 이 데이터로 학습시킨 Filter와 Captioner를 인간이 만든 데이터로 finetuning시킵니다.
이제 웹에서 가져온 이미지를 captioning시켜서 예측한 텍스트를 얻고, 이를 원래 웹에서 같이 가져온 텍스트와 비교하여 부정확하거나 무관한 콘텐츠를 제거합니다.
Experimental
위의 표는 image-text retrieval method에서의 결과이고, 아래는 imgae captioning methods 의 결과입니다.
다른 모델보다 Web data들의 noise를 제거하여 더 적은 데이터셋으로 학습하여 더 성능을 높힌점이 인상적입니다.
[논문] GPT 이전 까지의 NLP 주요 논문 정리 (0) | 2024.06.04 |
---|---|
[논문] Factuality Enhanced Language Models for Open-Ended Text Generation (0) | 2024.02.14 |
[논문] LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS (1) | 2024.01.31 |
[논문] Robust Speech Recognition via Large-Scale Weak Supervision (0) | 2024.01.23 |
[논문] ANYTEXT: MULTILINGUAL VISUAL TEXT GENERATION AND EDITING (CVPR'23) (1) | 2024.01.10 |