CLIP variants의 이미지와 텍스트 사이의 관계 학습은 텍스트의 각 토큰들과 이미지 패치의 관계에 대해 학습하기에는 학습과 추론 시 효율성이 떨어진다 -> finer-level alignment할 수 있는 방법을 찾아보자
이미지 패치와 텍스트 토큰 간의 attention 이용하는 기존 연구의 약점 -> cross-modal late interaction을 사용해보자
cross-attention: encoder-decoder 구조가 필요
self-attention: Quadratic growth of complexity
Baseline
Vision Language Pre-training에 대한 기존 접근법에 따른 분류
1) CLIP / ALIGN / UNIMO
cross-modal contrastive learning via aligning two modalities into a unified semantic space
각 modality의 global feature 간의 유사도를 학습하기 때문에, finer-level information은 포착하지 못함
2) VisualBERT / UNITER / M6 / DALL-E
Masked Language/Region Modeling과 같은 LM-like objectives를 사용하거나, image captioning, text-grounded image generation과 같은 autoregressive LM을 사용
(object detection 모델을 이용해 부담을 줄이려는 시도는 있었으나) 결국 additional bbox labeling가 필요함
Single-stream vs. Dual-stream: 하나의 구조를 사용했는지, 혹은 modality 별로 다른 구조를 사용했는지
VisualBERT / ViLT: 패치(혹은 region) 단위 visual features와 textual embeddings를 concat하여 Transformer-based 모델에 피딩
ViLBERT / CLIP: 각 modality 별로 별도의 encoder를 학습함
Data details
pre-training에 사용된 데이터 (약 340M으로 CLIP보다 적음)
name
abbr
type
format
source
size
description
remark
related tasks
Conceptual Captions
CC3M
image
(image, caption)
3M
image-text pretraining
Conceptual 12M
CC12M
image
(image, caption)
12M
image-text pretraining
Yahoo Flickr Creative Commons 100M
YFCC100M
image
100M
image-text pretraining
Image-Text retrieval에 사용된 downstream 데이터
name
abbr
type
format
source
size
description
remark
related tasks
Flickr30K
image
30K
image-text retrieval
MSCOCO
image
30K
image-text retrieval
Approach
FILIP은 Transformer-based 이미지 인코더와 텍스트 인코더를 각각 갖는 dual-stream 구조이며, 각 인코더의 아웃풋인 token 단위 visual/textual representation을 L2 정규화하여 multi-modal common space에 align함
CLIP: text와 image의 global한 representation으로 유사도 계산
FILIP: 모든 텍스트 토큰과 이미지 패치 사이의 유사도를 반영
이미지 유사도:
이미지 패치와 텍스트 토큰과의 유사도는 그 이미지 패치와 특정 텍스트 토큰의 내적 (특정 텍스트 토큰은 주어진 이미지 패치와 내적이 제일 큰 텍스트 토큰으로 함 i.e. ${m^{I}_{k}}$)
${S^{I}_{i,j}}$는 위의 방법으로 구한 이미지 패치 - 텍스트 토큰 유사의 평균
텍스트 유사도:
텍스트 토큰과 이미지 패치의 유사도는 그 텍스트 토큰과 특정 이미지 패치의 내적 (특정 이미지 패치는 주어진 텍스트 토큰과 내적이 제일 큰 이미지 패치로 함 i.e. ${m^{T}_{k}}$)
${S^{T}_{i,j}}$는 위의 방법으로 구한 이미지 패치 - 텍스트 토큰 유사의 평균
${S^{I}{i,j}}$와 ${S^{T}{i,j}}$는 항상 같지는 않음 (길이 차이)
token-wise maximum similarity는 각 이미지 패치(텍스트 토큰)에 대해 가장 유사한 텍스트 토큰(이미지 패치)를 의미
기존 reference 연구와 다르게, padded token은 제외하고, summation이 아닌 average를 사용하고, late interaction을 사용함
prompt engineering: zero-shot 성능을 향상시킴
prompt ensemble: n개의 prompt template으로 만든 각 text와 1개의 이미지에 대한 유사도의 평균을 사용
일부를 제외한 downstream 데이터셋들에 대해 base 모델과 large 모델에서 모두 평균적으로 FILIP이 더 높음
단순 [CLS] 토큰을 사용하는 것보다 fine-level alignment가 주효했을 거라고 주장하는 근거
zero-shot image-text retrieval과 text-image retrieval에서 SOTA (ALIGN)과 엇비슷(Flickr30K)하거나 조금 더 높음(MSCOCO)
특히, CLIP과는 꽤 유의미한 격차를 보이고 있음
zero-shot과 fine-tuned 모델(MSCOCO에 fine-tuned)의 결과 중 image-text retrieval은 R@5부터 큰 차이가 없는 모습을 보인다. (text-image retrieval은 격차를 꽤 보인다)
FILIP에서 제안한 cross-modal late interaction이 3가지 컴포넌트 중 가장 게인이 높다. (image augmentation을 제안한 CLIP류 논문이 많기도 하고, 직관적으로 좋아질 걸 예상할 수 있는 반면)
정성적인 분석 결과를 봐도 FILIP의 경우 더 text token에 sensitive한 결과
Limitations
논문에서도 언급되어있듯이 CLIP에 비해 연산시간과 memory 소모량이 높다. text token과 image patch 간의 interaction을 학습하는 과정에서 그런 것으로 보인다. 하지만, 프롬프트의 대부분이 a photo of {label}의 형태인데 굳이 모든 text와 image의 alignment가 필요할까 하는 생각 (token-wise maximum similarity 등을 사용하기는 하지만)
Problem statement
Baseline
Vision Language Pre-training에 대한 기존 접근법에 따른 분류
Single-stream vs. Dual-stream: 하나의 구조를 사용했는지, 혹은 modality 별로 다른 구조를 사용했는지
Data details
Approach
Evaluation
Limitations
a photo of {label}
의 형태인데 굳이 모든 text와 image의 alignment가 필요할까 하는 생각 (token-wise maximum similarity 등을 사용하기는 하지만)