Paper: Oscar: Object-Semantics Aligned Pre-training
for Vision-Language Tasks
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에서 detect된 object tags를 anchor point로 사용해, 이미지와 텍스트 간 관계를 더욱 쉽게 학습할 수 있게 합니다.
이런 방법은 단순히 눈에 띄는 object가 image 내에서 잘 detect 된다는 것, 그리고 그런 물체는 pair text 내에서도 언급되어 있을 가능성이 크다는 사실로부터 영감을 받았습니다.
저자들은 이런 OSCAR model을 650만 개의 text-image pairs에 사전학습시킨 다음, 이를 downstream task에 fine-tuning시켜 6개의 vision-language task에서 state-of-the-arts를 기록했습니다.
앞으로 vision-language를 V+L, vision-language pre-training은 VLP라 칭하겠습니다.
여러 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의 기여를 아래와 같이 정리합니다.
많은 V+L tasks는 아래와 같이 image-text paris를 활용합니다.
우선 개의 Dataset을 이라 정의합시다(이미지 : , text sequence : ).
pre-training의 목표는 image-text pairs의 cross-modal reprensetations을 self-supervised 방식으로 학습하는 것입니다.
그리고 downs-stream task에 fine-tuning함으로써 적응시킬 수 있겠죠.
현존하는 VLP 방법론들은 self-attention Transformer를 활용해 Image-Text Embeddings을 토큰으로서 투입한 뒤, 이 토큰 간 self-attention을 통해 contextual representations을 학습하게 됩니다.
이 과정에서 이미지, 텍스트를 임베딩하는 과정을 거치게 되는데, 최종 성능에도 당연히 직결되겠죠. 아래에서 이미지를 임베딩할 때 생길 수 있는 문제에 대해서 간단히 다룹니다.
이런 방식은 굉장히 직관적이고 효과적이긴 합니다만, 아래와 같은 이슈또한 존재합니다.
이런 저런 이슈들을 다루기 위해 본 논문의 저자들도 위의 anchor points를 활용하는 새로운 방법론을 제안하게 됩니다.
사전학습에 다루기에 앞서서, 사람의 인식체계는 어떨까요?
보통 사람은 세상을 다양한 채널을 통해 바라봅니다. 개별 채널은 불완전할 수도, 노이즈가 많이 껴있을 수도 있지만, 중요한 요소는 여러 채널을 통해 공유되기 때문에 인지할 수 있습니다.
예를 들어, 개는 위의 그림처럼 시각적으로 기술됨과 동시에 언어적으로 기술될 수도 있습니다.
본 저자가 제안하는 모델 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가 이미지와 언어 사이의 할당을 돕는 요소입니다.
특히 위에서 Modality와 Dictionary 두 관점으로 봤을 때, Object Tags는 역시 그 교집합을 담당하고 있습니다.
기존의 VLP 모델과 비교를 통해, 전반적인 아키텍처를 파악해봅시다.
위 그림에서 보다시피 OSCAR는 Input으로 Word-Tag-Image triple 를 image-text pair로서 사용합니다.
: word embedding에 해당하는 Sequence(text)
: word embedding에 해당하는 Sequence(object tags)
: image의 region vector 집합
기존의 VLP 방법들은 주로 input으로 만을 받습니다만, OSCAR는 object tags에 해당하는 를 추가해 anchor points로 활용하며, 이를 통해 image-text alignments가 조금 더 용이해집니다.
조금 더 구체적으로 말하자면, Pre-trained BERT 모델은 text 와 object tags 사이의 할당을 상대적으로 쉽게 식별할 수 있습니다.
둘 다 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의 근간을 마련할 수 있게끔 학습하게 됩니다.
이미지 와 object tags 가 어떻게 정해지는지 봅시다.
우선, 두 데이터의 생성을 위해 Faster R-CNN이 주로 쓰입니다.
우선 object tags 는 단순히 이미지에 Faster R-CNN을 적용해 object tags 집합을 뽑은 뒤 워드 임베딩으로 나타낸 벡터입니다.
이미지 정보 는 아래와 같은 과정으로 도출됩니다.