1. Pretraining Objectives

  • ITC (Image-Text Contrastive)
  • ITM (Image-Text Matching)
  • MLM/MIM/MRM (Masked Language/Image/Region Modeling)
  • Prefix-LM


(1) ITC (Image-Text Contrastive)

  • 정의: InfoNCE/CLIP 식 Contrastive Learning (CL)
  • 수식 (InfoNCE)
    • 배치 크기 \(N\), 정규화된 임베딩 \(v_i, t_j\), 온도 \(\tau\)
    • \(\mathcal{L}_{i\to t} =-\frac{1}{N}\sum_{i=1}^N \log\frac{\exp(\mathrm{sim}(v_i,t_i)/\tau)} {\sum_{j=1}^N \exp(\mathrm{sim}(v_i,t_j)/\tau)}\).
    • \[\mathcal{L}_{t\to i} =-\frac{1}{N}\sum_{i=1}^N \log\frac{\exp(\mathrm{sim}(t_i,v_i)/\tau)} {\sum_{j=1}^N \exp(\mathrm{sim}(t_i,v_j)/\tau)}\]
    • \(\mathcal{L}_{\text{ITC}}=\tfrac{1}{2}(\mathcal{L}{i\to t}+\mathcal{L}_{t\to i})\).


(2) ITM (Image-Text Matching)

  • 정의: Image–Text 쌍이 매칭/불매칭인지 binary CLS
    • 종종 ITC로 찾은 hard negative를 섞어 학습
  • 수식 (Logistic): Multimodal encoder의 [CLS] 벡터 \(z\)에 대해
    • (참고: \(z\)에는 Image-Text pair의 정보가 모두 들어가 있음)
    • \(p(y{=}1\mid z)=\sigma(w^\top z+b)\).
    • \(\mathcal{L}_{\text{ITM}}=-\frac{1}{N}\sum_i\big[y_i\log p_i+(1-y_i)\log(1-p_i)\big]\).
  • 주로 ITC + ITM 섞어서 함께 사용


(3) MLM/MIM/MRM (Masked Language/Image/Region Modeling)

  • MRM 정의: 감지된 객체 RoI의 라벨/속성/특징 회귀를 맞춤
  • 대표: LXMERT(MLM + 객체라벨/속성/특징 + ITM + VQA 프리텍스트).


MRM details

(1) 개념

  • 이미지 안의 영역(region/patch/RoI) 을 가림
  • 모델이 가려진 시각 정보를 맞히도록 학습
  • MRM vs. MIM
    • MRM: Pretrained detector (e.g., Faster R-CNN 등) 가 뽑은 RoI(region of interest, 객체 영역) 특징을 사용
    • MIM: 주로 random masking
  • 텍스트와 시각 특징의 정밀 정렬(alignment) 을 강화해 VQA·캡셔닝·검색에 도움.


(2) Masked Region Classification (MRC)

  • Detector (예: Faster R-CNN)로 얻은 객체 분류 분포를 정답으로 사용
  • Notation
    • \(q\)는 Detector의 soft label (= Detector의 pred prob)
    • \(p_\theta\)는 모델 예측
  • Hard label이면 Cross-Entropy
    • \(\mathcal{L}_{\text{MRC-CE}}=-\sum_k y_k \log p_\theta(k)\).
  • Soft label이면 KL-divergence
    • \(\mathcal{L}_{\text{MRC-KL}}=\sum_k q_k \log\frac{q_k}{p_\theta(k)}\).


(3) Masked Region Feature Regression (MRFR)

  • “Data space”가 아닌 “Feature space”에서 맞춤
    • \(\mathcal{L}_{\text{MRFR}}=\mid \mid f_\theta(\text{masked region}) - \hat{v}\mid \mid _2^2\).
    • \(\hat{v}는\) Detector/Vision backbone이 제공한 타깃 특징.


(4) Prefix-LM

  • 정의: 이미지(또는 비디오) 조건 하에 자연어 생성
  • 수식: \(\mathcal{L}_\text{NLL}=-\sum_t\log p_\theta(w_t\mid w_{<t}, \text{Image/Video})\).


Prefix-LM details

  • Procedures

    • Step 1) Image를 vision token(예: 패치/ROI 임베딩)으로 바꾸고

    • Step 2) 이를 (Text) Decoder 앞에 접두(prefix) 로 붙여 문장을 생성.

  • Conditional LM:
    • \(p_\theta(y\mid x)\) 을 (Teacher forcing 방법으로) 학습
  • 수식:
    • Caption: \(y=(w_1,\dots,w_T)\)
    • Image input: \(x\)
    • Loss function: \(\mathcal{L}_{\text{NLL}}=-\sum_{t=1}^T \log p_\theta(w_t \mid w_{<t},\; \text{prefix}(x))\).
  • Training & Inference
    • Training: Teacher Forcing)
    • Inference: Greedy/Beam/샘플링
  • Examples

    • 입력 이미지: 강아지가 잔디에서 뛰는 사진

    • 비전 인코더 → 토큰 \(v_{1:M}\) 생성 → 디코더 입력: \([v_{1:M};\ \text{BOS}]\)

    • 모델이 순차적으로 “A brown dog is running on the grass.”를 생성


