[논문리뷰] Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks

temp·2021년 12월 8일
0

Paper: Oscar: Object-Semantics Aligned Pre-training
for Vision-Language Tasks


0. Abstract

OpenAI의 연구인 DALL-E도 그렇고, vision-language task에서는 image-text pair의 cross-modal representations을 배우는 large-scale 사전학습 방법이 널리 애용되고 있습니다.
2020년 당시에는 단순히 image features와 text features를 concat해 모델의 input으로 사용한 다음, self-attention을 통해 image-text 간 의미 있는 관계를 학습하는 방법이 널리 사용됐습니다.

input sequence에 text token과 image tokens이 같이 들어간다면 self-attention을 통해 관계를 파악할 수 있습니다..만 일종의 brute-force 방식이라고 볼 수도 있습니다. 모든 토큰 간의 관계를 보는 것이 보통이니까요.

위와 같은 방식과 다르게 본 글에서 소개할 OSCAR는 새로운 학습 방법을 제안합니다.
해당 모델은 image에서 detectobject tagsanchor point로 사용해, 이미지와 텍스트 간 관계를 더욱 쉽게 학습할 수 있게 합니다.
이런 방법은 단순히 눈에 띄는 object가 image 내에서 잘 detect 된다는 것, 그리고 그런 물체는 pair text 내에서도 언급되어 있을 가능성이 크다는 사실로부터 영감을 받았습니다.
저자들은 이런 OSCAR model을 650만 개의 text-image pairs에 사전학습시킨 다음, 이를 downstream task에 fine-tuning시켜 6개의 vision-language task에서 state-of-the-arts를 기록했습니다.

1. Introduction

앞으로 vision-languageV+L, vision-language pre-trainingVLP라 칭하겠습니다.

여러 V+L task(VQA, image-text retrieval, captioning, e.t.c)에서 cross-modal representations을 학습하는 것은 굉장히 중요합니다.
최근 연구들 또한 large-scale의 images-text pairs를 사전학습 시킨 다음, 우리가 원하는 downstream task에 fine-tuning해 적용하는 방법론들이 SoTA를 기록할 수 있음을 잘 보여줍니다(VLP).

이런 VLP 모델들은 주로 multi-layer Transformers를 기반으로 합니다.
다만, 현존하는 모델들은 image-text pairs를 단순히 concat해 tokens으로서 사용하고, Transformer로 하여금 brute-force 방식으로 Self-attention을 행하게 합니다만, 이는 어찌보면 명시적인 alignments가 존재하지 않는 weakly-supervised learning이라고 볼 수도 있습니다.

대형 트랜스포머 모델이 알아서 잘 배웠으면 좋겠습니다만, visual regions은 over-sampled되거나, noise가 존재하거나, 아니면 그 자체로 굉장히 모호할 수 있기 때문에 모델이 의미 있는 관계를 파악하기 쉽지는 않습니다.

그렇기 때문에 OSCAR의 저자들은 이미지 내 object tags를 활용해서 모델이 image-text간 의미 있는 관계를 더더욱 쉽게 학습하게끔 합니다.

즉, cross-modal representations을 더더욱 잘 파악할 수 있습니다.

위의 설명으로부터 예상할 수 있다시피, OSCAR는 Image - Word pair(뒤의 Fig.2)를 학습에 곧바로 사용하지 않고, Image Region - Tag - Word로 구성된 triples을 학습 데이터로 사용하게 됩니다.

그렇게 사전학습 시킨 뒤 각각의 downstream task에 맞게 fine-tuning을 진행해 사용합니다.

word : word sequence
Region : a set of image region features
Tag : a set of object tags

초록에서도 말했다시피 Image 내에서 Detected 되는 object라면 Pair Text에서도 언급될 확률이 크기 때문에 모델이 효과적인 것입니다.
가령, MS COCO dataset에서는 Image와 Text가 1개의 Object를 49.7% 정도, 2개의 Object를 22.2% 정도, 그리고 3개의 Object 12.9정도로 공유하고 있습니다.

물론 이렇게 object tags를 anchor point로 사용해서 alignment 모델링을 용이하게 하는 시도는 NLP 분야 내에서도 오래 전부터 존재했습니다만*, 적어도 OSCAR가 VLP 분야에는 최초로 적용했다고 합니다(저자 주장).

