Knowledge Vector of Logical Reasoning in Large Language Models¶
会议: ACL 2026
arXiv: 2604.23877
代码: https://github.com/lei-nlp-lab/knowledge_vector_acl_2026
领域: 可解释性 / 逻辑推理 / 激活引导
关键词: 知识向量、逻辑推理、稀疏自编码器、互补子空间、激活引导
一句话总结¶
作者证明 LLM 内部的演绎、归纳、溯因三类逻辑推理能力可以被线性表示为三条几乎正交的"知识向量",并提出一个基于 SAE 子空间约束的互补精炼框架,让这三条向量在保留各自独特特征的同时互相借鉴,从而在 steering 设置下稳定提升三类推理性能。
研究背景与动机¶
领域现状:知识向量 / activation steering 已被证明能在 LLM 中线性表示真实性、指令跟随等高层概念,并通过在残差流上叠加这条向量来调控模型行为。但已有工作几乎只针对单一具体行为(如 truthfulness、backtracking),还没人系统研究"通用逻辑推理能力"能不能被线性表示。
现有痛点:经典逻辑学把推理分为演绎 / 归纳 / 溯因三类,但 LLM 在内部到底用什么方式表征它们、彼此之间是独立还是协作,完全是黑箱。如果不能精确定位、就谈不上可控干预,也无法解释 chain-of-thought 究竟在做哪种推理。
核心矛盾:作者先用对比探针把每种推理类型抽出一条 naive 向量,发现这三条向量两两余弦相似度近乎 0——也就是说 LLM 把三类推理放在几乎正交的子空间里。但这违背了认知科学的事实:人脑中三类推理共享底层认知操作,归纳给出的新前提会立刻被演绎使用。所以"几何独立"很可能是 LLM 表征不够好的副产物,而不是最优表征。
本文目标:(1) 验证三类逻辑推理是否都满足线性表示假设;(2) 设计一个机制,让三条向量"该共享的共享,该独立的独立",并通过 steering 性能验证这是更好的表征;(3) 借助 SAE 与 activation patching 对修正前后的内部回路做机制可解释性分析。
切入角度:稀疏自编码器(SAE)能把 LLM 残差流分解成稀疏可解释特征。对每类推理筛出最具区分度的 SAE 特征,再对它们的 decoder 方向做 QR 正交化,就得到一组保留该推理"指纹"的子空间基。把"互补吸引"和"留在子空间内"两个目标联合优化,就能让推理向量既互相借鉴又不互相覆盖。
核心 idea:用余弦互补损失把三条推理向量"拉近",再用 SAE 子空间投影损失"拽回"各自特征结构,做出兼具共享性与独特性的互补推理向量。
方法详解¶
整体框架¶
方法分两阶段:(A) Naive 知识向量抽取:对演绎 / 归纳 / 溯因三类任务,分别用"强提示 vs 弱提示"成对采样,仅保留"强提示推对、弱提示推错"的样本,把每条样本的生成阶段 token 残差激活在层 \(l\) 上做平均,得到正激活 \(\bar a^+\) 与负激活 \(\bar a^-\);再在这些激活上训练 BCE 线性探针 \(p_r=\sigma(\theta_r^\top x+b_r)\),把探针权重 \(\theta_r\) 当作该推理类型的"知识向量"。Llama-3.1-8B-it 与 Gemma-2-9B-it 都选 layer 13。(B) 互补精炼:在三条 \(\theta_r\) 之上再加两项损失(互补余弦损失 + SAE 子空间约束损失)和探针 BCE 损失联合优化,得到精炼后的向量 \(\theta_r^{\text{ref}}\);推理阶段把 \(\theta_r^{\text{ref}}\) 加到 layer 13 的生成 token 上做 steering,即可放大该推理能力。
关键设计¶
-
互补余弦损失:
- 功能:把不同推理类型的向量在方向上拉近,迫使每条向量吸收其它推理的"互补知识"。
- 核心思路:对所有不同类型 \(r\neq s\),最小化 \(\mathcal{L}_{\text{com}}=-\sum_{r\neq s}\frac{\theta_r^\top\theta_s}{\|\theta_r\|\|\theta_s\|}\);即直接最大化两两余弦相似度的和。
- 设计动机:naive 向量两两余弦近 0,等价于三种推理"互不通气";而认知科学和作者自己的观察(一种推理的中间产物常被另一种推理利用)都暗示应该有共享子结构。但单用这一项会让三条向量塌缩到同一个方向,丢掉特异性——所以必须配第二项。
-
SAE 子空间约束损失:
- 功能:把每条推理向量"钉"在该推理特异的 SAE 特征子空间附近,防止互补损失把它拉离自身核心特征。
- 核心思路:先把残差激活送进预训练 SAE(Llama Scope / Gemma Scope)得到稀疏码 \(z\);对每个隐元 \(j\) 计算正/负样本上的均方激活比 \(\rho_r(j)=\mu_r^+(j)/(\mu_r^-(j)+\varepsilon)\),取 \(\alpha=0.9\) 分位以上、再按激活强度取 Top-\(K{=}3000\) 得到该推理的特征集合 \(\mathcal{F}_r\);把这些特征对应的 SAE decoder 方向堆成 \(V_r\) 并做 QR 正交化得到正交基 \(U_r\)。然后惩罚 \(\theta_r\) 在 \(U_r\) 之外的投影分量:\(\mathcal{L}_{\text{sub}}^{(r)}=\|(I-U_rU_r^\top)\theta_r\|_2^2\)。
- 设计动机:SAE 子空间相当于"该推理类型必须保留的指纹";只要 \(\theta_r\) 留在子空间内,就允许它在子空间内部任意旋转去吸收别的推理知识,既共享又不丢身份。
-
从精炼向量到 steering:
- 功能:把精炼后的 \(\theta_r^{\text{ref}}\) 用作 layer-13 的方向加法,提升对应推理类型的回答质量。
- 核心思路:生成时在 prompt 结束后的每个新 token 位置上把 \(c\cdot\theta_r^{\text{ref}}\) 加到 layer 13 的残差流;总损失 \(\mathcal{L}=\sum_r\mathcal{L}_{\text{probe}}^{(r)}+\lambda_{\text{com}}\mathcal{L}_{\text{com}}+\lambda_{\text{sub}}\sum_r\mathcal{L}_{\text{sub}}^{(r)}\),默认 \(\lambda_{\text{com}}=0.1,\lambda_{\text{sub}}=0.01\)。
- 设计动机:作者发现精炼后的向量在更小的 steering 系数下就能达到更高峰值性能,说明它们捕获的是"更干净、更对齐"的推理方向,符合 LRT 假设。
损失函数 / 训练策略¶
总目标见上式;优化器 Adam,lr=\(10^{-3}\),batch 16;SAE 子空间筛选阈值 \(\tau=0.9\)、\(K=3000\)、\(\varepsilon=10^{-6}\);三种推理共用一个联合训练 loop,Llama-3.1-8B-it 与 Gemma-2-9B-it 都干预 layer 13,GPT-OSS-20B 同样的训练范式直接迁移。
实验关键数据¶
主实验¶
三个数据集对应三类推理:JustLogic(演绎,acc)、DEER(归纳,METEOR)、ART(溯因,acc)。下面是 Llama-3.1-8B-it 在 Greedy 解码下的对比:
| 推理类型 | 数据集 | Unsteered | Mono Steering | Complementary | 提升 vs Unsteered |
|---|---|---|---|---|---|
| 演绎 | JustLogic | 48.95 | 55.22 | 56.46 | +7.51 |
| 归纳 | DEER | 26.36 | 27.13 | 27.55 | +1.19 |
| 溯因 | ART | 32.27 | 39.19 | 40.95 | +8.68 |
Gemma-2-9B-it 上演绎 56.86 → 59.05、溯因 54.67 → 58.20;GPT-OSS-20B(MoE)上溯因 45.09 → 50.50,证明方法不依赖具体架构。Sampling@5 解码下趋势一致,互补 steering 始终优于 mono steering。跨任务迁移到 GSM8K 时,无 steering 76.26 → 互补 steering(演绎向量)79.37,说明学到的不只是数据集偏置。
消融实验¶
Llama-3.1-8B-it 完整模型 vs 去掉单个组件(相对 Δ):
| 配置 | 演绎 | 归纳 | 溯因 | 说明 |
|---|---|---|---|---|
| Full(互补+子空间) | 56.46 | 27.55 | 40.95 | 完整方法 |
| w/o 互补知识增强 | −2.81 | −0.46 | −3.33 | 退化到 mono,演绎、溯因掉得明显 |
| w/o SAE 子空间约束 | −4.58 | −0.29 | −2.09 | 无约束的互补让演绎崩得最厉害 |
关键发现¶
- 两条损失缺一不可:去掉互补损失等于回到 mono;去掉子空间约束反而比去掉互补损失更糟(演绎 −4.58 vs −2.81),说明"放任互补"会让向量塌缩,破坏推理特异性比放弃共享更危险。
- 演绎和归纳精炼后 SAE 特征共激活相似度从 0.600 → 0.655,而溯因和它们的相似度持续下降(0.474 → 0.425),与"演绎/归纳同属基于证据的推理、溯因更偏假设选择"的认知规律一致。
- Activation patching 显示:核心注意力头(如 layer 31 head 14)在精炼前后都保持高激活,证明精炼没破坏原有回路;同时出现新激活头(如 layer 17 head 24 对演绎),整体激活更集中、更稀疏。
- 文本跨度分析:演绎向量倾向放大 "therefore/since" 等因果连接词,归纳向量偏好量词与"统计规律"短语,溯因向量则放大"more plausible/likely"等假设择优表达,证明向量编码了与人类语言学直觉一致的语义线索。
亮点与洞察¶
- "几何相似度近 0 ≠ 表征最优"是个反直觉切入点——大多数 steering 工作直接假设独立向量越独立越好,本文把它当作病症并对症下药。
- 用 SAE 子空间做"软锚定"是巧妙工程:传统正则要么硬约束(如冻结某些维度)、要么 L2 拉回原点;这里用 SAE decoder 方向构造"语义意义上的同质子空间",允许向量在子空间内自由旋转,既保留身份又保留学习空间。
- 互补 + 子空间这一对偶设计可以直接迁移到其它"既要共享又要专化"的场景:多任务 LoRA、多语言知识神经元、多模态 head 等。
- 性能绝对增益不大(最大 +8),但作者诚实地把价值定位在"可控、可分析的推理 handle"上而不是 SOTA,体现了 mechanistic interpretability 工作的克制性。
局限与展望¶
- 只覆盖三类经典逻辑推理;类比推理、反事实推理、规划等是否仍可线性表示未验证。
- 互补损失仅是两两余弦最大化,规模到 \(|\mathcal{P}|>3\) 时可能出现"中心化塌缩"风险,作者没讨论。
- 仅在 layer 13/14 一个位置做干预;多层级联或动态选层可能进一步提升。
- 干预系数仍需手工网格搜索;如能把 steering 强度也学出来会更实用。
- 评测主要是 in-domain;除 GSM8K 外的 OOD 泛化(如代码推理、定理证明)未测。
相关工作与启发¶
- vs Rimsky et al. 2024 (CAA):CAA 用对比对求差向量做 steering;本文把"差向量"升级为"互补精炼后的子空间约束向量",更稳健,且天生支持多任务共生。
- vs Venhoff et al. 2025:他们做 backtracking 这种具体推理模式的 steering vector;本文把粒度抬升到"通用逻辑推理类别",并把多向量协作问题摆上桌面。
- vs Wang et al. 2025a (Adaptive Activation Steering):那篇做 truthfulness 自适应 steering;本文方法可与之正交组合——先用 SAE 子空间精炼,再做自适应强度。
- vs Cai et al. 2025 (deductive/inductive in LLMs):他们从行为层面分析两类推理的相互依赖;本文从表征层面给出了对应的几何证据与可控干预手段。
评分¶
- 新颖性: ⭐⭐⭐⭐ 把"推理向量几何独立"作为切入点,并用 SAE 子空间做正交化是一个新颖且自然的组合。
- 实验充分度: ⭐⭐⭐⭐ 三类推理 × 三个模型 × 两种解码 + GSM8K 跨任务 + activation patching + SAE 特征分析,覆盖面广;缺更多 OOD 任务。
- 写作质量: ⭐⭐⭐⭐ 动机、几何观察、方法和分析串联清晰,图 2 一目了然;个别符号说明可更紧凑。
- 价值: ⭐⭐⭐⭐ 给"推理类型的可控表征"提供了一个范式,对 mechanistic interpretability 与 multi-property steering 都有借鉴意义。
评分¶
- 新颖性: 待评
- 实验充分度: 待评
- 写作质量: 待评
- 价值: 待评