오늘은 다소 오래된 논문을 하나 리뷰해보려고 합니다. 최근 Winoground 데이터셋을 활용해 간단한 feasibility 실험을 진행했는데, 예상보다 성능이 상당히 저조했습니다. 마침 이러한 Winoground의 낮은 성능이 어디에서 비롯되는지를 분석한 논문이 있어, 그 원인을 함께 살펴보고자 합니다.

- Venue: NIPS 2024
- Authors: Anuj Diwan, Layne Berry, Eunsol Choi, David Harwath, Kyle Mahowald
- Affiliation: The University of Texas at Austin
- Title: Why is Winoground Hard? Investigating Failures in Visuolinguistic Compositionality
- Code: GitHub
0. Background: Compositionality란?
Compositionality는 여러 개의 개별적인 개념을 이해하는 것에서 나아가, 이들이 어떻게 조합되어 전체 의미를 형성하는지를 이해하는 능력을 의미합니다.
예를 들어, 모델이 dog, cat, left라는 개념을 각각 알고 있다고 하더라도,
- a dog to the left of a cat
- a cat to the left of a dog
을 구분하지 못한다면, 개별 object는 인식하지만 이들 사이의 관계와 구조는 제대로 이해하지 못한다고 볼 수 있죠
VLM에서도 이러한 문제가 중요합니다. 이미지와 텍스트에 동일한 object가 등장하더라도, attribute가 어떤 object에 속하는지, object 간 관계가 무엇인지, 단어의 순서가 어떻게 달라지는지에 따라 전체 의미는 완전히 달라질 수 있기 때문입니다.
따라서 VLM의 compositionality 평가는 단순히 이미지와 관련된 단어를 잘 찾는가? 를 넘어, “여러 visual concept과 linguistic concept의 조합까지 정확히 이해하는가?”를 확인하는 문제라고 볼 수 있습니다.
1. Winoground dataset
최근 Vision-Language Model은 image-text retrieval이나 VQA 등 다양한 task에서 높은 성능을 보여왔지만, 이러한 성능이 실제로 문장의 compositional structure까지 이해한 결과인지에 대해서는 꾸준히 의문이 제기되어 왔습니다.
Winoground는 이러한 VLM의 compositionality를 평가하기 위해 제안된 benchmark입니다. 총 400개의 sample로 구성되며, 하나의 sample에는 2개의 이미지와 2개의 caption로 구성됩니다. 특히 두 caption은 동일한 단어를 사용하면서 단어의 순서와 조합만 바꾸어 서로 다른 의미를 표현하도록 설계되어 있습니다.

상단 그림이 바로 예시인데요, 두 캡션 모두 plants, lightbulb 라는 동일한 단어가 등장하지만, 두 문장이 나타내는 관계는 완전히 다릅니다. 따라서 단순히 이미지에 어떤 object가 존재하는지만 파악하는 것으로는 문제를 풀 수 없으며, object 간 관계와 문장의 구조까지 함께 이해해야 합니다.
평가는 Image Score, Text Score, Group Score의 세 가지 metric으로 이루어집니다.
– Image Score는 각 이미지가 대응되는 caption에 더 높은 유사도를 가지는지,
– Text Score는 각 caption이 대응되는 이미지에 더 높은 유사도를 가지는기를 측정하며,
– Group Score는 두 조건을 동시에 만족해야만 하죠
이 때, 각각의 random chance는 Image/Text Score가 25%, Group Score가 약 16.7%입니다.
그런데 당시 CLIP, UNITER, LXMERT 등의 VLM은 사람에게는 비교적 쉬운 이 benchmark에서 random chance를 크게 넘기지 못했습니다. 이에 기존 Winoground 연구에서는 VLM이 실제 문장의 구조를 이해하기보다, 단어의 co-occurrence에 의존해 의미를 파악하고 있는거 아니냐? 라는 의문을 제기했었죠
그런데 이번 논문에서는 다른 의문을 가졌다고 합니다: Winoground에서 낮은 성능이 정말 ‘compositionality’의 실패 라고 볼 수 있는가?
2. Is Winoground Really Hard?
앞서 살펴본 것처럼 Winoground에서 기존 VLM들은 매우 낮은 성능을 보였습니다. 하지만 저자들은 이를 바로 compositionality의 실패로 해석하기 전에, Winoground의 평가 방식 자체가 지나치게 까다로운 것은 아닌지 먼저 확인해보았습니다.
저자들이 주목한 Winoground의 제약은 크게 두 가지입니다.
- 정답 image-caption pair를 반드시 1등으로 구분해야 한다는 점
- 별도의 task adaptation 없이 zero-shot으로 평가한다는 점
따라서 저자들은 이 두 가지 제약을 하나씩 완화하여, 모델의 성능이 어떻게 변화하는지 확인해보았습니다.
2.1 Recall@k

