Scaling Up Vision-Language Representation Learning with Noisy Text Supervision
https://arxiv.org/abs/2102.05918
Summary
모델의 크기를 키우기 위해서는 raw data 로부터 학습하는게 필요하다.
raw data를 학습하는 방법에는 visual data만을 사용하는 self-sup과 vision-language를 사용하는 zero-shot learning이 있다.
해당 논문은 vision-language data를 사용하는 zero-shot learning 논문이다.
논문에서 데이터 셋을 하나 만든다. 데이터가 많아야 모델의 크기도 키울 수 있기 때문에 엄청 큰 데이터 셋을 만드는데..
전처리과정을 엄청 간단하게 사용한다. 따라서 noisy가 심하지만 데이터 수가 많은 데이터셋을 구축할 수 있다. 즉, 데이터세을 구축하는데 비용이 적게 든다는 것이다. 큰 데이터 셋을 만들기 위해 데이터 셋의 퀄리티를 포기했다. 최종적으로 1.8B image-text pair를 지닌 dataset을 구성한다.
image-text pair로 이루어진 dataset을 활용하여 image encoder와 text encoder 를 학습시킨다. 손실 함수는 constrative loss를 사용한다.
CLIP과의 차이점은 dataset이 어떻게 구성되어 있냐이다.
아래는 loss function이다.
image encoder은 EfficientNet, text encoder는 BERT를 사용하며 BERT 끝 단에 image output feature 차원과 맞춰주기 위하여 MLP를 사용한다. 두 encoder 모두 바닥부터 학습시킨다.
Experiment
my github