NL-059, CV-004, ImageBERT: Cross-modal Pre-training with Large-scale Weak-supervised Image-Text Data (2020.01.22-Arxiv)

■ Comment
  • Pre-trained 모델을 언어, 영상 각각 쓰지 말고 한꺼번에 처리하자
  • 각각 쓰면 fine-tuning task에서 데이터가 많이 필요하기 때문
  • 이 모델을 사용하면 이미지 검색(image retrieval), 텍스트 검색에서 SoTA가 달성한다고 한다.
  • 이 외에 VQA, VCR, image captiong 등에서도 성능이 향상될 것으로 기대된다.
  • 모델은 Transformer 구조를 띄며, 영상이 들어갔기 때문에 추가적인 학습 방식이 들어감
    • MOC, MRFR, ITM

0. Abstract

  • 이 논문에서는 새로운 vision-language pre-trained model을 소개한다. (ImageBERT)
  • 모델 Transformer 기반이며 입력의 방식이 다르며 그들의 관계를 학습한다.
  • 학습 방법은 다음의 4가지 task을 이용한다.
    • Masked Language Modeling (MLM)
    • Masked Object Classification (MOC)
    • Masked Region Feature Regression (MRFR)
    • Image Text Matching (ITM)
  • Pre-training 퀄리티를 강화하기 위하여 Large-scale weAk-supervised Image-Text 데이터를 웹에서 수집하였다.
  • 첫 번째로 이 데이터세트로 pre-train을 하고 두 번째로 Conceptual Captions, SBU Captions으로 pre-train 하였다.
  • 이렇게 multi-stage pre-training 전략이 single-stage pre-training보다 성능이 좋음을 보여준다.
  • 이렇게 학습한 pre-trained ImageBERT을 image retrieval과 text retrieval tasks에 fine-tune하고 evaluate을 하였다. (데이터세트: MSCOCO, Flickr30k)

1. Introduction

  • NLP와 CV에서 많은 attention이 흥미로운 결과를 보여주고 있다.
  • Text-Image Retreival은 주어진 텍스트와 가장 관련있는 이미지를 검색하는 것이다.(그 반대도 마찬가지)
  • Vision Question Answering (VQA)는 주어진 이미지에 대해 관련있는 질문을 할 때 답변을 예측하는 것이다.
  • Visual Commonsense Reasoning (VCR)은 모델이 commonsense question 답변만 하는 것이 아니라 정답을 서포트할 근거를 선택해야한다.
  • Image Captioning은 이미지를 설명한 natural language description을 생성하는 것이다.
  • 언어와 비전에 각각 pre-trained model을 기반으로 대부분의 이전 방법들은 late fusion 방법으로 downstream tasks에서 multi-modal 입력을 융합하였다.
  • 그러나 이러한 late fusion layers은 보통 task-specific labeld data을 학습과정에서 필요로하게 되지만 많은 multi-modal tasks에서 충분한 annotation 데이터를 얻는 것은 비싸고 챌린지하다.
  • NLP 분야에서 성공을 한 pre-trained 모델들인 BERT, XLNet, RoBERTa으로 영감을 받아 cross-modal pre-training은 핫한 연구분야가 되었다.
  • 이러한 모델은 대규모 코퍼스를 기반으로 초기 단계에서 언어 및 비전에 관한 joint representation을 학습할 수 있고 그 다음 downstream task에 task-specific fine-tuning을 적용할 수 있다.
  • 여기서 제안한 ImageBERT은 cross-modal pre-training의 강력한 베이스라인이 될 것이고 text-to-image and image-to-text retrieval tasks on MSCOCO[5] and Flicker30k[6]에서 SoTA 성능을 보여준다.
  • 여기서 만든 새로운 코퍼스는 웹에서 얻은 10M text-image 쌍이다.

2. Related Work

  • Model architecture
    • BERT
    • ViLBERT
    • LXMERT
    • visualBERT
    • B2T2
    • Unicoder-VL
    • VL-BERT
    • Unified VLP
    • UNITER
  • Image visual tokens
    • 영상에서 RoI을 언어 토큰으로 간주하는 식
    • VL-BERT trained the detection network together with its image-text joint embedding network, and it also added global image features into model training. 
  • Pre-train data
    • Conceptual Captions[2], SBU Captions[3], Visual Genome[22] and MSCOCO[5]

