[CVPR 2022] Unsupervised Vision-and-Language Pre-training via Retrieval-based Multi-Granular Alignment


이 논문의 주요 키워드

  • Weakly Supervised Vision-Language Pre-training (UVLP, WVLP)
  • Non-parallel Image-Text Data

이 논문을 깊게 이해하려면 다음 지식이 필요합니다.

  • Multi-modal contrastive learning에 대한 이해 (CLIP 리뷰 파트 1, 파트 2)

안녕하세요. 백지오입니다.

스물 세 번째 X-REVIEW는 이미지 데이터와 텍스트 데이터 간의 연관 정보가 주어지지 않은 상황에서 모달 간 정합을 수행하는 Weakly Supervised Vision and Language Pre-training (WVLP) 관련 논문입니다. 특이하게도 이 논문을 포함해 초창기 논문에서는 Unsupervised VLP라고 분야를 명명했는데, 방법론 내부에서 사전학습된 Object Detector를 사용한다는 점에서 완전한 비지도학습으로 보기 어렵다는 점이 지적되어 최근 논문에서는 약지도학습으로 부르고 있는 분야입니다.(다만 애초에 분야에 연구 자체가 활발하지는 않아서 앞으로 어떻게 될지는 모르겠습니다.)

따라서 본 리뷰에서는 원래 논문에 Unsupervised라 표현되어 있더라도 Weakly Supervised로 변환하여 부르도록 하겠습니다.

Weakly Supervised Vision and Language Pre-training

CLIP을 비롯한 Vision-Language Pre-training (VLP) 모델은 여러 분야에서 놀라운 성과를 보였습니다. 이러한 VLP 모델들은 일관된 정보를 가진 서로 다른 모달리티의 데이터 (이미지-텍스트 등)들이 유사한 feature를 갖도록 하여 cross-modal representation을 학습합니다.

그러나 이러한 모델을 학습시키기 위해서는 매우 방대한 양의 멀티모달 데이터 쌍이 필요하며, 대량의 라벨링 비용이 발생하게 됩니다. 따라서 모달리티 간의 쌍(pair)이 구성되어 있지 않은 단일 모달(uni-modal) 데이터셋들을 활용해 여러 모달리티의 cross-modal representation을 학습하고자 하는 연구가 바로 Weakly Supervised V-L Pre-training (WVLP) 되겠습니다.

Introduction

VLP 모델들은 대규모의 라벨링 된 멀티 모달 학습 데이터셋을 요구합니다. 그러나 MS COCO나 Visual Genome과 같은 crowd-sourced 데이터셋을 대규모로 구축하려면 수많은 사람의 노동력이 투입되어야 하며, Conceptual Captions (CC) 3M이나 CC 12M, SBU Captions와 같은 웹-크롤링 데이터셋은 규모는 크지만 데이터셋에 노이즈나 문제가 많아 복잡한 post-cleaning 과정이 필요합니다.

한편, 이미지나 텍스트 하나의 모달만을 다루는 단일 모달 데이터셋의 경우, 단순히 웹에서 수집하기만 하면 되기 때문에 이러한 한계에서 자유롭기에, 이러한 단일 모달 데이터셋은 컴퓨터 비전이나 자연어 처리 분야에서 self-supervised learning에 잘 활용되어 왔습니다. 따라서 저자들은 이러한 정렬되지 않은 단일 모달 데이터셋들을 활용해 VLP를 잘할 방법을 찾고자 하였습니다.

저자들은 UVLP를 각각 별도로 크롤링된 이미지 데이터 $\textbf I=\{ \textbf  i_1, \textbf  i_2, \cdots, \textbf  i_{n^I}\}$와 텍스트 데이터 $ \textbf T = \{ \textbf t_1, \textbf t_2, \cdots, \textbf t_{n^T}\}$를 통해 멀티 모달 모델을 학습시키는 문제로 정의하였습니다.

U-VisualBERT가 이러한 WVLP 분야의 첫 연구인데요, 정렬되지 않은 텍스트와 이미지 데이터를 Object Detector를 통해 얻어진 object tag들을 두 모달리티 간의 갭을 줄이는 anchor로 활용하여 라운드-로빈 형식으로 학습시켰습니다. 이 모델은 한 번에 하나의 모달리티를 입력하는 것만으로 멀티 모달 임베딩을 학습할 수 있음을 보였지만, 사전학습 과정에서는 하나의 모달리티만 입력되는 반면, 파인튜닝 시에는 두 가지 모달리티의 입력이 주어지는 input discrepancy 문제가 있었습니다.

