티스토리 뷰

2022년도에 나온 VLP 분야 서베이 논문이다.

 

여기서 말하는 VLP란 이미지, 텍스트를 동시에 입력으로 받는 모델을 사전학습 (주로 self-supervised) 시킨 후, 다양한 다운스트림 태스크(VQA, VCR, Visual grounding 등)에 파인튜닝하여 좋은 성능을 얻는 것에 초점을 둔 분야라고 이해하면 된다.

 

 

 

1. Introduction

VLP model의 사전학습은 3단계로 이루어진다.

 

  1. 이미지와 텍스트 각각을 latent representation으로 인코딩한다.
  2. 두 모달리티를 상호작용 시키기 위한 모델 아키텍처를 디자인한다.
  3. VLP model를 사전학습시킬 태스크들을 고안한다.

사전 학습이 끝나면 다양한 다운스트림 태스크에 파인튜닝할 수 있다 (개인적으로 각 태스크에 파인튜닝을 하는 방법도 논문들마다 조금씩 다른 부분이 분명 있다고 생각한다). 본 논문은 각 단계별로 어떤 토픽이 있는지를 짚어준다.

 

 

 

2. Learning Vision, Language Representation

이미지와 텍스트 각각을 latent representation으로 인코딩하는 널리 쓰이는 방법들에 대해 다룬다.

이미지와 텍스트라는 본질적으로 성질이 다른 모달리티이므로, 둘을 인코딩하는 방법에도 큰 차이가 존재한다.

 

  • Text Representation : 대부분의 VLP 연구는 BERT 방식을 따른다. BERT는 트랜스포머의 인코더(그저 self-attention)로, 쉽게 말해 contextualizer 이다. 입력으로 들어오는 단어의 임베딩 (WordPiece embedding)을 문맥적을 고려하여 더 정확한 의미를 가진 임베딩으로 만들어준다.
  • Image Representation : 이미지에 대한 표현을 배우는 방법은 여전히 open problem이며, 이미지에 담긴 visual concepts간의 관계는 VL task에서 매우 중요하다. 하지만 그만큼 관계를 잘 포착해내기 어렵다. 중요한 점은 이미지를 토큰화하는 방식이다. ViLBERT (2019), LXMERT(2019) 같은 VLP 초기 연구의 대부분은 Faster R-CNN 같은 사전학습 된 Object detector가 제공한 features of RoI를 이미지 토큰으로 사용했다. 이에 반해 RoI 방식 대신 pixel-level (consider whole image)로 표현을 만드는 방식을 쓴 pixel-BERT(2020), SOHO(2021)이 있다. 그러나 이후 ViT (2020)의 등장으로, 대부분의 VLP 연구들은 ViT 방식 (이미지를 patch로 나누고 선형변환을 취함)으로 이미지를 토큰화한다. 대표적인 모델로 ALBEF(2021), SimVLM(2021)이 있다.

 

 

 

3. Modeling Vision-Language Interaction

두 모달리티의 정보를 상호작용 시키는 방법에 따라 fusion encoder, dual encoder, combination of both로 카테고리를 나눈다.

 

3.1 Fusion Encoder

두 모달리티의 representation을 입력으로 받아서 self-attention 혹은 cross-attention을 진행한다. 마지막 레이어가 출력한 representation을 fused representation으로 취급한다. self-attention을 하는 방법을 single-stream이라고 하며, cross-attention을 하는 방법을 dual-stream이라고 한다.

 

 

  • Single-stream Architecture

Self-attention을 하면 되므로 하나의 트랜스포머만 필요하다. 즉, 두 모달리티의 표현을 그냥 concat하고 트랜스포머의 입력으로 제공하면 된다. VisualBERT (2019), V-L BERT(2019)가 이러한 접근을 사용한 최초급 연구이다. OSCAR (2020)은 트랜스포머의 입력으로 detected object tag 또한 제공하여 모델이 alignment를 잘할 수 있도록 돕는다.

 

Single-stream은 두 모달리티로 self-attention을 수행하므로, intra-modality interaction를 무시하거나 상대적으로 소홀히 하게 된다. 이러한 점을 보완하기 위한 dual-stream 구조를 생각해보자.

 

 

  • Dual-stream Architecture

cross-attention을 쓰는 구조이다. cross-attention이란 쿼리 벡터는 이미지 모달리티에서 뽑고, 키, 밸류 벡터는 텍스트 모달리티에서 뽑아와서 attention을 수행하는 것을 말한다 (그 반대도). 어텐션은 곧 contextualization 이라는 것을 생각해보면, 이는 image representation contextualized by text (그 반대도)를 뽑아내는 것이다.

 

