VisionWeaver:从“现象识别”到“病因诊断”,开启AI视觉幻觉研究新篇章

作者:哔哩哔哩技术日期:2025/11/14

前言

长久以来,我们只知道大型视觉语言模型(LVLM)会犯错,但始终缺乏一把“手术刀”,无法剖析其视觉感知的根源性缺陷。我们只知其然,不知其所以然。我们希望当 AI 模型观察图像时,不再凭空想象,不再“指鹿为马”。

现在,这一瓶颈被打破了。bilibili 用户技术中心提出 VisionWeaver 及其核心诊断工具 VHBench-10,带来了创新性的视角。VisionWeaver 不再依赖单一编码器,而是开创性地提出“上下文感知路由网络”,动态协同多个“视觉专家” 。而这一切得以实现的基础,正是其专门打造的诊断基准 VHBench-10——它让幻觉研究从 “识别现象”迈向了“诊断病因” 的新阶段。此工作已被 EMNLP 2025 Findings 录用。

相关链接

论文介绍

大型视觉语言模型(LVLM)的“幻觉”问题是阻碍其应用的核心障碍。以往的评测方法(如POPE)虽然有价值,但普遍停留在粗粒度层面,大多只关注“图片中是否存在某个物体”这类简单判断。这就像医生只知道病人发烧,却无法定位具体的病灶。这种“只知其然”的评测方式,无法揭示幻觉产生的根本原因,更无法为模型的改进提供针对性指导。

为了解决这一核心痛点,本研究首先提出了全新的诊断工具——VHBench-10基准。 它开创性地将幻觉问题溯源至检测、分割、定位、分类这四项基本视觉能力,并进一步细分为10个具体的子任务(如颜色、计数、文本识别等)。通过这个“精准CT扫描”,我们首次能够系统性地诊断出不同视觉编码器各自的“能力盲区”。

基于这一深刻洞察,VisionWeaver架构应运而生。它不再是盲目地使用单一编码器,而是构建了一个动态专家协作系统,根据图像内容智能地调度最合适的视觉专家参与决策,从根源上抑制幻觉的产生。

图片

图1 VisionWeaver整体架构

我们的主要贡献点如下:

  1. 提出了VHBench-10——一个革命性的精细化诊断基准,推动幻觉研究从“识别现象”迈向“诊断病因”。 它首次将幻觉与底层视觉任务失败直接挂钩,为精确评估和定位LVLM的视觉能力短板提供了强有力的工具。
  2. 系统性地揭示了不同视觉编码器的幻觉倾向。 通过在VHBench-10上的全面评估,论文首次量化并证实了特定编码器在特定视觉任务上的优势与短板,为解决幻觉问题提供了明确的靶点。
  3. 提出了VisionWeaver——一个强大的LVLM新架构。 它引入上下文感知专家路由机制,能根据图像内容智能地聚合多个专家的视觉知识,效果远超简单的特征融合方法。
  4. 在多个权威基准上取得了SOTA性能。 大量实验表明,VisionWeaver不仅显著降低了幻觉率,还全面提升了模型的综合表现。

方法概述

VisionWeaver 的核心是解决单一视觉编码器能力有限且存在固有偏见的问题 。简单地将多个编码器的特征相加或拼接,实验证明效果并不理想 。为此,VisionWeaver 设计了一套智能、动态的专家协作流程,主要包含两大模块:

上下文感知路由 (Context-Aware Routing): 该机制旨在利用图像的全局语义特征来计算自适应的软路由权重,从而选择最合适的视觉专家 。具体而言,系统将基础 CLIP 编码器输出的[CLS] Token 特征作为路由模块的主要输入 。该 [CLS] Token 被证实能够有效捕获图像的关键全局视觉信息 。路由模块基于此特征生成一组路由信号,即针对每个下游专家编码器(如ConvNext, DINOv2, SAM, Vary等)的动态权重,以此决定不同专家在当前情境下的重要性得分 。