본 논문에서는 (1) 학습 과정에서 정렬되지 않은 이미지-텍스트 데이터라도 두 가지 모달리티를 입력하는 것이 joint embedding space 학습에 도움이 되는지, (2) 이미지-텍스트 데이터가 모델에 입력되면 이들의 latent alignment가 cross-modal representation learning에 어떤 영향을 미치는지 연구하였습니다.

Conceptual Captions 데이터셋

연관된 이미지와 텍스트 쌍으로 구성된 Conceptual Captions (CC) 데이터셋에서 이미지와 텍스트 데이터들을 분리하여 독립된 단일 모달 데이터셋처럼 사용하였고, 이미지와 텍스트를 각각 입력하는 라운드 로빈 방식과, 랜덤하게 추출한 이미지와 텍스트(즉, 정렬되지 않음)를 같이 입력하는 두 가지 입력 방법으로 입력하여 비교하였습니다.

또한, 모든 이미지와 텍스트가 정렬되지 않은 경우(0%)와, 모든 이미지와 텍스트가 정렬된 경우(100%)까지 이미지-텍스트가 정렬된 비율에 따른 성능의 변화율도 확인하였습니다.

모든 실험에는 single-stream 트랜스포머를 사용하였고, 흔히 사용되는 사전학습 task인 Masked Language Modeling (MLM), Masked Region Modeling (MRM)으로 학습하였습니다. 사전학습된 모델은 Visual Question Answering (VQA), Natural Language for Visual Reasoning 2 (NLVR2), Visual Entailment (VE), RefCOCO+ 네 가지 vision-language task에서 파인튜닝하여 평가를 진행하였습니다.

네 가지 task에서의 성능 평균을 비교한 결과가 그림 1. 에 나타나있는데, Joint MLM+MRM이 Round-robin MLM/MRM 보다 확연히 높은 성능을 보여 입력되는 이미지와 텍스트가 정렬되어 있지 않더라도 함께 입력하는 것이 WVLP에서 좋음을 볼 수 있었습니다. 또한, 학습 데이터 중 정렬된 데이터의 비율에 따라 성능이 확연하게 올라, 정렬된 데이터 쌍이 많을 수록 성능이 오르는 것이 자명함을 보였습니다.

이러한 분석을 기반으로, 저자들은 Retrieval 기반의 Multi-Granular Alignment를 통한 Vision-Language Pre-training 모델인 $\mu-\textbf{VLA}$를 제안합니다. 이 방법론은 주어진 이미지에 object detection을 수행하여 object tags를 얻고, 이를 기반으로 retrieval을 수행하여 유사한 sentence들을 찾아 weakly-aligned image-text 데이터셋을 구축합니다. 이렇게 구성된 쌍은 noisy 하지만, latent alignment의 핵심적인 역할을 수행할 수 있다고 합니다.

저자들은 이를 기반으로 모델이 점진적으로 다양한 수준(multi-granular, 예를 들어 영역-객체, 영역-명사구, 이미지-문장) alignment를 학습하게 하여 두 모달리티 간의 간격을 줄이도록 합니다. 저자들이 제안한 모델은 4개의 downstream task에서 확연한 차이로 SOTA를 달성하였으며, 저자들은 현실적인 문제를 상정하여 텍스트 데이터를 아예 CC가 아닌 BookCorpus 데이터셋에서 가져와 실험을 추가로 진행하였습니다. 그 결과 여전히 좋은 성능을 얻어 본 방법이 robust 함을 보였습니다.

저자들의 기여는 다음과 같습니다.

  1. Vision-Language pre-training에 두 가지 요소가 중요함을 알아냈습니다.
    1. 이미지와 텍스트를 함께 입력하는 것 (두 모달리티가 정렬되어 있지 않더라도)
    2. 이미지-텍스트 쌍의 전체적인 정렬 정도
  2. retrieval 기반의 사전학습 방법을 제안하여 weakly aligned 이미지-텍스트 쌍으로 멀티 모달 학습을 가능케 함
  3. 실험을 통해 제안한 방법으로 WVLP에서 SOTA를 달성하였고, 현실적인 상황에서의 강건함도 보였습니다.

Related Work