3. Large-Scale Weak-supervised Image-Text Data Collection

  • 데이터 수집하는 과정에 대한 설명인데 자세한 부분은 패스하자..
  • Web-page Collection.
  • Image Content Based Filtering.
  • Sentence Detection & Cleaning.
  • Image-Text Semantic Scoring. 
  • Image-Text Aggregation.

4. ImageBERT Model

  • 위 그림이 구조이며 BERT와 비슷하게 Transformer을 사용한다.
  • 그러나 이미지 viasual tokens와 textual tokens을 함께 입력으로 사용한다.
  • 이미지 비주얼 토큰이란 것은 RoI 특징들을 Faster-RCNN에서 추출하여 넣게 된다.
  • 이러한 embeddings은 multi-layer bidirectional self-attention Transformer으로 들어가서 cross-modality Transformer을 배워서 visual region과 linguistic tokens 사이의 모델링을 한다.

4.1 Embedding Modeling

  • Linguistic embedding
    • 논문은 BERT의 word pre-processing 방법과 유사한 것을 적용했다.
    • 입력 문장은 n개의 sub-word tokens 으로 Wordpiece로 tokenizing을 한다.
    • [CLS]와 [SEP]와 같은 special tokens들이 토크나이즈된 text 문장에 추가가 된다.
    • sub-word token의 최종 embedding은 original word embedding, segment embedding, sequence position embedding 과 결합되어 생성이 된다.
    • 이러한 모든 embeddings은 public pre-trained BERT 모델을 초기값으로 사용한다.
  • Image embedding
    • linguistic embedding과 유사하게 image embedding은 또한 visual 입력으로부터 생성이 된다.
    • Faster-RCNN 모델은 o RoIs 을 visual content의 표현으로부터 추출하는데 사용된다.
    • 검출된 objects은 linguistic part을 위한 전체 이미지의 visual contexts을 제공할 뿐만 아니라 detailed region infromation을 통하여 specific terms와도 연관이 있다.
    • 논문은 또한 global image에 관한 object location을 encodings하여 position embeddings을 image embeddings에 5-D vectors을 추가하였다.
    • 마지막 5번째 텀은 the proportional area with respect to the whole image을 가리킨다.
    • object features와 location embeddings은 linguistic embeddings과 같은 차원으로 embedding이 된다.
    • 최종 representation은 다음과 같다.
      • 여기서 v는 ImageEmbed, s는 segment embeddings, p_img는 image position embedding, p_seq는 sequence position embedding이다.
      • v는 RoI 영역을 pre-trained 모델을 (ex. ResNet) 통과시켜 얻은 것
      • p_img = PositionEmbed(c) 이다.
      • 즉 일반 언어모델에서 추가적으로 image position embedding이 들어가는 것
    • 각각 embedding은 Transformer sub-layers의 hidden size의 embedding size에 project되고 Layer Normalization (LN)을 거친다.
    • 또한 분류 레이블로 검출된 모델의 영역을 사용한다.
    • ablation 연구에서 global image features을 추가하고 region features을 추가하는 실험을 한다.
  • Sequence position and segment embedding
    • 각 토큰의 sequence position embedding은 입력 토큰의 순서를 나타내는데 사용된다.
    • 모든 비주얼 토큰에서 고정된 dummy position을 사용한다.
      • 왜냐하면 검출된 RoI는 순서가 없기 때문이고 객체의 coordinates는 이미 image embeddings에 사용되기 때문이다.
    • 언어 부분에서는 ascending sequence가 단어의 순서를 나타내는데 사용된다.
    • 추가적으로 segment embedding이 각 입력 토큰에 추가되어 다른 모듈임을 나타낸다. (언어 / 영상)