기존 Winoground에서는 위 그림 처럼 두 개의 후보 중 대응되는 pair에 반드시 더 높은 score를 부여해야 합니다. 즉, 의미가 매우 유사한 minimal pair를 반드시 구분해야만 정답으로 인정됩니다.
저자들은 이러한 조건을 완화하여, Winoground의 800개 image와 800개 caption 전체를 대상으로 일반적인 retrieval 평가인 Recall@K를 수행합니다.
여기서 중요한 점은 R@1에서는 여전히 minimal pair를 정확하게 구분해야 하지만, R@2 이상에서는 두 후보를 모두 상위권에 포함시키는 것만으로도 정답이 될 수 있다는 점입니다. 즉, compositional difference를 반드시 구분하지 않더라도 대략 어떤 이미지/문장과 관련되어 있는가는 평가할 수 있습니다.

그 결과 CLIP은 기존 Winoground에서는 매우 낮은 성능을 보였지만, R@10에서는 T2I 81.3%, I2T 78.4%까지 성능이 올라갔습니다. 반면 LXMERT는 조건을 완화해도 여전히 낮은 성능을 보였죠. 즉, 기존 Winoground score만 보면 비슷하게 실패하는 모델들도, 실제로는 Winoground의 image와 text를 전반적으로 이해하는 능력에는 상당한 차이가 존재한다는 것입니다.
이에 따라 저자들은 Winoground에서의 낮은 score가 모두 동일한 종류의 compositionality failure를 의미하는 것은 아닐 수 있다는 결론에 이르렀다고 합니다
2.2 What if We Adapt Models to Winoground?
그렇다면 두 번째 가능성은 zero-shot evaluation 자체가 너무 어려웠던 것은 아닐까? 입니다.
기존 Winoground에서는 모델이 task에 적응할 기회 없이 바로 평가되며, 사람처럼 두 후보를 한 번에 비교하는 것이 아니라 각각의 image-caption pair를 독립적으로 scoring합니다.
이를 확인하기 위해 저자들은 400개의 Winoground sample을 300개 train / 100개 test로 나누고, LXMERT와 UNITER의 representation 위에 4-layer MLP probe를 학습하여 어떤 pair가 더 올바른 match인지 직접 학습시킵니다.

그 결과, 위에 있는 테이블처럼 학습을 통해 Winoground task에 직접 적응시켰음에도 test accuracy는 대부분 chance level인 50% 부근에 머물렀으며, random label로 학습한 control과도 뚜렷한 차이를 보이지 못했습니다.
이 실험에 따른 결론은, 단순히 Winoground가 zero-shot이라서 어려운 것은 아니며, 기존 representation에서 필요한 정보를 쉽게 추출하기 어려울 가능성이 있습니다.
이 두 가지 실험을 통한 결론은… 평가 조건을 완화해도 Winoground의 어려움은 완전히 사라지지 않았습니다.
3. What Makes Winoground Hard?
그럼 도대체 Winoground의 어떤 특성이 모델에게 이렇게 어려운 것일까요?
이 질문을 시작으로 저자들은 Winoground 400개 샘플을 직접 분석해서 6개의 새로운 tag를 만들었습니다. 여기서 tag란 winoground 데이터셋을 어렵게 만드는 요인들입니다. (이 때 하나의 sample에 여러 tag가 붙을 수 있습니다)