제가 이전 리뷰들에서도 여러 차례 다룬 것처럼, Vision과 Language를 함께 사전학습시켜 다양한 Vision-Language Downstream Task에 활용하고자 하는 연구가 많이 진행되어 왔습니다. 이러한 연구들은 공통적으로 대규모의 멀티 모달 데이터셋을 필요로 했기에, 모달리티 간의 연관 정보가 없는 단일 모달 데이터셋들을 활용해서 이런 모델을 학습시키고자 하는 Weakly-Supervised VLP 연구(논문에서는 Unsupervised라 칭하는)가 U-VisualBERT에 의해 시작되었습니다. U-VisualBERT는 텍스트-only 데이터와 이미지-only 데이터에 대하여 masked prediction을 수행하며 object tag들을 anchor로 활용하여 두 모달리티의 간격을 줄입니다. 저자들은 MLM을 수행할 때, tag들을 문장으로 취급하여 이미지 안의 영역과 tag 사이의 tag-region level align을 수행합니다. 그러나 여전히 이러한 tag들은 문장의 완결성과 자연스러움 면에서 실제 텍스트 입력과 거리가 있어 한계가 있었는데요. 저자들은 모달리티 사이의 alignment가 중요하다고 보고, retrieval을 통해 weakly aligned V+L 데이터셋을 학습과정에서 구축하여 학습을 진행합니다. 이를 통해 U-VisualBERT와 같은 데이터셋을 활용하여 큰 성능 향상을 이룰 수 있었다고 합니다.

Method

저자들이 제안한 $\mu-\text{VLA}$ 프레임워크는 non-parallel 한 이미지, 텍스트 데이터셋으로부터 weakly aligned 이미지-텍스트 corpus를 구성하는 부분과 모델이 영역(region)-태그 (RT), 영역-명사구 (RN), 이미지-문장 (IS)의 세 가지 수준에서 cross-modal alignment를 학습하도록 하는 사전학습 커리큘럼 두 가지로 구성됩니다.

저자들은 기존 Vision-Language Model 연구들에 따라 single-stream model architecture를 구성했습니다. 메인 백본은 트랜스포머이며 이미지와 캡션의 토큰들을 concatenate 하여 함께 입력합니다. 이미지 $\mathbf i$가 주어질 때, 먼저 사전학습된 Faster R-CNN (VinVL에서 제공)을 이용해 객체 $\mathbf v = \{v_1, \cdots, v_{k^v}\}$들을 탐지합니다. 각 영역의 feature, 위치 임베딩, 모달리티 임베딩을 더하여 영역에 대한 시각적 임베딩을 생성합니다.

위치 임베딩은 5차원 벡터 $[\frac{x_1}{W}, \frac{y_1}{H}, \frac{x_2}{W}, \frac{y_2}{H}, \frac{(y_2-y_2)}{x_2-x_1}{W. H}]$이며 $(x_1, y_1), (x_2, y_2)$는 각각 감지된 영역의 좌상단과 우하단 좌표, $W, H$는 이미지의 너비와 높이입니다.

한편 캡션 $\mathbf t$는 토큰화하여 $\mathbf t = \{ t_1, \cdots, t_{k^t} \}$로 나타냅니다.

트랜스포머의 여러 셀프 어텐션 계층을 거쳐, 두 모달리티는 서로 융합되어 출력되는 hidden vector는 다양한 pre-training task에 사용할 수 있다고 합니다.

Weakly-aligned Image-Text Corpus

앞선 그림 1.에서 다룬 것처럼, 전체 이미지-텍스트 데이터 중 정렬된 데이터가 많을수록 성능이 향상됨을 알 수 있었습니다. (어찌 보면 당연한 것인데, 실험을 통해 보인 것이 꼼꼼하네요.) 따라서 저자들은 두 모달리티의 입력 간에 약하게나마 정렬을 수행하는 것이 좋을 것이라고 여기고 retrieval 기법을 통해 두 모달리티를 weakly align 하였습니다.

주어진 $\mathbf I_i$와 유사한 $k$개의 문장을 retrieval하여 align을 수행하였는데, retrieval 된 캡션이 이미지 내부의 시각적 요소(명사)와 관련이 있다는 이전 연구 결과를 참고하여 retrieval을 수행했습니다.

주어진 이미지에서 검출된 객체 $\mathbf v$들의 태그 $\mathbf o = \{ o_1, \cdots, o_{k^o} \}$를 사전학습된 Sentence-BERT 임베딩 모델에 태워 쿼리 임베딩 $\mathbf e_{\mathbf o}$를 얻고, 같은 모델에 후보 캡션 문장들을 넣어 후보 임베딩 $\mathbf e_{\mathbf t}$를 얻어 retrieval을 수행하였고, 그 결과 가장 높은 코사인 유사도를 보인 $K$개의 후보 문장을 이미지 $\mathbf i$와 짝지어 weakly aligned image-text pair를 구성했다고 합니다. 이렇게 검색된 캡션을 $\{ \mathbf t^r(\mathbf i) \}^K_{r=1}$로 나타내고, weakly aligned corpus를 $\mathbf R$로 나타냅니다.

Pre-training tasks

본 모델은 세 가지 수준의 align을 수행하여 cross-modal alignment를 학습합니다. 위의 그림 2.를 참고하여 이해하면 좋습니다.

Region-Tag Alignment Learning