*:
Br3own, P.F., Lai, J.C., Mercer, R.L.: Aligning sentences in parallel corpora.(1991)

NLP분야, VLP(Vision Language Pre-training) 분야 외에 V+L(Vision Language) 분야에서는 object나 image tags를 활용한 논문들도 있었습니다.
다만, 이런 모델들은 주로 이미지 영역 내 feature representations을 강화하기 위해서 쓰인 모델이지, OSCAR처럼 image-text alignments를 학습하기 위함은 아니였습니다.

현재 트렌드인 Transformer 기반 large-scale Pre-training task에는 다소 맞지 않겠죠.

위의 예시라면, 물체 예측을 통해 얻어진 확률을 soft label로 활용해 상응하는 region features에 concat해 사용하는 방법이 있습니다.


아무튼, 저자들은 OSCAR의 기여를 아래와 같이 정리합니다.

  1. V+L 분야 내 understanding & generation tasks에 적용될 수 있는, generic image-text reprensetations을 학습하는 방법을 제안합니다.
  2. 다수의 V+L benchmarks에서 SoTA를 기록했씁니다.
  3. corss-modal representation learning과 downstream task에서 object tags를 anchor points로 사용하는 것이 어떠한 효과가 있는지 광범위한 실험과 분석을 제공했습니다.

2. Background

많은 V+L tasks는 아래와 같이 image-text paris를 활용합니다.

우선 NN개의 Dataset을 D={(Ii,wi)}i=1N\mathcal{D}=\{(I_i, w_i)\}^{N}_{i=1}이라 정의합시다(이미지 : II, text sequence : ww).

pre-training의 목표는 image-text pairs의 cross-modal reprensetationsself-supervised 방식으로 학습하는 것입니다.
그리고 downs-stream task에 fine-tuning함으로써 적응시킬 수 있겠죠.

현존하는 VLP 방법론들은 self-attention Transformer를 활용해 Image-Text Embeddings을 토큰으로서 투입한 뒤, 이 토큰 간 self-attention을 통해 contextual representations을 학습하게 됩니다.

이 과정에서 이미지, 텍스트를 임베딩하는 과정을 거치게 되는데, 최종 성능에도 당연히 직결되겠죠. 아래에서 이미지를 임베딩할 때 생길 수 있는 문제에 대해서 간단히 다룹니다.

이런 방식은 굉장히 직관적이고 효과적이긴 합니다만, 아래와 같은 이슈또한 존재합니다.

  1. Ambiguity(모호성)
  • visual region features는 종종 Faster R-CNN 등을 활용해 얻은 over-sampled regions를 통해 추출됩니다.
  • 이는 어쩔 수 없이 다른 위치에 있는 image regions 간에도 굉장히 겹치는 결과를 낳습니다.
  • 예를 들어, 위의 Fig. 2(a)를 보면 dog과 couch(소파)는 두 영역이 굉장히 겹치기 때문에 쉽게 구분되지 않습니다.
  1. Lack of grounding
  • VLP는 본래 [regions - object in image - words in text] 간에 관계성을 명시해주지 않습니다.
  • 즉, 이미지-텍스트 간 관계(alignments)를 나타내는 label이 없기 때문에 본질적으로 weakly-supervised learning이라 할 수 있습니다.
  • 다만 위의 그림 Fig. 2(a)에서도 볼 수 있다시피 'dog'와 'cough'는 이미지 내에도, 그리고 텍스트 내에도 존재하는 object입니다.
  • 그렇기 때문에 image-text간 의미 할당을 위해 Fig2. (b)처럼 anchor points로서 쓰일 수 있겠죠.

이런 저런 이슈들을 다루기 위해 본 논문의 저자들도 위의 anchor points를 활용하는 새로운 방법론을 제안하게 됩니다.

3. Oscar Pre-training

사전학습에 다루기에 앞서서, 사람의 인식체계는 어떨까요?

보통 사람은 세상을 다양한 채널을 통해 바라봅니다. 개별 채널은 불완전할 수도, 노이즈가 많이 껴있을 수도 있지만, 중요한 요소는 여러 채널을 통해 공유되기 때문에 인지할 수 있습니다.

예를 들어, 는 위의 그림처럼 시각적으로 기술됨과 동시에 언어적으로 기술될 수도 있습니다.

