Paper review

[NeurIPS 2019] ViLBERT Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks

ysk1m 2025. 3. 24. 10:23

Motivation

기존에는 Vision modal과 language modal을 같이 한 번에 학습하는 single stream 구조가 많았습니다.

이 경우 각 modal뿐 아니라 두 modal에 대한 관계도 잘 학습하기 어려웠고 visual grounding이 필요한 task에 대해서 성능이 좋지 않았습니다.

 

그래서 이 paper에서는 각각의 modal를 잘 학습하고 두 modal의 관계 또한 잘 학습하여 visual grounding이 필요한 task를 잘하는 모델을 만드는 것이 목표입니다.

 

또한 이러한 visual grounding이 pretrain이 가능하고 transfer learning도 가능하다는 점을 보여줍니다.

Approach

첫 번째로 보면 visual stream과 language stream으로 나눠 각각 처리해 줍니다. 두 modality의 처리 방식이 다를 수 있기 때문에 각각의 modality를 반영하여 독립적으로 학습을 먼저 합니다.

 

실제로 videobert라는 것이 있는데 이는 두 modal을 같이 넣어줍니다. 그래서 pretrained language BERT에 억지로 visual feature에 대한 weight를 학습하게 해 원래 BERT의 정보마저 손상시킬 수 있습니다.

 

자세히 살펴보면, Visual stream은 R-CNN을 이용하여 객체를 탐지하고 탐지된 10~36개 사이의 객체에 대해 2048차원 벡터로 표현해 줍니다. 여기에 5D 공간적인 좌표벡터도 추가합니다.

 

Linguistic stream은 BERT와 동일한 토큰 임베딩을 사용하며, 12개의 layer를 거쳐 문장을 처리합니다.

다음은 두 modality의 관계에 대해 학습하기 위한 구조입니다.

 

 

Co-attentional transform layer를 설계했는데 이는 visual stream에서 attention score를 구하기 위해 key와 value를 language stream에서 가져옵니다.

반대로 language stream에서는 visual stream에서 key와 value를 가져와 attention score를 계산합니다.

 

이 구조를 통해 서로의 관계에 대해 학습하게 됩니다.

다음은 VilBERT를 pretrain하는 것입니다. 웹에서 크롤링한 3.3 million개의 image-caption pair 데이터를 두 가지 task에 대해 학습합니다.

첫 번째 task는 이미지와 텍스트의 15%를 mask 하여 mask 된 곳을 예측하는 것입니다. 이미지는 픽셀을 예측하는 것이 아니라 semantic 카테고리를 맞추는 문제이며, KL divergence loss를 사용하여 확률 분포 간의 차이를 최소화합니다.

두 번째 task는 이미지와 텍스트가 의미적으로 align돼 있는지를 예측하는 binary classification 문제입니다. negative sample은 무작위로 이미지 또는 캡션을 바꾸는 방식으로 생성하며, 이미지 토큰과 cls 토큰을 element-wise product 하여 정렬 여부를 판단합니다.

Result

Pretrain된 VilBERT를 4가지 vision-language task에 대해 transfer learning 합니다.

VQA task는 이미지 토큰과 CLS 토큰을 element-wise product 하여 3129개 class 중 하나를 고르는 작업입니다. Pretrain 유무에 상관없이 기존 single stream 모델보다 성능이 우수합니다.

VCR의 경우 Q에서 A를 예측할 때 4개의 후보를 각각 Q와 붙여서 넣고, 가장 score가 높은 것을 예측합니다.

QA에서 R을 예측하는 문제도 동일하게 처리합니다. 이 경우 pretrain 된 single stream이 pretrain 하지 않은 VilBERT보다 성능이 좋습니다.

Visual grounding task에서는 pretrain의 효과가 명확하게 나타납니다.

 

Grounding Referring Expressions는 주어진 자연어에 해당하는 이미지 영역을 찾는 문제입니다.

 

COCO dataset에 pretrain된 R-CNN으로 bounding box를 만들고, language stream의 CLS 토큰과 점수를 계산하여 가장 높은 객체를 선택합니다.

마지막은 주어진 문장과 가장 잘 맞는 이미지를 찾는 image-text retrieval task입니다.

정답 pair 1개, 오답 pair 3개를 구성하고 가장 높은 점수를 얻는 이미지-캡션 pair를 정답으로 예측합니다.

 

오답은 random caption, random image, hard negative image (타깃 이미지와 유사한 100개 중) 방식으로 만듭니다.

(R1, R5, R10은 모델이 검색한 상위 1, 5, 10개 안에 정답이 있을 확률을 나타냅니다.)

Transfer learning 없이도 Conceptual Captions로 pretrain한 모델이 Flickr30k에서도 잘 작동하는 것을 확인할 수 있습니다.

Ablation Study

VQA, image retrieval은 co-transformer layer가 깊을수록 좋았고, VCR, Referring Expressions는 얕을수록 더 좋았습니다.

Pretrain dataset이 클수록 성능이 더 좋다는 것을 보여줍니다.