먼저 이미지에서 검출된 객체들의 시각적 영역과 태그 (객체 이름)간의 정렬을 학습합니다. 검출된 객체의 태그와 영역을 $[\mathbf o, \mathbf v]$와 같이 concatenate 하여 모델에 입력합니다. 이때, 입력을 랜덤 하게 마스킹하여 masked language modeling (MLM)과 masked region modeling (MRM)을 통해 사전학습을 진행하게 됩니다.  mask indices를 $\mathbf m \in \mathbb N^M$과 같이 나타내겠습니다. ($\mathbb N$은 자연수, $M$은 vocabulary size, \mathbf m은 masked indices의 집합) MLM의 목적함수는 다음과 같습니다.

$$ \mathcal L^{\text{R-T}}_{\text{MLM}} = -\mathbb E_{(\mathbf o, \mathbf v)\sim\mathbf I}\log P(\mathbf o_{\mathbf m} | \mathbf o_{\backslash \mathbf m}, v)  $$

위 목적함수에 따라, 모델은 마스킹된 태그를 마스킹 되지 않은 태그 $\mathbf o_{\backslash \mathbf m}$과 이미지 영역 $\mathbf v$들로 복원해야 합니다. 한편, MRM은 마스킹된 영역을 복원해야 하는 task인데요. masked region classification loss (MRC)와 masked region feature regression loss (MRFR)로 구성됩니다.

$$ \mathcal L^{\text{R-T}}_{\text{MRM}}=\mathbb E_{(\mathbf o, \mathbf v)\sim \mathbf I} [f_{\text{MRC}}(\mathbf v_{\mathbf m} | \mathbf v_{\backslash\mathbf m}, \mathbf o) + f_{\text{MRFR}}(\mathbf v_{\mathbf m} | \mathbf v_{\backslash \mathbf m}, \mathbf o)] $$

MRC는 각 마스킹 영역의 클래스 $c(\mathbf v_{\mathbf m})$를 예측하도록 학습시키며 마스킹된 영역의 hidden output을 FC layer와 소프트맥스 함수에 입력하여 예측 $g_\theta(\mathbf v_{\mathbf m})$를 얻어 크로스 엔트로피 함수로 손실값을 계산합니다. MRFR은 마스킹된 영역의 트랜스포머 출력 $\mathbf v_{\mathbf m}$이 해당 영역의 원래 visual feature와 유사해지도록 합니다. 출력된 $\mathbf v_{\mathbf m}$을 FC layer에 입력하여 입력 feature와 동일한 차원의 $h_\theta (\mathbf v_{\mathbf m})$을 얻고, 이 특성이 원래 region feature $r(\mathbf v_{\mathbf m})$과 유사해지도록 L2 regression을 적용합니다.

$$ f_{\text{MRFR}} (\mathbf v_{ \mathbf m } | \mathbf v_{ \backslash \mathbf m}, \mathbf o)=|| h_\theta( \mathbf v_{ \mathbf m})-r( \mathbf v_{ \mathbf m}) ||^2_2$$

최종적으로 region-tag alignent learning을 위한 손실함수는 아래와 같습니다.

$$ \mathcal L^{\text{R-T}} = \mathcal L^{\text{R-T}}_{\text{MLM}} + \mathcal L^{\text{R-T}}_{\text{MRM}} $$

Region-Noun Phrase Alignment Learning

앞서 사용한 객체 태그만으로는 단어의 수가 너무 부족하기 때문에 다양한 개념을 학습하기가 어렵습니다. 따라서 저자들은 캡션에서 명사구를 추출하여 align을 수행합니다. 먼저 주어진 이미지 $ \mathbf i$에 대해 retrieval 된 문장들에서 spacy라이브러리를 이용해 명사구를 추출해줍니다. 이때 추출된 명사구에는 attribute words가 붙기도 하는데, 이로써 pre-training이 더 잘 된다고 합니다.

먼저 객체 태그와 명사구들의 word2vec 유사도를 구해 각 명사구와 연관된 영역을 매칭해 주고, MLM과 MRM을 통해 사전학습을 진행합니다. 이때, 오직 명사구나 명사구와 매칭된 영역에만 마스킹을 수행합니다. 마스킹 확률은 매칭의 유사도 점수와 비례하도록 하여, 명사구와 특정 영역이 연관이 높을수록 마스킹이 될 확률도 높아지게 됩니다. 또한, 마스킹은 한 번에 한 모달리티에만 수행하여 마스킹 영역의 복원이 연관된 다른 모달리티를 참조하도록 합니다. 영역과 명사구 간의 MLM은 아래와 같습니다.

