[21’ ICML] VL-T5: Unifying Vision-and-Language Tasks via Text Generation

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

image

지금까지의 vision-and-language learning 방법은 모두 task-specific architectures와 task-specific objectives를 사용했다. VL-T5는 여러 task를 모두 multimodal conditional text generation 문제로 바꾸어 single architecture와 single objective로 통합한 unified framework이다. 이러한 방법의 장점은 (1) task 간 knowledge sharing이 가능하고, (2) pretrained LLM의 text generation 능력을 충분히 활용할 수 있다는 것이다. 결과적으로 VL-T5는 single-task model들과 견줄만한 성능을 보여주었다.


1. Architecture

image

VL-T5는 (1) Multimodal Encoder, (2) Text Decoder로 구성된다. Encoder와 decoder의 구조는 T5와 같이 평범한 Transformer encoder-decoder 구조이다. 다만 text encoder가 multimodal encoder로 바뀌었을 뿐이다. 따라서 visual input을 language input과 함께 처리하기 위해 visual embedding을 도입한다. 그리고 object로도 대답할 수 있도록 visual sentinel tokens를 T5의 vocabulary에 추가한다.


1.1. Visual Embedding

Visual embedding은 다음과 같이 결정된다.

  1. Faster R-CNN을 통해 이미지 $v$로부터 $n=36$개의 object regions $\lbrace 1, 2, \cdots, n \rbrace$를 추출한다.
  2. 각 object region에서 4가지 feature를 추출한다.
    1. RoI object feature를 추출하여 linear layer를 통해 embedding한다.
    2. RoI bounding box coordinates를 추출하여 linear layer를 통해 embedding한다.
    3. Image ids $\in \lbrace 1, 2 \rbrace$를 learned embedding으로 변환한다. (최대 2개의 이미지 $v_1, v_2$를 사용할 수 있다.)
    4. Region ids $\in \lbrace 1, 2, \cdots, n \rbrace$를 learned embedding으로 변환한다.
  3. 이를 모두 합쳐 하나의 visual embedding $e^ v = \lbrace e_ 1 ^ v, e_ 2 ^ v, \cdots, e_ n ^ v \rbrace$를 얻는다.


1.2. Text Embedding

Text embedding은 T5와 동일한 방식으로 진행한다. Input text $x$는 tokenization을 통해 $\lbrace x_ 1, x_ 2, \cdots, x_ {\vert x \vert} \rbrace$로 변환된다. 이후 learned embedding을 통해 $e^ x = \lbrace e_ 1 ^ x, e_ 2 ^ x, \cdots, e_ {\vert x \vert} ^ x \rbrace$를 얻는다. 여기에서 unique한 점은 T5의 original vocabulary에 visual sentinel tokens을 추가한다는 것이다. Visual sentinel tokens<vis_i>와 같이 나타내며 이는 region id $i$에 해당하는 region id embedding이다. 이를 통해 object 자체를 text input 또는 output으로 사용할 수 있게 된다. 개인적으로 본 논문의 매우 중요한 contribution 중 하나라고 생각한다. Visual information을 직접적으로 text로 자유롭게 사용할 수 있게 되었기 때문이다. 물론 Faster R-CNN을 통해 추출된 visual information으로 그 내용이 한정되어 있다는 한계가 있을 수 있다.


1.3. Encoder-Decoder Architecture

Encoder와 decoder를 식으로 표현하면 다음과 같다.

\[\begin{aligned} \text{Enc}(e^ x, e^ v) &= h = \lbrace h_ 1 ^ x, h_ 2 ^ x, \cdots, h_ {\vert x \vert} ^ x, h_ 1 ^ v, h_ 2 ^ v, \cdots, h_ n ^ v \rbrace \\ \text{Dec}(y_ {\lt j}, h) &= P_ \theta (y_ j \vert y_ {\lt j}, x, v) \\ \end{aligned}\]

Objective는 다음과 같고, 여러 task를 모두 multimodal conditional text generation 문제로 바꾸었기 때문에 task-specific objective를 따로 사용하지 않는다.

\[\mathcal{L}_ \theta ^ {\text{GEN}} = - \sum_ {j=1} ^ {\vert y \vert} \log P_ \theta (y_ j \vert y_ {\lt j}, x, v)\]

image

저자들은 task마다 다른 head를 붙여 task-specific model을 구축했던 이전 모델들과는 달리 단 하나의 구조와 하나의 손실함수를 학습했다는 점을 강조한다. Visual embeddingvisual sentinel tokens 덕분이다.


2. Pretraining

