[ECCV 2026] What CLIP Knows but Cannot Say: Recovering Negation from Frozen Intermediate Features

최근 집중해서 보고있는 주제인 Composition의 원인을 VLM의 layer 별로 분석한 연구입니다. ECCV Oral 로 선정되었습니다



1. CLIP은 not을 이해하지 못한다?

다들 아시겠지만, CLIP과 같은 Vision-Language Model은 이미지와 텍스트를 하나의 embedding space에 정렬하여, 두 표현의 similarity를 기반으로 이미지를 검색하거나 분류합니다. 하지만 이 구조는 negation(부정 표현) 을 처리할 때 심각한 어려움을 보인다고 합니다.

예를 들어 "a dog""not a dog"는 의미적으로는 정반대이지만, CLIP은 두 문장을 거의 동일한 embedding으로 표현합니다. 이 때문에 "No cup is present"라는 문장으로 이미지를 검색했을 때, 오히려 cup이 포함된 이미지를 높은 순위로 가져오는 문제가 발생합니다.

이러한 현상은 단순히 몇몇 예시에서만 보이는게 아닌데요, NegBench의 VOC MCQ에서 CLIP은 affirmative caption에는 81%의 정확도를 보이지만, negated caption에서는 3%까지 성능이 하락했다고 합니다. 즉, CLIP은 문장에 not, no가 포함되어 있어도, 부정보다 문장에 등장하는 object semantics 자체에 훨씬 크게 반응하는 모습을 보입니다

기존 연구들은 이 문제를 negation-aware data로 CLIP을 fine-tuning하거나 별도의 scoring 방법을 사용하는 방식으로 해결하려 했습니다. 그러나 저자들은 이런 기조에 반하는 의문을 제기하게 되었다고 합니다 (저도 개인적으로 이 방식은 원론적 해결책이 아닌, 구색 맞추기라 생각하긴 합니다)

CLIP은 정말 negation을 처음부터 이해하지 못하는 건가? 아니면 encoder 내부에서는 이해했지만, 최종 embedding을 만드는 과정에서 그 정보가 사라지는 것일까?

이 질문이 바로 이 논문의 출발점이라고 할 수 있을 것 같습니다. 다음 장에서는 저자들이 CLIP의 text encoder를 layer-by-layer로 분석하여, 놀랍게도 negation 정보가 중간 layer에는 존재한다는 발견한 결과를 살펴보겠습니다.

2. Negation 정보는 중간 Layer에 존재

CLIP이 'a dog''not a dog'과 구분하지 못한다고 하는데, CLIP은 정말 negation을 학습하지 못한 것일까요? 저자들은 이를 확인하기 위해 CLIP text encoder의 representation을 layer-by-layer로 분석하였습니다.

먼저 각 layer에서 원래의 문장과 부정 캡션의 embedding이 얼마나 다른지를 Layer-wise Compositional Divergence (LCD)로 측정해보았습니다. 정확한 수식은 다음과 같은데, T^+, T^-가 각각 원래의 문장과 부정 문장을 의미합니다.

위 수식에 따르면, LCD가 클수록 "a dog""not a dog"서로 다른 의미로 구분하고 있다고 볼 수 있습니다. 저자들은 동시에 각 layer의 text embedding이 image embedding과 얼마나 가까운지 Visual Alignment도 측정하였습니다.

그림2를 보면, LCD는 초기 layer부터 점점 증가하여 Layer 8에서 가장 높아집니다. 즉, CLIP은 중간 layer에서는 실제로 affirmative와 negated sentence를 꽤 잘 구분하고 있다는 얘기겠죠?

하지만 그 이후에는 반대의 현상이 나타났습니다. Layer 8 이후 Visual Alignment가 강해질수록 LCD는 오히려 감소하고, 최종 layer에서는 앞서 만들어졌던 compositional distinction이 다시 약해집니다. 저자들은 이러한 현상을 Representational Collapse라고 정의하였습니다.

즉, 그림 2을 통한 저자들의 findings는, CLIP은 negation을 처음부터 모르는 것이 아니다. 중간 layer에서는 알고 있지만, 최종 visual representation으로 정렬되는 과정에서 그 정보를 잃어버린다.

그럼 사라지기 직전의 negation 정보를 가져와 final embedding에 다시 넣어주면 되지 않을까요? 이 직관적인 생각에서 저자들의 방법론인 PeakPatch 가 제안되었습니다

3. Proposed Method: PeakPatch

앞선 분석에서 저자들은 negation 정보가 중간 layer에서 가장 강하게 나타났다가, final layer로 갈수록 약해진다​는 사실을 확인했습니다.

그리고 저자들의 아이디어는 다음과 같았죠? Negation 정보가 가장 잘 살아있는 intermediate representation을 가져와, final embedding을 보정하자. 이를 위해 저자들은 CLIP backbone은 그대로 freeze한 채, PeakPatch라는 작은 correction module을 추가하였다고 합니다.