Dual-stream 구조는 intra-modality interaction과 cross-modal interaction을 서로 개별적으로 진행해줘야 더 좋은 fused representation을 얻을 수 있다는 가정을 한다. ViLBERT (2019)는 cross-attention 후에 intra-modality interaction을 진행한다. cross-attention을 수행하는 트랜스포머는 가중치를 공유한다. 즉, 하나의 트랜스포머에 (쿼리 : 이미지, 키 : 텍스트, 밸류 : 텍스트), (쿼리 : 텍스트, 키 : 이미지, 밸류 : 이미지)를 입력으로 줘서 cross-attention을 수행한다. ALBEF도 cross-attention을 사용하는 대표적인 모델이다.

 

 

3.2 Dual Encoder

Fusion encoder는 성능이 뛰어나지만, 무거운 모델인 트랜스포머를 필요한다. 예를들어 Image-Text Retrieval 태스크를 수행하려면, (이미지1, 텍스트), (이미지2, 텍스트), .. 같이 쌍을 구성하여 Fusion encoder (트랜스포머)에 넣어 추론시킨 후, alignment score가 가장 높은 이미지를 검색된 이미지로 결정해야 한다. 이러한 여러 번의 추론 때문에 시간이 많이 소요된다.

 

Dual Encoder는 두 모달리티의 interaction을 위해 트랜스포머 대신 shallow attention 또는 dot product 같이 단순/직관적인 방법을 사용한다. 이러한 방법들은 이미지 임베딩과 텍스트 임베딩을 의미적으로 같은 공간상에 프로젝션 시키고, 둘 간의 similarity score를 계산하기 위함이다.

 

단순한 모델링이기 때문에 fusion encoder 보다 훨씬 효율적이다. 특히 CLIP (2021)은 Image-Text Retrieval 태스크에 대해 놀라울 정도의 성능을 보여준다. 하지만 이미지와 텍스트 간의 어려운 관계를 이해해야 하는 reasoning 관련 태스크 (e.g. NLVR)은 잘 못한다. 이는 shallow interaction의 한계라고 볼 수 있다.

 

 

3.3 Combination of Fusion Encoder and Dual Encoder

Fusion encoder는 어려운 VL 태스크도 잘 풀고, Dual encoder는 상대적으로 느슨한 interaction이 필요한 retrieval 태스크를 잘 푼다. 이 둘을 합치면 더 개선된 모델을 얻을 수 있지 않을까? 라는 생각은 자연스럽다. FLAVA (2021)은 dual encoder로 각 모달리티에 대한 representation을 뽑아낸 뒤, fusion encoder로 이를 처리한다. 또한 dual encoder의 성능을 개선하기 위해 다양한 unimodal pre-training task를 사전학습에 이용했다. VLMo (2021)은 dual encoder와 fusion encoder를 하나의 프레임워크에 통합시킨 연구이다. 이미지 / 텍스트 / 이미지-텍스트 페어 각각의 데이터셋에 대해 모델을 사전학습 시킨다.

 

 

 

 

4. Cross-Modal Pre-training Task

Pre-training task는 모델이 데이터에서 무엇을 배우는 지에 매우 큰 영향을 끼친다. 개인적으로 fusion의 중요성과 비슷하거나 그 이상이라고 생각한다. VLP 연구들에서 널리 쓰이는 태스크들을 소개한다.

 

 

4.1 Cross-Modal Masked Language Modeling (MLM)

BERT의 MLM과 근본적으로 같다. 하지만 VLP에선 이미지 토큰도 입력으로 들어오기 때문에, 마스킹 된 단어 토큰을 복원하기 위해 시각적인 정보 또한 고려한다. VLP 모델은 MLM을 풀면서 이미지 토큰과 단어 토큰 간의 alignment 관계를 배운다.

 

MLM에선 masking strategy가 중요하다. 마스킹 방법이 너무 간단하다면, 모델은 그저 마스킹 된 단어의 주변에 있는 다른 단어들만을 이용해 쉽게 원래 토큰으로 복원해낼 것이다. 이미지 토큰에 의존적인 단어 토큰을 마스킹하면, 모델은 토큰 복원을 위해 시각적인 정보를 고려할 수 밖에 없을 것이다. 이러한 과정에서 단어와 객체 사이의 alining이 자연스럽게 유도된다.

 

ViLT (2021)은 모델이 마스킹 된 단어를 복원하기 위해 주변 단어(co-occurrence) 만을 이용하는 것을 방지하기 위해 Whole Word Masking strategy를 이용한다. InterBERT (2020)은 연속적인 단어 토큰들을 함께 마스킹함으로써 MLM task를 더욱 어렵게 만든다.

 

 

