https://arxiv.org/abs/2110.05208
Supervision Exists Everywhere: A Data Efficient Contrastive Language-Image Pre-training Paradigm
Recently, large-scale Contrastive Language-Image Pre-training (CLIP) has attracted unprecedented attention for its impressive zero-shot recognition ability and excellent transferability to downstream tasks. However, CLIP is quite data-hungry and requires 4
arxiv.org
Abstract
DeCLIP(Data Efficient Contrastive Language-Image Pretraining)은 CLIP의 데이터 요구량 문제를 해결하기 위해 제안된 새로운 학습 방법이다.
CLIP보다 7.1배 적은 데이터를 사용하면서도 더 효율적인 시각적 특징 학습을 제공한다.
Main Idea
1. 각 모달리티 내에서의 자기감독
2. 다중 시점 감독
3. 최근적 이웃 감독
해당 방법을 사용해 ImageNet에서 제로샷 정확도를 60.4%를 기록했다.
Introduction
CV model은 일반적으로 사전 학습 중에 fixed된 dataset으로 훈련된다.
만약 새로운 시각적 개념을 명시하기 위해서는 사람의 라벨링이 필요하여 확장하기 어렵다.
사전 학습이 NLP와 만나면서 자연어에 내재된 supervision을 활용해 사전 학습이 확장 가능하다.
언어-이미지 사전 학습은 인터넷에 풍부한 이미지-텍스트 쌍 덕분에 매우 큰 규모로 확장하였다.
CLIP 또한 대조적 손실을 사용해 일치하는 이미지-텍스트 쌍의 임베딩을 가까이하고, 일치하지 않는 쌍의 임베딩을 멀리 밀어내는 방식으로 학습한다.
하지만 해당 방법은 많은 컴퓨팅 리소스를 차지하기에 학습에 어려움이 있다.
따라서 본 논문에서는 single image-text contrastive supervision을 사용하며, image-text 쌍 내의 widespread supervision을 간과하고 있다고 한다. 본 논문은 단순히 이미지와 텍스트 쌍의 일치 여부만을 보는 것이 아닌 방법론을 고안한다.
모달리티 내의 풍부한 구조적 정보
1. 각 모달리티 내의 구조적 정보 활용
각 모달리티(이미지나 텍스트) 내에는 풍부한 구조적 정보가 내재되어 있다.
문장이나 이미지에서 단어/픽셀을 수정하면서 유사한 의미를 유지할 수 있다.
이러한 자기 감독(self-supervision)은 각 모달리티에 대한 상식적인 표현을 학습할 수 있다.
2. 다중 시점 감독 확장
이미지의 contrasting mulit-crops 하는 것에 영감받아 multi-view supervision을 적용한다.
이미지는 확률적 증강을 이룬 텍스트랑 한 쌍을 이루어 여러 관점에서 학습하게 된다.
하나의 이미지를 설명하는 여러 텍스트 설명(반대 포함)을 활용해 모델이 보다 일반화된 특성을 학습할 수 있도록 한다.
3. Nearest-neighbor (NN) supervision
한 이미지가 데이터셋 내의 다른 텍스트와 유사할 것이라는 직관에 기반한다.
"going to see a lot of vintage tractors this week"은 "vintage at tractors a gathering"으로 묘사 가능하다.
임베딩 공간에서 NN을 샘플링하여 추가적인 감독 신호로 활용한다.
DeCLIP 학습 패러다임
DeCLIP-ResNet50은 ImageNet에서 제로샷 정확도 60.4%를 기록했고, 8800만 개의 이미지-텍스트 쌍을 사용하여 성능을 62.5%와 66.2%까지 끌어올렸다.
Approach
CLIP
CLIP 모델은 이미지 인코더와 텍스트 인코더로 구성된 이중 인코더 구조를 사용한다.
이미지와 텍스트 특징을 동일한 차원으로 projection하고, L2 정규화를 거친다.
훈련 중에는 매칭되는 이미지-텍스트 쌍의 임베딩을 가까이한다. -> Contrastive Learning
InfoNCE 손실을 사용하며, 이미지 인코더 손실은 위의 식과 같다.
텍스트 인코더의 손실도 대칭적으로 계산되며 최종 loss는 $L_I$ 와 $L_T$의 평균이 된다.
텍스트 인코더는 데이터셋의 임의의 범주를 임베딩하여 제로샷 선형 분류기를 생성한다.
DeCLIP / SUPERVISION EXISTS EVERYWHERE
DeCLIP에는 3가지의 추가 신호가 존재한다.
1) Self-Supervision (SS)
기존 방법을 사용하여 각 모달리티 내에서 이미지와 텍스트 자기 감독을 사용한다.
이미지 SS은 SimSiam, 텍스트 SS는 마스킹 언어 모델링 (MLM)을 사용한다.
1. 이미지 자기 감독
- SimSiam : 두 개의 증강된 이미지 사이의 유사성을 극대화
- 예를 들어, 동일한 이미지의 한 버전은 회전되고 다른 버전은 밝기가 조정되었다면, SimSiam은 두 이미지가 여전히 같은 이미지를 나타낸다는 사실을 인식할 수 있도록 학습
- 목표는 $z^{\tilde{I}}$ 와 $p^I$ 간의 유사성을 극대화하는 것으로, 본 논문에서는 부의 코사인 유사성을 사용
- collapsing을 막기 위해 stop-grad 기법을 사용
2. 텍스트 자기 감독
- MLM : 문장에서 몇몇 단어(토큰)를 무작위로 가리고, 모델이 해당 단어를 예측하도록 훈련하는 방식
- The cat is on the mat -> cat을 가리고 모델이 cat을 맞추도록 학습하는 것
- 각 시퀀스의 모든 토큰 중 15%를 무작위 선택
- 선택된 토큰은 80%의 경우 [mask] 토큰으로 교체되고, 10%는 무작위 토큰으로, 나머지 10%는 변경되지 않은 토큰으로 유지
- 언어 모듈의 출력은 교차 엔트로피 손실을 사용하여 원래 토큰을 예측하는 데 사용
2) Multi-View-Supervision (MVS)
원래 CLIP에서 증강 없이 원본 텍스트와 이미지의 단일 '전역 뷰'만 대조한다.
SS는 single 모달리티에 집중하는 반면, MVS는 cross-modal에 집중한다.
"a cute white cat"이라는 텍스트가 있는 이미지에서는 고양기가 그림의 작은 부분만 차지한다.
따라서 지역을 더 자세히 보고 이를 보조 감독으로 사용한다.
이미지와 텍스트에 대해 확률적으로 데이터 증강을 적용해(이미지 : RandomResizeCrop / 텍스트 : EDA) 각각의 예시에 두 개의 상관된 뷰를 생성한다.
다음, 이미지-텍스트 대조 손실은 2x2 쌍에 대해 계산된다.
-> 이미지-텍스트, 이미지-증강 텍스트, 증강 이미지-텍스트, 증강 이미지-증강 텍스트와 같은 다양한 조합을 통해 학습
-> 원래 CLIP은 텍스트 증강 X / 이미지 crop만 진행하여 data hungry
3) Nearest-Neighbor Supervision (NNS)
한 이미지에는 데이터셋 내의 다른 유사한 텍스트 설명이 있을 가능성이 높다.
따라서, 임베딩 공간에서 근접 이웃 감독을 제안한다.
임베딩 공간에서 근적 이웃 탐색을 사용해 의미적으로 유사한 텍스트를 얻게 된다.
수학적으로, 텍스트 특성 $z^T$의 NN 특성 $z^{T'}$ 을 찾는 것이 목표이다.
-> $z^T$ 와 가장 유사한 다른 텍스트 표현을 찾음
-> 두 특성 간의 거리는 코사인 유사도로 측정
임베딩 공간이란, 이미지나 텍스트 데이터를 수치적인 벡터로 변환한 공간이다. 이 공간에서는 서로 유사한 데이터는 가까운 위치에, 다른 데이터는 멀리 떨어진 위치에 있게 된다.
-> "고양이가 매트 위에 있다"라는 설명과 "고양이가 침대에 누워 있다"라는 설명은 유사하기 때문에 임베딩 공간에서 서로 가까운 위치에 존재하게 된다.
전체 데이터셋에서 검색하는 것을 불가능하므로, 전체 데이터 분포를 대표하는 First In First Out 특성 큐를 유지한다.
특성 큐 유지 (FIFO 큐)
텍스트 설명을 처리할 때, 우리는 선입선출 큐(First-In-First-Out, FIFO Queue)라는 구조를 사용하여 텍스트 설명들을 관리한다.
최신 데이터만 일정하게 유지하며 오래된 데이터는 자동으로 버려지도록 설계한다.
이를 통해 전체 데이터 분포를 대표하는 큐를 유지하게 된다.
마지막으로 ($z^I, z^{T'}$) 및 ($z_{\tilde{I}}, z^{T'}$) 의 대조 손실을 추가로 계산한다.
최종 Loss
Experiments