Where Does Reasoning Break? Step-Level Hallucination Detection via Hidden-State Transport Geometry

(arxiv 2026)


motivation

正确的推理过程会在一个局部连贯的稳定流形(Manifold)中移动 。当模型产生第一个推理错误(幻觉)时,在隐藏状态空间中会表现为一种局部且明显的传输成本偏移(Transport Excursion),即轨迹偏离了正确的流形 。

方法

为了捕捉这种几何偏移,作者设计了一个两阶段架构:一个非部署的“教师模型”(用于探索理论上限)和一个可实际部署的“学生模型” 。

第一阶段:步骤的隐状态提取 (Step Representations)

首先,要将大语言模型生成的长篇文本转化为数学向量。

假设模型生成了一个包含 $m$ 个步骤的推理轨迹 $T = (s_1, …, s_m)$ 。在特定的 Transformer 层(通常是最后一层),对于第 $t$ 个步骤,提取其内部所有 Token 的隐藏状态并进行均值池化(Mean Pooling),得到代表该步骤的单一向量 $h_t \in \mathbb{R}^d$ :

$$h_t = \frac{1}{|I_t|} \sum_{j \in I_t} a_j^{(l)}$$

其中,$I_t$ 是第 $t$ 个步骤的 Token 索引集合,$a_j^{(l)}$ 是第 $j$ 个 Token 在第 $l$ 层的隐藏状态。

第二阶段:局部坐标系与归一化 (Local Normalization)

这一步是为了消除与“推理正确性”无关的全局语义噪声。

假设我们在训练阶段,已知一条轨迹中正确的步骤集合为 $\mathcal{C} = {t : y_t = 0}$ 。计算这些正确步骤的中心点(均值) $\overline{h}_0$ 和离散度(方差的标量表示) $\sigma_0^2$ :

$$\overline{h}0 = \frac{1}{|\mathcal{C}|} \sum{t \in \mathcal{C}} h_t$$

$$\sigma_0^2 = \frac{1}{d|\mathcal{C}|} \sum_{t \in \mathcal{C}} ||h_t - \overline{h}_0||_2^2$$

然后,使用这个局部基准对整条轨迹的所有步骤(包括后面的错误步骤)进行标准化 :

$$\tilde{h}_t = \frac{h_t - \overline{h}_0}{\sigma_0 + \epsilon}$$

第三阶段:对比几何投影 (cPCA Projection)

为了放大“首个错误”与“正确步骤”之间的差异,作者构建了对比主成分分析(cPCA)。

  • 标准 PCA:寻找数据变化最剧烈的方向(最大化协方差矩阵 $C$ 的特征值)。如果数据受到强烈噪声(如系统误差、无关背景特征)的影响,PCA 往往会把这些噪声方向作为主成分提取出来。

  • 对比 PCA (cPCA):引入了一个**目标数据集(Target)**和一个**背景数据集(Background)**。它致力于寻找在目标数据中变化很大,但在背景数据中变化很小的方向。

设 $\hat{\mu}_0, \hat{C}_0$ 是归一化后正确状态的均值和协方差;$\hat{\mu}_1, \hat{C}_1$ 是第一个错误状态的均值和协方差 。核心的对比传输矩阵 $\hat{M}_\alpha$ 定义为 :

$$\hat{M}_\alpha = (\hat{\mu}_1 - \hat{\mu}_0)(\hat{\mu}_1 - \hat{\mu}_0)^\top + \hat{C}_1 - \alpha \hat{C}_0$$

  • $(\hat{\mu}_1 - \hat{\mu}_0)(\hat{\mu}_1 - \hat{\mu}_0)^\top$:均值漂移项,捕捉均值层面的偏离。
  • $\hat{C}_1 - \alpha \hat{C}_0$:对比协方差项,$\alpha \ge 0$ 是背景惩罚权重,用于抑制正确步骤中本身就很活跃(方差大)的方向 。

提取 $\hat{M}_\alpha$ 的前 $k$ 个特征向量组成投影矩阵 $U \in \mathbb{R}^{d \times k}$,将归一化后的高维向量投影到低维的敏感空间中 :

$$z_t = U^\top \tilde{h}_t \in \mathbb{R}^k$$

第四阶段:几何动力学特征提取 (Transition Features)

投影到 $z_t$ 后,文章不再看静态分布,而是计算“轨迹的导数”,提取出代表状态转移的 7 个特征向量块 :

首先计算一阶差分(步长/速度)和二阶差分(加速度) :

$$\Delta z_t = z_t - z_{t-1}$$

$$\Delta^2 z_t = (z_t - z_{t-1})-(z_{t-1}- z_{t-2})$$

接着计算以下标量特征 :

  1. 绝对位置 ($r_t$): $r_t = ||z_t||_2$
  2. 相对位置 ($\overline{\overline{r}}_t$): $\overline{\overline{r}}t = \frac{r_t - \text{median}{u \in \mathcal{C}}(r_u)}{\text{MAD}_{u \in \mathcal{C}}(r_u) + \epsilon}$ (相对于正确步骤的绝对中位差,用于测量异常程度)
  3. 速度 ($v_t$): $v_t = ||\Delta z_t||_2$
  4. 加速度 ($a_t$): $a_t = ||\Delta^2 z_t||_2$
  5. 滚动平滑能量 ($e_t$): $e_t = \frac{1}{w} \sum_{j=t-w+1}^t (v_j^2 + a_j^2)$ (消除单步的瞬态噪声)
  6. 方向持续性 ($d_t$): $d_t = \frac{\langle \Delta z_t, \Delta z_{t-1} \rangle}{(||\Delta z_t||2 + \epsilon)(||\Delta z{t-1}||_2 + \epsilon)}$ (通过余弦相似度区分是连贯推进还是方向突变)

将这些标量拼成一个向量 $x_t$,输入到轻量级的 MLP(教师模型)中,输出幻觉概率 $p_t^T$ 。

第五阶段:知识蒸馏落地 (Deployable Student Model)

前面所有的计算都需要知道 $\mathcal{C}$(哪些步骤是正确的),所以教师模型无法在现实推理中使用 。为了落地,必须训练一个不需要标签的学生模型

学生模型是一个双向 LSTM (BiLSTM),它直接吃入原始的未归一化的隐藏状态 $h_{1:m}$,并在没有任何标签的情况下预测概率 :

$$c_{1:m} = \text{BiLSTM}\psi(h{1:m})$$

$$p_t^S = \sigma(g_\psi(c_t))$$

蒸馏损失函数 (Loss Function) : 学生模型的训练目标 $\mathcal{L}_S(\psi)$ 是两部分的混合:

  1. 真实标签的二元交叉熵损失 (BCE)。
  2. 拟合教师模型软标签的 KL 散度 (KL Divergence),带有温度缩放 $\tau_d$:

$$\mathcal{L}S(\psi) = \lambda \sum{i,t} \text{BCE}(y_{it}, p_{it}^S) + (1-\lambda)\tau_d^2 \sum_{i,t} \text{KL}(\text{Bern}(q_{it}^T) || \text{Bern}(q_{it}^S))$$


Where Does Reasoning Break? Step-Level Hallucination Detection via Hidden-State Transport Geometry
https://lijianxiong.space/2026/20260520/
作者
LJX
发布于
2026年5月20日
许可协议