Pretraining은 다양한 task를 통합하려는 목적을 가지고 있기 때문에 다양한 task를 포함한 데이터셋으로 진행한다. 전체 종합하면 180K개의 image를 포함한 9.18M개의 image-text pair로 구성된다. Prefix를 통하여 task를 명시한 모습이다.

image


3. Downstream Tasks

Downstream tasks 또한 위 그림에 나타나 있으며, 결과는 아래와 같다. 결과를 개인적인 사견을 담아 종합해보면 딱 한 마디로 요약할 수 있다. VL-T5 모델은 Single-task SOTA 모델만큼은 아니지만, 어느 정도 견줄만한 성능을 낸다. 이제 몇 가지 주요 task에 대한 결과들을 살펴보자.

image


3.1. Visual Question Answering (VQA)

image

기존 VQA 모델은 discriminative model, 즉 MLP 모델을 통해 K개의 answer candidates 중 하나를 선택하는 방식이었다. 반면 VL-T5는 generative model로서 text generation을 통해 answer를 생성한다. 따라서 answer candidates에 정답이 없는 경우, 즉 out-of-domain에도 대응할 수 있다. 결과적으로 VL-T5는 discriminative model의 대표격인 UNITER에 비해 종합 성능은 살짝 떨어지지만 out-of-domain에 대한 강점을 보여준다.

또한 Table 1을 보면 VQA와 GQA 데이터셋에 대해 다른 prefix를 사용했는데, 이를 하나로 통합한 경우가 오히려 더 성능이 좋았다고 한다. 따라서, dataset-specific prefix 없이도 다양한 VQA dataset을 잘 다룬다는 것을 알 수 있다.


3.2. Natural Language Visual Reasoning (NLVR)

image

NLVR 모델은 True/False를 판별하기 위해 3가지 architecture 중 하나를 선택할 수 있다. 그 중 (a) Triplet에 비해 (b) Pair, (c) Pair-biattn은 구조상 더 정확하지만 computational cost가 더 많이 든다. VL-T5에서는 Triplet을 사용하였고, 동일한 Triplet을 사용한 UNITER와 유사한 성능을 보였다.

image

그 외에도 Referring Expression Comprehension, Visual Commonsense Reasoning (VCR), Image Captioning, Multimodal Machine Translation 등 다양한 task에 대해 VL-T5는 SOTA 모델들과 비교하여 어느 정도 견줄만한 성능을 보여주었다.


4. Multi-Task Finetuning

image

강력한 성능을 끌어내기 위해 저자들은 각각의 task에 대해 VL-T5를 fine-tuning하였다. 놀라운 점은 각 task에 대해 finetuning한 7개의 모델과, 전체 task에 대해 finetuning한 1개의 모델의 성능이 거의 비슷했다는 점이다. 이 결과는 충분히 하나의 모델로도 다양한 task를 finetuning할 수 있다는 것을 보여준다. 이러한 multi-task finetuning 시에는 7개의 task 중 1개의 task의 mini-batch를 샘플링하여 훈련하고, 다시 다른 task의 mini-batch를 샘플링하여 훈련하는 round-robin fashion으로 학습을 진행하였다.

image

그렇다면 조금 더 나아가서 각 task에 대한 task-specific head를 추가하여 fine-tuning을 진행하면 어떨까? 이러한 경우에도 성능은 별로 개선되지 않았다. 이 결과는 이미 VL-T5가 충분히 다양한 task를 구체적으로 잘 다룰 수 있는 능력을 얻었다는 것으로 풀이된다. 이와 같은 multi-task finetuning 실험 결과는 앞으로의 VLM 모델이 어떻게 발전해 나갈지에 대한 힌트를 준다. Unified framework를 통해 다양한 task를 통합하고, task-specific head를 추가하는 것이 아닌 single head로 학습하는 방향으로 나아가야 한다는 것이다.


💡 Summary

VL-T5다양한 task를 통합하려는 시도였다는 점에서 MLLM의 초기 형태를 보여주는 논문이라고 할 수 있다. Vision embeddingvisual sentinel tokens를 통해 visual information을 text로 자유롭게 사용할 수 있게 된 것이 가장 큰 contribution이라고 할 수 있다. 이를 통해 single architecture와 single objective로 다양한 task를 통합하였다. 결과적으로 single-task SOTA 모델들과 견줄만한 성능을 보여주었으며, 더 높은 generalization ability를 가질 수 있다. 앞으로도 unified framework를 사용하는 방향으로 연구가 계속될 것으로 보인다.


📃 Reference


Multimodal 카테고리 내 다른 글 보러가기

댓글 남기기