[NeurIPS 2024] SUGARCREPE++ Dataset: Vision-Language Model Sensitivity to Semantic and Lexical Alterations

저는 최근 VLM의 일반화 능력에 관한 논문을 보면서, 막연하게 “VLM은 유의어나 서로 다른 표현을 같은 의미로 이해할 수 있을까?”라는 의문을 가지고 있었습니다.

이러한 의문이 들었던 이유는 기존 연구에서 VLM이 문장의 구조와 의미를 충분히 이해하기보다, 문장에 포함된 단어를 Bag-of-Words처럼 처리한다는 문제가 꾸준히 등장했기 때문입니다. 즉, 문장을 구성하는 단어는 거의 같지만, 객체와 속성 등이 달라지면 의미가 완전히 바뀌는데도 VLM이 이를 제대로 구분하지 못한다는 거죠

그렇다면 반대의 경우는 어떨까요? 서로 다른 단어와 표현으로 작성된 문장을 동일한 의미로 받아들이는 것 역시 어려울 수도 있겠다는 생각이 들었습니다. 실제로 한국어만 보더라도 같은 장면을 두고 ‘자동차 옆에 사람이 서 있다’와 ‘차량 곁에 한 사람이 서 있다’, 또는 ‘컵이 탁자 위에 놓여 있다’와 ‘잔이 테이블 위에 올려져 있다’처럼 전혀 다른 어휘와 표현을 사용할 수 있습니다. 사람에게는 자연스럽게 같은 의미로 받아들여지는 문장이지만, VLM의 embedding에서도 과연 가깝게 표현될지는 확신하기 어렵지 않을까 싶더군요

그러다 발견한게 이 논문입니다. (역시 저와 같은 고민을 한 연구자가 과거에 있었네요.) 해당 논문에서는 VLM의 일반화 능력 중 어휘 및 의미적 변형을 살펴보기 위한 SUGARCREPE++ 라는 데이터셋을 제안하였습니다. 본격적으로 살펴보겠습니다.



1. Limitation of the previous Benchmark

모델의 일반화 능력을 평가하기 위해 가장 많이 요구되는 능력이 바로 compositionality 입니다. 기존의 VLM compositionality 벤치마크는 주로 문장을 구성하는 단어는 비슷하지만 의미가 다른 hard negative를 모델이 구분할 수 있는지 평가해 왔습니다.

예를 들어, 이미지에 맞는 문장이 다음과 같다고 해보겠습니다.

  • Positive: A dog is chasing a cat.
  • Negative: A cat is chasing a dog.

두 문장은 dog, cat, chasing이라는 동일한 단어로 구성되어 있지만, 주체와 객체의 역할이 바뀌면서 의미는 완전히 달라집니다. 모델이 문장의 구조와 의미를 올바르게 이해한다면 이미지와 일치하는 첫 번째 문장에 더 높은 점수를 부여해야 합니다.

기존 벤치마크인 *SugarCrepe 역시 이러한 방식으로 이미지와 일치하는 positive caption과, 일부 객체/속성/관계를 변경한 hard negative caption을 함께 만드는 방식을 사용했습니다. 이를 통해 모델이 단순히 특정 객체 단어가 등장하는지만 확인하는 것이 아니라, 객체와 속성의 연결이나 객체 사이의 관계까지 이해하는지를 평가한거죠.
*SugarCrepe: SugarCrepe: Fixing Hackable Benchmarks for Vision-Language Compositionality, NIPS 2023.

하지만 이러한 평가만으로는 모델이 문장의 의미를 제대로 표현하고 있다고 단정하기 어렵다고 합니다. 기존 벤치마크는 대부분 비슷한 단어로 구성된 두 문장의 의미가 서로 다르다는 것을 구분하는 능력에 초점을 맞추고 있기 때문입니다.

반대로 다음 두 문장은 어떨까요?

  • A dog is chasing a cat.
  • A canine is running after a feline.

두 문장은 사용된 단어와 표현은 다르지만 의미는 같습니다. 의미를 중심으로 문장을 이해하는 모델이라면 두 문장을 유사하게 표현해야 하지만, 단어의 표면적인 일치에 의존하는 모델이라면 오히려 서로 다른 문장으로 판단할 수 있습니다.

즉, VLM의 의미 이해 능력을 평가하기 위해서는 다음 두 가지 능력을 함께 확인해야 합니다.
첫째, 단어가 비슷하더라도 의미가 달라지면 이를 구분할 수 있어야 합니다.
둘째, 단어와 표현이 달라지더라도 의미가 같다면 이를 동일하게 이해할 수 있어야 합니다.

기존 SugarCrepe가 첫 번째 능력인 의미 변화에 대한 민감도를 평가했다면, 의미를 유지한 어휘 및 표현 변화에 대한 강건성은 충분히 다루지 못했습니다. 따라서 저자들이 제안하는 SUGARCREPE++는 바로 이 한계를 보완하기 위해, 기존의 positive caption과 hard negative caption에 더해 의미는 같지만 표현이 다른 새로운 positive caption을 추가하였다고 합니다.