2. Downstream Tasks - Image

(1) Image \(\leftrightarrow\) Text Retrieval

  • 입·출력: 질의 (Text→Image or Image→Text)
  • 지표: Recall@K, mAP.
  • 데이터셋: COCO, Flickr30k (Karpathy split).
  • 모델 팁:
    • Dual Encoder (+ITC)로 빠른 검색
    • Reranking 시 cross encoder (+ITM) 병행.


a) Recall@K (R@K)

  • Step 1) Prediction (multiple):
    • Query에 대해 \(K\) 번 predict
    • \(K\)개의 prediction에 대해 ranking
  • Step 2) GT vs. \(K\) Preds:
    • \(K\) Preds 안에 정답이 하나라도 있으면 성공 (hit)
  • Step 3) \(\mathrm{R@K}\) 계산:
    • 전체 질의 수 \(Q\) 개 (i.e., \(Q\) 개의 query) 중, 성공한 비율
    • \(\mathrm{R@K}=\frac{1}{Q}\sum_{q=1}^{Q}\mathbf{1}\{\text{Top-}K \text{ 내에 정답 존재}\}\).
  • 보통 K=1, 5, 10을 보고 텍스트→이미지(T2I), 이미지→텍스트(I2T)각각 계산

  • 사용 이유
    • 상위 몇 개 안에 정답이 뜨는가”를 바로 보여주므로 사용자가 원하는 검색 품질 체감을 잘 반영
    • 단, 정답이 여러 개일 때 몇 개를 가져왔는지(재현율의 양적 측면)와 정답의 세밀한 순서는 반영이 약함


Examples (T2I)

  • 질의 3개(캡션 3개) → 각 질의의 GT image는 하나.
  • Model ranking에서 정답 순위가 각각 2위, 7위, 12위
    • R@1 = 0/3 = 0%
    • R@5 = 1/3 ≈ 33.3% (2위만 성공)
    • R@10 = 2/3 ≈ 66.7% (2위, 7위 성공)


b) mAP (mean Average Precision)

  • 상황: 정답이 “1개”가 아니라 “여러 개”일 수 있음!
  • mAP: “순위-민감” 지표
    • 정답이 여러 개일 수 있는 Ranking에서, 정답을 어느 위치들에 배치했는지까지 반영
  • AP \(\rightarrow\) mAP
    • 한 질의 \(q\)에 대한 AP(평균정밀도) 를 계산
    • 모든 질의에 대해 평균한 값이 mAP


Procedure

  • Notation
    • (질문 \(q\)에 대한) GT 정답의 개수: \(M_q\) 개
    • (Model의) Multiple pred 개수: \(N\) 개
  • (Sorted된) \(N\)개의 multiple prediction에 대해 Ranking을 위에서부터 내려오며,
  • 정답을 만나는 지점에서의 정밀도(Precision@k) 들을 정답 개수 \(M_q\) 로 평균
  • \(k\): Predefined된 값이 아니라, 내 예측이 정답을 다 만날때까지 내려오게 되면서 정해짐.


\(\mathrm{AP}(q)=\frac{1}{M_q}\sum_{k=1}^{N}\mathrm{Prec@}k \cdot \mathrm{rel}_k\).

  • \(\mathrm{rel}_k\in\{0,1\}\): 순위 k가 정답이면 1.

  • \[\mathrm{Prec@}k=\frac{\text{상위 }k\text{ 내 정답 수}}{k}\]
\[\mathrm{mAP}=\frac{1}{Q}\sum_{q=1}^{Q} \mathrm{AP}(q)\]


mAP vs. R@K

  • 모든 정답의 위치를 고려하므로, 정답을 위쪽에 많이 몰아놓을수록 AP가 커짐
  • R@K보다 까다로운 지표라 모델 간 순위 차이를 더 세밀하게 드러냄


Example 1: T2I

  • GTs: \(\{i_2,i_4\}\)
  • Preds: \([i_3,\ i_2,\ i_4,\ i_1]\)
  • 정답을 만난 순위와 Precision:
    • \(k=2\): 정답( \(i_2\) ) → Prec@2 = 1/2
    • \(k=3\): 정답( \(i_4\) ) → Prec@3 = 2/3
  • \[\mathrm{AP}=\frac{1}{2}\Big(\frac{1}{2}+\frac{2}{3}\Big)=\frac{7}{12}\approx 0.583\]
  • (1개의 문제(q)이므로) AP = mAP


