[2024 CVPR] The Neglected Tails in Vision-Language Models

안녕하세요 이번에 소개할 논문은 Vision-Language Models(VLMs)에서 발생하는 long-tailed 문제를 다룬 논문입니다. long-tailed 문제란 학습 데이터에 특정 클래스나 concept(클래스와 유사한 개념)이 적게 포함되어 모델 성능이 불균형해지는 현상을 말합니다. 저자는 이러한 VLMs의 성능 불균형 문제를 분석하고, 이를 해결하기 위한 REAL이라는 방법론을 제안하여 제로샷 성능을 높일 수 있음을 보여줍니다. 저자가 제안한 프롬프트 개선 기법이 간단하면서도 실용적이여서 흥미롭게 읽었던 것 같습니다. 그럼 바로 리뷰 시작하겠습니다.

1. Introduction

Vision-Language Models (VLMs)은 이미지와 텍스트를 결합하여 멀티모달 시스템을 구현하는 데 중요한 역할을 합니다. 대표적으로 CLIP과 같은 모델이 있는데, 이 모델들은 visual 챗봇이나 text-to-image generation 등 멀티모달 시스템에서 중요한 역할을 하고 있습니다. VLMs은 웹 규모의 이미지-텍스트 데이터셋(예: LAION)을 기반으로 훈련되어 이미지와 텍스트를 동시에 이해하는 능력이 뛰어납니다. 하지만 VLMs의 성능이 모든 상황에서 고르게 나타나지는 못합니다. 예를 들어, zero-shot visual recognition tasks에서 CLIP은 ImageNet의 1,000개 클래스에서 평균 80%의 정확도를 보였지만, 특정 클래스(예: night snake)에서는 10%보다 낮은 성능을 보였습니다. 이처럼 성능의 불균형은 VLMs의 중요한 문제임에도 불구하고 그동안 크게 주목받지 못했습니다. 많은 연구는 이러한 문제가 사전 학습 데이터의 편향 때문이라고 추정했지만, LAION과 같은 대규모 데이터셋의 concept frequency를 정확히 측정하는 방법이 없었기 때문에 이를 입증하기는 어려웠습니다.

일반적인 classification 데이터셋에서는 라벨링된 데이터를 기반으로 특정 클래스가 얼마나 자주 등장하는지를 세는 방식으로 빈도를 계산할 수 있습니다. 그러나 VLMs의 사전 학습 데이터는 free-form text(캡션) 형태로 이루어져 있어 같은 concept이라도 다양한 표현으로 나타납니다. 예를 들어, “sneaker”는 “running shoe”나 “trainer”로도 표현될 수 있기 때문에 단순히 단어를 세는 방식으로는 특정 concept의 빈도를 정확히 추정하기 어렵습니다. 이 문제를 해결하기 위해 저자는 LLMs을 활용한 접근 방식을 제안했습니다.

그림 2가 저자가 제안한 방식인데, 이 방법은 먼저 LLM(예: ChatGPT)에 특정 concept에 대한 모든 동의어를 나열하도록 요청하는 것으로 시작됩니다. 그런 다음 해당 concept이나 동의어가 포함된 훈련 텍스트를 모두 찾아냅니다. 그러나 검색된 텍스트에는 관련 없는 데이터도 포함될 수 있기 때문에 다시 LLM을 사용하여 이러한 불필요한 텍스트를 필터링하고, 사람이 빈도 측정의 정확성을 검증합니다.

이 과정을 통해 다음과 같은 3가지 사실을 발견했습니다.

  1. VLM의 사전학습 데이터는 그림 1a 과 같이 long-tailed distribution를 따른다는 것을 확인.
  2. VLM은 잘 나타나는 concept에서는 성능이 좋고, concept에서는 성능이 떨어진다는 것을 보여줌(그림 1b).
  3. GPT-4Vision과 DALL-E 3와 같은 최신 모델이 rare concepts을 처리하는 데 어려움을 겪는 이유를 보여줌(그림 1c).

이러한 빈도 측정을 기반으로 저자는 문제를 해결하기 위해 REtrieval-Augmented Learning (REAL)이라는 방법을 제안했습니다. REAL은 사전 학습 데이터를 활용해 성능 편향을 줄이는 두 가지 접근법을 포함합니다.

첫 번째로 REAL-Prompt는 사전 학습 데이터에서 특정 concept의 동의어가 원래 이름보다 더 자주 등장하는 현상을 활용합니다. 예를 들어, LAION 데이터셋에서 “cash machine”보다 “ATM”이 10배 더 자주 등장한다고 합니다. 이 점을 고려하여 프롬프트에서 덜 자주 사용되는 concept 이름을 더 빈번하게 등장하는 동의어로 대체하여 성능을 개선합니다. 이 간단한 조정만으로도 성능을 높일 수 있었다고 합니다.

두 번째로 REAL-Linear는 VLMs의 성능을 개선하기 위해 다운스트림 데이터(추가 학습 데이터)를 사용하지 않고, 사전 학습 데이터를 재활용하는 방법입니다. 이 접근 방식의 핵심은 사전 학습 데이터에서 소규모이지만 balance한 이미지 집합을 구성해 이를 바탕으로 linear classifier를 훈련하는 것입니다. 기존의 방법(REACT 등)은 이미지나 텍스트의 특징을 계산하기 위해 VLMs를 사용했습니다. 이러한 특징 기반 검색(feature-based retrieval) 방식은 계산 비용이 높은 단점이 있습니다. REAL-Linear는 이를 대체하여 텍스트 기반 검색(string matching)을 사용합니다. 즉, 단순히 텍스트 검색을 통해 사전 학습 데이터에서 필요한 이미지를 찾아내는 방식으로, 효율성을 크게 높였습니다.

저자의 contribution은 다음과 같이 정리할 수 있습니다.

  1. 대규모 사전 학습 데이터에서 concepts frequency를 추정하는 새로운 방법을 제안했습니다. 이를 통해 데이터셋의 롱테일 분포와 rare concepts에 대한 VLMs의 어려움을 밝혀냄
  2. REAL을 통해 VLMs의 성능 불균형 문제를 완화하고, 효율적인 프롬프트와 검색 기반 학습 방법으로 SOTA를 달성.

2. The Long-Tailed Concept Distribution

2.1 Concept Frequency Estimation

VLMs의 사전 학습 데이터셋은 방대한 규모 때문에 concept 빈도를 추정하는 것이 어렵습니다. 예를 들어, LAION-400M 데이터셋은 약 10TB의 저장 공간이 필요합니다. 따라서 저자는 텍스트 메타데이터만 활용하는 방식으로 이 문제를 풀고자합니다. 이 방식으로 LAION-400M의 경우 약 60GB의 공간만 필요로 하며, 효율적으로 concept 빈도를 추정할 수 있도록 설계되었습니다.

concept 빈도 추정을 위한 두 가지 단계

Step 1: Deriving synonyms for target concepts.

텍스트 데이터에서 중요한 문제는 다양한 표현(lexical variation)입니다. 같은 concept이라도 “sneaker”는 “running shoes”, “athletic footwear” 등의 여러 방식으로 표현될 수 있습니다. 이를 해결하기 위해 저자는 ChatGPT와 같은 LLM 모델에 “What are some common ways of referring to {concept}?”의 질문을 사용해 동의어 목록을 생성했습니다. 이렇게 생성된 동의어 목록을 기반으로 사전 학습 데이터에서 해당 동의어를 포함한 텍스트를 검색해 결과적으로, LAION-2B 데이터셋에서 ImageNet의 1,000개 concept을 대상으로 4억 개의 텍스트를 검색합니다.

Step 2: Filtering out irrelevant pretraining texts

하지만 간단한 문자열 검색만으로는 정확도가 낮을 수 있습니다. 예를 들어 “tiger”라는 concept은 “Panthera tigris, a large, striped Asian cat”로 정의되지만, 검색된 텍스트에서 “tiger shark swimming in water” 또는 “Tiger Woods, a famous golf player”처럼 완전히 다른 맥락의 텍스트를 포함할 수 있습니다. 이를 해결하기 위해 Llama-2와 같은 최신 LLM에게 “Does {concept} in the {caption} refer to {definition}?”과 같이 질문하여 텍스트의 관련성을 판단합니다. 이러한 과정을 거쳐 관련이 없는 텍스트를 모두 제거한 후, 남은 텍스트만을 사용하여 concept의 빈도를 추정했습니다.

2.2 Discussions and Remarks

Human-in-the-Loop Validation

VLMs의 사전 학습 데이터에는 concept의 정답 라벨이 포함되어 있지 않기 때문에, LLM이 관련 없는 텍스트를 정확히 필터링하는지 수동으로 검증하는 과정이 필요합니다. 이를 위해 저자는 small validation set을 구축하고, LLM의 concept 정의를 최적화하는 과정을 거쳤습니다.

먼저, 각 concept당 32개의 이미지-텍스트 쌍을 포함한 small validation set을 생성했습니다. 이를 기반으로 Llama-2 모델을 사용해 concept 정의를 반복적으로 조정하여, 검증 데이터셋에서 retrieval precision을 85% 이상으로 끌어올렸습니다.

예를 들어, ImageNet의 “samoyed”라는 클래스는 개 품종을 나타내는데, “a breed of large white herding dog with a thick coat, native to the Ural Mountains”라는 정의가, “a member of a people inhabiting northwestern Siberia”보다 더 정확한 검색 결과를 낼 수 있음을 확인했습니다. 이러한 과정을 통해 각 concept의 정의를 개선하고 필터링 정확도를 향상시켰습니다.

The prevalent long tails in VLMs.

저자는 LAION-400M과 LAION-2B와 같은 사전 학습 데이터셋에 visual concept의 long-tailed distribution이 존재한다는 사실을 밝혀냈습니다. 이러한 long-tailed 분포는 인터넷 데이터가 본질적으로 long-tailed 구조를 따르기 때문에, OpenCLIP, CLIP, MetaCLIP과 같은 모델들이 ImageNet에서 공통적으로 성능 불균형을 보이는 이유를 설명합니다.

이 경향은 Flowers와 Pets를 포함한 8개의 다양한 벤치마크에서도 동일하게 나타나며, VLMs의 성능 불균형이 특정 데이터셋에 국한된 문제가 아니라는 점을 보여줍니다. 특히, rare concept에 대한 연구는 최신 멀티모달(GPT-4Vision, DALL-E 3)에서도 여전히 처리에 어려움을 겪고 있다는 점을 강조하고 이를 해결하기 위한 새로운 접근법의 필요성을 보여주고 있습니다.

Are long tails inevitable in large-scale data curation?

CLIP과 MetaCLIP은 데이터를 구축할 때 balance한 샘플링 전략을 사용했음에도 불구하고 rare concept에 대한 데이터는 여전히 부족하다고 합니다. 예를 들어, 각 검색 쿼리에서 최대 20,000개의 이미지를 수집하려 했지만, 실제 평균은 약 1,200개에 불과하다고 합니다. 특히, “tailed frog”, “gyromitra”, “poke bonnet”과 같은 rare concept은 50개 미만의 샘플만 존재하는 경우도 있었습니다. 이는 인터넷에서 자주 등장하지 않는 concept은 데이터를 충분히 확보하기 어렵다는 점을 보여줍니다.

또한, query-based balancing 한계도 문제로 드러났습니다. 쿼리당 샘플을 균형 잡는다 해도 전체 concept의 균형을 보장하지 못했습니다. 예를 들어, “sneaker”와 “running shoes”처럼 중복된 쿼리가 특정 concept을 과도하게 표현할 수 있습니다. 게다가, 하나의 쿼리로 검색된 샘플에는 다른 concept이 함께 포함되는 경우가 많습니다. 예를 들어, “keyboard”를 검색한 결과물에는 “mouse”와 “computer”가 자주 같이 등장할 수 있습니다. 이러한 현상은 데이터의 진정한 균형을 방해하고 특정 concept의 비중을 왜곡할 수 있습니다. 결과적으로, 인터넷 데이터의 구조적 특성과 샘플링 전략의 한계는 long-tailed 분포를 가질 수 밖에 없으며 이는 VLMs의 성능 불균형 문제를 심화시키는 원인이 됩니다.

3. Retrieval-Augmented Learning

저자는 zero-shot recognition에서 VLMs의 성능 편향 문제를 해결하기 위해, REtrieval-Augmented Learning (REAL)을 제안합니다. REAL은 다운스트림 태스크의 데이터를 사용하지 않고, 사전 학습 데이터에서 target concept과 관련된 데이터를 검색하여 성능을 개선하는 방법입니다. REAL은 REAL-PromptREAL-Linear를 포함하고 있습니다. REAL-Prompt는 프롬프트 생성 방식을 새롭게 개선한 방법입니다. REAL-Linear는 사전 학습 데이터에서 concept과 관련된 이미지를 검색하여, balanced subset 데이터셋을 구성하고 이를 활용해 선형 분류기를 학습하는 방법입니다.

3.1 REAL-Prompt for Zero-Shot Prompting

저자는 위의 분석을 통해, 특정 concept의 동의어가 사전 학습 텍스트에서 원래 concept 이름보다 더 자주 등장할 수 있다는 점을 발견 했고 이를 활용하기 위해 가장 자주 등장하는 synonym을 사용하여 프롬프트를 생성하는 방법을 제안했습니다.

구체적인 과정은 다음과 같습니다.

  1. LLM으로 synonym 생성
    • ChatGPT를 사용해 각 concept에 대한 모든 synonym 목록을 생성합니다.
    • “tiger” → “big cat”, “Panthera tigris” 등.
  2. synonym의 빈도 계산
    • 사전 학습 텍스트에서 각 synonym이 얼마나 자주 등장하는지 string matching을 통해 확인합니다.
  3. 프롬프트 생성
    • 가장 자주 등장하는 synonym을 사용해 프롬프트를 생성하고, 이를 기반으로 zero-shot recognition을 위한 분류기를 학습시킵니다.

Synonym filtering using OpenCLIP’s text encoder

하지만 위에서 LLM이 생성한 synonym 중 일부가 다른 concept과 혼동될 가능성이 있습니다. 따라서 이 가능성을 줄이기 위해 OpenCLIP 텍스트 인코더를 활용해 synonym과 원래 concept 이름 사이의 코사인 유사도를 계산하고, 가장 관련성이 높은 synonym만 유지하는 추가적인 필터링 과정을 거칩니다. 이렇게 생성된 프롬프트는 기존의 concept을 사용했을때 보다 더 높은 제로샷 정확도를 달성할 수 있었다고 합니다.

3.2 REAL-Linear for Linear Classifier Training

REAL-Linear는 target concept과 관련된 사전 학습 데이터에서 검색된 이미지를 활용하여 성능을 향상시키는데 과정은 그림 4에 나와있습니다.

Step 1: Retrieving data using concept synonyms.

먼저 concept에 대해 이전 REAL-Prompt에서 생성된 concept synonym을 포함한 텍스트 캡션을 가진 사전 학습 데이터(LAION)를 검색합니다. 검색된 데이터는 캡션과 모든 concept synonym의 평균 피처를 사용해 코사인 유사도로 정렬합니다. 이후, 각 concept당 상위 순위에 500개의 이미지를 선택하여 class-balanced dataset을 구성합니다.

Step 2: Training a robust linear classifier.

사전 학습 데이터와 다운스트림 태스크 간의 domain gap를 해결하기 위해, cross-modal adaptation 기법을 활용하는데, 검색된 이미지와 concept을 VLM이 만든 임베딩을 바탕으로 linear classifier W를 학습시킵니다.
이후, REAL-Prompt에서 생성된 제로샷 분류기 Wzs와 ensemble하여 최종 분류기 W‾ 를 사용합니다.

4. Experimental Results


4.1 Experimental setup

Datasets and metric

REAL의 성능은 클래스별 평균 정확도를 기준으로 평가했고 사용된 데이터셋은 다음과 같습니다:

  • classification 데이터셋: ImageNet, Flowers, Cars, Aircraft, Pets, Food, DTD, EuroSAT, CUB.
  • out-of-distribution (OOD): ImageNet-V2, ImageNet-Adversarial, ImageNet-Rendition, ImageNet-Sketch.

Compared methods

저자는 “{concept}”, “a photo of {concept}”, OpenAI의 hand-engineered templates과 같은 다양한 프롬프팅으로 실험을 진행합니다. 또한 DCLIP, CuPL와 같이 LLM을 활용해 프롬프트를 생성하는 방식과도 비교을 진행합니다. 마지막으로 VLM의 특징을 사용하여 데이터를 검색하고 contrastive finetuning을 수행하는 retrieval-augmented SOTA REACT와 저자의 방법을 비교합니다.

4.2 Results

Using frequent synonyms improves zero-shot recognition.

Table 1의 결과를 보시면 REAL-Prompt가 ImageNet에서의 성능을 제외하고 모든 데이터셋에서 가장 좋은 성능을 보이는 것을 확인할 수 있습니다. DCLIP, CuPL은 GPT를 사용해 visual description을 생성하지만, REAL-Prompt는 원래 concept 이름을 사전 학습 데이터에서 가장 자주 등장하는 동의어로 대체하는 간단한 방법만으로도 성능이 크게 향상되었습니다. 이는 프롬프트에 사용되는 concept을 재검토할 필요가 있다는 것을 보여주는 결과입니다. 또한 REAL-Prompt는 cost측면에서도 훨씬 효율적인데 DCLIP과 CuPL은 ChatGPT를 사용해 각각 1,000개의 concept에서 50,000개와 500,000개의 토큰을 생성하지만, REAL-Prompt는 단 10,000개의 토큰만 사용한다고 합니다.

REAL-Linear achieves the state-of-the-art.

Table 1의 하단에서는 REAL-Linear가 retrieval-augmented SOTA REACT와의 비교에서 8개의 벤치마크를 평균한 Avg에서 약 3% 높은 정확도를 보여주었다고 합니다. 이는 REACT가 concept당 10,000개의 이미지를 사용하는 반면에 REAL-Linear는 500개의 이미지만 사용하여 달성한 결과입니다.

REAL improves accuracy on tail classes

Table 2에서는 REAL은 ImageNet과 9개 데이터셋 평균에서 빈도가 낮은 tail과 (하위 20%)와 빈도가 높은 head(상위 80%) 모두에서 성능이 개선된 모습을 보여주고 있습니다.

REAL benefits existing zero-shot methods

REAL은 기존 제로샷 방법에도 적용하여 성능을 향상시킬 수 있는 모습을 보여주고 있습니다. Table 4를 보시면 REAL-Prompt가 생성한 동의어를 DCLIP과 CuPL 같은 LLM 기반 프롬프트 템플릿에도 적용시켜 성능을 향상 시킬 수 있음을 보여줍니다.
또한 Table 5에서 REAL-Linear는 REACT로 finetuning된 OpenCLIP 모델에서도 동작해 성능을 개선시킬 수 있음을 보여줍니다.

Ablation studies for REAL-Linear.

다음은 Ablation study 결과입니다.

Table 9의 실험에서는 원래 concept만 사용하는 경우와 모든 동의어를 함께 사용하는 경우를 비교했습니다. 실험 결과, 모든 동의어를 활용했을 때 더 다양한 사전 학습 데이터를 활용할 수 있어 모델 학습에 유리하다는 것을 보여줍니다.

Improving image synthesis using REAL-Prompt

마지막으로 그림 5에서는 DALL-E 3와 SD-XL 같은 생성 모델이 일부 rare concept에 대해 올바른 이미지를 생성하지 못할 수 있음을 보여주는데 이를 REAL-Prompt를 통해 해결할 수 있음을 보여주고 있습니다.

5. Conclusions

VLMs의 학습 데이터에서 나타나는 long-tailed 분포는 제로샷 학습의 성능 불균형을 유발하는 핵심 요인입니다. 저자는 LLM을 활용한 분석을 통해 VLMs의 사전 학습 데이터에서 concept 빈도를 측정했습니다. 이를 통해 concept들이 long-tailed 분포를 가진다는 것을 확인했고, 이 분포가 VLMs의 불균형 성능과 연관되어 있음을 밝혔습니다. 이 문제를 해결하기 위해 REAL이라는 새로운 학습 방법을 제안하였는데, REAL-Prompt는 프롬프트를 개선하여 성능을 높이고, REAL-Linear는 균형 잡힌 데이터셋으로 더 효율적인 분류기를 학습시켰습니다. 결과적으로 이 방법들은 VLMs의 불균형 문제를 해결할 뿐만 아니라, 생성 모델에서도 더 정확한 이미지를 생성하도록 도와줌을 보여주고 있네요.

Author: 정 의철

1 thought on “[2024 CVPR] The Neglected Tails in Vision-Language Models

  1. 안녕하세요 정의철 연구원님 리뷰 잘 봤습니다

    근본적인 질문이 하나 있어 질문 남겨두겠습니다.
    “같은 concept이라도 다양한 표현으로 나타나는게 문제” 라고 하셨는데,
    concept은 어떻게 정의하나요? 단순히 명사 구를 다 concept이라고 하는건가요?

    Introduction에서 “VLM이 특정 클래스(예: night snake)에서는 10%”라는 tail class에 대해서는 엄청난 성능 하락을 보여줬다고 하셨는데, 이렇게 극단적인 tail class에 대한 성능 변화를 보인 결과는 없나요? table2에서 tail 에 대해서 성능 평가를 하긴 했으나, 기존 CLIP에 비해 엄청나게 큰 성능 향상이 보인 건 아닌 것 같아서 개별 class에 대한 실험은 없는지 질문드립니다

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다