위의 그림이 저자들이 제시한 6개의 태그와 예시들입니다. 6개의 태그를 예시와 함께 살펴보겠습니다.
① NonCompositional (30개)
먼저 NonCompositional 은 형태상으로는 동일한 단어를 재배열한 minimal pair이지만, 실제로는 compositional reasoning이 필요하지 않은 경우입니다.

예를 들어 leaves 가 한 문장에서는 명사, 다른 문장에서는 동사로 사용되는 것처럼, 동일한 단어가 서로 다른 의미나 문법적 역할을 갖습니다. Compound, idiom, polysemy 등이 대표적인 사례입니다.
이러한 샘플들은 사실상 동일한 concept의 조합을 제대로 이해하는가? 가 아닌, 사실상 서로 다른 semantic entity를 구별하는 문제에 가깝습니다.

흥미롭게도 CLIP은 이 subset에서는 Text 76.67 / Image 36.67 / Group 33.33으로 다른 subset보다 훨씬 높은 성능을 보였습니다. 즉, 단순히 lexical overlap이 높다는 것 자체가 Winoground failure의 원인은 아니라는 것을 알 수 있습니다.
② AmbiguouslyCorrect (46개)
한 caption이 사실상 두 이미지 모두에 어느 정도 맞는 경우입니다.

사람은 두 image-caption pair를 동시에 비교하여 상대적으로 더 적절한 pair를 선택할 수 있지만, Winoground에서 모델은 각각의 image-caption pair를 독립적으로 scoring합니다. 따라서 모델이 틀린 것이 반드시 composition을 이해하지 못했기 때문이라고 보기는 어렵습니다.
③ VisuallyDifficult (38개)
필요한 정보가
- 너무 작거나
- blurry하거나
- background에 있거나
- low resolution에서 식별하기 어려운
경우입니다.

실제로 이 subset에서 CLIP의 Image Score와 Group Score가 0이었습니다. 이 경우 모델이 틀린 이유를 관계 이해를 못했기 때문이다 라고 주장하기 어렵겠죠?!
④ UnusualImage (56개)
현실에서 보기 어렵거나 일반적인 image-text dataset에서는 거의 등장하지 않을 법한 이미지입니다.

⑤ UnusualText (50개)
학습 데이터에서 거의 보기 어려운 이미지거나, 비문, 어색한 표현, 오탈자 등 일반적인 caption에서 보기 어려운 문장을 포함하는 경우입니다.

예를 들어 논문에서는 사람을 the brave라고 표현하는 것과 같이 사람이 실제 caption으로는 거의 사용하지 않을 법한 표현을 예시로 보였네요
⑥ ComplexReasoning (78개)
단순한 visual composition 이상으로
- counting
- OCR
- 외국어 이해
- 과학 상식
- causal inference
- commonsense
같은 능력이 필요한 경우입니다.

