본문 바로가기

NLP/논문이해

[논문이해] VeCLIP: Improving CLIP Training via Visual-enriched Captions

논문명: VeCLIP: Improving CLIP Training via Visual-enriched Captions

논문 링크: https://arxiv.org/abs/2310.07699

 

VeCLIP: Improving CLIP Training via Visual-enriched Captions

Large-scale web-crawled datasets are fundamental for the success of pre-training vision-language models, such as CLIP. However, the inherent noise and potential irrelevance of web-crawled AltTexts pose challenges in achieving precise image-text alignment.

arxiv.org


 

문제점 1: AltText 는 정말 별로야

논문에는 예시가 6가지나 있으나 2개만 잘라왔다

  • CLIP 같은 모델들은 웹에서 대용량으로 크롤링한 데이터셋을 사용해서 성능을 올렸음
  • 그런데 크롤링한 데이터셋에서 AltText(대체 텍스트)가 이상한 경우가 많음. 불필요한 요소들이 있거나(noisy), 관련 없거나(irrelevant), 정보를 담고 있지 않음(uninformative). 그리고 그림을 제대로 묘사하지 못하기도 함

 

Can we devise a scalable and costeffective pipeline to improve captions within these noisy datasets at scale (e.g., up to million or billion level)?

이런 데이터들을 효과적이면서도 방대하게 개선할 수 있는 방법은 없을까?에 대한 해결책이 이 논문이다.

 

문제점 2: LLM도 못 말리는 대체 텍스트(AltText)

: 위 그림을 다시 보라. LLM이 대체 텍스트만 보고 최대한 다듬고, 풍성하게 수정했으나 그래봤자 이미지를 대변하지 못한다. LLM은 효율적이면서도 방대한 양을 소화할 수 있지만, 성능이 시원치 않다. 게다가 LLM의 rewriting, rephrasing 은 단조롭다. 즉, 다양성하게 생성하지 못하므로 다양성 측면에서도 성능을 저하시킬 염려가 있다.

 

이 방법론으로 성능 향상을 시도한 논문이 LaCLIP 이라고 한다. 

 

NeurIPS 2023 이 되었다니...LLM 시대 부럽다!

  • ChatGPT로 재작성한 자막을 사용했더니 성능이 오르더라가 결론이다
  • 하지만 위에서 말했듯이 well-written, 즉 이미 훌륭하게 작성된 자막은 가능한데 질이 떨어지는 대체텍스트는 이 방법을 사용해도 무용지물이라고 한다

 

해결책: LLaVA 불러와

  • LLaMA 의 등장 이후, 이미지/비디오도 함께 입력할 수 있는 모델이 등장했다
  • 본 논문의 저자는 LLaVA 를 활용하여 이 문제를 해결하면 어떨까라는 발상을 떠올렸다고 한다

 

그럼 이제 논문 제목을 다시 보자.

 

Improving CLIP Training via Visual-enriched Captions

 

Visual-enriched Captions, 즉 이미지 정보가 풍부하게 담긴 자막을 LLaVA를 통해 생성하여 CLIP 학습법을 개선하고자 한다.

 

 

방법론

  1. LLaVA: 대체텍스트는 보여주지 않는다. 오로지 이미지만 주고 최대한 visual concepts, 즉 시각 정보들을 텍스트 형태로 추출한다. LLaVA는 멀티모달에 특화된 모델이니, 딱 여기까지만 사용한다
  2. LLM: 거대언어모델부터 대체텍스트를 볼 수 있다. LLaVA가 생성한 detailed captions 과 함께 입력하여 윤리적인 문제가 있는지 먼저 검증한다. 

 

이렇게 거대언어모델을 사용하면 3가지 이점이 있다고 한다.

  • 대체텍스트에 있는 정보를 보존하면서도 풍성한 정보를 담아낼 수 있다.
  • 텍스트를 텍스트로 reconstruction 은 LLM의 특화분야다. 즉, 이런 증강에선 강력한 효과를 보인다.
  • hallucination, 즉 없는 정보를 담아내는 위험을 제거할 수 있다.

 

LLM은 Vicuna-1.1 을 사용했다고 한다. ChatGPT, Bard 는 비용 및 라이센스 문제가 있어서 사용하지 않는다고 밝혔다. LLM을 사용할 때 다음과 같은 원칙을 지켰다고 한다.

 

  • Caption generated from LLaVA, AltText 와 함께 LLM이 우리가 하는 게 무엇인지 명확하게 이해할 수 있는 프롬프트를 준다. 이때 프롬프트는 LLM이 기존에 학습해왔고 잘 하는 방식으로 주는 게 좋다.
  • prompt 를 줄 때, 여러 제약 조건을 둔다. 가령 명사 형태로 생성해달라고 하거나, 'the image' 라는 표현을 지양해달라거나, 시각적인 정보들을 되도록 다 살려달라거나 등.
  • 그리고 하나씩 입력하는 게 아니라 프롬프트에 여러 개 예시를 한번에 넣어서 효율성을 증대했다고 한다.

최종 프롬프트는 이렇게 생겼다.