$$ \mathcal L^{\text{R-P}}_{\text{MLM}} = -\mathbb E_{(\mathbf v, \mathbf t^r)\sim \mathbf R}\log P( \mathbf t^r_{ \mathbf m}| \mathbf t^{r}_{\backslash \mathbf m}, \mathbf v)$$

MRM에서는 pharase-guided masked region-to-token classification (p-MRTC)를 수행하도록 합니다.

$$  \mathcal L^{\text{R-P}}_{\text{MRM}} = -\mathbb E_{(\mathbf v, \mathbf t^r)\sim \mathbf R}f_{\text{p-MRTC}}( \mathbf v_{ \mathbf m}| \mathbf v_{\backslash \mathbf m}, \mathbf t^r) $$

여기서는 마스킹된 영역을 통해 연관된 명사 구를 BERT vocalbulary에서 찾도록 한다는데, vocabulary가 매우 커서 과연 잘 될까 싶지만 이러한 vocab의 확장이 MRM에 좋다고 합니다.  결과적으로, region-noun phrase alignment learning의 목적함수는 아래와 같습니다.

$$ \mathcal L^{\text{R-P}} = \mathcal L^{\text{R-P}}_{\text{MLM}} + \mathcal L^{\text{R-P}}_{\text{MRM}} $$

Image-Sentence Alignment Learning

마지막으로 기존 VLP에서도 흔히 사용된 이미지와 텍스트 간의 매칭 (ITM)을 수행해줍니다. 입력 $[\mathbf v, \mathbf t^r]$에 대하여, 최종 hidden vector의 [CLS] 토큰을 FC layer에 입력하여 두 입력 데이터가 의미론적으로 유사한지 아닌지를 $ \mathbf s_\theta ( \mathbf v, \mathbf t^r)$로 나타내도록 합니다. 라벨 $y\in\{0, 1\}$를 통해 두 데이터가 연관된 쌍인지 아닌지를 나타내었다고 합니다. 학습은 이진 크로스 엔트로피 손실함수 $\mathcal L_{\text{ITM}} = CE(y, \mathbf s_\theta( \mathbf v, \mathbf t^r))$로 진행하였습니다. 학습을 돕기 위해, 일반적인 MLM을 추가하여 모델이 visual context와 language token, 명사구, 객체 태그의 align을 학습하도록 하였습니다. $\mathcal L^{\text{I-S}_{\text{MLM}}=-\mathbb E_{(\mathbf v, \mathbf t^r)\sim \mathbf R}\log P( \mathbf t^r_{ \mathbf m}| \mathbf t^r_{ \backslash \mathbf m}, \mathbf v)}$

최종적인 image-sentence level alingnment learning 의 목적함수는 아래와 같습니다.

$$ \mathcal L^{\text{I-S}} = \mathcal L^{\text{I-S}}_{\text{MLM}}+\mathcal L_{\text{ITM}} $$

Multi-Granular Pre-training Curriculum

앞서서 굉장히 다양한 수준에서의 학습을 소개했는데, 이제 이것들을 어떻게 학습시켰는지 봅시다. 저자들은 더 잘 정렬된 이미지-텍스트 쌍으로 학습하는 것이 VLP에 좋다는 앞선 관측을 토대로, 이미지-텍스트의 정렬 정도를 추정하여 학습을 진행하는데 활용했습니다. Image-Sentece Alignment Learning 과정에서 정의한 ITM header를 통해 이미지와 텍스트의 정렬 정도를 계산하여 retrieval based pretraining task의 입력 데이터에 대한 가중치로 활용하였는데, 이를 통해 학습이 진행됨에 따라 더 잘 정렬된 입력 쌍을 사용하게 되어 학습에 도움이 되었다고 합니다.

ITM classifier를 학습시키기 위하여, 처음에는 retrieval을 통해 weakly align된 corpus $\mathbf R$을 양성 샘플, 랜덤 하게 추출된 쌍들을 음성 샘플로 하여 $m$ epoch warmup 학습을 진행했습니다. 그다음, ITM이 생성하는 alignment prediction score $w_{\text{ITM}}$를 학습 목적 함수에 아래와 같이 반영하였습니다.

$$ \mathcal L = \begin{cases} \mathcal L^{\text{R-T}} + \mathcal L^{\text{R-P}} + \mathcal L^{\text{I-S}} &\text{if epoch } < m \\
\mathcal L^{\text{R-T}} + w_{\text{ITM}}(\mathcal L^{\text{R-P}} + \mathcal L^{\text{I-S}}) &\text{if epoch }\geq m\end{cases}$$

저자들은 최종 실험에서 $m=1$을 적용했다고 합니다.

Experiments