4.2 Cross-Modal Masked Region Prediction (MRP)

MLM이 마스킹 된 단어 토큰을 복원하는 태스크라면, MRP는 마스킹 된 이미지 토큰을 복원하는 태스크이다. MRP는 학습 목적에 따라 Masked Region Classification (MRC)와 Masked Region Feature Regression (MRFR)로 나뉜다.

 

 

  • Masked Region Classification (MRC) : 마스킹 된 이미지 토큰의 semantic class를 예측하는 태스크이다. 생각해보면, 텍스트 정보는 객체가 무엇인지 (class)에 대한 high level semantics를 제공한다. 다시 말해, 텍스트는 객체의 raw pixels를 복원시키기에는 부족한 정보를 담고있다. MRC는 이러한 관찰에 기반한 태스크이다. 이 태스크에서 이미지 토큰에 대한 ground-truth는 사전학습 된 object detector가 예측한 클래스이다.이렇게 하면 ground-truth의 quality는 사전학습 된 object detector의 성능에 크게 좌지우지 된다. 그래서 ViLBERT (2019)와 UNITER (2020)은 detector의 raw output (softmax distribution)을 ground-truth로 취급하고 KL-divergence로 학습한다. 이렇게 하면 weak supervision의 약점을 그나마 완화시킬 것으로 기대할 수 있다(soft labels).

 

  • Masked Region Feature Regression (MRFR) : 이미지 토큰 (feature) 그 자체를 복원해야 하는 태스크이다. Faster R-CNN의 RoI feature를 이미지 토큰으로 사용한다면 이미지 토큰을 랜덤하게 마스킹하는 것이 MRFR에 꽤 효과적이다. 하지만 원본 이미지 전체를 고려하는 토큰화 (grid feature, patch feature)를 사용하는 경우 랜덤 마스킹은 더 이상 효과적인 방법이 아니다. 왜냐하면 모델이 마스킹 된 이미지 토큰의 이웃 토큰을 단순히 duplicate해도 실제로 어느정도 잘 복원한 것이기 때문이다. 이는 이미지라는 structure가 가진 locality 속성 때문이다. VIsual parsing (2021)은 높은 어텐션 가중치를 갖는 이미지 토큰들이 비슷한 의미를 가질 것이라는 가정하에 더 나은 마스킹 전략을 제안한다. 먼저 하나의 이미지 토큰을 랜덤하게 마스킹하고 (pivot token), 그 토큰의 top-k 어텐션 가중치를 가지는 이미지 토큰들을 함께 마스킹한다. SOHO (2021)은 vision dictionary를 먼저 사전학습한 후, 같은 의미를 가지는 이미지 토큰을 모두 마스킹한다 (avoid information leackage라고 표현).

 

 

4.3 Image-Text Matching (ITM)

MLM과 MRP이 모델에게 이미지/텍스트의 fine-grained correlation을 배우게 했다면, ITM은 coarse-grained level aligning을 유도한다. BERT의 Next Sentence Prediction (NSP)와 결이 같다고 생각하면 된다. 모델은 함께 입력으로 제공된 이미지와 텍스트가 서로 매치되는 지 여부를 맞춰야 한다.

 

보통 $h_{w[CLS]}, h_{v[IMG]}$를 합친 하나의 임베딩을 간단한 FC 레이어에 넣어 matching 여부를 출력하는 구조를 이용하는데, 여기서 핵심은 두 표현을 어떻게 하나의 임베딩으로 잘 합칠까이다. UNITER(2020), SOHO(2021)는 두 표현을 concat했고, ViLBERT(2019)는 두 표현을  element-wise하게 곱하여 하나의 임베딩으로 만들었다.

 

 

 

4.4 Cross-Modal Contrastive Learning

CMCL은 이미지, 텍스트의 전체적인 표현($h_{w[CLS]}, h_{v[IMG]}$)이 same semantic space에 놓이도록 한다. 이를 위해 contrastive learning을 이용하여 매칭되는 이미지-텍스트 쌍은 공간 상에서 가까이, 매칭되느 않는 쌍은 멀리 떨어뜨려 놓는다. CLIP(2021)과 그것의 확장 모델인 ALIGN(2021)은 대규모의 이미지-텍스트 쌍으로 CMCL을 풀어 이미지 분류 태스크에 대한 zero-shot transfer에서 놀라운 성능을 보였다.

 

