본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Multi-Modal

[2026-1] 정재훈 - CoCa: Contrastive Captioners are Image-Text Foundation Models

by notes9552 2026. 2. 21.

https://arxiv.org/abs/2205.01917v2

 

1. Introduction

최근 BERT, T5, GPT-3와 같이 web-scale data로 pretrained된 기반 언어 모델들이 zero-shot, few-shot, 전이학습 등을 통해 대규모 멀티태스킹 능력을 증명하며 부상하고 있습니다. 각각 task에 전문화된 개별 모델에 비해 대규모 downstream을 위해 pretrained된 모델은 학습비용을 상각할 수 있어 인간 수준 지능의 모델을 위한 한계를 뛰어넘을 수 있는 가능성을 제시합니다.

 

vision-language problem에 대하여 여러 기반 모델들이 후보로 탐색되었다.

1. Single-encoder : 이전 연구들은 cross-entropy loss로 pretrained된 single-encoder의 효율성을 보였습니다. image encoder은 사진과 영상 이해 등의 downstream task에 적용할 수 있는 범용적 시각 표현을 제공합니다. 하지만 이러한 모델은 이미지 주석으로 레이블된 벡터들에 과하게 의존하고, 자유 형식의 인간 자연어 지식을 내재하지 않아 vision과 language을 모두 사용하는 downstream task에 적용을 방해가 됩니다.

2. Dual-encoder : 최근 연구에서는 web-scale의 noisy한 image-text 쌍을 통해 학습시킨 contrastive loss가 있는 병렬 encoder를 vision-language problem의 기반 모델로서 가능성을 보였습니다. dual-encoder은 vision task을 위한 vision 임베딩 이외에도 동일한 latent space에 text 임베딩을 encode할 수 있으므로 zero-shot 이미지 분류와 image-text 검색과 같은 crossmodal alignment가 가능합니다. 그럼에도 불구하고 이러한 모델은 image와 text가 융합된 데이터에서 학습하기 위한 구성요소가 없기 때문에 VQA와 같은 직접적인 joint vision-language understanding task가 불가능합니다.

3. Encoder-decoder : 다른 연구에서는 범용적 vision과 multimodal 표현을 학습하기 위해 encoder-decoder 모델을 탐구하였습니다. pretrain 단계에서 모델은 encoder 부분에 이미지를 가져오고, decoder 부분에 Language Modeling loss(또는 PrefixLM)을 적용하였습니다. Downstream task의 경우 decoder의 출력을  multimodal understanding task로 쓸 수 있습니다. Pretrained된 encoder-decoder의 경우 우수한 vision-language 결과를 얻을 수 있었지만 image 임베딩과 정렬된 text 전용 표현을 도출하지 않기 때문에 crossmodal alignment task에서 실현가능성과 효율성이 낮습니다.

본 논문에서는 single-encoder, dual-encoder,encoder-decoder의 패러다임을 통합하여 세가지 접근 방식의 능력을 모두 포함하는 하나의 image-text 모델을 학습시켰습니다. 이 연구팀은 contrastive loss와 captioners(generative) loss를 모두 학습시킨  수정 encoder-decoder인 Contrastive Captioners (CoCa)를 제안합니다.

위 그림에서와 같이 decoder transformer을 두 부분으로 분리하고 단일 modal에서는 image와의 cross-attention을 생략하여 text 정보만을 처리하게 하고, 뒤에 연결(cascade)된 multimodal decoder에서 image encoder에서 나온 결과물을 cross attending하게 하여 융합된 image-text 데이터를 학습하게 합니다.

이를 통해 image encoder에서 나온 image 데이터와 unimodal text decoderd에서 나온 text 데이터를 대조(contrastive object) 또한 출력 multimodal decoder에서 image 데이터를 설명하는 text를 자연어로 출력(captioning object)합니다. 