4.2 Multi-stage Pre-training

  • 다른 데이터세트가 다른 소스로부터 얻어졌기 때문에 퀄리티 레벨과 noise 분포가 다르게 된다.
  • 이러한 데이터들을 pre-train에 잘 사용하기 위해서 multi-stage pre-training 프레임워크를 제안한다.
  • 첫 번째로는 large-sacle out-of-domain 데이터들로 pre-train을 하여 모델이 final tasks에 잘 수렴이 되도록 한다.
  • Multi-stage pre-training에서는 여러 번의 (k+2) pre-train stages을 거친다.
    • 다른 종류의 데이터세트를 일련적으로 적용하는 것이다.
  • LM fine-tuning과 classifier fine-tuning만 있는 single-stage와는 다르게 논문의 multi-stage는 pre-training으로 heterogeneous out-of-domain 데이터세트를 더욱 잘 활용할 수 있다.
  • 구체적으로 ImageBERT 모델은 two pre-training 전략을 사용한다.
  • 첫 번째 pre-training 에서는 LAIT 데이터세트를 사용하고 두 번째 stage에서는 public 데이터세트를 (Conceptual Captions and SBU Captions) 사용한다.
  • 각 pre-training에서는 4개의 task을 가지고 있다.
  • 또한 논문의 방법과 비교하기 위해 일반적인 single-stage pre-training (두 데이터를 섞어서 동시에 학습하는 것)을 하지만 multi-stage pre-training에 비해 잘 작동하지 않는다.
  • final fine-tuning에서는 masaked terms과 masked objects을 버리고 사용하게 된다.

4.3 Pre-training tasks

  • Task 1: Masked Language Modeling (MLM)
    • BERT training에 있던 task와 똑같다.
    • n개의 sub-word tokens: 
    • 여기서 랜덤하게 masking을 15%한다.
    • 그 토큰 위치를 , masked word는 으로, non-masked word는 으로 푯기한다.
    • masked token은 [MASK]으로 대체되며 random token 혹은 reamain unchanged 토큰은 확률이 각각 80%, 10%, 10%이다. (Mask가 80%)
    • prediction은 textual tokens와 주변의 visual features 사이의 cross-attention을 통하여 이루어진다.
    • visual tokens: 
    • 이 loss 식은 데이터세트 D의 (v,w) 쌍으로부터 학습이 된다.
  • Task 2: Masked Object Classification (MOC)
    • 이것은 MLM task의 확장으로 LM과 비슷하게 visual object tokens으로 수행하는 것이다. (selfie와 비슷한 느낌?)
    • 랜덤으로 object token을 15% 선택하는데 zero masking은 90%, 원본은 10%으로 가져간다.
    • masked 위치는 , masked token은 으로 ,non-maksed token은 표기한다.
    • i번째 M maksed 입력 토큰은 으로 표기한다.
    • M masked object tokens을 예측하기 위해 Faster-RCNN 모델의 ground truth labels 으로부터 labeld classification 카테고리로 다룬다.
    • masked token의 output vector은 이다.
    • 마지막에는 fully-connected layer 으로 K개의 object class을 예측하는 것으로 cross-entropy loss을 다음과 같이 계산한다.
    • (selfie와 다르게 순서가 label이 아니고 Faster-RCNN을 이용한다.)
  • Task 3: Masked Region Feature Regression (MRFR)
    • MOC와 비슷하게 MRFR 또한 visual content을 만든다.
    • 그러나 이것은 object feature prediction의 좀 더 정확한 job이다.
    • 이 task는 each masked object의 embedding feature을 regress하는 것을 목표로 하고 로 표기한다.
    • output feature vector에 fully-connected layer을 연결하여 pooled input RoI object feature과 차원이 같게 한다.
    • RoI object feature은 으로 표기하고 loss는 다음과 같이 계산한다.
    • 즉 RoI visual tokens과 output feature vector을 같은 차원으로 만들어서 같은 값을 가지게 한다?
  • Task 4: Image-Text Matching (ITM)
    • LM과 visual content modeling을 추가하여 ITM으로 image-text alignment을 배운다.
    • 각 이미지에서 negative sentences을 랜덤으로 샘플링하고 각 문장에서 랜덤하게 negative images을 샘플링해서 negative training data을 만든다.
    • (v,w) 쌍에 대한 ground truth label y는 0또는 1이고 이미지와 텍스트가 유사한지를 의미한다.
    • BERT와 비슷하게 ImageBERT에서의 [CLS] 토큰을 추가하여 fully-connected layer을 넣어서 image-text similarity score 을 계산하게 만들어 다음의 loss 식을 계산한다.