저자들은 두 가지 세팅에서 실험을 진행했습니다. (1) Conceptual Captions (CC) 데이터셋에서 이미지와 텍스트 사이의 매칭 정보를 제거하고 사용한 경우와 (2) CC 데이터셋에서 이미지를 가져오고 BookCorpus (BC) 데이터셋에서 텍스트를 가져온 경우입니다. 첫 번째 환경은 이전 모델들과 공정한 비교를 위해 동일한 설정을 사용한 것으로, 아래에서 $\mu-\text{VLA}_{CC}$로 표시하였고, 두 번째 환경은 이미지와 텍스트가 정렬되어 있지 않은 현실적인 상황을 모사한 것으로 $\mu-\text{VLA}_{BC}$로 표시하였습니다.

앞서 설명한 것처럼 각 이미지 별로 5개의 텍스트 데이터를 retrieval 하여 weakly aligned 이미지-텍스트 쌍을 구성하는 것으로 실험을 시작하였습니다.

Baselines

Base Model은 BERT로 초기화된 VisualBERT입니다. 별다른 사전학습 없이 바로 downstream task에 파인튜닝하였다고 합니다.

Supervised Pre-trained Models는 지도학습 방식의 VLP 모델로, CC 데이터셋에서 사전학습한 VIL-BERT, VL-BERT, UNITER 모델과 U-VisualBERT 논문에서 공유한 CC, CC+BC 등 다양한 환경에서 학습된 Supervised VisualBERT 모델들을 포함하였고, CC 데이터셋에서 이미지-캡션으로 학습된 모델과 이미지-태그로 학습된 모델인 Aligned VLP의 성능까지 공유하였습니다.

Weakly-supervised Pre-trained Models는 U-VisualBERT로 이미지 혹은 텍스트 단일 모달에서 라운드 로빈 형식으로 학습하였으며, 이미지에서 감지된 객체 태그를 anchor로 사용해 cross-modal alignment를 학습하였습니다. 저자들은 공정한 비교를 위해 Vanilla Faster R-CNN을 사용한 U-VisualBERT를 VinVL과 BC 데이터셋 등 본 논문에서 사용한 요소들을 반영해 재구현 했습니다.

Training Setup

모델은 12개의 트랜스포머 블록으로 구성되며, 각 블록은 768개의 hidden unit과 12개의 self-attention head를 가집니다. 초기화는 $\text{BERT}_{base}$로 진행하였고, 480 배치 사이즈에서 20 에포크 사전학습된 모델을 사용했습니다. Region feature는 사전학습된 VinVL Object Detector로 얻었다고 하는데, 해당 모델이 R-CNN의 변형 같기는 한데 정확하지 않아서 한번 찾아봐야겠습니다. 학습은 Adam Optimizer를 이용해 학습의 첫 10%는 linear warm-up을 진행하였고, peak learning rate를 6e-5로 설정하였습니다. warmup 이후에는 linear decay를 적용해 learning rate를 감소시켰다고 합니다.

모든 모델은 A100 4장에서 MMF를 이용해 GPU 당 40GB 메모리씩 나뉘어 학습했으며, 사전학습에 3일이 소요되었습니다. 사전학습한 모델은 Visual Question Answering (VQA 2.0), Natural Language for Visual Reasoning ($\text{NLVR}^2$), Visual Entailment (VE), Referring Expression (RefCOCO+) 네 종류의 downstream task에서 테스트하였습니다.

Experimental Results

제안된 방법을 4가지 downstream task와 각 task에서의 성능을 모두 반영한 Meta-Ave 점수로 비교한 결과, 제안된 방법이 모든 task에서 Base를 앞서는 성능을 보였습니다. Supervised VLP와 비교해 보면, VilBERT를 크게 앞선 결과를 보였으나 이는 VinVL이라는 더 좋은 visual regional feature를 사용하였기 때문으로 볼 수도 있다고 합니다. 다만 $\mu-\text{VLA}$와 비슷한 구조의 Aligned VLP와 비교했을 때 그렇게 낮지 않은 성능을 보여 제안한 방법이 parallel 이미지-텍스트 데이터 없이도 supervisied 방법에 근접할 정도로 좋은 성능을 보였다고 합니다. 한편 기존 Weakly supervised 방법과 비교할 경우에도 좋은 성능을 보였는데, 특히 이미지와 문장 간의 align에 민감한 NLVR2 task에서 20% 이상의 성능 향상을 보여주어 제안된 모델이 parallel 데이터 없이도 이러한 instance-level cross-modal alignment를 잘 학습할 수 있음을 보였습니다.

한편, CC와 BC라는 별도의 데이터셋에서 얻은 이미지, 텍스트로 학습한 $\mu-\text{VLA}_{BC}$도 U-VisualBERT와 견줄만하거나 더 좋은 성능을 보이면서 제안한 모델이 실용적이기도 함을 볼 수 있었습니다.