CoCa는 image 주석 데이터와 noisy한 image-text데이터를 모두 텍스트 취급하여 학습합니다. 이러한 image 주석의 generative loss는 single-encoder의 cross-entropy 방식과 유사한 학습 signal을 제공하며 세밀한 훈련 효과를 얻을 수 있게 합니다.

 

 

 

2. Approach

2-1. Natural Language Supervision

Single-encoder classification

고전적인 singel-encoder 접근 방식에서는 주된 volcabulary가 고정적인 대규모 데이터셋을 통해 pretrain된다. 이러한 image 주석들은 주로 학습 중 cross-entropy loss를 적용하기 위해 p(y)가 y에 대해 one-hot, multi-hot, smoothed label 분포처럼 이산적인 벡터들로 매핑됩니다. 이후 학습된 image encoder은 downstream task를 위한 범용적 시각 표현 추출을 위해 사용됩니다.

 

Dual-encoder contrastive Learning

Dual-encoder은 noisy한 web-scale 데이터들과 사람들이 자유 형식으로 작성한 text들을 활용하고 학습할 수 있게 하는 text tower을 도입한다. 두 encoder들은 쌍으로 된 텍스트들을 대조하여 공동으로 최적화 됩니다.

위 식에서 x_i와 y_i는 각각 i번째 image 데이터에 대한 임베딩과 그에 대한 text 데이터의 임베딩입니다. N은 batch 크기 σ는 logit의 범위를 조절하는 temperature입니다.

이러한 방식을 통해 image encoder과 text encoder을 모두 학습시켜 image-text retrievial이나 zero-shot image classification과 같은 crossmodal alignment application을 가능하게 하고 낯설거나 손상된 이미지에 강한 내구성을 가질 수 있습니다.

 

Encoder-decoder captioning

Text 전체를 하나로 encode하는 dual-encoder와 다르게 Captioner 방식은 text를 토큰 단위로 정확하게 순차적으로 예측할 수 있게 합니다. image encoder은 image의 잠재적인 특징을 추출해서 제공합니다. 그 후 text decoder은 주어진 image와 지금까지 쓰인 text들을 바탕으로 다음 단어가 출력될 수 있는 확률을 최대로 높이는 방향으로 학습을 진행합니다. encoder-decoder은 학습 효율을 위하여 teacher-forcing 기법을 사용합니다. 이전과 다르게 encoder-decoder은 joint image-text representation을 생성하여 

vision-language understanding 쓰일 수 있고, 자연어 생성 captioning에도 쓰일 수 있습니다.

 

2-2. Contrastive Captioners Pretraing

위의 그림은 세가지 학습 패러다임을 매끄럽게 결합하는 encoder-decoder인 CoCa를 나타냅니다. CoCa는 표준 encoder-decoder 모델과 유사하게 이미지를 신경망 encoder에 의해 latent 표현으로 encoding하고 casual masking transformer decoder로 text를 decoding합니다. 하지만 표준 encoder-decoder과 다르게 전반부 decoder 층에서 cross-attention을 제거하여 unimodal text를 encoding하고 후반부 decoder 층을 castcade하여 image encoder에 cross-attention합니다. 이를 통해 CoCa decoder은 unimodal과 multimodal text representation을 표현할 수 있고, contrastive와 generative의 목적성을 위의 식과 같이 달성할 수 있게 합니다.

 

 

Decoupled text decoder and CoCa Architecture

Captioning과 contrastive는 각각 conditional likelihood와 unconditional likelihood를 사용한다는 점에서 요구되는 architecture이 다른 딜레마가 있습니다. 이에 본 연구에서는 이 딜레마를 해결하고 두가지 방법을 단일 모델로 결합하기 위해서 decoder을 cross-attention 을 제외한 unimodal decoder과 cross-attention을 적용한  multimodal decoder로 분리된 decoder을 제안합니다. 모든 decoder들은 미래의 토큰을 보는 것이 금지되기 때문에 multimodal text decoder의 출력을 L_cap의 목표로 삼는 것은 타당합니다. 

 

Attentional poolers