4.4 Fine-tuning tasks

  • Image-Text retrieval task에서 fine-tune하고 evaluate을 한다.
  • 이 task는 두 가지 sub-tasks가 있다.
    • image retreival
    • text retrieval
  • Image retrieval targets to retrieve the correct images given an input caption sentence describing the content of image.
  • Text retrieval does a similar task in the opposite direction.
  • 데이터세트는 MSCOCO와 Flickr30k 데이터세트를 사용했다.
  • fine-tune할 때 입력은 pre-training과 똑같이 사용했으며 mask 부분은 없다.
  • 다른 negative 샘플링 방법에 따른 objectives로 fine-tuning 하였다.
    • image-to-text (sample negative sentences for each image)
    • text-to-image (sample negative images for each text)
  • loss는 다음의 3가지로 학습하여 best 모델을 선정하였다.
  • Binary classification Loss
    • image-text 쌍 (v,w)은 ground truth label y (0 or 1)을 가지고 있다.
    • 첫 번째 token 의 Transformer 출력은 이며 loss는 다음의 식이다.
    • pre-training ITM과 똑같은 것 같은데..?
  • Multi-class Classification Loss
    • 이것은 positive와 negative 샘플사이의 margin을 크게 하기 위해 자주 쓰이는 loss이다.
    • positive pair 에 대해 P-1 negative pairs 을 샘플링한다. (captions  or images가 다름)
    • 그리고 correct label 을 예측하기 위해 모든 P pairs' first tokens 에 대해 scoring function을 추가하여 다음의 loss식을 구성한다.
    • 즉 원래는 이미지-텍스트가 관련있는지 없는지를 판별할 때 score 값이 0~1로 하는 것은 binary classification loss이다.
    • (내 생각엔) 여기서는 출력이 [0,1] 혹은 [1,0]을 가지도록 two-class을 가지는 score 함수를 이용하였다는 것이다.
    • 따라서 CE loss을 사용했다는 것이고 이렇게 하면 positive와 negative 샘플 사이의 score 차이를 (margin) 크게 가져갈 수 있다고 한다.
  • Triplet Loss
    • 이것은 모든 negative smaples 중에 hardest negative sample을 선정하겠다는 것이다.
    • 즉 가장 어려운 samples보다 실제 positive sample이 더 높은 score을 가지게 하는 loss이다.
  • 최종 loss는 위의 loss들을 combination을 하는 것이고 뒤에 실험 결과로 설명을 한다.

5. Experiments

  • Image-Text retrieval task에서 pre-trained model의 퀄리티를 zero-shot 결과로 평가할 뿐 아니라 fine-tuning 후에 결과도 평가한다.
  • image-retrieval과 text-retrieval task에서 SoTA인 모델과도 비교를 한다.

5.1 Evaluation for the Pre-trained Model

  • Pre-train data
    • BERT-base 모델로 파라미터 초기화후, LAIT로 학습하고 public 데이터세트 (Conceptual, SBU Captions)으로 학습했다.
  • Experiment settings
    • 12-layer Transformer with 768 hidden units
    • 3072 intermediate units, and 12 attention heads
    • Dropout: 0.1
    • GELU 활성함수
    • max length는 144 (100 visual tokens 포함)
    • visual tokens은 Faster-RCNN에서 뽑은 것
      • Genome dataset with 1600 카테고리로부터 학습한 Faster-RCNN임
    • linguistic tokens와 special tokens도 포함
  • Zero-shot result of pre-train model
    • 이러한 세팅에서 Flickr30k와 MSCOCO에서 pre-train model을 평가하였다. (w/o fine-tunning)
    • MSCOCO에서는 SoTA이지만, Flick30k에서는 UNITER보다 안좋다.
    • 여기서의 ImageBERT는 두 단계 pre-training을 거친 것이고 1-stage pre-training을 한 모델은 Table 3에 있다.
    • 이 논문 모델말고도 몇 개의 연구만이 zero-shot 결과를 보여주었고 table 1에 있는 모델들이 리포트한 모델들이다. (즉 table 1은 zere-shot 끼리 비교한 것)
    • Unicoder-VL[18] only contains one pre-training stage using public out-of-domain dataset (Conceptual Caption and SBU Captions). 
    • UNITER[21] added partial in-domain datasets (VG and MSCOCO) during pre-training stage, thus getting the highest zero-shot results. 
    • 여기서 말하길 multi-stage pre-training 전략이 one pre-training 전략보다 더욱 좋은 결과를 보여주고 유용한 지식들을 배운다고 한다.
    • 또한 이것이 downstream task의 fine-tuning에 더욱 기여하는 바가 크다고 한다.

5.2 Evaluation for the Fine-tuned Model

  • Experiment settings
    • LAIT와 public 데이터세트로 pre-training 한 후, fine-tuning을 ITM task에서 하였다.
    • Flick30k와 MSCOCO 데이터세트를 사용했고 배치는 24, lr은 5e-5, 130 epochs, 4 V100 GPUs을 사용하였다.
  • Fine-tuned results
    • 최종 결과는 위 테이블과 같고 SoTA을 달성하였다.
    • 이것은 LAIT 데이터세트를 이용한 multi-stage pre-training 전략과 cross-modal joint learning을 통하여 얻은 효과다.
    • 그런데 다른 모델에 비해 더 많은 데이터세트 (LAIT)을 이용했기 때문에 그런거라 볼 수도 있지 않을까? 싶은데....
    • 다른 모델에 LAIT 데이터세트를 이용하여 학습해보면 어떨가 싶음

5.3 Ablation Studies

  • Pre-train dataset
    • 학습하는 데이터세트를 바꿔가면서 실험을 해보았다.
    • LAIT로 학습 후, CC+SBU로 학습하는 것이 (multi-stage) 가장 성능이 좋다.
  • Global image features
    • 검출된 RoI가 전체 이미지의 정보를 담고있지 않는 것에 주목할 필요가 있다.
    • 그래서 global image features을 visual part에 추가하려고 시도하였다.
    • 따라서 입력 사진에서 3개의 다른 CNN 모델 (DenseNet, Resnet, GoogleNet)으로부터 global visual featrues을 뽑아서 사용했다.
    • 그러나 성능 향상이 없었고 Table 4의 part1이 그것에 대한 결과이다.
  • Pre-train loss
    • MRFR은 UNITER에서부터 고안한 loss이다.
    • Table4의 part2를 보면 zero-shot에서 큰 성능 효과를 보여준다.
    • This implies that adding a harder task for better modeling the visual content can contribute to visual-textual joint learning. 
  • Number of objects (RoIs) from image
    • visual part의 중요성을 이해하기 위해 object 수를 조절해본다.
    • 위의 모든 실험은 100 objects을 기준으로 한 것이다.
    • 만약 36 objects 수로 줄인다면, table 4의 part3에서 보듯이 성능이 떨어진다.
    • 여기서 기본적으로 물체의 bounding box는 겹칠 수가 있기 때문에 중복되는 정보를 제거하기 위해 실험할 때는, 다른 obejcts 수의 영향을 확인하면서 실험했다고 한다. (즉 RoI가 계속커져도 일정 부분에서는 수렴할 것으로 생각됨)
  • Fine-tune loss
    • section 4.4에서 언급한 듯이 3개의 loss가 있다.
    • 다른 방식으로 학습해보았는데 Table 4의 part4에서 보듯이 binary only가 성능이 가장 좋았다.

6. Conclusion

  • Transformer 기반으로 vision과 language을 joint embedding을 하였다.
  • 또한 supervised 방법으로 Web으로부터 LAIT training 코퍼스를 모았고 이는 현재 가장 큰 vision language 데이터세트이다.
  • 이 데이터세트의 효과는 multi-stage pre-training을 통해 입증하였다.
  • 이것은 human labels이 부족하지만 large-scale out-of-domain data을 통하여 pre-trained model의 품질을 높이고 downstream tasks에도 효과적임을 보여준다.
  • ImageBERT는 MSCOCO와 Flickr30k을 이용한 image retrieval and sentence retrieval에서 SoTA을 달성했다.
  • Future work로는 VQA와 VCR, Image captioning와 같은 연구로 확장하려고 한다.
Reference

댓글