-
[5] Image as a Foreign Language: BEIT Pretraining for All Vision and Vision-Language Tasks(BEiT-3)논문 공부 2022. 11. 3. 03:08
Abstract
- 해당 논문은 기존의 CNN을 활용한 image detection, segmentation 부분을 Transformer 기반으로 대체할 수 있는 논문이다.
Figure 1 - 상단의 도식은 논문 전문에 있는 도식으로 한가지 모델로 여러 가지 부분의 Task를 수행할 수 있음을 보여주며, 여러 가지를 한 모델에서 할 수 있음에도 기존의 SOTA 대비 월등한 성능을 보여줌을 알 수 있다.
Introduction
- Introduction의 주요 요지는 최근 몇년간 language, vision, multimodal Problem이 같은 곳을 향해 가고 있다는 점이다. 이는 한 가지 모델로 language, vision, multimodal Problem을 동시에 수행할 수 있는 이유가 된다.
그에 대해 조금더 자세히 서술하자면,
- first, transformers의 success로 language문제는 vision이나 multimodal 문제로 변환된다.
- 이는 역시 language, vision, multimodal Problem 문제를 한 가지 모델로 해결할 수 있다는 이유다.
- 통합된 네트워크 architectures는 multiple modalities 문제를 원활하게 다룰 수 있게 해 준다
- vision-language 모델링을 위해 Transformers를 사용하는 방법으로는 여러 가지 방법이 있다
- downstream tasks 때문에 통합된 네트워크 architectures는 multiple modalities 문제를 잘 다룰 수 있게한다.
- downstream tasks란 기존에 훈련된 네트워크 architectures를 이용하여 general 한 문제를 해결하는 tasks
- 예를 들자면,
- 효율적인 검색에는 dual-encoder architectures가 사용되었고(추천 시스템)
- generation tasks에는 encoder-decoder network가 사용되었으며, (GAN)
- image-text encoding에는 fusion-encoder architectures가 사용되었다.(OCR)
- 하지만 대부분의 기본적인 모델들은 manually 하게 end-task formats를 specific architectures로 변환된다
- general 한 tasks를 해결하기를 원했으나 어떤 문제 해결법에 대한 특징을 학습해버린다.
- 더 나아가서 파라미터 대부분이 shared across modalities에서 효율적이지 못하다.
- 위와 같이 general한 tasks를 해결하기에 적합하지 않은 파라미터
- 이 논문에서 저자는 Multiway Tansformers에 초점을 맞추었는데.
- 일반적 목적 모델링(general purpose model)을 위해서 하나의 통합된 architectures로 공유되며
- 이는 여러 가지 downstream tasks를 해결할수 있게 한다.(general purpose)
- Also The modular network는 modality-spectific encoding과 cross-modality fusion을 종합적으로 고려한다.
- second, pretraining based on masked data modeling은 여러가지 modalities에 성공적으로 응답한다.
- (such as text, images, image-text pairs)
- 현재 기본적인 vision-language 모델들은 대부분 다른 pretraining objectives를 멀티 테스킹한다.
- such as image-text matching
- 두 objectives가 연관성이 없으며 비효율적이지만 멀티 테스킹한다.
- 하지만 저자는 한 가지 pretraining 된 모델을 사용한다.
- 이는 mask-then-predict이며, general-purpose multimodal 기초 모델이다.
- 이를 가능하게 하는 주요 요지는 image를 외국어 보듯 대하는 것이다.
- 저자는 texts와 images를 대함에 있어 기초적 모델링의 다름없이 같은 스텐스를 취한다.
- 이는 필연적으로 image와 text pairs는 병렬 문제처럼 modalities 간의 배열을 배우도록 기능한다.
- 저자는 also vision과 vision-language tasks에서 SOTA급 performance를 보여주는 간단하고 효율적인 method를 보여준다.
- 또한 해당 성공은 ganerative model에서도 좋은 성능을 보여준다.
- 현재 기본적인 vision-language 모델들은 대부분 다른 pretraining objectives를 멀티 테스킹한다.
- third, 모델 사이즈와 데이터 사이즈를 통합적으로 scaling up 하는 것은 기초적 모델에 일반화 성능을 향상하며,
- 해당 이유로 저자는 여러 가지 downstream tasks를 transfer 할 수 있게 됨(general purpose tasks)
- 저자는 philosophy를 따르고 모델 크기를 수십억 개의 매개 변수로 확장한다.
- 또한, 저자는 학문적 재현성을 위해 공개적으로 액세스 할 수 있는 리소스만 사용하면서 실험에서 사전 훈련 데이터 크기를 확장한다.
- 개인 데이터를 사용하지 않더라도, 저자의 방법은 사내 데이터에 의존하는 최첨단 기반 모델을 상당한 차이로 능가한다.
- 게다가, scaling up은 images를 외국어로 취급함으로써 이익을 얻는다.
- 대규모 언어 모델 사전 훈련을 위해 개발된 파이프라인을 직접 재사용할 수 있기 때문이다.
- 저자는 이 연구에서 위에서 설명한 것들을 활용하여 general-purpose multimodal foundation model BEiT-3을 pretraining 한다.
- pretraining 하는 동안 저자는 일부의 text tokens이나 image patches를 랜덤으로 mask 한다.
- 우리 training의 목표는 손상된 input이 기존의 이미지로 복구되는 것이다.
- 이는 입력 형식 혹은 출력 형식에 관계없이 다양한 작업에 사용할 수 있다는 점에서 general 한다.
- 위와 같은 이유로 BEiT-3은 object detection, instance segmentation, semantic segmentation, image classification, visual question answering, image captioning, and cross-modal retrival를 할 수 있다.
- 또한 기존의 SOTA모델과 비교 했을 때 더 좋은 성능을 얻었다.
introduction 요약
language, vision, multimodal Problem이 한가지 모델로 해결될 수 있음.
그 이유로
1. transformer의 성능 발전으로 language문제는 vision이나 multimodal 문제로 변환
2. masked data modeling 기반의 pretrained 모델은 여러가지 modalities 에 효과적임
3. 모델 사이즈와 데이터 사이즈를 통합적으로 scaling up함으로 기초적 모델의 일반화 성능 향상.
위의 세가지를 종합하여 general-purpose multimodal foundation model BEiT-3을 pretraining했음.
pretraining 과정중에 저자는 일부의 text tokens나 image patches를 랜덤으로 mask 했으며,
이를 통하여 training의 목표를 세웠는데, 이는 손상된 input이 기존의 이미지로 복구되는 것 임.
BEiT-3는 object detection, instance segmentation, semantic segmentation, image classification, visual question answering, image captioning, and cross-modal retrival을 할 수 있음.
BEiT-3 : A General-Purpose Multimodal Foundation Model
Figure 2 - 상단에서 보이듯 BEiT-3 모델은 Multiway Transformer network를 사용하여 monomodal과 multimodal data에 대해서 masked data modeling로 pretraining 된다.
- BEiT-3은 여러 가지 vision과 vision-language downstream tasks에 대해서 transferred 할 수 있다.
Backbone Network: Multiway Transformers
- 저자는 Multiway Transformers를 Backbone으로 사용하고있다.
- Figure 2 처럼 Multiway Transformers는 이 모델에서 각기 다른 modalities를 encode 하는 역할을 한다.
- Figure 2 처럼 각 Multiway Transformer block은 shared self-attention module로 이루어져 있으며, pool of feed-forward networks는 각각 다른 modalities이다.
- 저자의 구현에서 각각의 레이어는 vision expert 와 language expert를 포함하고 있다.
- 더 나아가 상단의 3번째 레이어는 fusion-encoders를 위하여 vision-language experts로 디자인 되어있다.
- Figure 3의 (a), (b), (c)를 보면 더 디테일한 modeling layouts을 볼 수 있다.
- pool of modality experts를 사용하면 모델이 modality-specific information을 더 잘 잡아냅니다.
- poll of modality experts 란 Figure 2에서의 Vision Expert, Language Expert, Vision-Language Expert 세가지 module를 의미한다.
- Multimodal tasks를 위하여 the shared self-attention module은 각각의 modalities와 deep fusion 간의 배열을 학습한다.
Figure 3 - Figure 3 에서 보이듯 통합된 architecture인 BEiT-3은 넓은 범위의 downstream tasks를 support를 가능하게 한다.
- 예를들어 BEiT-3는 여러가지 vision tasks( image classification, object detection, instance segmentation, and semantic segmentation)의 image backbone으로 사용될 수 있다.
- 또한 BEiT-3는 효율적인 image-text retrieval과 multimodal understanding and generation tasks를 위하여 fusion modeldual-encoder로 finetuned 할 수 있다.
Backbone Network: Multiway Transformers 요약
Miltiway Transformers는 각기 다른 modalities를 encode하는 역할을 함
저자의 구현에서 각각의 레이어는 vision expert 와 language expert, vision-language expert로 이루어져 있음.
해당 3가지 experts를 사용하면 modality-specific information를 더 잘 잡아냄
또한 Multimodal tasks를 위하여 the shared self-attention module은 각각의 modalities와 deep fusion 간의 배열을 학습
Pretraining Task: Masked Data Modeling
- 저자는 BEiT-3을 통합된 masked data modeling objective on monomodal and multimodal data 로써 pretraining 했다.
- pretraining 과정중에, 저자는 무작위의 some persentage of text tokens or image patcges들을 masking 했으며, 이를 통해 모델을 masking된 tokens를 복구하도록 훈련 시켰다.
- 통합된 mask-then-predict task는 representations만 학습하는것이 아니라 different modalities의 배열도 학습한다.
- 특별하게 text data는 sentence piece 토큰화로 토큰화된다
- image data는 재구성된 타겟으로 discrete visual tokens를 포함한 BEIT v2로 토큰화 된다.
- 저자는 무작위로 monomodal texts의 15% tokens를 mask 했으며, 50%의 image-text pairs to texts tokens를 mask 했다.
- 이미지를 위해 저자는 BEIT의 block-wise masking strategy를 사용하여 40%의 images patches를 masking했다.
- 저자는 하나의 pre training task만을 사용했는데 이게 scaling-up training process를 편하게 만들어줬다.
- 대조적으로 이전 vision-language models는 대부분 여러개의 pretraining tasks를 사용했다.
- 예를들어 iamge-text contras, image-text matching, and word-patch/region alignment
- 또한 저자는 대조기반 모델은 대부분 매우 큰 batch size가 필요한것에 비하여 mask-then-predict task를 사용하여 더 작은 크기의 pretraining batch size를 보여주었다.
- pretraining을 함에 있어서 매우 큰 batch size는 GPU memory 같은 부분에서 기술적인 어려움이 된다.
Table 2, Table 3 Pretraining Task: Masked Data Modeling 요약
pretrain data의 분포는 table3와 같으며,무작위 퍼센트의 text token이나 image patchese들을 mask 함
이를 통하여, 모델에게 masking된 tokens를 복구하도록 훈련 시킴.
이런 작업은 representation만 학습하는것이 아닌 다른 modalities간의 배열도 학습함.
또한 특별하게 text token은 sentense piece로 토큰화 된다.
핵심적으로 BEiT-3와 타 모델의 차이점은 작은 pretraining batch size를 가진다는 점이며,
이는 GPU memory 같은 기술적인 부분에서 이점이 된다.
Scaling Up: BEIT-3 Pretraining
Backbone Network
- 저자는 백본 네트워크로 거대한 기초 모델인 ViTgiant의 setup부분을 following한 BEIT-3을 사용했다.
- Table 2를 보면 BEiT-3은 40개의 레이어와 1408개의 hidden size, 6144개의 intermediate size, 16개의 attention head로 이루어진 Multiway Transformer이다.
- 모든 레이어는 vision experts와 language experts를 가지고 있으며,
- vision-language experts는 상단 three Multiway Transformer layer에 포함되어 있다.
- self-attention module은 different modalities를 공유하고있다.
- BEIT-3는 1.9B개의 parameter로 이루어져 있으며,
- 1.9B의 parameter는
- 692M개의 vision experts parameter,
- 692M개의 language experts parameter,
- 52M개의 vision-language experts parameter,
- 317M개의 공유 self-attention module parameter
- 로 이루어져 있다.
- 1.9B의 parameter는
- 또한 vision에 관계된 parameters는 모델이 vision encoder로 사용될때만 acivated 된다.
요약 : 백본의 기초로 ViTgiant의 setup
Pretraining Data
- Table 3을 보면 Pretraining Data BEIT-3는 monomodal data와 multimodal data 모두 pretrained 되었다.
- Multimodal data에는
- 15M개의 이미지와,
- 21M개의 image-text pairs로 이루어져 있는데,
- image-text pairs는 5개의 public datasets에서 수집되었다.
- Conceptual 12M (CC12M) [CSDS21],
Conceptual Captions (CC3M) [SDGS18],
SBU Captions (SBU) [OKB11],
COCO [LMB+14] and
Visual Genome (VG) [KZG+17].
- Conceptual 12M (CC12M) [CSDS21],
- image-text pairs는 5개의 public datasets에서 수집되었다.
- Monomodal data에는
- 14m개의 images,
- from ImageNet-21K
- and 160GB text corpora
- from English Wikipedia,
BookCorpus [ZKZ+15],
OpenWebText3,
CC-News [LOG+19],
and Stories [TL18].
- from English Wikipedia,
- 14m개의 images,
Pretraining Settings
- 저자는 BEiT-3를 1M steps동안 pretraining했음.
- Each batch마다 6144개의 samples가 포함되어있으며,
- 이는 2048개의 images, 2048개의 texts, 2048개의 image-text pairs 로 이루어져 있다.
- batch size는 contrastive models보다 훨씬 적다.
- BEiT-3는 14x14 patch size와 pretrained 224x224 resolution을 사용한다.
- 저자는 같은 이미지의 augmentation을 BEiT에 사용했다.
- 이 augmentation image에는
- random resized cropping,
- horizontal flipping,
- color jittering
- 등이 포함되었다.
- 이 augmentation image에는
- 64k vocab size를 가진 SentencePiece tokenizer는 text data를 tokenize하는데 사용되었다.
- 저자는 AdamW optimizer를 β1 = 0.9, β2 = 0.98 and =1e-6의 값으로 optimization 했다.
- 또한 cosine Learning rate decay scheduler를 peak learning rate를 1e-3의 값으로 같이 사용했으며, linear warmmup을 10k steps로 설정했다.
- weight decay는 0.05이며, Stochastic depth는 0.1로 사용되었다.
- The BEiT의 initalization algorithm은 stabilize Transformer training으로 사용되었다.
- Each batch마다 6144개의 samples가 포함되어있으며,
Experiments on Vision and Vision-Language Tasks
BeiT-3는 여러 메이저한 benchmarks 에서 좋은 성적을 거두었다. 해당 내용은 아래의 표.
Vision-Language Downstream Tasks
저자는 BEiT-3를 vision-language understanding and generation benchmarks, including visual question answering,visual reasoning,image-text retrieval , and image captioning 로 성능평가했다.
Visual Question Answering(VQA)
VQA는 input 이미지에 대해서 자연어로 대답하는 task이며,
저자는 BEiT-3에 VQA v2.0 데이터셋을 사용하여 finetuning 했다.
그리고 VQA를 classification 문제로써 공식화 했다.
훈련 방법으로는 3129개의 가장 빈번하게 사용되는 답변 후보를 가지고 답변을 예상하도록 훈련했다.
BEiT-3는 이미지들과 질문간의 깊은 상관관계를 모델링하기위해 fusion encoder로 fientuning 되었다.
Visual Reasoning
Visual Reasoning은 텍스트 설명이 이미지에 대해서 잘 설명하고 있는지 여부를 판단하는 task이며,
NLVR2 벤치마크에서 모델을 평가했다.
BEiT-3는 이미지-텍스트 pair를 인코딩하는 fusion encoder로 fientuning되었다.
Image Captioning
Image Captioning은 이미지를 보고 텍스트로 설명을 생성하는 task이며,
COCO 벤치마크에서 모델을 평가하며,
BEiT-3는 이미지 일부를 마스킹하여 만들어진 이미지 단서와, 캡션을 기반으로 원래 이미지를 복구하도록 훈련합니다.
Image-Text Retrieval
Image-Text Retrieval은 이미지와 텍스트 간의 유사성을 측정하는 task 입니다.
input type에 따라서 image -> text , text -> image 두가지 task가 있습니다.
BEiT-3는 COCO 벤치마크와 Flickr30K 벤치마크를 사용해 모델을 평가하며,
효율적인 Image-Text Retrieval을 위한 dual encoder로 finetuning 합니다.
Vision Downstream Tasks
BEiT-3는 vision donwstream tasks 외에도 object detection, instance segmentation, semantic segmentation, image classification 등도 vision problem으로 transfer 될수있다.
Object detection and instance segmentation
object detectiom과 instance segmentation은 COCO 2017 벤치마크에 대한 finetuning을 수행합니다.
BEiT-3을 백본으로 사용하며 간단한 feature pyamid와 window attention가 포함된 ViTDet을 뒤이어 사용한다.
Semantic Segmentation
Semantic Segmentation은 주어진 이미지의 각 픽셀에 대한 레이블을 예측하는 것을 목표로합니다.
ADE20K 데이터셋에서 BEiT-3을 평가하며 ViT-Adapter의 task transfer settings를 따르며,
dense prediction task adapter로 Mask2Former를 사용합니다.
Image Classification
Image Classification은 ImageNet-1K에서 모델을 평가하며 기존의 방식과 다르게 카테고리 이름을 텍스트로 사용하여
Image-Text pair를 만들고, Image Classification 작업을 image-text retrieval task로 공식화합니다.
Conclusion
BEiT-3는 광범위하고 general한 task에 유용하며 SOTA 성능을 가지고 있다.
BEiT-3의 핵심 아이디어는 이미지를 외국어 보듯 모델링 할 수 있게 하며, text 및 image-text pair 에 대해서
masked 된 언어 모델링을 한가지 모델로 수행 할 수 있다는 것 입니다.
향후 오디오를 포함한 더 많은 양식을 추가할것입니다.
'논문 공부' 카테고리의 다른 글