Contrastive loss 각 이미지에 단일 임베딩을 사용하는 반면 decoder은 일반적으로  이미지 시퀀스를 처리합니다. Singel pooled된 image 임베딩은 글로벌적인 시각적 인식에 도움이 되는 방면 많은 visual 토큰들은 지역적인 수준의 특징이 필요한 multimodal 이해에 도움이 됩니다. pooler은 n_query개의 학습 가능한 query가 있는 단일 multi-head attention 층이며 출력은 key와 value이다. 이를 통해 서로 다른 길이의 임베딩을 pooling할 수 있어 언급된 두 목적 함수 모두 학습할 수 있습니다.

 

Pretrainimg efficiency

분리된 autoregressive decoder은 효율적인 두가지 학습 loss를 계산할 수 있는 것입니다. 단방향 언어 모델과 마찬가지로 casual masking 을 사용하고 있기 때문에 decoder은 순전파 만으로도 contrastive loss, captioning loss에 대한 출력을 효율적으로 생성할 수 있습니다. 따라서 두 loss에서 많은 계산 결과값들이 공유되어 CoCa은 일반적인 encoder-decoder에 비해 적은 overhead이 발생합니다. 또한 다른 많은 방법이 데이터들을 여러 단계로 나누어 모델 구성 요소를 학습하는 반면 CoCa는 다양한 데이터를 텍스트로 취급하여 end to end로 pretrain하므로 효율적이다.

 

2-3. Contrastive Captioners for Downstream Tasks

Zero-shot transfer

Pretrain된 CoCa모델은 imager와 text를 모두 활용하여 zero-shot 방식으로 많은 task를 수행하지만 다른 모델들과 다르게 전송 프로토콜 중 supervision 예제가 사용되지 않습니다. Pretrain 데이터의 경우 downstream task에 대한 모든 데이터에 중복 제거 절차를 진행합니다.

Frozen-feature Evaluation

CoCa는 backbone encoder을 공유하면서 다양한 유형의 downstream task에 대한 visual representation을 customize 하기 위해 attentional pooler을 채택하였으며, 이는 모델이 frozen encdoer로서 feature을 얻는 데 강력한 성능을 얻을 수 있게 하였습니다. 또한 선형 평가는 학습된 representation을 평가하기 어려우며 attention pooler가 더 실용적이라는 것을 알 수 있었습니다.  

CoCa for video action recognition

연구팀은 비디오 액션 인식 작업을 CoCa 모델로 가능하게 하기 위해 비디오의 여러 프레임을 공유 imager encoder에 공급하였습니다. Frozen feature 평가와 finetuning을 위해 연구팀은 공간과 시간적 feature 토큰 위에 softmax cross-entropy loss를 가진 pooler을 학습시켰습니다. 

 

3. Experiments

3-1. Training setup

데이터 셋 : JFT-3B(label name), ALIGN(noisy alt-text)

최적화

Adafactor optimizer(batch size:65,536, B_1=0.9, B_2=0.999, weight decay = 0.01)

Learning rate:max 8*10^-4

 = 2.0,  = 1.0,  = 0.07

 

3-2. Main result

위의 그림은 현재 SOTA의 encoder-decoder, dual-encoder 기반 모델들과 CoCa의 핵심적인 benchmark를 비교하여 요약한 그래프 입니다.

 

연구팀은 크게 다음 3가지의 task를 핵심적으로 고려하여 실험을 진행하였습니다.

1. Visual recognition tasks

연구팀은 visual 인지를 실험하기 위하여 image의 경우 ImageNet을 video의 경우 Kinetics-400, Kinetics-600, Kinetics-700, Moments-in-Time을 포함한 benchmark들을 통해 실험을 진행하였고 결과는 다음과 같습니다.

 

2. Crossmodal alignment tasks

다른 fusion-based 모델들과 다르게 CoCa는 image 데이터 임베딩과와 text 데이터 임베딩을 align하게 생성할 수 있습니다.

또한 CoCa는 pretrain 이후 parameter 들이 frozen 되어 임베딩을 추출하는 데 직접 사용되기 때문에 zero-shot을 중점적으로 실험을 진행합니다.

 

