UniProbe:基于多结构内部表示的大型VLM可学习词元级幻觉检测器 UniProbe: A Learnable Token-Level Hallucination Detector for Large VLMs using Multi-Structural Internal Representations
用GNN+ViT+GRU联合建模冻结VLM内部计算轨迹,实现词元级幻觉检测与解码期干预
前置知识
LVLM(大型视觉语言模型)
将视觉编码器与语言模型连接、以图像和文本为输入自回归生成回复的多模态大模型,如 LLaVA-1.5、InternVL2、GLM-4.1V。图像被切成 patch 编码后,与查询、生成词元一起拼进同一条序列处理。
本文的检测对象就是 LVLM 的内部计算过程,需要理解其输入序列天然由图像、查询、回复三段异构部分构成,这决定了方法的设计。
幻觉与词元级定位
模型生成与视觉输入不符的内容称为幻觉。词元级定位要求精确标出回复中哪些 token 不忠实,而不是只做整句是否含幻觉的二分类,这样才能只修正出错部分而不丢弃整段回复。
UniProbe 的输出就是每个词元的幻觉概率 $p_i$,论文所有评价指标(F1M、F1IoU)都建立在跨度级人工标注之上。
计算轨迹:隐藏状态与注意力图
LVLM 每层残差流的激活向量 $h_i \in \mathbb{R}^d$ 与注意力矩阵 $A \in [0,1]^{n \times n}$(多头平均,$A_{ij}$ 表示位置 i 对 j 的关注权重)合称计算轨迹。它们在前向传播时已经算好,携带模型如何利用图像与上下文的信息。
UniProbe 的全部输入都来自第 $\ell$ 层计算轨迹:图的节点特征取自隐藏状态,边权重直接取自注意力。
GNN 消息传递
图神经网络按边聚合邻居特征来更新节点表示,每层执行一次'聚合-变换'。类型化消息传递可以为不同类型的邻居(图像/查询/回复)使用不同的投影矩阵 $W_t$。
UniProbe 用 GNN 在注意力图上做跨模态关系推理,是三个交替模块中贡献最大的一个(单独使用可达 56.9 F1M)。
ViT 与 GRU
ViT 把图像切 patch 后用 Transformer 建模二维空间几何;GRU 是循环网络,沿序列顺序递归更新状态,双向 GRU 可同时利用前后文,单向版本只能看前缀因而满足因果性。
本文用 ViT 捕捉图像网格的空间结构、用 GRU 捕捉回复的生成顺序;把双向 GRU 换成单向正是实现流式实时检测的关键一步。
POPE 与 CHAIR
POPE 用'图中是否存在物体 X'的是非问答评测物体幻觉;CHAIR 对自生成图像描述做词表匹配,CHAIRi 是幻觉物体占全部提及的比例、CHAIRs 是含幻觉物体的描述比例,二者越低越好。
物体幻觉检测与自生成实验的全部数字(POPE 63.1 F1、CHAIRi 降到 8.2 等)都依赖这两个协议,理解它们才能读懂结果表。
研究动机
大型视觉语言模型(LVLM)在实际应用中频繁产生与图像输入不符的幻觉内容,而有效的缓解必须做到词元级精确定位——只修正出错的部分,而不是丢弃或重新生成整段回复。现有方法各有硬伤:HaloDet、Whitehead 等需要对数十亿参数的骨干做全量微调,既昂贵又可能损害模型原有能力;HalLocalizer 这类外部验证器需要一个额外的视觉语言模型来比对图像与回复,完全忽略了回复的生成过程;HALP、DHCP、MetaToken、SVAR 等内部探针方法虽然复用了前向计算信号,却把隐藏状态和注意力压缩成孤立特征或手工统计量(注意力均衡、置信度等),丢弃了信号内在的结构。即便是零样本最强模型,GPT-4o 在 MHALO 上 F1IoU 也只有 40.6,Claude-4.8-Opus 仅 43.9。更隐蔽的问题是部署层面的分布偏移:现有词元级检测器都在一批第三方 LVLM 生成的回复上训练,而部署时面对的是目标模型自己自由生成的、更流畅自信的回复,精确率大幅下降。
本文的目标是本文要构建一个轻量级、可学习的词元级幻觉检测器 UniProbe:它以冻结 LVLM 的单次前向传播为唯一信息来源,读取中间层的隐藏状态与注意力图,对每个生成词元输出幻觉概率 $p_i \in [0,1]$,实现精确定位且骨干模型一个参数都不动。目标拆成四点:其一,在 MHALO、HalLoc 词元级基准上超越全量微调的 HaloDet、Whitehead 方法和外部验证器 HalLocalizer;其二,在 POPE 物体幻觉检测与模型自生成 COCO 描述(CHAIR 标注)上大幅领先现有冻结读出方法;其三,把检测器改造成流式版本,在解码过程中实时拒绝并重采样幻觉词元,以仅 1.06× 的延迟、不降低回复质量为前提主动消除幻觉;其四,通过自适配策略用目标模型自身的生成对齐检测器,缓解自生成场景的分布偏移。
与已有工作不同的是,本文的独特切入角度来自纯文本 LLM 侧的启示:Bar-Shalom 等人的 ACT-ViT、CHARM、LOS-Net 系列工作证明,把模型的计算轨迹当作结构化数据(序列、激活张量、注意力图)来学习,远比压缩成孤立向量有效。但把这个思想推广到 LVLM 并不直接:多模态轨迹是异构的——图像是二维 patch 网格,查询与回复是一维序列,跨模态关系由注意力编码,没有任何单一结构能通吃。UniProbe 的回答是按结构对症下药:用 GNN 处理跨模态关系证据、用 ViT 处理二维视觉几何、用 GRU 处理回复时序,并让三者以交替块的方式反复交互、端到端联合训练。这区别于所有现有多模态方法:既不做全量微调,不用外部验证器,也不退化为扁平特征探针;同时完全无参考,不像 ZINA 那样需要推理时提供人工撰写的参考描述。
核心方法
UniProbe 的直觉是:一次前向传播已经算出了判断回答是否忠实所需的全部证据——每个词元的隐藏状态 $h_i$、跨词元注意力 $A$(多头平均),图像 patch 还有二维位置,问题只是如何组织这些异构信号。技术路线分四步。第一步,把冻结 LVLM 第 $\ell$ 层的计算轨迹建成有向属性图 $G=(V,E)$:节点是全部回复词元,加上按接收注意力质量 $s_j=\sum_{i \in \text{resp}} A_{ij}$ 选出的 top-$N_{img}$ 图像 patch 与筛选后的查询词元;节点特征是类型化投影的隐藏状态,图像节点额外拼入二维坐标编码 $\gamma_i$。第二步,边直接取注意力权重,每个回复词元只保留来自图像、查询和先前回复的最强连接,回复内部按因果性只连 $j<i$。第三步,堆叠 $L$ 个交替块,每块依次用 GNN 做跨模态消息传递、用 ViT 更新图像网格、用双向 GRU 沿生成顺序更新回复表示。第四步,线性头 $p_i=\sigma(w^\top x_i^{(L)})$ 输出逐词元幻觉概率,端到端监督训练。图规模受节点与边预算约束,对完整回复打分的额外延迟仅 1.15×。
核心创新是'异构计算轨迹的统一结构化建模'。已有内部探针(HALP、DHCP、MetaToken、SVAR 等)把内部信号压成扁平特征或手工统计量,而论文消融显示扁平 MLP 探针只有 31.9 F1M、Transformer 探针 33.2,比完整模型低约 30 分——说明结构本身就是判别信息。与已有方法的本质区别有三:一是骨干完全冻结,靠轻量读出网络从注意力与隐藏状态中学习,而 HaloDet 要微调全部骨干参数,Whitehead 要替换 LM 头,UniProbe 在两者都更强的前提下更新零参数;二是交替的 GNN/ViT/GRU 让空间、关系、时序证据在整个网络中反复耦合,而非各模块孤立处理,GNN 单独使用只能到 56.9 F1M,去掉关系图会掉 10.1 分;三是同一套轨迹表述可无缝改造成流式检测器——只需把双向 GRU 换成单向,就保证 $r_i$ 的得分只依赖前缀 $r_{\le i}$,从而支持解码时'拒绝-重采样'的幻觉感知解码,把检测器升级为生成过程的实时护栏。
方法步骤详情
(1) 前向采集:图像 $I$ 与查询 $x$ 送入冻结 LVLM $M$,读取第 $\ell$ 层隐藏状态 $h_i$ 与多头平均注意力 $A$;读取层按骨干选定(GLM-4.1V 第 20 层,LLaVA-1.5/InternVL2 第 14 层)。(2) 建图:图像位置按响应注意力质量 $s_j=\sum_{i\in\text{resp}} A_{ij}$ 取前 $N_{img}$ 个,查询词元同样筛选;节点特征 $x_i^{(0)}=W_{t(i)}h_i+\mathbf{1}[t(i)=\text{img}]\,\gamma_i$,$\gamma_i$ 为 patch 坐标编码。(3) 连边:每个回复词元保留来自图像、查询及先前词元 $j\tau$(0.70)则封禁该词元首 token 并重解码。(7) 自适配:用 $M$ 自由描述 Objects365 图像,按 CHAIR 自动标注幻觉物体提及,再微调 UniProbe。
技术新颖性
技术新颖性体现在四个层面。首先,这是首个面向 LVLM 的统一词元级幻觉定位器,把图像 patch 二维网格、查询/回复一维序列和跨模态注意力图整合进同一张计算轨迹图;此前多模态方法要么只做样本级整体判断(HALP),要么依赖外部验证器或人工参考描述(HalLocalizer、ZINA)。其次,交替结构模块的设计使三种异构证据端到端耦合而非简单拼接,消融证明关系图贡献最大(去掉后 -10.1 F1M),其次是回复时序(-4.6),任何单一模块最高只到 56.9,扁平探针更低至 31.9。第三,流式护栏是检测器引导解码从纯文本(Lookback Lens)到多模态的扩展:不像前者只用注意力图,UniProbe 对完整内部轨迹做因果打分,并拒绝-重采样被标记词元,且输出分布几乎不变(JS 散度仅 0.013)。第四,自适配策略用 CHAIR 对目标模型自生成内容自动标注,无需人工标注就弥合了第三方回复训练与自生成部署之间的分布偏移,把流式检测 F1 从 32.6 提到 63.8。
实验结果
论文在三类设置上验证。(1) 词元级检测:MHALO 上 GLM-4V 骨干取得 63.2 F1M / 52.9 F1IoU(IF=100),超过微调全部参数的 HaloDet(59.1/49.8);Qwen-3-VL 骨干 61.7/51.2 对 HaloDet 55.4/46.7,F1 提升 4–6 分;零样本GPT-4o 仅 56.8/40.6、Claude-4.8-Opus 58.6/43.9。HalLoc 上在 InternVL2、LLaVA-1.5、InstructBLIP 三骨干全面超过 HalLocalizer(73.9 对 70.6、74.3 对 69.8、67.4 对 65.3)。效率上打分完整回复仅 1.15× 延迟,低于 HaloDet 1.30×、HalLocalizer 1.21×。(2) 物体幻觉检测:LLaVA-1.5 上 COCO 自生成描述 F1 达 92.3;POPE 上 F1/AUC 63.1/90.0,远超此前最强的 Token Grounding(41.0/75.0),先前检测器 AUC 均卡在 69–75。(3) 幻觉感知解码:GLM-4.1V 自由生成 COCO 描述时,流式检测把 CHAIRi/CHAIRs 从 18.0/37.2 降到 15.3/31.4,自适配后降到 8.2/16.6(幻觉减少 55%),延迟仅 1.06×;SPICE 0.222 对 0.214、困惑度 2.27 对 2.30、JS 散度 0.013、保留 95.4% 词数并消除 6 条空描述;自适配的 HaloDet 也只到 F1obj 34.1。消融:扁平 MLP/Transformer 探针 31.9/33.2 F1M,GNN-only 56.9、ViT-only 51.8、GRU-only 53.1;读出层中间层最佳(GLM-4.1V 第 20 层、LLaVA-1.5 第 14/32 层)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 词元级幻觉检测(MHALO,GLM-4V 骨干) | F1M / F1IoU | 63.2 / 52.9 | HaloDet 59.1 / 49.8 | F1M +4.1,F1IoU +3.1 |
| 词元级幻觉检测(MHALO,Qwen-3-VL 骨干) | F1M / F1IoU | 61.7 / 51.2 | HaloDet 55.4 / 46.7 | F1M +6.3,F1IoU +4.5 |
| 词元级定位(HalLoc,三骨干平均) | F1 | 73.9 / 74.3 / 67.4(InternVL2 / LLaVA-1.5 / InstructBLIP) | HalLocalizer 70.6 / 69.8 / 65.3 | 三个骨干分别 +3.3 / +4.5 / +2.1 |
| 物体幻觉检测(POPE,LLaVA-1.5) | F1 / AUC | 63.1 / 90.0 | Token Grounding 41.0 / 75.0 | F1 +22.1,AUC +15.0 |
| 自生成描述幻觉检测(COCO,LLaVA-1.5) | F1 | 92.3 | ProjectAway 79.0 | +13.3 |
| 幻觉感知解码(GLM-4.1V 自生成 COCO) | CHAIRi(越低越好) | 8.2(自适配后),延迟 1.06× | Vanilla 18.0,延迟 1.00× | 降低 55%,且 SPICE 与困惑度基本不变 |
| 检测延迟(完整回复打分) | 相对延迟 | 1.15× | HaloDet 1.30× | 更快且更准 |
局限与改进
作者承认的局限:方法需要读取隐藏状态与注意力图,因此只适用于开源模型,或由闭源厂商在自己服务内部部署;每个骨干需要单独训练一个读出网络,内部表示差异导致跨骨干迁移被留作未来工作。我的补充观察:其一,自适配标签完全依赖 CHAIR 词表匹配,只能覆盖物体级幻觉,属性、关系、计数类幻觉无法自动标注,可能使检测器偏向物体检测;其二,解码阈值 $\tau=0.70$ 是验证集上手工选定的,降到 0.40 虽可再减 36% CHAIRi 但会误删 12% 正确内容,说明护栏对阈值敏感且缺乏自适应机制;其三,注意力取多头平均,头级别的特异性信息被抹掉;其四,流式版本未自适配时 F1obj 只有 32.6,缓解效果高度依赖自适配数据;其五,训练仍依赖 MHALO/HalLoc 的人工词元级标注,标注成本不低;另外长回复下图预算裁剪策略对检测质量的影响未报告,延迟数字也依赖具体实现。
独立分析的弱点
独立分析五点弱点。第一,自适配监督信号太弱:CHAIR 只按 COCO 类别与同义词匹配标注物体,生成中虚构的颜色、材质等属性幻觉和关系幻觉都不会被标出,改进方向是引入开放词表检测器或 VLM 裁判并辅以人工抽检,把自动标注扩展到属性级。第二,逐骨干训练读出网络在多模型产品环境下成本高,且两个骨干的峰值读取层差异大(第 20 层与第 14 层),可按层归一化内部表示或用轻量适配器实现跨骨干共享权重。第三,拒绝-重采样在 $p_i>\tau$ 时直接封禁首 token 重解码,若模型对某实体的首选 token 分布高度集中,可能反复拒绝导致解码循环或停滞,可引入多候选并行验证或回退到句子级重写。第四,注意力取多头平均丢弃了头特异信息,而已有研究表明不同注意力头分工不同,按头聚合或学习头权重有望抬高上限。第五,阈值 $\tau$ 全局固定,可改为按回复上下文与词元类型校准的动态阈值,缓解'减幻觉'与'删对内容'的权衡。
未来方向
作者明确提出的方向有两个:跨骨干迁移,让单个检测器服务多个 LVLM;闭源厂商在其服务内部直接部署该检测器。基于本文成果还可延伸:其一,把计算轨迹图扩展到视频-语言模型,时间维成为第三种结构,可自然加入一个时序模块与 ViT/GNN/GRU 交替;其二,深入研究'接地信号集中于中间窄层带'的机理——论文观察到输出层表示已特化为 next-token 预测特征而早层过于通用,用探针几何或信息论工具解释这一现象并指导自动选层;其三,把幻觉感知解码与对比解码(VCD)、注意力惩罚(OPERA)组合成混合护栏,各取所长;其四,把自适配自动标注扩展到属性、关系与计数幻觉,并探索部署后的测试时持续自适配;其五,轨迹图表示本身可迁移到其他可信性任务,如有害内容检测、引用一致性验证与多模态检索可信度评估。
复现评估
复现评估:论文给出了 Project Page 链接,但正文未明确声明代码已开源,需到项目页确认。有利条件很多:所有骨干(GLM-4.1V-9B、Qwen-3-VL、LLaVA-1.5-7B、InternVL2-8B、InstructBLIP-7B)均为开源模型,MHALO、HalLoc、POPE、COCO、Objects365 均为公开数据集;方法只读取单层隐藏状态与注意力(transformers 设 output_attentions=True 即可拿到),读出网络是 GNN+ViT+GRU 的轻量结构,单张 24GB 消费级 GPU 应可完成训练,无需微调骨干。难点在于:词元级跨度标注与词级 F1M/F1IoU 的对齐细节、图的节点预算 $N_{img}$ 与边数上限取值未在正文给出、读取层与阈值 $\tau$ 需按骨干在验证集上扫描、自适配需对 Objects365 子集批量生成描述并用 CHAIR 打标。综合判断复现难度中等:流程与公式完整清晰,但关键超参与工程细节需自行摸索,完整复现全部主表估计需要一到两周的工程量。
论文图表
一个穿着对比示例:LVLM(GLM-4V-Thinking)对'孩子穿什么'的回答把裤子和衬衫颜色说反了(红色幻觉)。HaloDet 误标了无幻觉的词元,HalLocalizer 只标出部分幻觉跨度,而 UniProbe(黄色标记)精确定位了错误的颜色词元,并在生成过程中实时干预,输出'蓝裤子白衬衫'的正确回复(绿色)。
开篇的动机图,直观展示了词元级检测的难点:现有 SOTA 检测器会过检、漏检或只检出部分幻觉,同时演示了检测如何直接转化为生成时干预,是理解全文问题定义的最佳入口。