FILIP: Fine-grained Interactive Language-Image Pre-Training
Unsupervised large-scale vision-language pre-training has shown promising advances on various downstream tasks. Existing methods often model the cross-modal interaction either via the similarity of the global feature of each modality which misses sufficien
arxiv.org
0. Abstract
Unsupervised 대규모 vision-language pre-training은 여러 downstream task에서 놀라운 성능과 발전을 보여왔다.
기존 방법들은 각 modality의 global feature의 유사성을 이용하여 cross-modal 상호작용을 모델링하는데, 이는 충분한 정보를 놓칠 수 있다.
또는 시각적 토큰과 텍스트 토큰에 대한 cross/self attention을 이용하여 finer-grained 상호작용을 모델링하는데, 이는 training과 inference에서 비효율적이다.
본 논문에서는, 대규모 FILIP(Fine-grained Interactive Language-Image Pre-training)을 제안하여 시각적 토큰과 텍스트 토큰 간의 최대 유사성을 사용한 cross-modal late 상호작용을 통해 finer-level 정렬을 한다.
FILIP은 오직 contrastive loss만을 수정함으로써 이미지 패치와 텍스트 단어 사이의 더 finer-grained 표현을 활용하고, 동시에 inference할 때 이미지와 텍스트 표현을 오프라인에서 pre-compute하는 능력을 얻어 training과 inference 효율성을 유지한다.
또한 FILIP300M이라는 새로운 대규모 이미지-텍스트 데이터셋을 구축한다.
1. Introduction
CLIP, ALIGN과 같은 대규모 Vision-Language Pre-training(VLP) 모델들은 수백만장의 이미지-텍스트 쌍 데이터로부터 시각적, 텍스트 표현을 학습하고 zero-shot에서도 우수한 성능을 보였다.
이러한 모델들의 핵심 기술은 dual-stream 모델(다른 데이터 modality를 별도로 처리)을 통해 이미지와 텍스트의 global contrastive alignment를 수행하는 것이다. 이러한 구조는 두 modality의 encoder를 분리할 수 있고, 이미지나 텍스트 표현을 오프라인에서 미리 계산할 수 있기 때문에 inference 효율성이 높다.
그러나, CLIP과 ALIGN은 cross-modal 상호작용을 오로지 각 modality의 global feature의 유사성으로 모델링하는데, 이는 visual object와 텍스트 단어 사이의 관계와 같은 finer-level(더 세밀한 수준의) 정보를 포착하기 어렵다.
본 논문에서는 대규모 VLP를 위한 간단하면서도 효율적인 cross-modal finer-grained 상호작용 메커니즘을 개발한다.
finer-grained cross-modal 상호작용을 위해, 이전 방법들은 주로 두 가지 방법론을 사용했다.
1. pre-trained object detector를 사용하여 이미지로부터 ROI(region-of-interest)를 추출하고, VLP 모델을 통해 텍스트 쌍과 결합
- 많은 ROI feature들을 계산하고 저장해야 하기 때문에 pre-training을 복잡하게 하고, zero-shot 능력이 미리 정의된 class의 수에 제한된다.
2. token-wise와 patch-wise representation을 같은 공간으로 강제하고 cross-attention이나 self-attention을 통해 finer-grained 상호작용을 모델링한다.
- training 할 때 cross-attention을 encoder-decoder 구조에서 수행해야 하며, self-attention의 복잡도는 두 modality의 결합된 시퀀스 길이에 따라 제곱으로 증가한다.
- inference 시, 두 modality의 데이터는 cross-attention이나 self-attention을 계산하기 위해 연결되며 오프라인으로 사전에 계산하는 것이 불가능하여 비효율적이다.
본 논문에서는, 이러한 한계점을 개선하기 위한 FILIP(Fine-grained Interactive Language-Image Pre-training ) 모델을 제안한다.
cross-attention이나 self-attention을 사용하는 것 대신에, contrastive loss 안에서의 새로운 cross-modal late 상호작용 메커니즘을 통해 fine-grained semantic alignment를 모델링한다.
FILIP은 이미지 패치와 텍스트 단어 간의 finer-grained 표현들을 성공적으로 활용하면서, 동시에 이미지와 텍스트 표현을 오프라인에서 pre-compute 할 수 있다.
또한 FILIP300M이라는 새로운 대규모 pre-training 데이터셋을 구축한다.
2. Related Work
- Vision-Language Pre-training Models
기존 VLP 모델은 두 카테고리로 분류될 수 있다.
1. image-text contrastive learning task
ex. CLIP, ALIGN, UNIMO
cross-modal contrastive learning을 사용하여 텍스트와 시각 정보를 통합된 의미 공간으로 정렬한다.
2. Language Modeling based task
ex. VisualBERT, UNITER, M6, DALL-E
masked LM, autoregressive LM 등 LM(언어 모델)과 같은 목표를 채택한다.
- Multi-Modality Interaction Mechanism
Visual-BERT, ViLT와 같은 single-stream model은 패치 단위 또는 regional 시각적 특징과 텍스트 embedding을 직접 연결하여 transformer-based 모델에 넣는다.
ViLBERT, CLIP과 같은 dual-stream 모델은 각 modality의 분리된 encoder를 가진다.
이는 서로 다른 modality에 대해 다양한 모델을 유연하게 사용할 수 있게 하며, encoder를 분리하고 이미지/텍스트 feature를 오프라인에서 미리 계산하는 능력을 통해 downstream task에 대한 효율적인 inference가 가능하게 한다.
본 논문에서는 유연하고 효율적인 inference를 위해 dual-stream 접근 방식을 따르며, 더 나아 fine-grained representation을 포착하기 위해 새로운 multi-modal 상호작용 메커니즘을 제안한다.
3. Method
FILIP은 transformer 기반의 이미지와 텍스트 encoder를 가진 dual-stream 모델이다.
이미지 encoder는 ViT 모델을 사용하고, 선형 변환을 한 이미지 패치와 [CLS] 토큰을 입력으로 받는다.
lower-cased byte pair encoding(BPE)를 사용하여 텍스트를 토큰화하고, 각 텍스트 시퀀스는 [BOS] 토큰으로 시작하고 [EOS] 토큰으로 끝난다. word embdding layer를 통과한 후, Transformer의 decoder 구조에 들어가게 된다.
이미지 토큰과 텍스트 토큰의 representation은 multi-modal 공간으로 mapping되고, 각각 L2 정규화를 수행한다.
이미지와 텍스트 시퀀스 전체의 global feature로 cross-modal 상호작용을 모델링하는 기존 dual-stream 모델과 다르게, FILIP은 이미지 패치와 텍스트 토큰의 fine-grained 상호작용을 고려한 새로운 fine-grained contrastive learning objective를 도입한다.
3.1. Fine-Grained Contrastive Learning
$f_\theta$: 이미지 encoder, $g_\phi$: 텍스트 encoder
$x^I \in I$: 이미지 데이터, $x^T \in T$: 텍스트 데이터
encoding된 representation $f_\theta(x^I)$와 $g_\phi(x^T)$가 관련이 있다면 서로 가까워지고, 그렇지 않다면 멀어지도록 학습한다.
훈련 배치 내에서 $b$개의 이미지-텍스트 쌍을 sampling할 경우, image-to-text contrastive loss $L^I_k$와 text-to-image contrastive loss $L_k^T$는 다음과 같다.
$s^I_{k, j}$: k번째 이미지와 j번째 텍스트의 유사도
최종 loss는 다음과 같다.
3.1.1. Cross-Modal Late Interaction
위의 식에서, 기존에는 global feature에 대해 유사도를 계산했다.
이는 두 modality 사이의 finer-grained 상호작용(단어-패치 정렬)을 무시하게 된다.
이를 완화하기 위해, cross-modal late interatcion을 적용하여 토큰별 cross-modal 상호작용을 모델링한다.
$n_1$, $n_2$: 이미지, 텍스트의 토큰 개수
k번째 시각 토큰에 대해서, $x_j^T$의 모든 텍스트 토큰과의 유사도를 계산하고, 그 중 가장 큰 값을 토큰별 최대 유사도로 사용한다.
즉, 각 이미지 패치에 대해 가장 비슷한 텍스트 토큰을 찾는 것이다.
그 다음 이미지의 모든 토큰에 대해 계산된 최대 유사도의 평균을 계산하여, 이를 이미지와 텍스트 간의 유사도로 사용한다.
j번째 텍스트에 대한 i번째 이미지의 유사도는 다음과 같다.
$m_k^I$는 이미지 토큰에 대해 유사도가 가장 큰 텍스트 토큰의 인덱스
마찬가지로, i번째 이미지에 대한 j번째 텍스트의 유사도는 다음과 같다.
$s^I_{i, j}(x^I_i, x_j^T)$와 $s^T_{i, j}(x_i^I, x_j^T)$는 반드시 동일하지는 않다.
위의 두 유사도 계산식을 contrastive loss에 적용함으로써, dual-stream 모델이 이미지와 텍스트 토큰의 fine-grained alignment를 학습하게 된다.
유사도를 계산할 때 텍스트에서 패딩된 토큰은 제외하는데, 이는 패딩된 토큰이 성능을 저해하기 때문이다. 논문에서는 의미 없는 패딩 토큰과 이미지 패치를 정렬하게 되기 때문이라고 추측한다.
또한 텍스트마다 non-padded 토큰 수가 다르기 때문에 유사도를 계산할 때 합산을 수행하게 되면 그 크기가 상당히 다를 수 있어 훈련이 덜 안정적이기 때문에, 평균을 사용하여 계산한다.
3.1.2. Prompt Ensemble And Templates
prompt 템플릿으로 'a photo of {label}' 를 사용했다.
실험으로 여러 prompt를 사용했을 때, 토큰별 유사도의 평균으로 앙상블한다.
C개의 prompt 템플릿이 있다고 하면 각 label이 c개의 다른 텍스트 $x_1^T, x_2^T, \cdots, x_c^T$로 만들어지고, 다음과 같이 토큰별 유사도의 평균을 구한다.
prompt 템플릿은 네 가지 요소로 구성된다.
prefix는 'a photo of a'와 같은 문맥 설명이고, label은 데이터셋의 class 라벨을 의미한다.
category description은 'a type of pet'과 같은 카테고리 설명이고, prompt 끝에 'it'이라는 참조 단어를 포함하는 접미사를 추가하했을 때 fine-grained cross-modal 정렬을 강화된다고 한다.
3.2. Image and Text Augmentation
모델의 일반화 및 데이터 효율성을 향상시키기 위해, 이미지와 텍스트에 data augmentation을 적용하였다.
이미지 augmentation을 위해 AutoAugment를 적용하고, 텍스트 augmentation으로는 back-translation을 사용한다.
구체적으로, 텍스트는 타겟 언어로 번역되고, 다시 원래 언어로 번역된다.
※ AutoAugment
: 강화학습을 이용해 자동으로 최적의 augmentation 방법을 찾고 적용하는 것
3.3. Pre-Training Dataset
인터넷으로부터 3억개의 이미지-텍스트 쌍으로 구성된 새로운 대규모 데이터셋 FILIP300M을 구축했다.
또한 공개된 데이터셋 Conceptual Captions 3M(CC3M), Conceltual 12M(CC12M), Yahoo Flickr Creative Commons 100M (YFCC100M)을 사용했다.
최종적으로, 340M 이미지-텍스트 쌍을 pre-traning에 사용했다.
4. Experiments
4.1. Experimental Setup
이미지 encoder는 $FILIP_{base}$에 ViT-B/32를 사용하였고, $FILIP_{large}$에 ViT-N/14를 사용하여 두 모델을 처음부터 훈련시켰다.
pre-traning동안 이미지는 224x224 해상도로 조정되었고, 텍스트는 최대 길이는 77 토큰으로 제한했다.
4.2. Zero-Shot Image Classification
zero-shot image classification에서 12개의 데이터셋에 대해 CLIP 모델과 비교한 결과이다.
더 적은 데이터셋을 사용하였음에도 불구하고, $FILIP_{base}$ 모델은 5.6%, $FILIP_{large}$ 모델은 3.0%의 성능 향상을 달성하며 CLIP을 능가한다.
특히, domain-specific 데이터셋인 Aircraft에서 CLIP보다 30% 향상된 성능을 보인다.
CLIP이 [CLS] 토큰으로 전체 이미지 정보를 집계하는 것과 달리, FILIP 모델은 target 객체에 해당하는 이미지 패치를 class label에 해당하는 텍스트 토큰과 직접 정렬함으로써 target 객체에 더 집중할 수 있기 때문이라고 추측한다.
4.3. Image-Text Retrieval
FILIP은 Flickr30K에서의 zero-shot text-to-image retrieval을 제외하고는, Flickr30K와 MSCOCO 데이터셋 모두에서 SOTA를 달성한다.
4.4. Ablation Study
FILIP에서 사용한 image/text augmentation, cross-modal late interaction 각 요소의 효과성을 연구한다.
image augmentation, back tranlsation, cross-modal late interaction 모두가 성능을 향상시켰으며, 특히 cross-modal late interaction이 가장 크게 성능을 향상시켰다.
late interaction mechanism이 모든 시각 토큰과 텍스트 토큰 간의 유사도를 계산해야 하기 때문에, 효율성 문제가 발생할 수 있다.
이에 여러 시도를 하여 zero-shot-shot classification에서의 성능을 비교하였다.
정확도 저하 없이, late interaction의 효율성을 개선했다.
4.5. Visualization Of Fine-Grained Alignment
단어-패치 정렬 방법을 사용하여 FILIP의 fine-grained cross-modal 대응을 포착하는 능력을 시각화한다.
4개의 class에 대한 FILIP과 CLIP의 단어-패치 정렬 결과이다.
괄호 안 숫자는 토큰화된 텍스트 시퀀스에서 위치 인덱스를 나타낸다.
각 이미지 패치에 대해 가장 큰 유사도를 가지는 텍스트 토큰의 위치 인덱스를 해당 패치의 예측 label로 간주한다.
FILIP이 이미지의 더 세밀한 이해를 보여준다는 것을 확인할 수 있다.
5. Conclusion And Future Work
본 논문에서는 fine-grained vision-language pre-traning을 위한 간단하지만 일반적인 프레임워크 FILIP을 소개한다.
토큰별 최대 유사도를 사용하여 이미지의 패치와 문장의 단어에 대한 fine-grained representation을 학습한다.
앞으로는 더 발전된 이미지 encoder와 잘 설계된 상호작용 layer를 사용하여 성능을 향상시킬 수 있을 것이라 기대한다.