오늘 리뷰할 논문은 Vision-Language Pre-training(VLP) 과정에서 발생하는 “false negatives” 문제를 다룹니다.
Vision Language Model (VLM)은 웹에서 수집한 이미지-텍스트 페어를 활용해 학습합니다. 학습 시, 하나의 이미지에 대해 단 하나의 텍스트 페어만 “positive”로 간주하고, 나머지는 모두 “negative”로 처리합니다. 하지만 실제로는 학습 데이터 중 일부 “negative”로 분류된 페어가 실제로는 해당 이미지와 positive 관계를 가질 수 있습니다. 이러한 경우를 “false negatives”라 하며, 본 논문에서는 이를 다루기 위한 연구를 제안하였습니다.
- Conference: CVPR 2024
- Authors: Jaeseok Byun, Dohoon Kim, Taesup Moon
- Affiliation: Seoul National University
- Title: MAFA: Managing False Negatives for Vision-Language Pre-training
- Code: Github
1. Introduction
Vision-Language Pre-training(VLP)에서는 대규모 웹 데이터셋을 활용해 이미지-텍스트 페어를 학습합니다. 그러나 이런 학습 방식은 한 이미지나 텍스트가 가질 수 있는 다대다 관계를 반영할 수 없다는 한계가 있습니다.
예를 들어 상단 이미지인 그림 1을 보시죠. 그림 1은 VLP에서 발생하는 이미지-텍스트 페어 간 관계를 나타내며, positive(파란색 선), negative(빨간색 선), 그리고 false negatives(실제로는 positive인데 negative로 학습되는 샘플)을 의미합니다. 데이터셋은 하나의 이미지-텍스트 페어만을 positive로 간주하지만, 실제로는 동일한 이미지가 다른 텍스트와 positive 관계를 가질 수 있고 반대로 텍스트도 여러 이미지와 positive 관계를 가질 수 있죠. 따라서, 주어진 페어 외의 관계를 negative로 처리하는 기존 Contrastive 기반의 VLP 학습 방식은 이러한 표기되지 않은 positive 를 false negatives로 오인하는 문제가 발생합니다. 이러한 문제는 ITC(image-text contrastive) 및 ITM(image-text matching) loss 계산에 반영되어, 결과적으로 모델 성능 저하로 이어질 수 있습니다.
이러한 문제를 해결하려면 데이터셋 내 모든 가능한 이미지-텍스트 조합을 검사하고 positive-negative 관계를 찾아내야하지만, 이는 계산 복잡도가 지나치게 높아 현실적으로 불가능합니다. 이를 극복하고자 기존 연구(ALBEF, GRIT-VLP 등)는 하드 네거티브 샘플링을 통해 일부 문제를 완화하려 했습니다. 여기서 하드 네거티브란 positive 처럼 보이지만 실제로는 negative인 샘플입니다. 예를 들어 상단 이미지와 같은 이미지-텍스트 페어가 있다고 가정해봅시다. VLM에서 학습 시 저 두 개의 페어는 positive로 간주하여 유사도를 크게 만들것입니다. 이 때, Hard negative sample 텍스트의 예시는 다음과 같습니다: “The fluffy cat is sleeping on the sofa“. 분명 이미지와는 negative 관계이지만, 문장 구조는 상당히 유사해서 모델이 헷갈릴 가능성이 높은 샘플이죠.
다시 돌아가서, 기존 연구들은 이렇게 모델이 헷갈리기 쉬운 Hard negative sampling을 통해, 정확히 라벨링하지 않고 모델이 보다 디테일한 정보를 학습하는 방식으로 문제를 완화하고자 하였습니다. 그러나, 이 경우 하드 네거티브 샘플 중 일부가 false negatives로 포함되어 모델 성능 저하를 초래할 수 있습니다. 따라서 저자는 해당 문제를 해결하기 위한 방법을 제안하였습니다. 그 솔루션은 다음 섹션에서 설명드리겠습니다.
2. Motivation
기존에 false negative 문제를 해결하려는 방법은 대표적으로 GRIT-VLP 입니다. GRIT-VLP에서는 GRIT(GRouped mIni-baTch) 샘플링이라는 hard negative sampling 기법을 제안하였습니다. 이는 유사한 이미지-텍스트 페어를 같은 미니배치로 그룹화하여 하드 네거티브 샘플을 더 효과적으로 선택하기 위한 샘플링 기법입니다. 이 기법은 모델에게 hard negative가 negative임을 지속적으로 학습함으로써, 모델의 하드 네거티브 샘플에 대한 정교한 표현력을 학습시킬 수 있습니다. 동작 과정은 다음과 같습니다:
- 각 에포크에서 ITC 유사도를 계산하며, 이를 기반으로 유사한 샘플을 그룹화.
- 큐(queue)를 활용하여 현재 배치보다 훨씬 더 큰 탐색 공간을 생성하고, 가장 유사한 예제를 선택.
- 이러한 과정은 과도한 메모리 및 계산 비용을 피하기 위해 병렬로 수행.
그러나 저자는 실험을 통해 GRIT 샘플링은 랜덤 샘플링보다 더 많은 false negatives를 생성하는 경향이 있음을 발견했습니다. 상단 Table 1은 ITM(이미지-텍스트 매칭) 작업에서 false negatives가 얼마나 자주 발생하는지, 이를 랜덤 샘플링과 GRIT 샘플링 두 가지 방식으로 비교하여 정량적으로 보여줍니다. 실험은 두 가지 데이터셋(원본 4M-Noisy와 BLIP로 정제된 4M-Clean)에서 수행되었습니다. 그 결과 GRIT 샘플링은 랜덤 샘플링보다 훨씬 더 많은 false negatives를 생성했습니다. 이는 GRIT 샘플링이 유사한 이미지-텍스트 쌍을 미니 배치로 그룹화하면서 하드 네거티브를 선택하는 방식 때문입니다. 특히, BLIP로 정제된 4M-Clean 데이터셋에서는 false negatives 비율이 더욱 증가했는데, 이는 데이터가 더 정제될수록 유사한 관계를 가진 샘플이 그룹화될 가능성이 높아지기 때문이라고 합니다.
이와 관련된 실험은 Figure 2에서도 확인할 수 있습니다. 상단 그림2는 검색 공간 크기(MMM) 증가가 GRIT-VLP의 성능(IRTR 점수)과 false negatives 수에 미치는 영향을 보여줍니다. 검색 공간이 커질수록 유사한 샘플들이 더 많이 그룹화되면서 false negatives가 증가하며, M=960을 초과할 경우 성능이 감소하기 시작합니다. 이는 false negatives로 인한 “노이즈”가 학습 과정에 영향을 미쳐 하드 네거티브 샘플링의 효과를 저하시켰기 때문이라고 합니다. 이는 false negatives 문제를 해결하는 것이 GRIT-VLP와 같은 VLP 모델의 성능을 개선하는 데 필수적임을 의미합니다. 따라서 저자는 이를 고려해서 false negative를 해결하고자 하였습니다.
3. Method: MAFA
따라서 저자는 MAFA라는 방법론으로 false negative를 해결하고자 하였습니다. MAFA는 두 가지 요소로 구성됩니다: Efficient Connection Mining (ECM),그리고 Smoothed ITC (S-ITC).
3.1. Efficient Connection Mining (ECM)
ECM(Efficient Connection Mining)은 데이터셋에서 누락된 positive 관계로 인해 발생하는 false negatives 문제를 해결하기 위해 설계되었습니다. ECM은 ITC(image-text contrastive) 유사도를 기준으로 하드 네거티브를 선택 (GRTI 샘플링) 한 후, 사전 학습된 ITM(image-text matching) 모델 Con-D(Connection Discriminator)을 활용해 선택된 샘플이 실제 부정 샘플인지 false negatives인지 판단합니다. Con-D가 샘플을 positive으로 판단(확률 \tau > 0.8)하면, 해당 샘플은 새로운 positive 샘플로 학습에 추가됩니다. 다시 말해, ECM은 hard negative를 찾고 그 중 positive일 가능성이 높은 샘플을 찾아 positive 로 전환하여 학습에 반영하는 것이죠. 상단 그림에서 ECM의 과정을 다시한번 확인할 수 있습니다.
이는 BLIP 계열 모델(ALBEF, BLIP, BLIP-2)과도 통합 가능하고, 각 배치에서 다양한 하드 네거티브를 찾아 학습에 필요한 positive 관계로 전환할 수 있습니다. 이제 ECM에서 찾은 false negative가 모델에서 Loss 계산에 어떻게 적용되는지 알아보겠습니다. ITC와 ITM에서는 ECM이 탐지한 false negatives의 라벨을 negative에서 positive으로 수정하여 학습에 반영합니다. 이렇게 새롭게 생성된 positive 샘플은 ITC와 ITM loss 계산에 활용될 뿐만 아니라, MLM(마스크드 언어 모델링)의 입력으로도 추가됩니다.
[ITC with ECM]
ITC(Image-Text Constrastive)에서 이미지는 텍스트와의 유사도를 측정하기 위해 [CLS] 토큰을 활용하며, 이는 이미지와 텍스트 임베딩의 linear projection을 통해 계산됩니다. ITC loss는 결국 CLIP의 loss를 의미합니다. (positive 유사도는 1로 negative는 -1로 만들기) ITC Loss 수식은 아래와 같습니다. (익숙하죠?)
ECM을 적용하면 Con-D를 통해 false negatives를 찾고, 원래 negative로 간주되었던 샘플의 label이 변경됩니다. 예를 들어, 새롭게 positive로 전환된 텍스트의 라벨 값은 0에서 0.5로 변경되고, 기존 positive 샘플의 라벨 값은 1에서 0.5로 변경됩니다. 이렇게 수정된 라벨(\tilde{y}_{\text{ITC}})은 원래 라벨 값의 합이 1을 유지하기 위함이라고 합니다.
[ITM with ECM]
ITM(이미지-텍스트 매칭)의 목표는 주어진 이미지-텍스트 쌍이 매칭되는지 여부를 예측하는 것입니다. ITC와 마찬가지로, ECM을 통해 Con-D가 탐지한 missing positive connections을 반영하여 ITM의 라벨이 수정됩니다.
특히, Con-D가 positive일 확률을 50%에서 80% 사이로 예측한 모호한 샘플은 false negatives로 확신할 수 없으므로, 학습에서 제외됩니다. 대신, 두 번째 하드 네거티브를 다시 샘플링하여 보다 확실한 nagetive 샘플을 사용합니다. 이를 통해 ITM loss 계산에서 false negatives의 영향을 최소화하고, 학습 신호의 신뢰도를 높일 수 있다고 합니다.
[MLM with ECM]
MLM(Masked Language Model) with ECM은 캡션에서 마스킹된 단어를 마스킹되지 않은 텍스트와 이미지 정보를 활용해 예측하는 과정입니다. ECM은 기존 데이터셋의 positive 샘플 외에도, Con-D로 찾은 새로운 positive 페어를 추가로 학습에 사용되기 때문에 MLM Loss에도 이를 반영해야 합니다.
3.2. Smoothed ITC (S-ITC)
Smoothed ITC(S-ITC)는 라벨 스무딩을 활용해 모든 negative 샘플에 soft label 값을 부여함으로써, false negatives 문제를 해결하고자 하였습니다. 기존 VLP에서는 라벨 스무딩이 랜덤 샘플링 환경에서 성능 저하를 야기해 잘 사용되지 않았으나, GRIT 샘플링 상황에서는 false negatives가 한 배치 내에 많이 존재하기 때문에 S-ITC가 효과적으로 작동한다고 합니다. soft label은 아래 빨간색 박스로 표시된 수식으로 표현됩니다
- α: 라벨 스무딩의 강도를 조절하는 하이퍼파라미터
- N: 배치 크기
- 1: 모든 값이 1인 벡터
해당 soft label 결과, positive는 기존 1이 1-α로 작아지고, negative는 0에서 α/N으로 변경함으로써 작은 값이긴 하지만 0은 아닌 값이 부여됩니다. 그 결과 모든 negative 샘플이 완전히 무시되지 않으므로, false negatives로 인한 과도한 패널티를 완화되고, GRIT 샘플링을 사용하는 현재 세팅은 false negative가 한 배치 내에 많은 데 이 상황에서도 안정적인 학습을 이룰 수 있습니다.
저자가 소프트 레이블을 사용한 이유에 대한 실험을 상단 테이블 2에서 확인할 수 있습니다. 모멘텀 디스틸레이션과 Consistency Loss도 false negatives를 완화하는데 사용할 수 있지만, 이들은 대부분의 nagetive 샘플에 영향이 없는 라벨을 부여하거나 일부 샘플에만 집중하는 문제가 있었습니다. 이에 비해 S-ITC는 모든 negative 샘플에 고르게 높은 라벨 값을 할당하여 효과적이었다고 합니다.
이렇게 저자가 정의한 Loss는 최종적으로 아래오 ㅏ같습니다.
MAFA Summary
4. Experiments
데이터셋 및 설정
- 4M-Noisy 데이터셋: MSCOCO, Visual Genome, Conceptual Captions, SBU Captions 등 총 4M개의 이미지와 5M개의 이미지-텍스트 페어로 구성되었습니다. 그러나 이 데이터셋에는 잘못된 캡션이나 불완전한 설명이 많아 false positives를 포함하고 있습니다.
- 4M-Clean 데이터셋: BLIP 캡션 모델로 정제된 깨끗한 이미지-텍스트 페어를 포함하며, false positives 문제를 줄인 데이터셋입니다.
- GRIT 샘플링의 기본 설정(B = 96, M = 4800)을 따르고, ALBEF와 동일한 데이터 증강 기법 사용
성능 평가를 위한 다운스트림 태스크
- 이미지-텍스트 검색(IRTR): MS-COCO와 Flickr30K 데이터셋에서 수행.
- VQA: 주어진 이미지와 질문에 대해 적절한 응답을 생성.
- natural language for visual reasoning (NLVR2): 텍스트와 이미지 간 논리적 관계를 평가.
4.1 Comparison with baselines
Table 3은 MAFA가 IRTR, VQA, NLVR2 등 모든 다운스트림 작업에서 일관되게 좋은 성능을 보여줌을 알 수 있습니다. MAFA는 GRIT-VLP 대비 MS-COCO에서 IR/R@1 +1.4%, TR/R@1 +1.6%, NLVR2 dev에서 +1.1% 성능을 향상시켰고, ALBEF(14M)보다 파라미터 수는 현저히 적으면서 비슷한 성능을 보이면서, BLIP(14M)보다는 성능이 낮지만 수치적으로는 비슷한 결과를 보였습니다. 이는 하드 네거티브 샘플링에서 false negatives 문제를 해결하는 것이 성능 향상에 매우 중요함을 보여준다고 합니다. 또한, MAFA(4M-Clean)의 성능은 false positives와 false negatives를 동시에 관리할 때 더 큰 시너지 효과가 있음 알 수 있습니다.
4.2 Ablation studies
Table 4는 MAFA의 두 가지 주요 구성 요소인 ECM과 S-ITC에 대한 ablation study입니다. ECM(row 2) 또는 S-ITC(row 3)를 단독으로 적용해도 GRIT-VLP(row 1) 대비 성능이 개선되고, 이 둘을 결합한 MAFA(row 4)는 4M-Noisy 데이터셋에서 더욱 큰 성능 향상을 보였습니다.
이 경향은 4M-Clean 데이터셋에서도 보이면서, 두 구성 요소의 효과가 데이터 품질에 관계없이 유효함을 알 수 있었다고 합니다(row 6). 또한, MAFA(4M-Noisy)와 GRIT-VLP(4M-Clean)를 비교하면, false negatives를 다루는 것이 false positives를 줄이는 것보다 성능 향상에 더 큰 영향을 미친다는 점을 다시 확인할 수 있습니다. 추가적으로, 다양한 데이터 스케일(1M, 2M, 14M)에서도 MAFA의 안정적인 성능을 알 수 있습니다.
Table 5는 GRIT 샘플링과 MAFA의 구성요소에 따른 성능을 나타냅니다. GRIT 샘플링 없이 S-ITC를 사용할 경우 성능이 저하되므로(row 2), S-ITC(soft label)는 GRIT 샘플링과 함께만 사용됩니다(row 4, 5). MAFA는 GRIT이 아닌 랜덤 샘플링에서도 성능을 개선하지만, GRIT 샘플링 환경에서 더욱 향상된 결과를 보였습니다. 특히, false negatives를 제거하는 것(row 4)보다 이를 positive 샘플로 전환(row 5)하는 것이 성능 향상에 더 유리함을 확인했습니다.
Table 6에서는 S-ITC의 효과를 추가적으로 분석합니다. GRIT 샘플링 환경에서 S-ITC는 대부분의 negative 샘플에 높은 소프트 라벨을 부여하며, 모멘텀 디스틸레이션(row 5)이나 consistency loss(row 4)보다 뛰어난 성능을 보였습니다. 이는 S-ITC가 소수의 샘플에 집중하는 대신, 다수의 부정 샘플을 효과적으로 활용한다는 차이 때문이라고 하네요.
4.3 Compatibility of MAFA with BLIP-2
저자가 제안하는 MAFA는 최신 VLP인 BLIP-2에도 합칠 수 있다는 것을 보이기 위한 실험도 수행했습니다.
Table 7은 BLIP-2에서 GRIT 샘플링만 적용(row 2)할 경우 false negatives의 잦은 발생으로 인해 성능이 크게 저하되는 것을 확인하였다고 합니다. 그러나 MAFA를 통합하면 학습 안정성이 증가하고 성능이 개선된다는 점에서, false negatives 적절하게 조절하는 것이 BLIP-2의 학습 과정에서 매우 중요하다는 것을 알 수 있었다고 합니다.
Table 8은 MAFA를 BLIP-2의 stage-1에 통합하면, 이후 stage-2에서의 Generative Learning 능력 또한 향상된다는 결과를 나타냅니다. 이를 통해 GQA, OKVQA, VQA와 같은 다양한 zero-shot VQA 작업과 MS-COCO 이미지 캡션 생성에서 성능 향상이 확인되었다고 합니다.
negative 페어 중에서 유사도를 기반으로 Hard Negative를 찾고, Con-D라는 Image-Text Matching 모델을 통해 positive라고 할 수 있는 요소를 찾아내 positive로 전환하여 모델 학습에 사용하는 방법에 대해 알아보았습니다.
안녕하세요 주영님 좋은 리뷰 감사합니다.
‘2. Motivation’에서 GRIT-VLP은 GRIT(GRouped mIni-baTch) 샘플링이라는 hard negative sampling 기법을 제안하였다고 했는데, 실험 결과를 보니 GRIT 샘플링은 랜덤 샘플링보다 더 많은 false negatives를 생성하는 경향이 있다고 설명해 주셨습니다.
여기서 약간 이해가 안 되는데 GRIT이 랜덤 샘플링보다 false negatives를 생성하는 이유가 방법론 자체에 문제가 있는건지 아니면 데이터 문제로 발생하는 결과인지 잘 이해가 가질 않습니다. 정제된 데이터가 많아져 더 유사한 관계를 가진 샘플들이 그룹화되면 설명해 주신 데로 모델 입장에서는 더 정교한 표현력을 학습시킬 수 있는거 아닌가요?
그리고 본문의 3.1 ECM에서 ECM은 GRTI 샘플링 후 Con-D를 활용해 해당 샘플이 실제 부정 샘플인지 false negatives인지 판단한다고 설명해 주셨는데, GRIT-VLP로 판단하면 안되는걸까요?
감사합니다.