Rephrase the following two sentences into one short sentence while adhering to the provided instructions:
- Place attributes before noun entities without introducing new meaning.
- Do not start with “The image”.

1. AltText:
2. model generated caption:

1. AltText:
2. model generated caption:

1. AltText:
2. model generated caption:

 

 

이렇게 하면 2가지 문제가 있을 수 있는데, 그건 이렇게 대처했다고 한다.

  1. 대체 텍스트가 폭력적/성적 등 윤리적으로 어긋난다면? 대체 텍스트를 빼고 생성한 자막만 넣는다.
  2. 대체 텍스트와 생성한 자막을 둘 다 반영하려니 길이가 길어진다면? 대체 텍스트를 빼고 생성한 자막만 넣는다.

 

 

또, 문제가 있다. 바로 위에서 언급했던 LLM 의 성향/스타일이 일정해서 데이터가 편향되고 단조로워질 수 있다는 점. 이 점을 해결하기 위해 mixed training scheme 을 제시한다.

 

  • 진짜아아 별 거 없는 게, xT 는 기존 대체 텍스트이며, xTl 은 최종적으로 생성된 자막이다
  • 이걸 uniform, 즉 50% 확률로 쓸지 말지 결정해서 쓸 수도 있고 안 쓸 수도 있다고 한다
  • 이렇게 하면 모델이 힘들 때마다 거대 멀티모달 모델의 지식을 쓱 보면서 성장할 수 있다고 한다
  • 그 이외에 건든 건 아예 없다고 한다. CLIP 이랑 나머지 부분은 아예 동일해서 아이디어가 간단하다고 주장한다

(솔직히 100% 다 쓰는 것보다 50% 섞어서 쓰는 게 성능이 더 좋아서 이렇게 했겠지?)

 

 

실험

  • 위에서부터 4개는 기존에 있던 모델들의 성능인 것으로 보인다
  • 그리고 나머지는 Data 의 크기를 늘려가며 성능을 비교했다 (3M, 12M, 100M, 200M, 300M)
  • 일단 기존 CLIP 에 비해 항상 VeCLIP 이 상당한 성능을 보인다.
  • 심지어 데이터셋 개수가 증가할수록 성능이 올라가는 현상 역시 유지된다.
  • 오른쪽 아래 상승폭은 줄어들었다고 할 수 있는데, 97%에서 99%로 올리는 건 진짜 어려운 일이라서 효과가 오히려 더 좋다고 볼 수 있다.
  • 또, 위의 4개 모델은 데이터를 많이 사용하는데 VeCLIP은 적은 데이터셋으로도 더 나은 성능을 보여서 효율적/효과적이라고 저자는 강조한다

 

image to image Retrieval

  • 이미지로 이미지를 검색하는 건 개인적으로 처음 봤다
  • 처음엔 텍스트에 관심 있는 나로서는 넘길까 하다가 오히려 멀티모달의 관점에선 흥미로운 결과인 것 같아서 넣었다
  • 첫번째로 성능 향상이 골고루 있었다는 점에서 텍스트의 품질 개선이 이미지 임베딩에도 좋은 영향을 미친다는 점
  • 두번째로는 Sketch 분야에서 특히 큰 성능 향상이 있었는데, VeCLIP 방법론이 이미지 정보를 효과적으로 반영한다는 중요한 지표라고 볼 수 있다는 점

 

  • CLIP 에서 했던 것처럼 [The photo of ~~] 라는 프롬프트를 넣어서 분류한 결과다
  • CLIP 보다 성능을 개선한 걸 확인할 수 있다
  • 개인적으로 200M 까지 오니, 큰 성능 향상은 없어서 품질보다 양이라는 생각이 들기도...

 

  • 나는 다른 방법이랑도 친하게 지낼 수 있어! 라고 말하는 실험이다
  • DFN 이라는 방법이 있나보다. 나도 잘 모르는데, 둘이 합쳤더니 성능이 더 오르더라 ~~
  • 저자가 말하고 싶은 것은 VeCLIP 은 상호보완적인 방법론으로도 사용가능하다, 범용성이 좋다는 점
  • 그리고 크기가 커질수록 성능이 좋아지는 scaling law 역시 적용된다는 점

 

  • VeC: LLaVA 가 생성한 자막
  • VeCap: VeC를 LLM 이 최종적으로 검토하여 생성한 자막
  • 확실히 LLM 이 검토하니 조금 더 나아진 것 같기도 하다

 

  • Training Sampling: VeCap 을 무조건 쓰는 건 아니다. 그리고 그 전에 AltText(대체 텍스트)가 이미지마다 1개가 아니라 여러 개 일 수 있다고 한다. 그때 무엇을 사용할지 선택하는 기준이 있다.
  • HCS: Highest CLIP score, CLIP 기준 대체 텍스트 중 가장 좋은 점수를 받은 걸 사용한다고 한다.
  • random: 그냥 아무거나 하나 골라서 사용한다.
  • mixed: 본 논문에서 제시했듯이 대체 텍스트를 쓸지, VeCap 을 쓸지 uniform 하게 (동전 앞면 뒷면 맞추기) 결정한다.
  • 그 결과, mixed 와 random 을 섞는 게 가장 좋다고 한다.