2. SUGARCREPE++

저자가 제안하는 SUGARCREPE++는 기존 SugarCrepe의 positive caption P_1과 hard negative caption N에, 의미는 같지만 서로 다른 어휘와 표현으로 작성된 두 번째 positive caption P_2를 추가합니다.

예를 들어 다음과 같이 구성됩니다.

  • P_1: A man is standing next to a car.
  • P_2: A person is positioned beside an automobile.
  • N: A car is standing next to a man.

P_1P_2는 사용된 단어는 다르지만 동일한 장면을 설명합니다. 반면 P_1N은 대부분의 단어를 공유하지만, 객체의 역할이 바뀌면서 의미가 달라집니다.

따라서 모델이 단어의 표면적인 유사성에 의존한다면 P_1N을 가깝게 판단할 수 있지만, 문장의 의미를 이해한다면 P_1P_2를 더 유사하게 표현해야 합니다.

정리하면 SUGARCREPE++는 하나의 이미지에 대해 다음 세 문장을 함께 제공합니다: (I,;P_1,;P_2,;N). (위에 이미지를 함께 보면 이해가 좋을 것 같네요)

이를 통해 모델이 의미가 달라지는 변화에는 민감하게 반응하면서도, 의미를 유지한 어휘 및 표현 변화에는 일관된 판단을 내릴 수 있는지를 동시에 평가할 수 있습니다.

3. Evaluation: ITT & TOT

SUGARCREPE++는 하나의 데이터로 VLM 전체와 text encoder를 각각 평가하기 위해 ITT와 TOT라는 두 가지 평가 방식을 사용하였습니다.

3.1 ITT

먼저 Image-to-Text Task(ITT)에서는 이미지와 세 caption을 함께 입력합니다. P_1P_2가 모두 negative caption N보다 이미지와 높은 유사도를 가져야 정답으로 처리됩니다. 수식으로는 다음과 같습니다: ITT_{hit}

3.2 TOT

반면 Text-Only Task(TOT)에서는 이미지를 제외하고 세 caption만 비교합니다. 서로 다른 표현의 P_1P_2가 양방향에서 모두 N보다 가깝게 표현되어야 정답입니다. 수식으로는 다음과 같습니다: TOT_{hit}

정리하면, 아래와 같습니다
ITT: 이미지–문장 정렬 평가 (VLM의 의미 이해 능력)
TOT: 문장 간 의미 표현 평가 (어휘 차이를 넘어 동일한 의미를 표현하는지)

4. Dataset Construction

SUGARCREPE++는 기존 SugarCrepe의 이미지 I, positive caption P_1, hard negative N을 바탕으로 구축했다고 합니다. 먼저 instruction-tuned Mistral 7B를 사용하여, P_1과 의미는 같지만 표현이 다른 새로운 caption P_2를 생성합니다.

생성된 P_2는 별도의 validator LLM을 통해 P_1과 의미가 일치하는지 검사하는 과정이 있었고, 일치하지 않으면 다시 생성하였습니다. 그리고 두 명의 사람(?) 전문가가 전체 caption과 이미지의 적합성을 최종 검수하는 절차까지 있었다고 하네요. 그 과정에 대한 수도 코드는 위에 알고리즘에도 나와있었습니다.

이렇게 해서 최종 데이터셋은 Swap Object, Swap Attribute, Replace Object, Replace Attribute, Replace Relation의 5개 유형, 총 4,757개 샘플로 구성됩니다. Add Object와 Add Attribute는 이미지 없이 negative를 판별하기 어려워 TOT 평가에서 사용할 수 없으므로 제외되었습니다.

5. Experiments

5.1 VLM은 객체 교체보다 구조적 변화에 취약

대부분의 VLM은 객체 자체를 바꾸는 Replace Object에서는 비교적 높은 성능을 보였습니다. 반면 객체나 속성의 연결을 뒤바꾸는 Swap Object·Swap Attribute, 객체 사이의 관계를 변경하는 Replace Relation​에서는 성능이 크게 하락했습니다.

즉, VLM은 어떤 객체와 속성이 등장하는지는 잘 포착하지만, 각 요소가 서로 어떻게 연결되어 있는지를 이해하는 데에는 여전히 어려움이 있었다고 합니다. 또한 모든 유형에서 사람과 큰 성능 차이가 나타나기도 했죠.

5.2 Text encoder가 Bottleneck

대부분의 모델은 이미지와 문장을 함께 비교하는 ITT보다, 문장만 비교하는 TOT에서 더 낮은 성능을 보였습니다.

이는 이미지가 의미를 판단할 수 있는 추가적인 단서를 제공하는 반면, text encoder 자체는 표현이 다른 두 문장의 의미적 동등성을 충분히 포착하지 못한다는 것을 보여줍니다. 실제로 TOT 성능이 높은 모델은 ITT에서도 상대적으로 좋은 성능을 보였습니다.