Ablation Study

앞서 제안한 3가지 단계의 alignment의 실효성을 보이기 위한 비교 실험 결과입니다. 이미지 속 영역과 객체 태그 (R-T) 혹은 명사구 (R-N)와의 관계를 학습하는 것이 특히 객체에 대한 이해를 요구하는 RefCOCO+ 데이터셋에서는 도움이 되는 모습입니다. 한편, 이미지와 문장을 instance-level로 매칭하는 (I-S)는 NLVR2와 VE의 성능을 향상합니다. 이러한 결과는 전체적으로 아무리 약한 align이라도 주어진느 것이 각 downstream task 성능에 큰 영향을 준다는 것을 시사합니다. 

한편, 한 이미지당 retrieve 되는 후보 텍스트의 수에 따른 비교도 진행하였는데요. 이는 전체 데이터셋의 크기에 따라 다를 것 같은데, CC 데이터셋에서는 5가 최고의 성능을 보였다고 합니다. 특히, 2개 이상의 후보 텍스트를 사용하는 것이 좋은데, 그 이유는 검색에 활용되는 객체 태그와 후보 텍스트 간의 유사도가 높다는 것이 언제나 두 모달이 의미론적으로 유사함을 보장하지는 않기 때문에, 몇 개의 다른 후보 텍스트가 있는 것이 도움이 되는 것 같다고 합니다.

정성적 결과

위 사진은 주어진 이미지와 매칭할 후보 텍스트를 CC, BC 데이터셋에서 retrieve 한 결과입니다. 표에서 맨 첫번째 줄은 실제 CC 데이터셋에서 이미지와 매칭되어 있는 텍스트 (즉 GT), 두번째는 VinVL로 검출한 객체, 마지막은 각 데이터셋에서 retrieve한 결과입니다. 위의 예시에서 CC 데이터셋의 텍스트로부터 “young woman”과 “sofa” 등이 들어간 문장들을 잘 가져온 것뿐만 아니라, 아래 예시에서 CC 데이터셋이 아닌 BC 데이터셋에서도 적절한 텍스트를 잘 가져오는 모습을 볼 수 있습니다.

저자들은 마지막으로, 별다른 파인튜닝 없이 U-VisualBERT와 제안한 모델에 이미지와 텍스트를 입력한 후, self-attention을 시각화해보았는데요. 제안한 모델이 앞선 모델에 비해 더 뚜렷하게 중요한 부분에 어텐션을 하고 있는 모습을 볼 수 있었습니다.

Conclusion

저자들은 retrieval-based multi-granular alignment를 통해 weakly supervised vision-language pre-training을 진행할 수 있는 모델을 제안하였습니다. 이 모델의 핵심은 (1) retrieval을 통해 weakly-aligned image-text corpus를 생성하고, (2) multi-granular pre-training objective를 통해 모델이 여러 수준에서 cross-modal alignment를 학습할 수 있도록 한 것이었습니다.


이 정도로 연구가 안 된 분야의 논문을 보는 것은 처음이라 신선한 경험이었는데, 정렬이 전혀 되어있지 않은 모달리티를 retrieval 기반 방법으로 정렬하고 학습시켜 supervised에 준하는 성능을 보이는 것이 정말 놀라운 방법론이었습니다.

특히 라벨이 없는 상황에서, VinVL이나 BERT, word2vec 등 가용한 모든 방법을 동원해 supervised에 준하는 training signal을 만드는 것이 대단하네요.

꽤 흥미로운 분야인 것 같아서, 앞으로 잠시간은 이 분야 서베이를 진행할 것 같습니다. 다만 A100 4장에서 3일은 좀 선 넘네요…

Author: rcvlab

RCV연구실 홈페이지 관리자 입니다.