知识增强与特征融合 (Knowledge Enhancement and Fusion): 获得各专家的重要性权重后,系统对所有专家的输出特征进行加权融合(Weighted Fusion),生成一个聚合的专家表征 。为了在引入专家知识的同时不损失原始的细粒度视觉信息,该聚合表征将与基础 CLIP 编码器输出的 Patch Tokens 进行对齐 。实现方式上,通过一个残差式连接(residual-style connection),将聚合的专家特征与原始的 Patch Tokens 进行加法操作 。最终,这份增强后的视觉表征被传递至投影器(Projector),以映射到大型语言模型(LLM)的嵌入空间中,供后续的文本生成使用 。

图片

图2 VHBench-10将幻觉分为4大类10小类

关键特征

  • 精细化幻觉诊断: 依托VHBench-10,从视觉任务根源诊断并解决幻觉问题。
  • 上下文感知路由: 告别单一编码器,智能调度最适合当前任务的视觉专家。
  • 多专家协同融合: 汇集不同编码器的独特优势,实现对图像的全方位、深层次理解。
  • 卓越的幻觉抑制能力: 在多个基准上显著降低幻觉率,提升模型可靠性。
  • 高效推理设计: 通过轻量级专家和KV缓存等机制,在不显著增加延迟的情况下提升性能。

实验

全新的精细化幻觉评估

VHBench-10基准的核心并非简单地判断对错,而是通过对10个细分视觉任务的评估,精准定位模型在感知能力上的具体短板。团队利用GPT-4为近万张图片生成了包含特定类型错误的描述(例如,颜色错误、数量错误等),与正确的描述形成对比,从而精确量化模型在各个维度上的幻觉倾向。

与已有方法的比较

在VHBench-10以及POPE、AutoHallusion等多个幻觉基准测试中,VisionWeaver的表现全面超越了使用单一编码器或简单多编码器融合的方法。如下图所示,无论是在物体存在性、颜色、形状还是文本识别等所有10个细分任务上,VisionWeaver的错误率均为最低,证明了其架构的普适性和有效性。

图片

图3 VisionWeaver在10类细分幻觉任务上均取得最低错误率

总结

VisionWeaver及其核心评测工具VHBench-10,共同将幻觉研究的范式从模糊的现象描述,提升到了病因诊断层面。它不再满足于“知道模型错了”,而是要探究“模型为什么会错”。通过VHBench-10提供的深刻洞察,VisionWeaver得以构建一个智能、动态的多专家协作系统,从视觉感知的根源上大幅缓解了幻觉问题。这一“诊断+治疗”的新范式,为构建更可靠、更精确的下一代多模态AI提供了坚实的基础和清晰的实现路径。

-End-

作者丨Jerry酱、Kiren_


VisionWeaver:从“现象识别”到“病因诊断”,开启AI视觉幻觉研究新篇章》 是转载文章,点击查看原文


相关推荐


副业搞个 100 万,这 5 个 GitHub 项目不能错过。
逛逛GitHub2025/11/13

01、一人企业方法论 开源项目名字叫做《一人企业方法论》,目前已经更新到第二版。专门为想要独立创业或开展副业的个人提供实用指导。 无论是做自媒体、电商还是数字商品,即使没有技术背景,也能从中获得启发。 我读下来,这个开源项目的核心思想和我的想法非常契合。它倡导一种以个人为核心、精益化、可持续的商业模式。  它不追求规模化增长和资本驱动,而是专注于利用现代技术工具和系统化方法论,让个人能够独立构建并运营一个健康、盈利的微型企业。 如果你厌倦了大厂的撕逼,无效了的内卷,想找寻一份靠谱的副业。建议


深度解析:解决 backdrop-filter 与 border-radius 的圆角漏光问题
_志哥_2025/11/11

引言 在现代Web开发中,backdrop-filter 属性为创建毛玻璃等高级视觉效果提供了强大的支持,极大地提升了用户界面的层次感和现代感。然而,当我们将它与 border-radius 结合使用时,一个常见的渲染问题便会浮现:圆角边缘出现不应有的“漏光”现象。本文将深入探讨该问题的根源,分析现有解决方案的局限性,并最终提供一个基于 CSS Mask 的、行之有效的终极解决方案。 问题根源:渲染层级的冲突 要理解“漏光”现象,我们必须深入浏览器的渲染机制。这个问题的核心在于 backdrop


Spring 容器的基本实现
ToPossessLight09022025/11/9

