Vision-Language Models Do Not Understand Negation

Kumail Alhamoud, Shaden S Alshammari, Yonglong Tian, Guohao Li, Philip Torr +2 more
2/10/2026

No official code found. Best implementation: m1k2zoo/negbench (47 stars, MIT, last commit 2026-02-26).

Abstract

Many practical vision-language applications require models that understand negation, e.g., when using natural language to retrieve images which contain certain objects but not others. Despite advancements in vision-language models (VLMs) through large-scale training, their ability to comprehend negation remains underexplored. This study addresses the question: how well do current VLMs understand negation? We introduce NegBench, a new benchmark designed to evaluate negation understanding across 18 task variations and 79k examples spanning image, video, and medical datasets. The benchmark consists of two core tasks designed to evaluate negation understanding in diverse multimodal settings: Retrieval with Negation and Multiple Choice Questions with Negated Captions. Our evaluation reveals that modern VLMs struggle significantly with negation, often performing at chance level. To address these shortcomings, we explore a data-centric approach wherein we finetune CLIP models on large-scale synthetic datasets containing millions of negated captions. We show that this approach can result in a 10% increase in recall on negated queries and a 28% boost in accuracy on multiple-choice questions with negated captions.

View on arXivView PDF

Code Implementations(1)

m1k2zoo/negbenchCommunity72%
MIT

Evaluation and dataset construction code for the CVPR 2025 paper "Vision-Language Models Do Not Understand Negation"

4710Shell, PythonJan 15, 20257 months agoMIT

Similar Papers

Cite this paper

@article{alhamoud2026visionlanguage,
  title  = {Vision-Language Models Do Not Understand Negation},
  author = {Kumail Alhamoud and Shaden S Alshammari and Yonglong Tian and Guohao Li and Philip Torr and Yoon Kim and Marzyeh Ghassemi},
  year   = {2026},
  eprint = {2501.09425},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2501.09425},
  journal = {CVPR 2025 2025}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2501.09425.svg)](https://codeofpaper.com/paper/2501.09425)

Discussion