尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
论文解读与源码复现|NegBench:视觉语言模型其实不懂“否定“(CVPR 2025)
论文解读与源码复现NegBench视觉语言模型其实不懂否定CVPR 2025论文首页题目与摘要截图一、前言检索一张没有人的海滩、查询无证据显示肺炎的胸片——否定negation是自然语言里最平常不过的构造也是检索、内容审核、医学影像查询的真实需求。MIT 与 OpenAI、牛津的这项研究给出的诊断却令人咋舌CLIP 系模型把a dog和no dog嵌入到几乎相同的位置。在四选一的 MCQ 任务上多数模型贴着 25% 的随机基线专攻组合性的 NegCLIP 在困难负例检索上反而暴跌 23%医学 VLMCONCH在否定问题上的跌幅高达 33.2%——在有无病灶就是诊断结论的场景里这是致命的。既有基准CREPE、CC-Neg依赖模板化例句覆盖不了真实查询里否定词的多样性。这篇 CVPR 2025 论文的三步走是NegBench18 个任务变体、79k 样本、覆盖图像/视频/医学影像的否定评测→ 诊断确认肯定偏置与嵌入空间坍缩→ 解决CC12M-NegCap/NegMCQ 两个千万级合成数据集微调否定检索召回 10%、否定 MCQ 准确率 28%。二、方法解析2.1 NegBench两级评测管线模仿真实检索系统的粗召回 → 精排序结构设计两个任务Retrieval-Neg粗粒度把原 caption 改写为混合肯定与否定的查询——There is no x in the image. [原caption]或[原caption]. There is no x再经LLaMA 3.1 改写增加语言多样性模型需按有 A 且无 B检索 top-5。MCQ-Neg细粒度每图一道四选题正确答案与三个硬负例只在肯定/否定上不同。三种模板肯定This image includes A、否定does not include B、混合includes A but not B。错误选项的设计直击要害False Affirmation把图里没有的说成有与 False Negation把图里有的说成没有。数据适配的通用性图像COCO/VOC2007、视频MSR-VTT物体与动作都可被否定、医学CheXpert——两个二分类任务肯定控制组 vs 否定理解组。有物体标注用标注、没有就从 caption 用 LLaMA 3.1 抽取正/负概念负概念再用开放词汇检测器OWL-ViT核验确实不存在——避免给模型喂错误的否定监督。图片源自论文 Figure 2NegBench 构建管线。从视觉数据集抽取正概念 → LLM 提议负概念 → 检测器核验 → 模板生成否定 caption → LLM 改写。另有HardNeg-Syn合成评测集Stable Diffusion 生成 10,000 对仅差一个物体的图像对OWL-ViT 验证存在/缺席——把混淆变量压到最小。2.2 数据中心的修复两个千万级合成数据集从 CC12M约 10M 图文对扩增三步流水线LLM 抽对象 → 检测器视觉核验 → LLM 生成自然否定 caption产出CC12M-NegCap每图 3 条否定 caption约 3000 万条用标准 CLIP 对比损失训练——教宽谱的否定表达CC12M-NegMCQ每图 4 条1 正确 3 硬负例约 4000 万条用 MCQ 交叉熵损失论文式 1——教细粒度的否定分辨CC12M-NegFull两者合并总损失 $L_{Total} \alpha L_{CLIP} (1-\alpha) L_{MCQ}$论文式 2。三、数据集与实验设置评测模型OpenAI CLIP、CLIP-laion400m、CLIP-datacomp预训练数据对照NegCLIP组合性、ConCLIP否定特训——5 个 ViT-B/32规模扫描 ViT-B→L→H新架构 SigLIPViT-L、AIMV2LiT医学 VLM BioMedCLIP、CONCH。评测数据COCO、VOC2007、MSR-VTT4 帧均匀采样平均嵌入、CheXpertLung Opacity、HardNeg-Syn。微调协议OpenAI CLIP 与 NegCLIP 分别在 CC12M对照/NegCap/NegFull 上微调隔离否定数据的净效应。四、关键实验结果1. 检索否定查询全线崩溃Figure 3。COCO 上 recall5 掉 6.8–7.7%HardNeg-Syn硬负例上更惨——NegCLIP 掉 23.0%、专攻否定的 ConCLIP 也掉 18.0%。2. MCQ贴着随机基线Figure 4a。五模型在 MCQ-Neg 上全部 ≤39%最好成绩是 CLIP 在 COCO 的 39%多数低于 25% 的随机线或仅略高——NegCLIP 与 ConCLIP 均未超过原始 CLIP。3. 越大更新≠更懂否定Figure 4bViT-B→L→H 缩放无改善SigLIP 与 AIMV2写作时多个 VLM 榜单的 SOTA同样不及格——这是架构/目标函数层面的盲区不是规模问题。4. 医学场景高危Figure 4cCheXpert 上 BioMedCLIP 与 CONCH 引入否定后分别跌15.8% 与 33.2%——does not show Lung Opacity这类关键表述被误读的风险真实存在。5. 根因肯定偏置与嵌入坍缩Figure 5/6分模板统计CLIP 在 VOC2007 肯定 MCQ 上 82%、否定 MCQ 上仅3%——模型的策略是默认选否定句因为 67% 的题目没有正确肯定项完全忽略no这个词的语义嵌入 PCACLIP/NegCLIP 的肯定与否定 caption 嵌入重叠bag-of-words 捷径ConCLIP 把所有否定 caption 坍缩到同一点学到了见否定就压的新捷径文本侧 Sentence Transformer 则沿物体类型 × 否定两轴完美分离——理想表征的参照系。6. 合成数据有效Table 1COCO微调数据R5R-Neg5MCQCLIP 无微调54.848.039.2CC12M对照58.854.534.7 (↓4.5)CC12M-NegCap58.557.847.3 (↑8.1)CC12M-NegFull54.251.954.4 (↑15.2)NegCLIP NegFull69.067.056.2 (↑27.6)否定 MCQ 相对提升最高27.6MSR-VTT 上同趋势。α 消融显示权衡α1 保检索R5 58.5牺牲 MCQα0 反之MCQ 59.4、R5 33.9——对比损失与 MCQ 损失需要配平。五、机制解释与讨论为什么 CLIP 学不会否定对比学习的训练信号是图文是否匹配——而 web 数据的 caption 几乎全是肯定句。对模型而言no dog与dog与图像的匹配分数几乎相同梯度从不惩罚这种混淆于是编码器学成了 bag-of-words否定词被当作可忽略的停止词。ConCLIP 的教训是反向的只用模板化否定数据训练模型把所有否定句坍缩到一个点——过拟合模板而非理解语义。修复的关键是 NegCap多样性 NegMCQ判别性的组合前者铺开否定的语言流形后者在流形上画出决策边界。具体发现 → 凝练结论具体发现一否定 MCQ 全线 ≤39%、医学 VLM 跌 33% —— 结论肯定偏置是 CLIP 系的系统性缺陷规模与新架构均未触及具体发现二CC12M 对照微调让 MCQ 不升反降-4.5 —— 结论问题确实出在数据构成而非微调本身多见文本救不了缺否定具体发现三α 的权衡 —— 结论粗粒度检索与细粒度判别在损失层面存在张力实际部署需按下游任务配比。六、局限与工程启示局限合成数据的否定概念来自 LLM 提议 检测器核验长尾概念与抽象概念情绪、风格类否定覆盖不足修复以微调 CLIP 系为限对生成式 VLMLLaVA 等的否定理解未评估嵌入坍缩的分析Figure 6是诊断性的尚无针对性的损失设计如否定感知对比损失。工程启示任何自然语言过滤类产品都必须测否定内容审核无暴力的图、医学检索无肺炎征象、电商不含坚果的食品图——用 NegBench 的管线可以直接对自家模型体检数据审计视角检查预训练/微调语料中否定句的占比——大概率低得惊人这本身就是改进的起点合成数据闭环的配方可复用LLM 提议 → 检测器/视觉模型核验→ LLM 改写——核验一步是避免把错误监督喂给模型的命门医学 VLM 的部署方应把否定表述作为专项回归测试CONCH 的 33% 跌幅说明现有医学基础模型不可直接信任。七、源码复现官方仓库https://github.com/m1k2zoo/negbench项目主页https://NegBench.github.io本地目录复现代码/2708-NegBench/官方提供评测基准benchmarks/、合成数据构建脚本synthetic_datasets/、全部评测结果 CSVresults/、微调模型与数据集说明models.md / datasets.md⚠️ 复现路径/未运行以下为源码结构与预期运行路径分析非实际运行结果。评测与微调均需 GPU 与 CLIP 权重。7.1 仓库目录结构实际下载内容2708-NegBench/ ├── README.md / datasets.md / models.md # 数据准备与模型下载说明 ├── results/mcq/ # 论文数字含 2025-03 归一化 bugfix 后更新值 │ ├── 1_baseline_total.csv / 2_scaling_clip_total.csv / 3_finetuned_total.csv ├── benchmarks/ # NegBench 评测框架基于 open_clip │ ├── src/{evaluation, open_clip, training} │ └── scripts/{evaluate_images.sh, evaluate_videos.sh, run_openai_clip.sh, ...} └── synthetic_datasets/ ├── evaluation/{create_mcq.py, paraphrase_captions.py, process_caption_objects.py, ...} └── finetuning/{create_mcq.py, generate_negative_captions.py, filter_negative_objects.py, ...}7.2 关键代码片段摘自synthetic_datasets/finetuning/create_mcq.pyMCQ 生成对每图按正/负对象采样从三种模板positive/negative/hybrid随机选正确答案模板并随机打乱选项位置——对应论文 3.1 节的 MCQ-Neg 构造# synthetic_datasets/finetuning/create_mcq.py节选 templates [positive, negative, hybrid] for _, row in test_df.iterrows(): positive_objects eval(row[extracted_objects]) negative_objects eval(row[negative_objects]) if len(positive_objects) 2: # 正对象不足时限定模板避免includes A and B无法成立 A positive_objects[0] if len(positive_objects) 1 else None allowed_templates [negative, hybrid, modified_positive] else: A, B random.sample(positive_objects, 2) # 两个正对象 allowed_templates templates if len(negative_objects) 0: continue # 无负对象则跳过 N random.choice(negative_objects) right_template random.choice(allowed_templates) # 生成 1 正确 3 硬负例random.shuffle 打乱选项 ...评测侧注意2025-03 的官方 bugfix 在 MCQ 评测中加入了图像/文本嵌入的 L2 归一化后再算点积——复现 Figure 4 数字请拉取最新代码结果见results/mcq/*.csv。7.3 复现步骤环境benchmarks/下按requirements.txt安装open_clip 生态。数据准备按datasets.md下载 COCO/VOC2007/MSR-VTT/CheXpert按models.md下载 OpenAI CLIP / NegCLIP / SigLIP / AIMV2 / BioMedCLIP / CONCH 权重。评测bash benchmarks/scripts/run_openai_clip.sh # 基线 MCQ/检索评测 bash benchmarks/scripts/evaluate_images.sh # 图像 Retrieval-Neg MCQ-Neg bash benchmarks/scripts/evaluate_videos.sh # MSR-VTT4 帧平均嵌入合成数据构建CC12M-NegFullsynthetic_datasets/下依次运行对象抽取LLaMA 3.1→filter_negative_objects.pyOWL-ViT 核验→create_mcq.py/paraphrase_captions.py模板 LLM 改写官方将放出全部对象标注与生成 caption。微调NegCap 用标准 CLIP 对比损失、NegFull 用 $L_{Total} \alpha L_{CLIP} (1-\alpha)L_{MCQ}$扫 α ∈ {0, 0.5, 0.9, 0.99, 1}对照 Table 1 与 α 消融表。嵌入诊断按论文 4.1 节用 24 肯定 24 否定模板每对象生成 48 条 caption编码后 PCA 复现 Figure 6 的坍缩/分离现象。7.4 如何构造不被模板投机的否定评测否定理解评测容易被表面词频和答案分布污染。若正确答案总落在固定选项位置模型可以靠位置先验得分若正例与负例只使用单一模板模型也可能记住句式而非组合语义。复现时应检查答案位置是否均衡、肯定/否定/混合模板是否覆盖充分并按错误类型分别统计 False Affirmation 与 False Negation。前者反映模型把不存在的概念判为存在后者反映模型忽略真实存在的概念两类错误在内容检索和医学应用中的风险并不相同。负概念的真实性是数据质量关键。由语言模型提出“图中没有什么”并不保证它确实缺席因此论文再用开放词汇检测器核验候选负对象。检测器本身也有漏检和类别覆盖边界所以核验不是绝对真值特别是在遮挡、视角变化和细粒度类别上。数据集构建时可以对部分样本做人工抽查报告负概念的核验通过率与错误类型否则模型的低分可能混杂了理解失败与错误标签惩罚。7.5 微调改进不等于普遍理解否定CC12M-NegCap 与 NegMCQ 分别提供更丰富的否定描述和直接的选择判别监督。两种目标侧重点不同只加强对比式检索可能让模型更会匹配否定文本却不一定能在四选一里稳定比较细微语义只加强 MCQ 则可能牺牲普通图文检索表现。论文的 α 消融体现了这种任务权衡。迁移到具体产品时应依据真实流量中检索与判别的占比选择损失权重并同时验证普通肯定查询没有明显退化。评测覆盖图像、视频和医学影像是重要进展但对开放式生成式 VLM、长句范围否定、双重否定、反事实表达及抽象概念否定仍不能由现有结果直接下结论。特别是医学影像论文揭示的是模型对否定文本条件的脆弱性并非临床安全性验证。任何临床使用都需要独立的病例级评测与医生审核模型输出不应被当作诊断结论。八、总结NegBench 用一个设计干净的基准把VLM 不懂否定从趣闻变成定量事实79k 样本、18 个变体、三个模态上CLIP 系集体贴着随机基线规模与新架构都救不了嵌入空间里肯定与否定句根本没分开——根因是训练数据里否定句的系统性缺席。而修复同样朴素3000–4000 万条经视觉核验的合成否定数据一句对比损失加一句 MCQ 损失就把否定 MCQ 抬升最多 27.6 个点。对做检索、审核、医疗影像查询的团队这篇论文同时是体检报告和治疗处方。延伸阅读建议CLIP 与 open_clip评测框架基础、NegCLIP/CoNCLIP组合性与否定的先行微调、CREPE/CC-Neg模板化否定基准的局限、SigLIP/AIMV2新一代联合嵌入、CheXpert 与医学报告否定检测NegEx 等临床 NLP 传统、Sentence Transformer嵌入分离的参照系。九、引用信息论文引用Kumail Alhamoud, Shaden Alshammari, Yonglong Tian, Guohao Li, Philip H.S. Torr, Yoon Kim, Marzyeh Ghassemi. Vision-Language Models Do Not Understand Negation. CVPR, 2025.论文 PDFhttps://openaccess.thecvf.com/content/CVPR2025/papers/Alhamoud_Vision-Language_Models_Do_Not_Understand_Negation_CVPR_2025_paper.pdf官方仓库https://github.com/m1k2zoo/negbench
RELATED