1、基本用法 public class MySpringBean { private String beanName = "beanName"; public String getBeanName() { return beanName; } public void setBeanName(String beanName) { this.beanName = beanName; } } <beans xmlns="ht


Python 的内置函数 hasattr
IMPYLH2025/11/7

Python 内建函数列表 > Python 的内置函数 hasattr Python 的内置函数 hasattr() 用于检查一个对象是否具有指定的属性或方法。该函数的语法为: hasattr(object, name) 参数说明: object:要检查的对象,可以是任何 Python 对象name:要检查的属性或方法名称,以字符串形式传入 返回值: 如果对象具有该属性或方法,返回 True否则返回 False 功能特点: 该函数会在对象及其继承链中查找指定属性对于动态创建的


CSS 的网格布局
hubenchang05152025/11/2

#CSS 的网格布局 CSS 网格布局(Grid Layout)是一个强大的 2D 布局系统,可精确地控制页面的行和列布局,比 Flex 更适合结构化排布。 通过将一个元素样式的 display 属性设为 grid,可以将该元素设为网格布局的 容器。 通过容器的 grid-template-columns 属性可以配置网格的列宽度,通过 grid-template-rows 属性可以配置网络的行高度。 下面这个示例将网格设为二行四列,两行的高度分别为 40px 和 80px,四列的宽度分别为 4


CPU 架构(CPU Architecture)
wenjunna2025/10/31

CPU 架构(CPU Architecture)是指 CPU 的指令集架构(ISA, Instruction Set Architecture),即 CPU 能理解和执行的指令系统。不同架构在设计理念、兼容性、性能与功耗上差别很大。 下面我给你分层次整理一下: 一、主流通用 CPU 架构分类 架构全称特点典型厂商/芯片x86 / x86_64Intel 8086 家族指令集(64 位为 x86_64 / AMD64)高性能、兼容性强、功耗高Intel Core / Xeon、AMD Ryze


某银行大厂面试技术问题深度解析(一)
360_go_php2025/10/28

​ 1. MyBatis的依赖pom包 MyBatis 是一个持久层框架,主要用于简化数据库操作。要在项目中使用 MyBatis,必须在 pom.xml 文件中添加相应的依赖。以下是常用的 MyBatis 依赖: <dependency>     <groupId>org.mybatis</groupId>     <artifactId>mybatis</artifactId>     <version>3.5.5</version> </dependency> <depen


Python 的内置函数 complex
IMPYLH2025/10/25

Python 内建函数列表 > Python 的内置函数 complex Python 的内置函数 complex() 用于创建一个复数对象。复数在数学和科学计算中有着广泛的应用,特别是在信号处理、电气工程和物理学等领域。 class complex(r=0, i=0): ''' 类型转换为 complex :param r: 实部 :param i: 虚部 :return: 转换为 complex 后的值 ''' 示例 # 创建实部为


猿辅导Java面试真实经历与深度总结(三)
360_go_php2025/10/23

​ 在Java面试中,有些问题是每个面试官几乎都会问到的。这些问题涉及到JVM内存管理、Spring框架的核心原理以及一些常见的Java技术点。今天我们来解答一系列常见的Java面试问题,帮助你更好地准备面试。 1. JVM内存区域及内存溢出 JVM内存分为多个区域,每个区域有不同的功能。主要分为以下几个区域:​编辑 程序计数器(Program Counter Register):每个线程有独立的程序计数器,用于指示当前线程所执行的字节码指令的位置。 Java虚拟机栈(JVM Sta


3个技巧让你彻底搞懂JavaScript异步编程
良山有风来2025/10/22

你是不是曾经遇到过这样的情况? 页面上的数据加载了半天就是出不来,控制台报了一堆看不懂的错误。代码写着写着就变成了“回调地狱”,一层套一层,自己都看不懂自己写了什么。 别担心,异步编程确实是很多前端开发者的痛点。但今天,我会用最通俗易懂的方式,带你彻底搞懂JavaScript中的异步编程。 读完本文,你不仅能理解回调、Promise和async/await的区别,还能掌握如何在实际项目中优雅地处理异步操作。最重要的是,你会拥有一套清晰的异步编程思路,再也不用害怕处理复杂的异步逻辑了。 什么是异步

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0