PeakPatch는 세 종류의 representation을 사용합니다.

  • Anchor layer: visual alignment가 강해지기 전의 비교적 안정적인 linguistic representation
  • Peak layer: LCD가 가장 높은, 즉 negation distinction이 가장 강한 layer
  • Final layer: image와의 alignment는 좋지만 negation 정보가 약해진 최종 representation

ViT-B/32에서는 대표적으로 Layer 6, 8, 12​를 각각 Anchor, Peak, Final로 사용하였다고 합니다.

3.1 Embedding Correction Network (ECN)

먼저 ECN은 Peak layer의 token representation에서 negation과 관련된 정보를 추출하는 모듈입니다.

특히 learned query가 Peak layer 전체 token에 cross-attention하여 중요한 compositional signal을 모으고, 이를 Anchor/Peak representation과 함께 사용해 correction vector (\delta) 를 생성합니다.

이 correction을 기존 final text embedding에 더해, \hat f_T = \text{normalize}(f_T + \alpha \delta) negation 정보가 복구된 새로운 embedding을 만듭니다.

즉, Final embedding + intermediate compositional information → corrected embedding 이라고 이해하면 좋을 것 같네요

3.2 Score Correction Network (SCN)

하지만 MCQ처럼 여러 caption 중 정답을 골라야 하는 문제에서는 작은 similarity 차이도 중요하다고 합니다. 그래서 저자들은 corrected embedding과 image embedding을 이용해 cosine similarity를 추가로 보정하는 SCN도 함께 사용하였습니다

조금 복잡해보여도 간단한데 정리하면 아래와 같습니다

  • ECN: representation 자체를 수정
  • SCN: 최종 similarity score를 조정

결국 PeakPatch의 핵심은 새로운 정보를 학습시키는 것이 아니라, CLIP 내부에 이미 존재하지만 final representation에서 사라진 정보를 다시 활용하는 것이겠네요!

4. Experiments

저자들은 PeakPatch를 NegBench의 MCQ (객관식)와 Retrieval, 그리고 text-to-image generation에서 평가합니다. 이때 CLIP backbone은 그대로 freeze하고, 약 5.2M개의 추가 parameter만 학습합니다.

4.1 Negation MCQ (Multiple Choice Question)

먼저 결과가 가장 극적으로 나타났던 건 MCQ 이었다고 하는데요

CLIP ViT-B/32는 COCO에서 affirmative caption에는 70.0%의 정확도를 보였지만, negation에서는 6.6%까지 떨어졌습니다. 반면 PeakPatch는 negation 정확도를 63.2%까지 끌어올리며 전체 평균도 39.2% → 74.3%로 크게 향상시킬 수 있었습니다. VOC에서도 평균 65.5%로 기존 fine-tuning 방법들을 넘어섰죠

하지만 더 중요한 질문은 단순히 MCQ의 score만 잘 조정한 것인지, 실제 embedding이 좋아진 것인지입니다. 이를 확인하기 위해 Retrieval 인 상단 테이블 2의 결과도 확인해보았습니다.

Retrieval에서는 PeakPatch가 fully-OOD 설정에서도 COCO R@5 56.9, MSR-VTT R@5 53.7을 기록하며 full encoder fine-tuning 방법보다 좋은 결과를 보였습니다. 또한 수정된 embedding을 frozen image generator에 그대로 넣었을 때도 negation score가 29.2 → 47.6으로 증가했죠.

즉, PeakPatch가 단순히 특정 MCQ의 정답 score를 조절하는 것을 넘어 text representation 자체의 negation 정보를 어느 정도 복구하고 있음을 보여주는 결과라고 볼 수 있습니다

3.3 Ablation

각 모듈의 역할을 확인할 수 있는 Ablation Study도 보시죠

ECN은 embedding 자체를 수정하기 때문에 MCQ와 Retrieval 모두 개선했습니다. 반대로 SCN은 similarity score를 직접 보정하기 때문에 MCQ에서는 큰 효과를 보이지만 Retrieval embedding에는 거의 영향을 주지 않았습니다. 두 모듈을 함께 학습했을 때 가장 좋은 전체 성능을 얻었네요

마지막으로 논문에 재미있는 결과가 하나 더 있었는데요. 저자들이 Peak layer를 바꿔가며 실험했을 때, 성능이 가장 높은 지점은 Layer 8이었습니다. 그런데 Layer 8은 앞서 LCD가 가장 높았던 바로 그 layer입니다. 결국 이 실험을 통해 저자가 하고 싶은 말은, ‘Final embedding에서 사라진 negation 정보를 intermediate layer에서 다시 가져오면, 실제 downstream 성능도 복구할 수 있다’ 인 것 같습니다