6 thoughts on “[CVPR 2022] Unsupervised Vision-and-Language Pre-training via Retrieval-based Multi-Granular Alignment

  1. 안녕하세요, 백지오 연구원님. 좋은 리뷰 감사합니다. 오랜만에 vision-text 모델 관련 리뷰를 읽었는데, CLIP 리뷰를 읽은지 오래돼서 가물가물하네요. 그래도 재밌게 읽었습니다. 질문 남기겠습니다.
    introduction 및 related work에서 U-VisualBERT에 대한 얘기를 해주셨는데, object detector를 anchor로 이용한다는 부분에서 detection을 수행하는 image와, 해당 이미지에서 검출된 class(text겠죠)를 이용해 text-image 연관성을 이용했다는 것으로 이해했습니다. 근데 object tag와 text를 어떻게 이용해서 멀티모달 학습을 하는건지 잘 와닿지가 않는데, 추가적인 설명 주시면 감사하겠습니다. 뒤에 나오는 μ−VLA처럼 retrieval을 수행해 추가적인 text를 활용하지는 않는 것 같아서요.
    그리고 image-text가 정렬되어있다는 것을 입력 시 image-text가 pairing이 되어있다는 것으로 이해했는데, 맞나요?

    1. 안녕하세요. 허재연 연구원님.
      저도 이 분야 논문을 막 보기 시작해서 U-VisualBERT가 정확히 어떻게 학습하는지는 잘 모르겠습니다만, 제가 얼핏 본 바로는 하나의 인코더에 텍스트를 입력하기도 하고 이미지를 입력하기도 하며 학습시킴으로써 한 인코더가 이미지와 텍스트 모두를 인코딩할 수 있도록 한다는 것으로 이해했습니다. 추후에 U-VisualBERT를 읽게 되면 자세히 리뷰 남겨보겠습니다.
      두번째 질문에 대한 답은, 본 논문의 핵심이 이미지와 텍스트가 pair를 구성하고 있지 않더라도 함께 입력하면 학습에 도움이 된다는 것입니다. 그러나 pairing 되어 있다면 더욱 높은 성능을 기대할 수 있기에, 본 논문에서는 retrieval을 이용해 GT pair는 아닐지언정 연관성이 가장 높아보이는 쌍을 구성해 입력하게 됩니다.
      감사합니다.

  2. 안녕하세요 좋은 리뷰 감사합니다.

    Task가 거의 무에서 유를 창조하는듯하네요… 아직 정립되어있지 않으며 여러 기법을 제안하다보니 읽는 내내 그냥 이런 방식으로 결정했구나… 하며 읽게 된 것 같습니다.

    그렇다보니 대단한 질문은 아닌데, Region-Noun Phrase Alignment Learning 절에서 말씀해주신 attribute words가 무엇을 의미하는 것인가요?

    1. 안녕하세요. 김현우 연구원님.
      저도 이렇게 어떤 task의 초기 연구를 보는 것은 처음인데, 정말 그냥 그렇구나.. 하게 되는 것 같습니다.

      Attribute word는 적절한 번역을 찾지는 못 하였으나 문맥 상 명사 구에서, 명사를 수식하는 형용사 등으로 이해하였습니다.

      감사합니다.

  3. 리뷰 잘 읽었습니다.

    중요한건 아닌데, 리뷰 초반부에 사전학습된 Object Detector를 사용해서 Unsupervised라는 단어를 쓰면 안된다는 지적이 있다고 하셨습니다. 제가 주로 읽고있는 Unsupervised Domain Adaptation 분야에서 source dataset의 gt를 사용함에도 불구하고 사실 Unsupervised 라는 키워드를 사용하긴 하는데 음,,, 경계가 참 애매한 거 같습니다 ㅎㅎ.

    그리고 이런 멀티모달 논문 리뷰를 가끔 읽을때 마다 항상 놀라면서 읽곤 하는데, 과연 이런 모델들은 실제 산업이나 기업 등에서 어떤 식으로 적용이 되는지에 대한 궁금증이 항상 있었습니다. 혹시 알고 계신다거나, 추측해 보신 내용이 있다면 공유 가능할까요?ㅎ

    감사합니다.

    1. 안녕하세요. 권석준 연구원님.
      흥미로운 질문 감사합니다.

      정말 Unsupervised의 구분 기준이 애매한 것 같습니다. 이렇게 깐깐하게 따지다보면 ImageNet pretrained 모델을 쓰는 것은 Unsupervised로 볼 수 있는지… 앞으로 이 task가 weakly supervised로 정착할 지 본 논문의 저자들은 계속 Unsupervised를 밀고 나갈지 궁굼한 부분입니다.

      본 논문이나, CLIP과 같은 멀티모달 사전학습 모델들은 단기적으로는 아마 ImageNet Pretrained ResNet과 같이 활용되지 않을까 싶습니다. CLIP에서 보여준 것처럼, 이러한 사전학습 모델을 단일 모달에만 적용해도 상당히 좋은 성능을 보여주기 때문입니다.
      다만 신뢰성이 중요한 산업계에서 사용하기에는 아직 zero-shot 성능이 좋지도 않고, 검증이 덜 되어서인지 현재로서는 멀티 모달 모델이 아주 신박하게 응용되는 사례는 들어본 적이 없는 것 같습니다. 생성 모델 쪽에서나 조금 사용하는 정도인 것 같네요.

      제 개인적인 추측으로는, 가까운 미래에 멀티 모달 모델을 이용한 서비스가 활발히 개발되기 시작해야 이러한 모델들이 산업계에서도 빛을 발할 것 같습니다.

      감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다