Image와 text 사이의 retrieval를 평가하기 위해 Flicker 30K, MSCOCO를 Image 분류를 평가하기 위해 ImageNet을 video와 text 사이의 retrieval을 평가하기 위해 MSR-VTT를 benchmark로 선정하였습니다. 이때 MSR-VTT의 경우 유튜브를 이용하였기에 데이터를 찾을 수 없는 경우가 있어 현재 사용가능한 데이터만으로 평가한 지표들에 대해 (subset)의 태그를 표기하였습니다.

결과는 다음과 같습니다.

 

3. Image captioning and multimodal understading tasks

Multimodal understanding의 경우 CoCa는 image와 text를 joint하게 encode하기 때문에 두 형태 모두에서 추론이 가능합니다.

visual 질의응답을 위해 VQAv2, visual 함의를 위해 SNLI-VE, 그리고 시각적 추론을 위해 NLVR2를 benchmark로 이용하였고 결과는 다음과 같습니다.

Image captioning에 경우 CoCa는 image captioning의 loss를 MSCOCO만으로 finetune하고 MSCOCO Karpathy-test split과 NoCaps benchmark로 평가합니다. 이때 연구팀은 CIDEr metic-specific loss의 특수 최적화를 하지 않고 실험을 진행합니다. 결과는 다음과 같습니다.

 

3-3. Ablation analysis

Captioning vs classification

JFT-3B 데이터들을 사용하여 ViT-Base 단일 encoder 모델을 captioning loss로 학습된 encoder-decoder 모델과 visual 특징 추출 성능일 비교한 결과 대등한 성능을 달성하였고 이는 captioning 학습이 classification 능력을 포함한다는 것을 알 수 있습니다.

 

Training Objectives

CoCa는 contrastive 모델에 비해 zero-shot에서 우수한 성능을 보였고, generative 모델과 VQA에서 비슷한 성능을 유지하였으므로 두가지 목적을 모두 달성하였음을 알 수 있습니다. 또한 captioning loss의 비율이 증가함에 따라 VQA의 성능이 향상되는 것을 관측할 수 있었습니다. 하지만 VQA 성능을 비교하였을 때 CoCa가 단일 generative loss만 이용하였을 때보다 우수한 성능을 얻었다는 것을 알 수 있었습니다.

 

Unimodal and multimodal decoders

Decoder을 분리한 모델 설계가 unimodal 의 층 부족으로 zero-shot에서 낮은 성능을 보일 것이라는 우려와 다르게 성능 저하가 일어나지 않았습니다. 이를 통해 unimodal과 multimodal layer을 반반(n_uni=6)으로 나누는 것이 최적의 균형임을 알 수 있습니다. 또한 특징을 병합하기 위해 학습 가능한 CLS토큰을 토큰 텐서 단독 일 때와 원본 입력 문장의 모든 단어 텐서들을 concatenation하여 사용할 때를 비교한 결과 원본 입력 문장 단어 텐서들을 배제하고 단독으로 추출하여 constrative 학습에 사용하는 것이 가장 높은 벤치마크를 기록하였습니다. 이는 contrastive loss는 CLS 토큰 파라미터를 강하게 업데이트하도록 하고 captioning loss는 나머지 단어 토큰을 업데이트하게 한다는 것을 알 수 있습니다.

 

Attentional pooler

Pretraining에서 contrastive loss와 captioning loss를 위해 몇개의 pooler의 설계를 변형 버전을 만들어 비교하였습니다.

1. Vision Transformer encoder에서 contrastive loss와 generative loss를 동시에 추출하는 parallel 설계

2. Generative pooler 위에 constrastive 풀러를 적용하는 cascade설계

그리고 결과는 다음과 같습니다.

또한 연구팀 n_query가 증가할 수록 성능이 증가하는 것을 보고 오버헤드가 발생하더라도 generative pooler의 n_query를 256으로 확정하였습니다.