ALBEF(2021)은 웹에서 추출된 데이터의 noise에 대응하는 contrastive learning을 위해 momentum distillation을 사용한다. UNIMO(2020)은 대규모의 unimodal data 또한 contrastive learning에 이용하여 이미지와 텍스트가 서로를 증진시킬 수 있도록 한다. Triple Contrastive loss(2022) 논문은 이러한 contrastive learning이 동일한 모달리티에서 비슷한 의미를 가진 데이터를 임베딩 공간 상에 가까이 위치시킨다는 보장을 하지 못한다는 근거하에, intra-modality contrastive learning을 추가하여 VLP 모델이 더 좋은 representation을 배울 수 있도록 한다.

 

 

 

 

5. Adapting VLP models to VL downstream Tasks

다운스트림 태스크의 특징에 따라 corss-modal matching, cross-modal reasoning, vision and language genaration으로 나뉜다.

 

 

5.1. Cross-Modal Matching

  • Image Text Retrieval (ITR) : 문장에 매치되는 이미지를 제공된 이미지 풀(pool)에서 검색하는 태스크이다. Fusion encoder 기반의 모델을 ITR에 fine-tuning 하려면 fused representation을 프로젝션 시켜서 이미지-텍스트 쌍 간의 similarity score를 매겨야 한다. CLIP, ALBER와 같이 dual-encoder 구조를 이용하는 모델들은 ITR을 훨씬 효율적으로 수행할 수 있다 (검색 전에 모든 텍스트, 이미지의 표현을 미리 게산하여 저장해두고, 이를 이용할 수 있음).
  • Visual Referring Expression (VRE) : 주어진 설명(텍스트)에 부합하는 영역(bounding box)를 이미지에서 localize하는 태스크이다. VLP 모델이 출력한 각 이미지 토큰의 representation에 선형 변환을 취한 후 제공된 설명과의 matching score를 계산할 수 있다. 즉, ITR을 fine-tuning 하는 방법과 결이 같다.

 

5.2. Cross-Modal Reasoning

시각 정보 기반의 언어적인 추론이 요구되는 태스크이다. Dual-encoder 구조의 모델은 cross-modal interaction을 shallow하게 진행하므로 대부분의 reasoning task에서 좋지 않은 성능을 보인다.

 

  • Visual Question Answering (VQA) : 시각 정보에 대한 질문에 답변을 해야하는 태스크이다. 대부분의 연구가 VQA를 classification task (answer pool에서 정답을 맞추는 분류 문제)로 취급한다. Fusion-encoder 구조의 모델은 최종 cross-modal representation을 각 정답 후보에 대한 확률로 매핑시킨다.
  • Natural language for Visual Reasoning (NLVR) : 두 개의 이미지와 하나의 설명(텍스트)를 모델에게 제공하면, 모델이 그 설명이 참인지 거짓인지 판단 (binary classification) 해야 하는 태스크이다. 그래서 보통 두 이미지의 정보를 함께 고려해야만 답을 할 수 있는 설명이 주어진다. 보통 (이미지1, 텍스트), (이미지2, 텍스트)로 각각 쌍을 구성하여 VLP에 넣어 두 개의 representation을 얻고, 그것을 concat한 것을 classifier에 넣는 식으로 학습한다.
  • Visual Commonsense Reasoning (VCR) : 다른 종류의 VQA로 취급할 수 있긴 하지만, VCR 데이터셋의 질문들은 visual common sense에 더 집중하고 있다는 점에서 차이가 있다. VCR 태스크는 두 개의 서브 태스크로 나뉠 수 있다. 첫 번째는 question answering ($Q \rightarrow A$)이고, 두 번째는 answer justification ($Q + A \rightarrow R$). question answering은 VQA와 똑같다. answer justification에선 질문과 그에 대한 정답이 concat되어 VLP에게 입력된다. concat된 텍스트는 일종의 새로운 question으로 취급될 수 있다. 모델은 해당 정답이 정답이 될 수 있는 근거를 맞춰야 한다 (역시 answer pool에서의 classfication task이다).

 

 

5.3. Vision and Language Generation

  • Text-to-Image Generation : X-LXMERT(2020)은 연속적인 이미지 representations를 discrete cluster centroids로 변환하고 모델에게 마스킹된 영역의 cluster id를 예측하도록 한다. DALL-E(2021)은 이미지를 토큰화 하기 위해 codebook을 학습하고, text-to-image generation task를 autoregressive generative task로 포뮬레이션한다.
  • Multimodal Text Generation : Image captioning이 전형적인 태스크이다. XGPT(2021), VL-T5(2021)은 먼저 이미지를 인코딩한 후 디코더에게 caption을 autoregressive하게 생성하도록 한다. Multimodal machine translation은 시각 정보를 이용하여 번역의 quality를 개선시키는 태스크이다. VL-T5(2021)은 image captioning과 같은 전략으로 이 태스크를 푼다.

 

 

 

«   2024/05   »
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 31