4. Analysis

PeakPatch가 실제로 representation을 어떻게 바꾸는지 확인하기 위해, 저자들은 affirmative와 negated caption의 embedding을 시각화도 해보았는데요

기존 CLIP에서는 "a dog""not a dog"처럼 의미가 반대인 문장도 거의 같은 cluster 안에 위치합니다. 반면 ECN으로 correction한 이후에는 affirmative와 negated representation이 훨씬 명확하게 분리된것을 위에 TSNE로 나타났습니다

즉, PeakPatch의 성능 향상은 단순히 마지막 similarity score를 조정한 결과만은 아니라는 겁니다. Intermediate layer에 존재하던 compositional information을 다시 가져오면서 final embedding의 geometry 자체가 변화한 것으로 볼 수 있습니다.

5. Conclusion

이 논문을 읽고 가져갈 한 문장으로는 “모델의 final representation에서 특정 정보가 보이지 않는다고 해서, 모델이 그 정보를 학습하지 못했다고 단정할 수는 없다” 인 것 같습니다.

CLIP은 negation을 전혀 이해하지 못하는 것이 아니라, 중간 layer에서는 구분하지만 final visual alignment 과정에서 그 정보가 약화되는 것이기 때문이죠. 저자들은 PeakPatch를 통해 바로 이 intermediate information을 활용하여 negation capability를 복구하고자 하였습니다.

따라서 이 논문은 단순히 negation 문제를 해결하는 방법을 제안했다기보다, 모델 내부에는 존재하지만 final representation에서는 사라지는 정보가 있을 수 있다. 는 관점으로 시야를 확장시켜주었다는 점에서 의미가 있지 않나 싶습니다


개인적으로 이 논문의 한계로는… 저자들은 Representational Collapse의 원인을 visual alignment pressure로 설명하지만, 실험이 직접 보여주는 것은 alignment 증가와 negation distinction 감소 사이의 관계에 가깝습니다. 따라서 실제로 contrastive learning이 negation 정보를 직접적으로 지운다고 보려면 추가적인 causal analysis가 필요하다는 인상을 좀 받았던 것 같습니다

또한 현재 분석은 주로 negation에 집중되어 있기 때문에, 이러한 collapse가 relation, attribute, word order와 같은 다른 compositional information에서도 동일하게 발생하는지​는 아직 확인할 필요가 있지 않을까 싶습니다.

이상 리뷰 마치겠습니다!

Author: 홍 주영

2 thoughts on “[ECCV 2026] What CLIP Knows but Cannot Say: Recovering Negation from Frozen Intermediate Features

  1. 안녕하세요, 주영님. 좋은 글 감사합니다!

    저도 관심을 가지던 논문인데, 리뷰해주셔서 흥미롭게 읽었던 것 같습니다.

    간단하게, 2가지 질문이 생겨 댓글로 남기겠습니다.

    1. Negation 표현이 단순히 개체의 존재 유무만을 표현하는 것이 아닌, 추상적 개념과 같은 눈에 보이지 않는 개념들에도 적용이 가능한 것 같습니다. 이런 관점에서 PeakPatch의 ECN module이 Negation 정보가 복구되면서, 생기는 문제들은 없는지 의문이 듭니다. 예를 들자면, 보이지 않는 개념들의 부정표현이 다른 개념들에 노이즈처럼 주입되는 경우는 없는지 궁금합니다.

    2. PeekPatch가 아무래도 Negation의 Peek layer를 기반으로 설계된 모듈이다 보니, 일반적인 task에서도 collapse없이 잘 작동하는지 의문이 듭니다. Table1에서 Aff 결과가 해당 의문의 답인 것 같은데, 기존 CLIP보다 PeekPatch를 적용했을 때 굉장히 높은 결과를 보입니다. 이는 Negation Peek layer를 통해 추가적인 정보를 주입하는 것이, Affirmative Information에도 영향을 준 것으로 보입니다. Negation 정보를 집중하도록 설계된 것이, Affimative 정보에도 집중하게끔 학습된 것이라고 생각이 드는데, 과해석인 것 같아 논문에서 언급된 분석이나 주영님의 의견이 궁금합니다!

    감사합니다.

  2. 안녕하세요 주영님 좋은 리뷰 감사합니다.
    1. PeakPatch가 “not a dog”처럼 단순한 부정 표현에서는 잘 작동할 것 같은데, 한 문장에 여러 개의 object가 등장하거나 “A는 있지만 B는 없다”와 같이 부정의 대상이 명확하지 않은 문장에서는 어떻게 동작하는지 궁금합니다.

    2. ECN이 별도의 parser 없이 intermediate feature만을 사용한다고 했는데, 이런 경우에도 정확히 어떤 대상이 부정된 것인지 구분할 수 있는지도 궁금합니다.

    감사합니다.

Leave a Reply