Example 2: I2T

  • 랭킹에서 정답 캡션이 나온 순위: 1, 3, 6
  • Prec@1 = 1/1
  • Prec@3 = 2/3
  • Prec@6 = 3/6
  • \[\mathrm{AP}=\frac{1}{3}\Big(1+\frac{2}{3}+\frac{1}{2}\Big)=\frac{13}{18}\approx 0.722\]


Comparison

항목 Recall@K mAP
초점 Top-K 안에 정답 존재 여부 모든 정답의 순위와 정밀도
장점 해석 직관적, 사용자 체감에 근접 순위 민감, 모델 차이 세밀히 드러남
단점 정답이 많아도 1개만 맞추면 성공 계산·해석이 상대적으로 복잡
보고 방식 K=1/5/10 한 값 (mAP)


COCO/Flickr30k 관행

  • I2T: 한 이미지에 5개 GT 캡션 (1 image: 5 GTs)
    • R@K: “Top-K 중 하나라도 GT 캡션이면 성공”
    • mAP: 세 캡션 모두의 위치를 반영
  • T2I: 한 캡션에 1개 GT 이미지 (1 text: 1 GTs)
  • 구현 시 query 별로 계산한 후 평균 (macro)하는 게 표준

figure2

figure2


(2) Image Captioning

  • 입·출력: Image→ Text
  • 지표: CIDEr, SPICE, BLEU, METEOR, ROUGE-L.
  • 데이터셋: MS-COCO Captions


Image Captioning vs. I2T

  • 공통점:
    • 입력: 하나의 Image
  • 차이점:
    • Image Captioning: 설명 문장(자연어 시퀀스) “생성”
    • I2T: (여러 후보 텍스트 중) 해당 이미지를 가장 잘 설명하는 특정 문장 “선택”


(3) VQA (Visual Question Answering)

  • 입·출력: (Image, Text(Q)) → A
  • 지표: Accuracy
  • 데이터셋: VQAv2, GQA,
    • 특정 지식 필요 OK-VQA / A-OKVQA.


객관식 (MC) vs. 주관식 (Open-ended)

