SimVLM: Simple Visual Language Model Pretraining with Weak Supervision

https://arxiv.org/pdf/2108.10904.pdf

1. Introduction

해당 논문 이전의 모델들은 MLM, ITM 등 다양한 auxiliary loss들을 사용하여 pretraining 자체가 복잡함 ⇒ 복잡한 technique이나 auxiliary loss 없이 end-to-end로 학습할 수 있는 모델을 만들고자 함

  • Objective

    • Prefix Language Modeling

  • Architecture

    • Encoder-Decoder 구조

    • ViT 처럼 raw image를 input으로 넣는 방식 사용

  • Data

    • large-scale weakly labeled dataset을 사용해 zero-shot generalization 성능을 확보하고자 함

3. SimVLM

3.1 Background

Masked Language Modeling (MLM)

  • Encoder 구조 모델에서 사용하는 pretraining objective

  • 마스킹 된 토큰의 앞 뒤 시퀀스를 바탕으로 양방향 attention을 통해 마스킹 토큰 예측

    • 문맥적인 부분을 이해하고 문맥에 맞춰 masking 된 단어 예측

Language Modeling (LM)

  • Decoder 구조 모델에서 사용하는 pretraining objective

  • 이전 시퀀스 기반 다음 토큰 예측

  • 이전 시퀀스만 참조하기 때문에 단방향이라는 특징

    • generation에 특화

3.2 Proposed Objective: Prefix Language Modeling

  • Prefix Language Modeling이란?

    • Language Modeling과 비슷한데 이제 이전 시퀀스를 Prefix로 사용한다고 보면 됨 즉, prefix를 given으로 주고 나머지 부분을 예측

  • Prefix Language modeling은 sequence-to-sequence framework를 사용하기 때문에 다음과 같은 이점을 얻을 수 있다.

    • prefix가 미리 주어지기 때문에 그 내에서 bi-directional attention 계산으로 문맥 이해가 가능

    • LM처럼 다음 토큰을 예측하면서 generation에도 강점

    • 이후의 논문인 Flamingo도 일종의 prefix LM으로 볼 수 있음

3.3 Architecture

  • Encoder-Decoder 구조

  • Contextualized한 정보를 담은 patch를 생성하기 위해 ResNet 상위 3개의 block을 사용해 이미지에 대한 1D embedding

  • 저자는 modality type embedding은 성능 향상에 도움이 되지 않았다고 함

  • Transformer 인코더의 last layer에서 cross attention하는 co-attention 방식

3.4 Datasets

  • Large-scale nosiy image-text data

    • zero-shot 성능에 도움이 됨

  • ALIGN에서 사용한 데이터 (1.8B) + C4 (test-only data) (300M)

4. Experiments

4.1 Set up

  • ViT setup을 참고

    • Base : ResNet101 사용

    • Large : ResNet152 사용

    • Huge : ResNet152 with more channel 사용

  • Image Resolution: 224x224

  • Patch-size: 16x16

  • Max sequence length: 256

  • Random crop augmentation

  • 512 TPU

4.2 Comparision with existing approaches

  • 특히 NLVR2, SNLI-VE에서 높은 향상을 보임

  • Encoder 모델 + Prefix + 많은 데이터의 강점

4.3 Zero-shot generalization

  • 다른 모델들을 supervised 한 경우와 SimVLM을 few-shot 한 것이 성능이 비슷함

    • 여기서 few-shot은 prompt learning이 아니라 1%의 데이터만 가지고 supervised 한 것임

  • Classification task에서는 다른 모델들이 SimVLM에 비해 성능이 좋음

  • 가장 성능이 높은 ALIGN은 dual encoder의 dot product로 fusion 함에 비해 SimVLM은 token by token으로 fusion하는 더 복잡한 방식임에도 성능이 더 낮음 ⇒ SimVLM의 architecture가 좋다고는 못하겠음

  • w/o Image2Text

    • Align data가 없을 때 성능이 크게 하락

    • Align data가 중요하다!

  • w/o Text2Text

    • text 데이터만으로 학습해도 2점 정도 올릴 수 있다.

  • w/o conv stage

    • 이미지 tokenization 할 때 linear 보다는 conv가 더 도움됨

    • ViT 논문에서도 conv가 더 advantage가 있다고 했었음

본 논문은 pretrain부터 처음부터 다시 했는데, 요새는 vision encoder block을 이미 image-text align 되어있는 CLIP이나 ALIGN의 vision encoder를 가져와서 사용하는 추세이다.

⇒ 좀 더 fusion 하기 용이함

5. Conclusion 및 생각

  • VLM을 위한 encoder-decoder 구조의 아키텍쳐 제시

    • Encoder에서 prefix로 image token과 text token(prefix token length까지의)을 input으로 받아서 Decoder에서 auto-regressive하게 text 생성

  • 이전 논문들의 모델들은 Objective detector 형태의 vision encoder로 visual feature를 추출하지만 SimVLM은 ViT처럼 raw image를 patch로 잘라서 사용

  • MLM, ITM 등 여러개의 pretraining objective로 훈련시키는 ALBEF와 달리 simple한 Prefix LM objective만을 사용

    • Prefix LM objective는 zero/few shot 성능에 도움이 됨

  • large-scale의 weakly labeled dataset도 성능 향상에 도움이 되었을 것

  • 더 복잡한데도 Classification에서 성능이 안나오는 것을 보면 굳이 Encoder-Decoder 구조를 사용해야할까 싶다.

  • 하지만 generation task에서는 Prefix LM이 더 적합해보이기는 한다.

Reference

Last updated