5.3 기존 compositionality 성능이 일반화 능력을 보장하지 않음

NegCLIP과 CLIP-SVLC처럼 text encoder를 직접 강화한 방법은 CLIP보다 좋은 성능을 보였습니다. 특히 TOT 성능이 함께 향상되면서 ITT 성능도 개선되었습니다.

반면 BLIP-SGVL이나 CyCLIP처럼 기존 compositionality benchmark를 위해 제안된 모든 방법이 SUGARCREPE++에서도 향상된 것은 아니었습니다. 일부 compositionality 개선 모델은 hard negative를 잘 구분했지만, 의미가 같은 paraphrase를 일관되게 인식하는 데에는 오히려 취약했죠

즉, 의미가 다른 문장을 구분하는 능력표현이 달라도 같은 의미로 이해하는 능력은 서로 다른 평가 축이라는 것을 의미합니다. 막연하게 그렇게 생각만 했던 결과인데 실제로 보여줬다는 게 인상적이네요

5.4 모델 크기만으로는 문제가 해결되지 않음

더 큰 모델이 항상 lexical variation에 강한 것은 아니었습니다. 모델 크기 증가보다 충분한 학습 데이터와 다양한 학습 objective를 함께 사용한 모델들이 상대적으로 좋은 성능을 보였습니다.

그러나 가장 성능이 높은 모델조차 사람과는 여전히 큰 차이를 보였으며, 특히 Swap과 Relation 유형에서는 이러한 격차가 더욱 두드러졌습니다.

5.5 기존 SugarCrepe 성능은 의미적 일반화를 보장하지 않음

ALBEF와 XVLM은 기존 SugarCrepe에서 CLIP보다 높은 성능을 기록했지만, SUGARCREPE++에서는 오히려 CLIP보다 낮은 성능을 보였습니다.

즉, 단어가 유사한 positive와 negative를 잘 구분한다고 해서, 표현이 달라진 동일 의미의 문장까지 일관되게 이해한다고 볼 수는 없습니다. 기존 2-way 평가만으로는 드러나지 않던 문제가 SUGARCREPE++의 3-way 평가에서 확인된 것입니다.

5.6 Text-only LLM도 같은 문제를 보임

VLM의 text encoder뿐만 아니라 최신 unimodal language model도 Swap Object와 Swap Attribute에서 낮은 성능을 보였습니다. 모델 크기가 증가해도 이러한 문제가 일관되게 해결되지 않았으며, 가장 좋은 모델조차 사람과 큰 차이를 보였습니다.

따라서 lexical form과 semantics를 분리하지 못하는 문제는 VLM에만 국한된 것이 아니라, 일반적인 language representation에서도 나타나는 한계라고 볼 수 있습니다.


이 실험들을 종합하면, 현재 모델은 객체 단어의 존재에는 강하지만, 문장의 구조적 의미와 의미를 유지한 표현 변화에 대해서는 아직 안정적인 representation을 학습하지 못한 것으로 정리할 수 있을 것 같습니다.

6. Conclusion

이제 정리해보겠습니다. SUGARCREPE++의 핵심은 VLM의 의미 이해 능력을 한 방향으로만 평가해서는 안 된다는 점입니다. 좋은 모델이라면 단어 구성이 비슷하더라도 의미가 달라지면 이를 구분해야 하고, 반대로 사용된 단어와 표현이 달라지더라도 의미가 같다면 일관된 representation을 만들어야 합니다.

실험 결과, 현재 VLM은 객체를 다른 객체로 교체하는 변화에는 비교적 잘 대응했지만, 객체의 역할이나 속성의 연결, 관계가 달라지는 구조적 변화에는 여전히 취약했습니다. 또한 기존 compositionality benchmark에서 높은 성능을 보인 모델도 의미를 유지한 표현 변화에는 강건하지 않을 수 있었습니다.

결국 hard negative를 잘 구분하는 능력과 다양한 표현을 같은 의미로 이해하는 능력은 서로 다른 문제입니다. SUGARCREPE++는 이 두 능력을 함께 평가함으로써, 기존 벤치마크만으로는 드러나지 않았던 VLM의 lexical sensitivity를 보여주었다는 점에서 의미가 있던 것 같습니다,


제가 처음 가졌던 의문인 'VLM은 유의어나 서로 다른 표현을 같은 의미로 이해할 수 있을까?' 라는 질문으로 돌아가 보면, 현재 모델은 일부 표현 변화에는 대응할 수 있지만 문장의 의미를 안정적으로 일반화한다고 보기는 어려울 것 같습니다. 특히 paraphrase의 유형을 세분화하지 않았다는 점을 고려하면.. 조금 더 디테일하게 동의어 치환, 관계 표현 변화, 어순 변화와 같은 요소를 각각 통제하여 모델의 실패 원인을 더 구체적으로 분석할 필요가 있지 않을까 싶네요! 리뷰 마치겠습니다.

Author: 홍 주영

Leave a Reply