본 저자가 제안하는 모델 OSCAR는 이런 아이디어에서 착안한 모델이빈다.
VLP 방법 중 하나인 OSCAR는 semantic level(의미 레벨)에서 modality-invariant한 요소를 포착하게끔 representation을 학습합니다.

modality-invariant = 위에서 말한 (channel-invariant)

위에서 말한 modality-invariant는 특정 요소가 Language 정보로 주어지든, Image 정보로 주어지든, 변하지 않는 요소를 포착한다고 볼 수 있을 것 같습니다.

위의 그림을 봅시다.

일반적인 VLP 태스크는 언어 정보이미지 정보 간의 관계를 잘 학습해야 합니다.
위에서 말한 modality-invariant factor는, 위 그림 Fig. 3에 있는 object tags라 할 수 있습니다.

즉, object tags가 이미지와 언어 사이의 할당을 돕는 요소입니다.

특히 위에서 ModalityDictionary 두 관점으로 봤을 때, Object Tags는 역시 그 교집합을 담당하고 있습니다.


기존의 VLP 모델과 비교를 통해, 전반적인 아키텍처를 파악해봅시다.

3.1. Input


위 그림에서 보다시피 OSCAR는 Input으로 Word-Tag-Image triple (w,q,v)(\bold{w,q,v})를 image-text pair로서 사용합니다.
w\bold{w} : word embedding에 해당하는 Sequence(text)
q\bold{q} : word embedding에 해당하는 Sequence(object tags)
v\bold{v} : image의 region vector 집합

기존의 VLP 방법들은 주로 input으로 (w,v)(\bold{w,v})만을 받습니다만, OSCAR는 object tags에 해당하는 q\bold{q}를 추가해 anchor points로 활용하며, 이를 통해 image-text alignments가 조금 더 용이해집니다.

조금 더 구체적으로 말하자면, Pre-trained BERT 모델은 text ww와 object tags qq 사이의 할당을 상대적으로 쉽게 식별할 수 있습니다.
둘 다 text 기반의 워드 임베딩이니까요.
그렇기 때문에 결국 object tags가 식별되는 Image regions이라면, 마찬가지로 해당 object tags가 존재하는 Text 내 단어와도 높은 Attention 가중치를 가집니다.

특히 pre-trained BERT 모델은 OSCAR에서 VLP task를 하기 위해 초깃값으로 쓰입니다.

즉, 이런 alignment 학습 과정은 개념적으로 아래와 같은 그림으로 표현됩니다.

이런 학습 과정을 약간 다르게 해석한다면, learning to ground the image objects라 할 수 있습니다.
다시 아래의 그림을 봅시다.

위의 그림을 보다시피, Image space에서는 dog와 cough에 해당하는 Image objects가 굉장히 모호하게 표현됩니다(겹치기도 하구요).
하지만 language space에선 dog와 cough는 분명하게 분리되어 있습니다.

그렇기 때문에 위의 그림처럼 image objects의 근간을 마련할 수 있게끔 학습하게 됩니다.


이미지 vv와 object tags qq가 어떻게 정해지는지 봅시다.
우선, 두 데이터의 생성을 위해 Faster R-CNN이 주로 쓰입니다.

우선 object tags qq는 단순히 이미지에 Faster R-CNN을 적용해 object tags 집합을 뽑은 뒤 워드 임베딩으로 나타낸 벡터입니다.

이미지 정보 vv는 아래와 같은 과정으로 도출됩니다.

  1. objects의 KregionsK regions을 갖는 Image가 주어집니다.
  2. 이 상태는 보통 over-sampled & noisy합니다.
  3. Faster R-CNN을 이용해 각 region의 visual semantics (v,z)(v', z)를 추출합니다.
  • vv' : PP 차원의 벡터(P=2048P=2048)
  • zz : RR차원의 region position vector(R=4or6R=4 or 6)
  1. 그 후 vv'zz를 concat해 position-sensitive region feature vector를 형성합니다.
  2. 이렇게 만든 region feature vector에 linear projection을 적용해 워드 임베딩과 같은 차원을 가지는 vv를 생성하게 됩니다.

3.2. Pre-Training Objective

  • 추후 정리 예정

Dictionary View

  • 추후 정리 예정

Modality View

  • 추후 정리 예정

3.3. Pre-training Corpus

  • 추후 정리 예정

3.4. Implementation Details

  • 추후 정리 예정

4. Adapting to V+L Tasks

0개의 댓글