HALLUCINATION-AWARE INTERMEDIATE REPRESENTATION EDIT IN LARGE VISION-LANGUAGE MODELS
(ICLR 2026)

HIRE 框架包含三个关键组件:
编辑器 (Editor): 用于识别并隔离与幻觉相关的特征,并将其朝着“低幻觉”方向修改 。作者采用了一个双编码器自编码器架构,包含语义编码器 $E_{sem}$ 和幻觉编码器 $E_{hal}$ 。给定某一层(如第 $l$ 层)的词元表示 $h_{tl}$,模型将其拆分为语义表示 $h_{tl,sem}$ 和幻觉表示 $h_{tl,hal}$ 。通过这种方式,编辑器能够在消除幻觉的同时,保留原始的语义信息 。
路由器 (Router): 这是一个轻量级的模块(多层感知机 MLP),它的作用是按需触发 。它只接收模型第一层的特征表示输入,并输出一个二元决策 $c$ 。如果 $c=1$,则启动 Editor 进行修改;如果 $c=0$,则跳过修改 。这样就避免了对正常词汇进行无效计算,大大提高了效率 。
幻觉调节器 (Hallucination Regulator): HIRE 引入了一个控制强度的超参数 $\alpha \in [-1, 1]$ 。
- 当 $\alpha$ 为正数时,可以抑制幻觉 。
- 当 $\alpha$ 为负数时,反而可以放大幻觉 。作者指出,在某些创意写作等场景下,适度的幻觉是有益的,这种可控性让 HIRE 具有更广泛的应用场景 。
HIRE 的目标是直接在模型内部修改隐藏层特征 $h_{tl}$。而直接修改特征 $h_{tl}$ 很容易破坏句子原本的语义(比如把“猫”改成了完全不相关的词)。为了实现“只消除幻觉,不改变原意”,作者设计了一个包含双编码器(Dual-encoder)和解码器(Decoder)的结构 。
编辑器首先将原始特征 $h_{tl}$ 拆分为两个独立的子空间:语义表示和幻觉表示 。
$$h_{tl,sem} = E_{sem}(h_{tl})$$
$$h_{tl,hal} = E_{hal}(h_{tl})$$
这里,$E_{sem}$ 是语义编码器,负责提取与意思相关的特征;$E_{hal}$ 是幻觉编码器,负责提取与幻觉程度相关的特征 。
在幻觉子空间中,模型会计算出真实特征和幻觉特征之间的平均差异,记为 $\delta_l$(这代表了该层降低幻觉的“通用方向”)。 接着,模型使用多头注意力机制 $f_{attn}$ 将语义特征(作为 Query)和修改后的幻觉特征(作为 Key 和 Value)进行融合,并通过解码器 $D$ 还原到原始特征空间,最终计算出针对特定词元的最佳修改方向 $\Delta_{tl}$ :
$$\Delta_{tl} = D(h_{tl,sem} + f_{attn}(h_{tl,sem}, h_{tl,hal} + \delta_l)) - D(h_{tl,sem} + f_{attn}(h_{tl,sem}, h_{tl,hal} - \delta_l))$$
因此,作者引入了一个轻量级的路由器 $R_{\theta}$(一个多层感知机 MLP)。它只接收模型第一层的特征 $h_{t1}$,并输出一个二元决策 $c$ 。
最终的特征编辑公式如下 :
$$h_{tl,aug} = \begin{cases} h_{tl} + \alpha \Delta_{tl}, & \text{if } c = 1 \ h_{tl}, & \text{if } c = 0 \end{cases}$$
这里引入了一个非常关键的调节参数 $\alpha \in [-1, 1]$ :
- 当 $c=1$(需要修改)且 $\alpha$ 为正数时,特征向着低幻觉方向移动(抑制幻觉)。
- 如果人为将 $\alpha$ 设为负数,特征则会向反方向移动(放大幻觉),这赋予了模型可控的生成能力 。
训练
Editor 的训练(对比学习 InfoNCE): 作者用原图生成“正样本”(低幻觉),用加了噪声的模糊图生成“负样本”(高幻觉)。语义编码器的损失函数 $L_{tl,sem}^+$要求正负样本的语义特征保持高度相似(因为句子没变);而幻觉编码器的损失函数 $L_{tl,hal}^+$ 则要求强行拉开正负样本的幻觉特征距离。
Router 的训练(DPO 直接偏好优化): 作者让模型生成多条候选句子,用 CHAIR 指标(幻觉评价指标)选出幻觉最少的好句子(Preferred)和幻觉最多的坏句子(Non-preferred),组成偏好对$(h^+, c^+)$和$(h^-, c^-)$ 。 随后使用 DPO 损失函数,鼓励路由器学习那些能产生好句子的编辑决策轨迹:
$$\mathcal{L}r = -\mathbb{E}{(h,c)}[\log \sigma(\beta(\log \pi_{\theta}(h^+, c^+) - \log \pi_{\theta}(h^-, c^-)))]$$