相关推荐

手写持久化B树KV存储引擎:从原理到工程实现

手写持久化B树KV存储引擎:从原理到工程实现

直接手写一个支持持久化的B树KV存储引擎,这件事听起来像是在重复造轮子,但真正动手之后你会发现,数据结构教材里的那几页纸和工程实现之间的距离,远比你想象的大。这个项目适合两类人:一类是想彻底搞懂B树、B树原理的开…

📅 2026/10/20 16:08:31
网络模拟实战:从tc到Chaos Mesh的三层故障注入体系

网络模拟实战:从tc到Chaos Mesh的三层故障注入体系

1. 项目概述:为什么“网络模拟”不是实验室里的玩具,而是工程师每天要打交道的现实工具“网络模拟”这四个字听起来像高校网络课程实验报告里的标准术语,但如果你正在调试一个微服务集群的超时重试逻辑,或者在给客户演示新上线的C…

📅 2026/10/20 16:08:31
破除数据孤岛,从数据标准到治理的制造数字化基座搭建指南

破除数据孤岛,从数据标准到治理的制造数字化基座搭建指南

制造业数字化转型这词,这两年听得耳朵都起茧了。但真正扎进工厂一线干过的朋友都清楚,最让人头疼的往往不是“没有系统”,恰恰是系统太多、太杂,各说各话——财务的产值对不上生产的产量,设备那边报出来的OEE和MES里的…