예를 들어 이미지 속 물체의 상태를 보고 어느 컵에 먼저 물이 부어졌는지 추론해야 한다면, 이는 단순히 object 간 spatial relation을 이해하는 compositionality 문제라고만 보기 어렵습니다.
3.1 What About Vanilla Winoground?
그렇다면 위와 같은 추가적인 어려움이 없는 sample만 남기면 어떨까요?
저자들은 어떠한 tag도 부여되지 않은 171개의 sample을 NoTag, 즉 비교적 순수하게 compositionality를 평가하는 Vanilla Winoground로 분류하였습니다.
그런데 중요한 것은 이 subset에서도 모델들의 성능이 여전히 매우 낮았다는 점입니다.
CLIP의 경우 NoTag에서
- Text Score: 30.41
- Image Score: 11.11
- Group Score: 8.19
로 여전히 낮은 성능을 보였습니다. 따라서 저자들의 분석은 단순히 Winoground가 잘못 만들어진 benchmark다. 라는 결론으로 이어지는 것이 아닙니다.
오히려, Winoground에는 compositionality와 무관한 여러 confounding factor가 포함되어 있지만, 이러한 요소를 제외한 sample에서도 모델은 여전히 compositional reasoning에 어려움을 겪는다는 것이 핵심입니다.
특히 CLIP은 compositional reasoning이 필요 없는 NonCompositional subset에서는 상대적으로 잘하지만, 실제 semantic composition을 구분해야 하는 NoTag에서는 다시 성능이 크게 떨어집니다.
tag 정리를 해보자면! 아래와 같습니다 (제가 보려고 정리 좀 했습니다 허허)
| Tag | 개수 | 추가적으로 필요한 능력 |
|---|---|---|
| NonCompositional | 30 | 사실 composition이 필요 없음 |
| AmbiguouslyCorrect | 46 | 후보 간 상대적 비교 |
| VisuallyDifficult | 38 | Fine-grained visual recognition |
| UnusualImage | 56 | OOD visual understanding |
| UnusualText | 50 | OOD linguistic understanding |
| ComplexReasoning | 78 | Commonsense / OCR / reasoning |
| NoTag | 171 | 상대적으로 순수한 compositionality |
4. Is Text Compositionality Really the Problem?
앞선 분석에서 여러 confounding factor를 제외한 NoTag subset에서도 모델은 여전히 낮은 성능을 보였습니다. 그렇다면 정말 모델이 두 caption의 의미 차이를 이해하지 못하는 것일까요?
저자들은 이를 확인하기 위해 Winoground caption의 의미는 유지하면서 표현을 다양하게 바꾼 caption variants를 생성합니다. Synonym substitution, back translation, paraphrase 등을 사용해 기존 minimal pair의 높은 lexical overlap을 줄였습니다.
예를 들어, a human viewing a cat on a screen vs a person who looks at a cat on a screen 처럼 동일한 의미를 여러 표현으로 변형합니다. 자세한 예시는 아래 테이블을 보주세

4.1 Can Models Distinguish the Two Meanings?
이후 각 caption의 variants가 모델의 text embedding에서 서로 구분되는지 probe를 통해 확인하였다고 하는데요

결과적으로 LXMERT와 UNITER는 각각 81.3%, 84.7%의 경우에서 두 semantic group을 linear하게 분리할 수 있었습니다. CLIP은 linear probe에서는 잘 구분되지 않았지만, non-linear MLP를 사용하면 후반 layer에서 80% 이상의 accuracy로 두 의미를 구별할 수 있었습니다.
즉, 모델의 text representation에는 두 caption의 semantic difference가 이미 어느 정도 encoding되어 있습니다.
따라서 Winoground의 실패를 단순히 모델이 word order나 text composition을 이해하지 못하기 때문이라고 설명하기는 어렵습니다. 그럼 이렇게 두 caption을 더 쉽게 구분할 수 있도록 만들어주면, 실제 Winoground 성능도 올라갈까요?
5. Why Do Models Still Fail?
앞선 실험에서 모델의 text representation에는 두 caption의 semantic difference가 어느 정도 존재한다는 것을 확인했습니다.
그렇다면 lexical overlap을 줄인 caption variants를 실제 Winoground 평가에 사용하면 성능도 좋아져야 할 것 같습니다. 하지만 결과는 거의 변하지 않았습니다.

Caption을 훨씬 구분하기 쉬운 형태로 바꾸었음에도 Group Score의 향상은 매우 미미했습니다. 즉, Text에서 두 의미를 구분할 수 있다고 해서, 이를 올바른 이미지와 연결할 수 있는 것은 아닙니다.
이를 바탕으로 저자들은 Winoground failure의 주요 원인이 단순한 text compositionality 부족보다는, text representation의 semantic distinction을 visual information과 제대로 연결하지 못하는 Vision-Language association/fusion 과정에 있을 가능성이 있다고 넘어가게 되었죠.
다시 말하면, Text understanding은 어느 정도 가능하지만 → 이를 올바른 visual evidence에 grounding하는 과정에서 실패할 수 있다 는 것입니다.
6. Findings & Conclusion
이제 정리해보겠습니다. 해당 논문에서는 Winoground에서의 낮은 성능을 단순히 VLM이 compositionality를 이해하지 못하기 때문이라고 해석하는 것에 의문을 가지면서 시작을 했었죠
먼저 Winoground에는 compositionality 외에도 visual difficulty, ambiguous pairs, unusual image/text, complex reasoning 등 다양한 어려움이 함께 포함되어 있음을 보였습니다. 다만 이러한 요소를 제외한 NoTag subset에서도 모델의 성능은 여전히 낮았기 때문에, benchmark 자체의 문제만으로 failure를 설명할 수는 없었습니다.
더 재밌는 부분은 text representation을 분석했을 때, 모델 내부에는 서로 다른 composition의 의미 차이를 구분할 수 있는 정보가 이미 존재했다는 것입니다. 그럼에도 caption의 lexical overlap을 줄여 의미 차이를 더욱 명확하게 만들어주어도 실제 Winoground 성능은 거의 향상되지 않았습니다.
따라서 이 논문에서 말하고자 하는 바는 다음과 같이 정리할 수 있을 것 같습니다
VLM의 compositionality failure는 단순히 text의 구조를 이해하지 못해서 발생하는 문제가 아닐 수 있으며, text에서 표현된 semantic distinction을 적절한 visual evidence와 연결하는 과정이 중요한 bottleneck일 수 있다
결국 Winoground score 하나만으로 모델의 compositionality를 판단하기보다는, text understanding, visual understanding, 그리고 vision-language grounding을 분리해서 분석할 필요가 있다는 것이 이 논문이 주장하는 바가 아닐까 싶습니다.
개인적으로는 단순히 benchmark 성능을 비교하는 것을 넘어, 왜 모델이 실패하는가? 를 representation 수준에서 뜯어서 분석했다는 점이 인상적이었던 것 같습니다.
안녕하세요, 주영님. 좋은 리뷰 감사합니다.
2025 ICLR에도 ‘Test-Time Matching: Unlocking Compositional Reasoning in Multimodal Models’ 이라는 논문으로 Winoground를 평가하는 metric이 Model의 Capacity를 과소평가한다고 지적하였던 것 같습니다.!
간단한 질문이 있어, 댓글로 남기겠습니다!
1) Winoground 평가 지표를 보니, T2I, I2T 두가지 모두 있는 것 같습니다. 여기서 의미하는 것이 text to image, image to text를 의미하는 것인가요?
2) 그렇다면, T2I의 경우 diffusion 방식으로 대부분 수행하는 것으로 알고 있는데, I2T에서 학습하는 representation과 조금 다르지 않을까라는 의문이 듭니다! 또한, Compositionality에 대한 평가를 어떻게 수행했는지 궁금합니다.
감사합니다.
댓글 감사합니다!
1. 네, T2I와 I2T는 각각 Text-to-Image, Image-to-Text를 의미합니다! 다만 여기서의 T2I는 image generation이 아니라 retrieval을 의미합니다. T2I는 하나의 caption을 query로 두고 올바른 image를 찾는 것이고, I2T는 반대로 하나의 image를 query로 두고 올바른 caption을 찾는 방식입니다. 지금 이 캡션에 대해 유사도 별로 정렬한 다음 제일 그럴싸한걸 찾는 방식이죠! 이 논문에서는 Winoground의 800개 image-caption 전체에 대해 similarity를 계산하고 R@K로 평가한 것입니다!
2. 따라서 T2I에 diffusion model을 사용한 것이 아니고, T2I와 I2T가 모두 서로 다른 representation을 따로 학습하는 것도 아닙니다!
추가로 논문에서 Image matching 방식으로 cosine similarity 를 계산하는 방식이 아닌, R@K 실험을 수행한 이유는 compositionality를 새롭게 평가한다기보다, ‘Winoground에서 못하는 이유가 정말 minimal pair의 composition을 구분하지 못해서인지, 아니면 애초에 일반적인 image-text retrieval 자체도 어려운 것인지’를 확인하기 위한 보조 실험으로 보시면 될 것 같네요!