One-shot Optimized Steering Vector for Hallucination Mitigation for VLMs

(arxiv 2026)


motivation

现有的方法要么需要昂贵的重新训练(如 SFT, RLHF),要么是推理时干预(Steering),但后者通常需要针对每个输入计算特定的向量(Input-dependent),推理开销大 。

OSGA 的核心突破在于: 仅利用一个精心挑选的数据样本进行优化,学习到一个与输入无关的通用控制向量(Steering Vector)。在推理阶段,只需将该向量注入模型层中,即可在不增加额外计算开销的情况下,显著减少幻觉并提升安全性 。

方法

基于方差的数据选择

为了实现“单样本(One-shot)”优化,必须找到最具信息量的那个样本,而不是随机选择。

策略: 选择位于模型“知识边界”附近的数据点 。

具体做法:

  • 对一个问题进行多次采样(roll out k independent samples)。
  • 计算这些回答的方差(Variance)。
  • 高方差意味着模型对此问题不确定(有时对有时错),这类数据提供的优化信息增益最大 。
  • 公式:选择方差 $Var(x)$ 最大的数据点 $x^*$ 作为锚点 。

带有生成锚点的优化

利用选出的单个数据点,通过对比学习优化一个控制向量 $v$。

对比目标: 促进模型生成正向标签(如详细准确的描述),抑制负向标签(如包含幻觉的描述) 。

生成锚点正则化:

为了防止仅用单样本优化导致模型跑偏或过拟合,引入了“生成锚点”作为软约束 。

生成方式: 将模型产生的幻觉文本输入到一个文生图(T2I)模型中,重构出图像,提取其视觉嵌入作为锚点 $E _ {GA}$ 。

作用: 将学习到的向量约束在一个语义上有意义的范围内,保持优化的稳定性 。

损失函数: 结合了对比损失(Cross-entropy loss)和与生成锚点的距离约束 。
$$
\mathcal{L} = \mathcal{L} _ {contrastive} + \gamma \cdot Dis(v, E _ {GA})
$$

其中促进正向:

$$
\mathcal{L}_ + (x, y^+; v) = -\sum _ {k=0} ^ {m-1} \log P _ {model}(y _ {k+1}^+ | y_k^+, …, y_1^+, x; v)
$$
和抑制负向:
$$
\mathcal{L}_- (x, y^-; v) = -\sum _ {k=0} ^ {m-1} \log (1 - P _ {model}(y _ {k+1}^- | y_k^-, …, y_1^+, x; v))
$$
且$\gamma = \frac{\mathcal{L} _ {cross-entropy}}{Dis(v, E _ {GA}) + \epsilon}$。

推理阶段

优化完成后,得到的控制向量 $v$ 是固定的。在推理时,将该向量乘以一个系数 $\alpha$,直接加到 VLM 解码器特定层(Layer $l$)的隐藏状态中 。
$$
\tilde{h} _ {k, l} \leftarrow h _ {k, l} + \alpha v, \quad k \in \mathcal{H} _ {img}
$$
优势: 不需要修改模型参数,也不需要像以前的方法那样为每个新输入单独计算向量,因此推理零额外延迟。


One-shot Optimized Steering Vector for Hallucination Mitigation for VLMs
https://lijianxiong.space/2026/20260202/
作者
LJX
发布于
2026年2月2日
许可协议