📅 2026/10/20 16:03:29
MORE NEWS

更多资讯

📰

提示词工程师会消失吗?从模型进化看AI职业转型之路

“提示词工程师”这个职位,这两年算是坐了趟过山车。2023年那阵子,只要你舍得研究怎么跟AI好好说话,就有人把这套东西包装成年薪百万的魔法;到了2025年风向又急转直下,朋友圈里开始刷屏说,这岗位可能是2026…

📰

LeetCode 730详解:区间DP与容斥原理解决不同回文子序列计数

第一次看到LeetCode 730这道题的时候,我的第一反应是“这题怎么又是Hard”。再仔细读两遍,发现它把三个很容易让人头大的点揉在了一起:子序列、回文、去重。单独看每个词都没那么可怕,但是组合起来就成了经典的区间DP难题。题目给…

📰

AI透明度危机:大模型安全评测、脑机接口与幻觉治理的底层逻辑

最近在刷资讯的时候,一条聚合日报里同时出现了三个看似互不相干的消息:国内大模型发布时披露安全评测结果的比例低得惊人,脑机接口领域又拿出了类似“读心帽”的新成果,某主流AI助手在对话中向用户“指认”了一起凶杀案线索&#…

📰

LeetCode 730 不同回文子序列:动态规划去重与Java实现

LeetCode 730 这题,光看标题就带着一股 hard 题特有的气场: countPalindromicSubsequences ,统计不同回文子序列。我第一次刷到的时候,先让 Qwen3.5-Plus 帮忙给了一版思路,模型不到十秒就甩出了“二维 DP 容斥”的…

📰

数据库设计与应用开发实战:ER图、索引优化与事务控制要点

数据库系统概论学到设计与应用开发这一章,大概是很多人最摸不着头脑的地方。前面几章关系代数、SQL、完整性约束都是明确的知识点,考试能背、能写。但到了设计,突然没有标准答案了:一张业务表怎么拆,ER图画到什么程度&…

📰

DE/SHADE/L-SHADE算法在CEC2005基准函数上的Matlab对比实验及实现细节

做算法对比实验最怕的不是算法本身跑不出来,而是对比口径不统一,跑完一遍结果根本没法写进论文。我最近把差分进化算法(DE)以及它的两条改进线——SHADE(带成功历史自适应的DE)和L-SHADE(线性种…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