(1) Open-ended VQA (주관식)

  • Output: 텍스트(단어/짧은 구절)

  • Datasets: VQA v1/v2, GQA

  • Metric

    • VQA v1/v2: 한 질문에 대해 \(N\)명의 annotator 답변을 수집

      → 모델 답과 몇 명이 일치하는지에 따라 점수 산정

      \(\text{Acc(ans)} = \min\left(\frac{\#\text{humans agree}}{3}, 1\right)\).

    • 왜 \(3\)? 적어도 3명의 답과 같으면 정답으로 간주

  • Ex) 10 (\(N\))명 중 5명이 “dog”이라 답

    → 모델이 “dog” 출력하면 5/3=1.67 → min(1.67,1)=1.0 점


(2) Multiple-choice VQA (객관식)

  • Output: (여러 후보 답변 중) 답변 하나 선택 (classification 문제처럼)
  • Datasets:
    • Visual7W: 4개 보기 중 정답 1개
    • VQA-abstract 버전 일부
  • Metric: Accuracy


(4) Referring Expression & Phrase Grounding

  • 입·출력: Text로 지칭된 객체 위치 (Box/Mask)
  • 지표: Acc@IoU(박스), mIoU(분할).
  • 데이터셋:
    • RefCOCO / RefCOCO+ / RefCOCOg
    • Flickr30k Entities. (문구↔영역 정합)


Details

(1) 개념

  • (공통) Text → Image 내 객체 위치를 찾아내는 task
  • Referring Expression: Text에서 특정 객체를 지칭하는 표현 (예: “the man in a red shirt”).
  • Phrase Grounding: Text에서 언급된 특정 대상을 이미지 내 위치 (Box/Mask) 와 매칭


(2) Input & Output

  • 입력(Input): Image + Text
  • 출력(Output): Text가 가리키는 객체의 Image 내의 위치
    • Bounding Box (좌표값)
    • Segmentation Mask (픽셀 단위 영역)


(3) Metric

  • Acc@IoU (Bounding Box)
    • IoU (Pred box, GT box)가 일정 threshold (e.g., 0.5) 이상이면 성공
    • Accuracy로 측정
  • mIoU (Segmentation)
    • IoU (Pred mask, GT mask): pixel level


(4) Dataset

  • RefCOCO / RefCOCO+ / RefCOCOg
    • MS-COCO 이미지 기반, 사람들에게 자연어로 특정 객체를 설명하게 하여 구축.
    • RefCOCO: 위치 단서 포함 (“man on the left”).
    • RefCOCO+: 위치 단서 제거, 주로 appearance만 (“man in red shirt”).
    • RefCOCOg: 더 긴 문장, 복잡한 서술.
  • Flickr30k Entities
    • 각 문장에서 명사구(entity phrase)와 이미지 영역(박스)을 연결.
    • 예: 문장 “A dog chasing a ball” → phrases “A dog”, “a ball” 각각 박스 매칭.


figure2


(5) Dense Captioning (영역 단위 설명)

  • Input & Output
    • Input: Image
    • Output: 다수의 box + sentence.
  • Dataset: DenseCap (Visual Genome).
  • 지표: 지역 캡션 mAP 계열 + 언어 지표

figure2


(6) Visual Entailment (SNLI-VE)

  • 입·출력: (이미지=Premise, 문장=Hypothesis) → Entail / Neutral / Contradict 3-분류.
  • 데이터셋: SNLI-VE.


Details

(1) 개념

  • 입력: 이미지(Premise) + 문장(Hypothesis)
  • 출력: 3-class CLS
    • Entail(이미지가 문장을 뒷받침)
    • Neutral(판단 불가)
    • Contradict(이미지가 문장을 반박)
  • 핵심 목표: Text의 자연어추론(NLI) 개념을 Vision-Language의 Multimodal로 확장.


(2) Dataset: SNLI-VE

  • SNLI: Flickr30k 이미지 캡션을 전제 (premise)로 만든 “Text”NLI data

  • SNLI-VE: 텍스트 전제(premise caption)이미지 전제 (premise image)로 대체

    \(\rightarrow\) (Image-premise) 쌍에 대해 3-class CLS를 수행하도록 구성.

  • 주의점: 언어 편향(hypothesis-only bias) 이 존재할 수 있어, 순수 텍스트만으로도 어느 정도 맞출 수 있는 경우가 보고됨

    비전 신호의 기여를 분리 검증하는 설계가 중요.


(3) Metrics: Accuracy (3-클래스).


figure2


(7) VCR (Visual Commonsense Reasoning)

  • 입·출력: Image 기반 (객관식) 답 + 근거 선택.
  • 지표: Answer/ Rationale / Joint 정확도.
  • 데이터셋: VCR


Details

(1) 개념

  • 입력: Image + Question (객체 태그 포함: 예 [person1], [book])
  • 출력:
    • (1) Answer 객관식 (4지선다)
    • (2) Rationale 객관식 (4지선다)
  • 목표:
    • (1) 단순 인식(무엇이 있는가)을 넘어서
    • (2) 상황 추론·상식(reasoning)설명 가능한 정답 근거 선택까지 요구.


(2) 평가 지표

  • Answer Acc.: 정답 선택 정확도(Q→A)
  • Rationale Acc.: 정답을 가정한 상태에서 근거 선택 정확도(QA→R)
  • Joint Acc.: 정답과 근거를 모두 맞춘 비율(실전 평가는 보통 여기에 주안점)


(3) 예시

  • 이미지: [person1]이 책을 펼치고 [person2]에게 보여주는 장면

  • 질문(Q): “Why is [person1] showing the book to [person2]?”

  • 답변 후보(A):

    1. Because [person2] asked for help with reading.
    2. Because they are hiding the book.
    3. Because [person1] is angry.
    4. Because the book belongs to [person2].
  • 근거 후보(R):

    a) [person2] is pointing at the page.

    b) The book is closed.

    c) [person1] looks away.

    d) There is no book.

  • 올바른 선택 예: A=1, R=aJoint 성공


figure2


(8) VisDial (시각 대화)

  • 입·출력: (이미지, 대화 이력) → 다음 응답.
  • 지표: NDCG, MRR 등(랭킹 기반).
  • 데이터셋: Visual Dialog.


(9) OCR 계열 멀티모달

  • 하위작업:
    • TextVQA/ST-VQA(장면문자 질의)
    • DocVQA(문서)
    • ChartQA(차트 해석).
  • 지표: 정확도/EM/F1.


3. Downstream Tasks - Video

(1) Video ↔ Text retrieval

  • 지표: Recall@K.
  • 데이터셋: MSR-VTT, MSVD(텍스트 다양, 규모 작음).


(2) Video Captioning

  • 지표: CIDEr, BLEU 등(문장 지표).
  • 데이터셋: MSVD, MSR-VTT. (프레임 샘플링/시간적 집계가 핵심)


(3) Video QA

  • 입·출력: (비디오, 질문) → 답.
  • 데이터셋: TGIF-QA(프레임/동작/반복), ActivityNet-QA(오픈도메인), NExT-QA(원인·결과 추론).


(4) Temporal Grounding / Moment Retrieval

  • 정의: 문장이 가리키는 타임 스팬(start–end) 찾기.
  • 지표: R@1/5@IoU(0.5 등), mAP.
  • 데이터셋: DiDeMo, Charades-STA.


Categories: , ,

Updated: