harness_evolve/notes/ref26_epistemic-uncertainty-test-time-discovery.md

UG-TTT: Epistemic Uncertainty for Test-Time Discovery

一句话总结:测试时发现(test-time discovery)系统的"最高奖励天花板"过早停滞,根因是"最大化期望奖励"的策略梯度会惩罚高方差变异、逼模型退回熟悉套路(多样性坍缩);本文用一小簇 LoRA adapter 组成的贝叶斯集成,把每个 token 上"adapter 之间的分歧"量化成互信息 = 认知不确定性(epistemic uncertainty),据此给策略梯度加一个探索奖励,把采样预算引向"模型真没学过"而非"题目本身歧义"的位置;再用核范数正则逼 adapter 张成互相正交的子空间、防止集成坍缩——从而在 4 个科学发现基准上,用 TTT-DISCOVER 1/50 的 rollout 就守住甚至抬高最高奖励,同时把解的多样性维持在高位。


TL;DR 速览

tags: #测试时发现 #test-time-training #认知不确定性 #epistemic-uncertainty #BALD #LoRA-ensemble #探索奖励 #多样性坍缩 #强化学习 #科学发现

related: [[ref25_learning-to-discover-at-test-time]](TTT-DISCOVER,直接基线/最近亲)· [[ref09_meta-harness]](同做"发现/搜索"但优化 harness 代码而非权重)· [[ref17_self-harness]](自我改进但改 harness 面)· [[ref20_alphaevolve]](LLM 编码 Agent 做算法发现,本文引为发现系统范例)· [[ref21_shinkaevolve]](进化式发现,同样面对多样性维持问题)


摘要

用大语言模型做自动科学发现,依赖于识别真正新颖的解。标准强化学习惩罚高方差变异,导致策略偏好熟悉模式;结果是平均奖励上升、最高奖励却停滞。要突破这个限制,需要一个能区分"未探索区域"与"本质困难问题"的信号——这要求测量"独立适配的多个权重假设之间的分歧",而不是依赖单个网络的置信度。UG-TTT 通过在冻结底座上维护一小簇 LoRA adapter 来应对:把 per-token 分歧量化为"集成预测与权重假设之间的互信息",隔离出认知不确定性,标定出"覆盖不足导致 adapter 发散"(而非"问题本质困难")的位置。该信号作为探索奖励注入策略梯度,把策略导向"持续的 adapter 分歧标志着低训练覆盖"的位置——正是可能发生真正发现的前沿。一个核范数正则确保 adapter 之间保持区分,从而在整个训练过程中保留探索信号。跨 4 个科学发现基准,UG-TTT 在 3 个任务上提高最高奖励,维持显著更高的解多样性;消融研究证实正则器对维持多样性至关重要


1 介绍:为什么"最高奖励"会结构性停滞

论文开门见山抛出一个反直觉但关键的现象:像 AlphaEvolve([[ref20_alphaevolve]])、TTT-DISCOVER([[ref25_learning-to-discover-at-test-time]])这类"LLM + 验证循环"的发现系统,都有一个内在上界——

虽然平均表现可以靠优化期望奖励来提升,但对新颖发现至关重要的"最高可达奖励"却过早停滞。这是 mode collapse(模式坍缩) 的直接后果:模型收敛到训练数据里那些简单、"安全"的解。

作者把这件事拔高到一个原理层面的论断:这个停滞不是搜索的偶然失败,而是"期望值目标"结构性固有的。理解这一点是全文的起点。

[!TIP] 核心洞察:发现是一个"分布外(out-of-distribution)"任务 论文给了一个极简却有力的框架:一个真正的发现,是超出既有人类知识、因而也超出任何预训练模型训练分布的解。这有一个立即的推论——任何在"模型学到的分布"的高概率区域里搜索的方法,本质上只是在做检索或利用(retrieval / exploitation),而非发现。于是真正的问题变成:怎么推动一个 LLM 去它的知识边界导航——那里它初始的预测置信度很低,但发生有意义"认知转移(epistemic shift)"的潜力很高?

这个"发现 = OOD"的框架直接决定了后面所有设计:既然要去"模型不确定"的地方,就必须先有一个能可靠度量"模型对某处到底有多不确定、且是哪种不确定"的信号。

为什么"分歧"才是对的信号? 作者指出现有对抗多样性坍缩的手段——熵奖励、基于置信度的难度加权、不确定性引导的推理预算——全都从单个训练好的网络取信号,而单网络根本无法把 aleatoric 和 epistemic 分开(下文详解这两个概念)。原因很简单:单网络对这两种情况都产生高熵

[!TIP] 什么是 aleatoric 与 epistemic 不确定性?(本文的理论基石) 这是不确定性量化(UQ)里的经典二分(Hüllermeier & Waegeman 2021): - Aleatoric uncertainty(偶然不确定性 / 数据不确定性):来自输入本身的内在歧义或噪声,是不可约(irreducible)的——即使给无限多数据也消不掉。例:一道题本身有多个同样合理的解,或标注天然含噪。 - Epistemic uncertainty(认知不确定性 / 模型不确定性):来自模型没学到的知识空缺(gaps in what the model has learned),是可约(reducible)的——给更多相关数据/训练就能减小。这正是发现所需要的信号:它标定"模型还没覆盖到"的区域。

关键难点:一个单一网络对两者都吐高熵——你看到高熵,分不清是"这题本来就模糊"还是"我没学过"。要把它们分开,必须测量"权重空间的分歧(weight-space disagreement)"——即"如果我把模型的权重换成另一个同样合理的假设,预测会不会变?会变 = 认知不确定(我没学明白,所以不同假设给不同答案);不变 = 只是偶然不确定(题目模糊,但我很确定它模糊)"。单条训练轨迹里没有这个信号,因为它只有一组权重。这就是为什么本文非要用集成(多组权重假设)

为什么"混淆"对发现是致命的? 因为策略会把算力花在"歧义但熟悉(ambiguous-but-familiar)"的领地,而不是"真正的知识前沿"(突破所在)。作者还点名批评了 AutoDiscovery(Agarwal et al. 2025):它从单个冻结 LLM 导出"贝叶斯惊奇(Bayesian surprise)",因此随着发现推进不积累任何领域知识——是"单模型信号"局限的又一例证。

贝叶斯理论解决了这个混淆预测与模型参数之间的互信息,把认知成分隔离为"独立适配的权重假设之间的分歧"——集成成员同意 → 只是歧义(aleatoric);成员分歧 → 模型真没学过(epistemic)。LoRA 集成恰好能低成本实现这个分解:把每个低秩 adapter 当作"共享冻结底座上的一个独立后验样本",不必复制整个模型。

剩下唯一的障碍是坍缩:联合训练的 adapter 共享数据和目标,会收敛到相同权重构型,把互信息推到数值零——作者的测量证实这在两个 epoch 内就发生。这正是第三个组件(核范数正则)要解决的。

三个耦合贡献(原文 Contributions 段):(i) \(K\) 个 LoRA adapter 的集成 + per-token MI 认知信号;(ii) 把该信号注入策略梯度、且增益与熵温度 \(\beta\) 耦合的塑形优势;(iii) 对堆叠 adapter 下投影的核范数正则,其全局最优可证地落在"互相正交输入子空间"(Prop. 2)。

图1:UG-TTT 保留驱动发现的多样性(训练目标 + 熵保留)

Figure 1 逐元素解读(全文招牌图,一张图讲清"目标 + 效果"): - 顶部方框(训练目标):完整的 UG-TTT 损失 \(\mathcal L(\Theta)\)。它在 TTT-DISCOVER 的裁剪重要性采样(clipped IS)代理基础上,加了两个紫色项——优势里的 \(\gamma R_{\mathrm{MI}}\)(MI 塑形的探索奖励,加在原熵优势 \(A_t^{\mathrm{ent}}\) 上)和末尾的 \(-\beta\|U_\Theta\|_*\)(核范数正则)。紫色 = 本文新增,灰色 = 继承自基线,一眼看清"改了哪两处"。 - 左图(per-epoch 熵):纵轴 Shannon 熵 \(H\)("算法族分布"的熵,即模型正在尝试多少种不同解法家族),横轴训练 epoch,跨 4 个基准平均(细线是各任务)。紫(Ours/UG-TTT)维持跨任务均值 \(H\approx1.42\) bits,灰(Baseline/TTT-DISCOVER)到 epoch 5 坍缩到 0.65 bits——图上标注的 2.20× 就是这个差距。含义:基线越训越"专一"(只剩一两种解法),UG-TTT 始终保持"广撒网"。 - 右图(final-epoch 熵增益):横轴最终 epoch 的熵 \(H\),4 个基准各一行(AC1/AC2/CP26/Erdős)。每行灰点=基线、紫点=Ours,紫点都在灰点右侧,标注了绝对增益:+1.01 bits (AC1)、+0.62 (AC2)、+0.53 (CP26)、+0.94 (Erdős)。这些熵增益直接驱动了 §3 的 \(R_\max\) 提升——图注明确点出这层因果。


2 相关工作:四条线索

论文把 UG-TTT 定位在四条研究线的交叉。下面把每条里的关键前作讲透(对理解"新在哪"很重要)。

[!TIP] ① RLHF 与奖励模型优化 - RLHF / PPO 对齐 [Havrilla 2024, Rafailov 2024]:用 PPO 针对一个学到的奖励模型优化,成为对齐 LLM 的标准机制,在推理/常识/代码上都有增益。 - 核心病理 = reward hacking(奖励黑客):标量奖励把细腻的目标压缩成单一维度内在地抑制探索、诱导对代理漏洞的利用,并引发过度自信、幻觉、分布脆弱。

与本文的关系:本文正是把"标量奖励抑制探索"这条病理,具体化到"发现"场景——不是泛泛说 reward hacking,而是精确指出"最大化期望奖励在梯度层面偏向低方差变异"这一机制。

[!TIP] ② Test-time training(TTT,测试时训练)(本文的直接土壤) - TTT 通用范式 [Hu 2025, Hardt & Sun 2023, Akyürek 2024]:在推理时用自监督信号或检索到的近邻,更新模型参数;常配参数高效 adapter 以缓解遗忘。在 ARC、BIG-Bench Hard 上有显著增益。 - 共同缺陷:和 RLHF 一样,在稀疏结果奖励下会 mode collapse——没有稠密内在信号时,适配会过早收敛到熟悉解法路径,而非推进到知识前沿。

TTT-DISCOVER([[ref25_learning-to-discover-at-test-time]],Yuksekgonul et al. 2026)是本文的直接基线:把开放数学问题当"发现问题",用 PUCT 选父解、策略生成变异、verifier 打分,state-conditional 熵目标 + 自适应温度 \(\beta\)。本文完整继承它的 prompt/verifier/PUCT,只在权重侧动手。

[!TIP] ③ 不确定性量化(UQ)(本文的理论工具箱) - 基础 UQ [Abdar 2021, Hüllermeier & Waegeman 2021]:把 aleatoric 与 epistemic 分开,提出贝叶斯网络、深度集成(deep ensembles)、MC dropout、evidential 方法作为估计策略。 - LLM 上的 UQ [Farquhar 2024(语义熵检测幻觉,Nature), Shorinwa 2025(UQ 综述)]:用 token 概率、口头置信度、集成分歧、conformal 区间做幻觉检测;有 LM-Polygraph 这类生产系统。 - 共同局限:这些方法多是 post-hoc(事后) 的——只标记不可靠输出,不整合进训练信号;而且在 LLM 规模上多数无法干净地分离 epistemic 与 aleatoric

UG-TTT 的差异:它把 UQ 从"事后检测"变成"训练中的探索驱动力"——MI 不是用来事后过滤,而是实时塑形策略梯度。

[!TIP] ④ 内在动机与基于 MI 的探索(本文最相似的一支) - 好奇心奖励 / 熵正则 [Du 2023, Cheng 2026, Dai 2025(CDE), Gao 2025(i-MENTOR)]:对抗 RL 里的利用偏置;但经典新颖性奖励在大动作空间里激励会消失(vanishing incentives)。 - 集成分歧作内在信号 [Shorinwa 2025, Dai 2025]:用 actor-wise perplexity 奖励、critic-wise value variance 整合进优势函数。CDE / i-MENTOR 证明"维持的熵能防止 RLVR(可验证奖励 RL)里的过早收敛"。 - 共同不足没有一个针对"前沿探索所需粒度上的 epistemic uncertainty" —— 这正是 UG-TTT 填的空。

一句话把祖源说清:UG-TTT = 贝叶斯主动学习(BALD) 的经典分歧思想 + LoRA 集成的低成本后验采样 + TTT-DISCOVER 的发现框架,三者合流;创新在于把"权重空间分歧"以可训练、可维持(靠 NNM)的方式,注入到"发现"这个 OOD 搜索任务的策略梯度里。


3 方法:不确定性引导的测试时训练(UG-TTT)

方法的开场白就是全文的论点浓缩:

一个面向发现的策略,必须把采样预算导向"模型还没学会打分"的位置,而不是"本质上歧义"的位置;单个网络的预测熵分不开这两种 regimeBALD 恒等式把认知成分隔离为"预测分布与权重后验之间的互信息"——当集成成员同意时消失、成员在不相容的续写上放置概率质量时增长

下面按"设定 → MI 度量 → 塑形优势 → 正则 → 总目标"五步讲透。

3.1 设定(Setup)

一个 LLM 驱动的发现实例是环境 \(E=(d, S, A, R, T)\):自然语言任务描述 \(d\)、解空间 \(S\)、下一 token 续写动作集 \(A\)、由程序检查器返回的确定性可验证奖励 \(R:S\times A\to\mathbb R\)、以及把动作 \(a\) 追加到父状态 \(s\) 的转移 \(T\)。策略 \(\pi_\theta(a\mid q,s)\) 生成一个由"思考 token + 可执行代码"组成的响应 \(o=(o_1,\dots,o_{|o|})\),条件于嵌入了 \((d,s)\) 的 prompt \(q\)

[!IMPORTANT] 关注的指标是"每实例最高奖励" \(\max_{(s,a)} R(s,a)\),不是平均奖励。 原文点破:"一个突破就能主导;在不移动最高值的情况下提升平均,并没有推进发现。" 这一句定义了整篇论文的成败标准——所有实验都报 \(R_\max\),因为"发现"在乎的是"有没有找到那一个更好的解",而不是"平均解变好了多少"。

每训练步,对每个父状态采 \(G\) 个 rollout,用 \(R^{(i)}_{\mathrm{exec}}\) 打分,通过自适应温度 \(\beta(s)\)(仅从 \(R_{\mathrm{exec}}\) 算)形成 leave-one-out 优势 \(A_i\)。关键性质:\(\beta(s)\) 随组内奖励分布变尖锐而单调增大,因此充当"策略置信度"的状态相关度量——§2.3 正是用它把探索系数耦合到"模式收缩的起点"。

3.2 从 LoRA 集成得到 token 级认知不确定性(核心之一)

把 TTT-DISCOVER 的单个 adapter 换成 \(K\) 个共享冻结底座的低秩扰动:

\[ \Theta^{(k)} = \Theta_{\mathrm{base}} + B^{(k)}A^{(k)},\quad A^{(k)}\in\mathbb R^{r\times d_{\mathrm{in}}},\ B^{(k)}\in\mathbb R^{d_{\mathrm{out}}\times r},\ r\ll\min(d_{\mathrm{in}},d_{\mathrm{out}}) \tag{1} \]

\(K\) 个 adapter 被读作变分后验 \(q(\theta\mid D)\) 的样本,每个位置 \(t\)后验预测是算术混合 \(\bar p_t = \frac1K\sum_k p_{\theta_k}(\cdot\mid q, o_{<t})\)。于是标准 BALD 分解在位置 \(t\) 隔离出预测不确定性的认知成分:

\[ \mathrm{MI}_t = H(\bar p_t) - \frac{1}{K}\sum_{k=1}^{K} H\big(p_{\theta_k}(\cdot\mid q, o_{<t})\big) \tag{2} \]
符号 含义
\(H(\cdot)\) 词表上的 Shannon 熵(bits)
\(p_{\theta_k}(\cdot\mid q,o_{<t})\) \(k\) 个 adapter 在给定前缀 \(o_{<t}\) 时对下一 token 的预测分布
\(\bar p_t=\frac1K\sum_k p_{\theta_k}\) \(K\) 个 adapter 预测的算术混合(= 后验预测分布)
\(H(\bar p_t)\) 总预测不确定性(total uncertainty,混合分布的熵)
\(\frac1K\sum_k H(p_{\theta_k})\) 期望成员熵(= aleatoric,每个成员各自的"内在歧义")
\(\mathrm{MI}_t\) 二者之差 = 认知不确定性(epistemic,成员之间的分歧)

[!TIP] 把式 (2) 讲透 + 数值举例(BALD 的直觉) BALD 的核心恒等式是"总不确定性 = aleatoric + epistemic",移项得 epistemic(MI)= 总熵 − 平均成员熵。逐项物理含义: - \(H(\bar p_t)\)混合的熵):先把 \(K\) 个成员的预测平均,再算熵。它同时包含"每个成员自己有多不确定"和"成员之间有多不一致"。 - \(\frac1K\sum_k H(p_{\theta_k})\)熵的平均):先算每个成员各自的熵,再平均。它包含"每个成员自己有多不确定"(= aleatoric,因为它不看成员间是否一致)。 - 两者相减:把"每个成员各自的模糊"消掉,只剩"成员之间的分歧" = 认知不确定性。MI 非负,当每个成员对下一 token 赋予完全相同的概率质量时恰好为 0,当成员们把质量放到不相容的续写上时增长——这正是"模型尚未解决某处"的操作性标志。

数值举例\(K=2\),词表只有 {A, B} 两个 token,用 bits): - 情形甲(纯 aleatoric,成员一致但都不确定):两个成员都预测 \([0.5, 0.5]\)。→ \(\bar p=[0.5,0.5]\)\(H(\bar p)=1\) bit;平均成员熵 \(=\frac12(1+1)=1\) bit。→ MI \(=1-1=0\)。解读:两个"专家"都说"我不知道是 A 还是 B",但他们完全一致地不知道 → 这是题目本身模糊(aleatoric),不是发现机会,MI 正确地给 0。 - 情形乙(纯 epistemic,成员各自笃定但互相矛盾):成员1 预测 \([1,0]\)(笃定 A),成员2 预测 \([0,1]\)(笃定 B)。→ \(\bar p=[0.5,0.5]\)\(H(\bar p)=1\) bit;平均成员熵 \(=\frac12(0+0)=0\) bit。→ MI \(=1-0=1\) bit(最大)。解读:两个"专家"各自很确定,但给出相反答案 → 说明模型对这里"没有共识、没学明白" → 这正是知识前沿,MI 正确地给最大值。 - 对比的杀伤力两种情形的 \(H(\bar p_t)\) 完全相同(都是 1 bit)! 单看混合熵(或单网络熵)根本分不开甲乙;只有减去平均成员熵得到的 MI 才把它们分成 0 和 1。这就是"为什么单网络不行、必须用集成"的数值证明。

为什么只用 top-7% token? 策略梯度作用于整条 rollout,但代码 rollout 里大部分位置是语法样板(缩进、括号、关键字),adapter 在这些位置平凡地同意(MI≈0)。所以把 per-token MI 压成每 rollout 一个标量时,只对最不确定的位置取均值

\[ U_i = \operatorname*{top\text{-}7\%\text{-}mean}_{t\in[1,|o_i|]} \mathrm{MI}^{(i)}_t \tag{3} \]

这让 \(U_i\) 对长度稳健,并把信号集中到"携带真正意义"的少数解码步。7% 的依据:He et al. (2025b) 报告其熵触发的 pause-and-rerank 机制在 8 个 0.6B–8B 的 LLM 上于 3.95%–11.88% 的解码步触发(这些是 ground-truth token 最常被误排的高不确定位置);本文取 7% 作为这个区间内的数量级启发式选择。

两个采样细节:(a) rollout 轮询(round-robin)生成——每个 adapter 产 \(G/K\) 个 rollout,保持生成器群体平衡;(b) 打分时每个 rollout 都过全部 \(K\) 个 adapter(单次分块前向),所以 \(\mathrm{MI}_t\) 对每个 rollout 的每个 token 都良定义,且每个 adapter 都从全部 \(G\) 个 rollout 收到梯度信号。

3.3 不确定性塑形优势(核心之二)

\(U_i\) 要能当优势 \(A_i\) 的加性修正,需两步变换。问题一\(U_i\) 的原始尺度跨任务、跨 epoch 差好几个数量级,固定耦合系数会在一个基准上过度探索、在另一个上探索不足 → 需组内标准化问题二:恒定探索权重全程施加均匀压力,但 mode collapse 恰好发生在 \(\beta(s)\) 变大的 regime → 需把探索系数耦合到 \(\beta(s)\)

组内中心化 + 裁剪(三-sigma 稳健归一化):

\[ \tilde U_i = \operatorname{clip}\!\Big(\frac{U_i - \bar U}{\sigma_U}, -3, 3\Big),\quad \bar U=\frac1G\sum_i U_i,\ \sigma_U=\sqrt{\tfrac{1}{G-1}\textstyle\sum_i(U_i-\bar U)^2} \tag{4} \]

约定 \(\sigma_U=0\)\(\tilde U_i\equiv0\)(退化情形)。探索系数耦合到熵温度

\[ \gamma_{\mathrm{eff}}(s) = \alpha\cdot\min\!\Big(\frac{\beta(s)}{\beta_{\mathrm{ref}}}, \gamma_{\max}\Big) \tag{5} \]

\(\alpha\) 是基础率、\(\beta_{\mathrm{ref}}\) 是参考温度、\(\gamma_{\max}\) 是安全裁剪。替换 \(A_i\) 的塑形优势

\[ A^{\mathrm{shaped}}_i = A_i + \gamma_{\mathrm{eff}}(s)\cdot|\bar A|\cdot\tilde U_i,\quad |\bar A|=\frac1G\sum_j|A_j| \tag{6} \]
符号 含义
\(A_i\) 原始 leave-one-out 熵优势(仅从 \(R_{\mathrm{exec}}\) 算,式 (11))
\(\tilde U_i\) 标准化+裁剪后的 per-rollout 认知不确定性(零均值单位方差)
\(\beta(s)\) 自适应熵温度,随组内奖励变尖锐而单调增 → 策略置信度代理
\(\gamma_{\mathrm{eff}}(s)\) 有效探索系数,随 \(\beta\) 增大而增大(但被 \(\gamma_{\max}\) 封顶)
$ \bar A

[!TIP] 把式 (5)(6) 讲透 + 数值举例(β-耦合是全篇的精妙处) 设计动机(Remark 1)\(\beta(s)\) 随组内奖励拉平而单调增,\(\beta\to\infty\) 标志策略收缩到单一模板(坍缩的极限)。式 (5) 让 \(\gamma_{\mathrm{eff}}\) 以同样速率增长——于是探索压力随"策略变尖锐"而加强,而不是走固定日程;当策略还在多个模式上有质量时(\(\beta\) 小),探索奖励被自动压低。这是一种"哪里要坍缩了、就往哪里加探索"的自适应机制。

前缀 \(|\bar A|\) 的作用:把探索奖励重标定到与组内奖励优势同量级。一个近乎均匀的组(\(|\bar A|\) 小、大家分数差不多)会按比例衰减探索奖励;一个决定性的组(\(|\bar A|\) 大、有明显赢家)才允许探索奖励与执行奖励优势 \(A_{\mathrm{exec}}\) 竞争

数值举例:设 \(\alpha=0.1\)\(\beta_{\mathrm{ref}}=2.0\)\(\gamma_{\max}=10\)(本文超参)。 - 训练早期\(\beta(s)=1.0\)(组内奖励还很分散,策略不自信)→ \(\gamma_{\mathrm{eff}}=0.1\times\min(1.0/2.0, 10)=0.1\times0.5=0.05\)。探索系数很小。 - 训练后期\(\beta(s)=8.0\)(组内奖励快拉平,策略要坍缩了)→ \(\gamma_{\mathrm{eff}}=0.1\times\min(8.0/2.0,10)=0.1\times4=0.4\)。探索系数放大 8 倍。 - 代入优势:假设某 rollout 的 \(\tilde U_i=+2\)(高 MI,处于知识前沿),组内 \(|\bar A|=0.3\)。后期它的探索奖励 \(=\gamma_{\mathrm{eff}}\cdot|\bar A|\cdot\tilde U_i=0.4\times0.3\times2=0.24\)——这个正向加成足以和执行奖励优势竞争,把策略拉向这个高 MI 方向。而早期同样的 rollout 只得 \(0.05\times0.3\times2=0.03\),几乎不干预。效果:早期让奖励信号主导(先学会做对),后期让探索信号救场(别坍缩)。

理论护栏(Prop. 1)\(\pm3\) 裁剪遵循标准三-sigma 惯例,且刚好在 Cauchy–Schwarz 给出的界 \(|z_i|\le\sqrt{G-1}\) 之上——所以对 \(G\le10\) 裁剪可证不激活(对 \(G\ge11\) 才可能激活,作为前向兼容护栏)。Prop. 1 进一步界定:塑形优势对原始优势之和的残差扰动有界,且当裁剪不激活(\(C=\varnothing\))时为 0。作者强调这个奖励是故意有偏的——"朝向高 MI rollout 的方向偏置正是探索机制本身";Prop. 1 只把这个偏置限制在梯度方向上,界定它对组内幅度的残差扰动。

3.4 子空间多样性正则(核心之三:让 MI 别塌成 0)

目前的目标不阻止 \(K\) 个 adapter 收敛到同一个解。每个 adapter 收到相同 rollout 和相同塑形优势,相同梯度把它们推向共享最优,任何初始分歧都被侵蚀。作者的 pilot run 证实:下投影的行空间在 2–3 个 epoch 内对齐(成对余弦 →1),\(U_i\) 跌破 \(10^{-3}\)整个 MI 奖励静默坍缩到零——探索机制悄悄退化成"\(K\) 个绑在一起的 adapter 上的普通 RL"。

解法:最大化 per-layer 堆叠下投影的核范数(Nuclear-Norm Maximisation, NNM)。对每个被追踪的线性层 \(\ell\)

\[ W_\ell = \big[A^{(1)}_\ell;\, A^{(2)}_\ell;\, \dots;\, A^{(K)}_\ell\big]\in\mathbb R^{Kr\times d_{\mathrm{in}}},\qquad \mathcal L_{\mathrm{NNM}} = -\frac1L\sum_{\ell=1}^{L}\big\|W_\ell\big\|_* \tag{7} \]

\(A^{(k)}_\ell\) 是 adapter \(k\) 在层 \(\ell\) 的下投影,\(\|\cdot\|_*\) 是核范数(奇异值之和),\(L\) 是被追踪层数;负号把最小化转成 \(\sum_\ell\|W_\ell\|_*\)最大化

[!TIP] 什么是核范数(nuclear norm)?为什么最大化它能撑开子空间? 核范数 \(\|W\|_* = \sum_i\sigma_i(W)\) 是矩阵所有奇异值之和(也叫迹范数)。它有个关键性质:在固定 Frobenius 范数(\(\|W\|_F^2=\sum_i\sigma_i^2\) 固定)下,核范数最大 ⟺ 奇异值"尽量均摊"(都相等)。直觉:\(\sum\sigma_i\)\(\sum\sigma_i^2\) 固定时,由 Cauchy–Schwarz,越"平均"越大;如果所有能量集中在一个奇异值上(矩阵低秩、退化),核范数反而小。 - 在本文里\(W_\ell\) 是把 \(K\) 个 adapter 的下投影竖着堆起来的大矩阵。最大化它的核范数 = 逼这个堆叠矩阵满秩且奇异值均摊 = 逼 \(K\) 个 adapter 的行空间互相正交、各占一块独立子空间。 - 为什么只正则下投影 \(A^{(k)}\)、放开上投影 \(B^{(k)}\) 因为 \(A^{(k)}\) 控制"adapter 关注哪些输入方向",\(B^{(k)}\) 必须自由以"交付 RL 信号要求的输出幅度"。联合正则两者会振荡(对 \(B\) 的惩罚被 \(A\) 的补偿性重缩放吸收,反之亦然),pilot run 和 Zhai et al. (2023) 都观察到这点。

为什么核范数是"对的"选择而非任意低秩惩罚? 答案是几何的:

[!IMPORTANT] Proposition 2(全局最优是子空间正交的):固定每个 adapter 的 Frobenius 范数 \(\|A^{(k)}_\ell\|_F=c\)。当 \(Kr\le d_{\mathrm{in}}\) 时,\(\|W_\ell\|_*\) 在此约束集上的全局最优\(K\) 个 adapter 块 \(\{A^{(k)}_\ell\}\) 构成,它们的行空间在 \(\mathbb R^{d_{\mathrm{in}}}\) 中互相正交,且每块有 \(r\) 个相等的奇异值、全等于 \(c/\sqrt r\)

这为什么重要"每个 adapter 关注一个不同的 rank-\(r\) 输入子空间"正是让式 (2) 的 BALD 分解保持非平凡的几何条件——训练在重叠输入子空间上的成员会漂回相同预测分布、把 \(\mathrm{MI}_t\) 归零(正是上面记录的失败模式)。现有 LoRA 正则器(针对冗余削减或低秩稳定)不提供这个保证,因为它们的目标关心单个矩阵,而非集成的联合几何。证明用 Cauchy–Schwarz 两次取等条件(附录 C.2):\(\|W\|_*^2\le Kr\cdot\|W\|_F^2=K^2rc^2\),取等 ⟺ 满行秩 + 奇异值全相等 ⟺ 行正交。

3.5 训练目标(三项合一)

per-adapter 策略梯度损失(带塑形优势)+ 冻结底座 KL 锚 + 多样性正则,合成单步目标:

\[ \mathcal L_{\mathrm{total}} = \underbrace{\frac1K\sum_{k=1}^{K}\mathcal L^{(k)}_{\mathrm{PG}}(\theta_k)}_{\text{ensemble RL}} + \underbrace{\lambda_{\mathrm{KL}}\,\mathrm{KL}\big(\pi_\theta\|\pi_{\mathrm{base}}\big)}_{\text{base anchor}} + \underbrace{\lambda_{\mathrm{NNM}}\,\mathcal L_{\mathrm{NNM}}}_{\text{diversity}} \tag{8} \]

Algorithm 1(附录 B)用 Ye et al. (2024) 的并行 multi-LoRA 框架顺序迭代 \(K\) 个 adapter,以约束激活内存。

[!NOTE] Proposition 3(TTT-DISCOVER 是特例):若 (a) \(K=1\),或 (b) 所有 \(K\) 个 adapter 每步权重相同,且额外地 \(\lambda_{\mathrm{NNM}}=0\),则式 (8) 退化为 TTT-DISCOVER 的策略梯度目标。这把 UG-TTT 干净地定位成基线的严格超集——去掉集成/正则就还原成 [[ref25_learning-to-discover-at-test-time]]。

[!NOTE] Algorithm 1 五阶段(伪代码复述,一个 \(G\)-rollout 组) 输入: 集成 {θ_k}_{k=1..K}; PUCT 缓冲取的父状态 s; 组大小 G; 系数 α, β_ref, γmax, λKL, λNNM // 阶段1: rollout 生成(adapter 轮询) for i=1..G: k_i ← ((i-1) mod K)+1; o_i ~ π_{θ_{k_i}}(·|q,s); R_exec^(i) ← 程序检查器(s,o_i) // 阶段2: 互信息打分(单次 GPU 分块前向) 用全部 K 个 adapter 给 o_{1:G} 打分 for i,t: p̄_t ← (1/K)Σ_k p_{θ_k}; MI_t^(i) ← H(p̄_t) − (1/K)Σ_k H(p_{θ_k}) # 式(2) U_i ← top-7%-mean_t MI_t^(i) # 式(3) // 阶段3: 自适应温度 + LOO 优势(仅用 R_exec) β(s) ← 二分求解 KL(q_β‖Unif)=ln2; w_i ← 熵权重; A_i ← w_i−1 # 式(10)(11) // 阶段4: MI 塑形优势 Ū←mean(U); σ_U←std(U); |Ā|←mean(|A|); γ_eff←α·min(β/β_ref, γmax) # 式(5) for i: Ũ_i←clip((U_i−Ū)/σ_U, −3,3); A_shaped_i ← A_i + γ_eff·|Ā|·Ũ_i # 式(4)(6) if λKL>0: 广播 A_shaped 到 per-token; 加对 π_base 的 token-wise KL 修正 // 阶段5: per-adapter 反向 + NNM 反向 + 优化器步 for k: 算 (1/K)L_PG^(k)(θ_k) 并 backward()(释放计算图) # 式(13) 算 λNNM·L_NNM 并 backward()(梯度累进所有 θ_k) # 式(7) for k: AdamW 步更新 θ_k 工程亮点(附录 D):MI 路径物化 \((K,\text{chunk},V)\) 的 fp32 logit 张量(Qwen3-8B, \(K=5\), \(V=152064\), chunk=256 时峰值 ≈0.78 GB/chunk),MI 贡献复用同块的 logsoftmax,成本 <0.1% 的 LM-head 矩乘。为绕开 \(O(K\cdot T\cdot L\cdot D)\) 激活内存(会超 80 GB),阶段 5 逐 adapter 前向-反向、算完即释放计算图(mLoRA 方案)。


4 实验:4 个发现基准

四个 TTT-DISCOVER 基准(都是"构造性数学优化"): - AC1:阶跃函数自相关不等式(1000 元序列,最小化 \(C_1\))。 - AC2:自相关下界问题(最大化 \(C_2\))。 - CP26:单位正方形里 \(n=26\) 个圆的装填(circle packing,最大化半径和)。 - Erdős:Erdős 最小重叠积分(最小化 \(C_5\))。

设置:全用 Qwen3-8B\(K=5\) rank-16 LoRA adapter,\(\lambda_{\mathrm{NNM}}=0.075\)\(\alpha=0.1\),组大小 \(G=8\)、每 batch 8 组(64 rollout/epoch),6 epoch,单张 RTX Pro 6000(96GB,≈32h/run),TTT-DISCOVER 的 prompt 和 verifier 不变。rollout 在 verifier 返回奖励 >0 时算"正确",每个正确 rollout 由一个有序正则表达式列表打上"算法族标签"(否则为 other)。

4.1 主结果

Table 1(training-time \(R_\max\) 与末 epoch 族熵 \(H\)):UG-TTT 在 3/4 问题上提升 \(R_\max\),第 4 个(Erdős)追平到界内 0.03%(\(\Delta=-0.0007\)),且每个都保留 1.1–1.7 bits 的 \(H\),而基线全部坍缩到 <0.71 bits。

问题 Baseline \(R_\max\) UG-TTT \(R_\max\) \(\Delta\) Baseline \(H\) (ep5) UG-TTT \(H\) (ep5)
AC1 0.6381 0.6406 +0.0025 0.70 1.71
AC2 0.8532 0.8563 +0.0031 0.50 1.12
CP26 2.6302 2.6359 +0.0058 0.70 1.23
Erdős 2.6174 2.6167 −0.0007 0.67 1.62

[!IMPORTANT] 绝对 \(\Delta\) 掩盖了增益在"发现曲线"上的位置——真正的故事在"多快/多省"里: - AC1:UG-TTT 在 step 12 越过 \(R\ge0.63\),基线要 step 189≈16× 更快),且基线预算内从未到 0.64。 - CP26:+0.0058 追平了 TTT-DISCOVER 已发表的 SOTA 上界 2.6359——UG-TTT 用 384 个 rollout(6 梯度步 × 8 组 × \(G=8\))达到,而 TTT-DISCOVER 在同一 Qwen3-8B 上用了 25,600 个 rollout(50 步 × 512)。≈1/50 的 rollout。 - AC2:+0.0031 的翻转来自 differential evolution 族,这个族在无正则集成下产出 0 个正确 rollout(Table 5)——即"新解法家族的涌现"。 - Erdős:标量界打平,但 UG-TTT 记录 13 次 new-best 事件 vs 基线 7 次(+86%),且离散化分辨率近乎翻倍(mean npoints = 170 vs 89)。

4.2 多样性就是机制

图2:4 个基准的训练动态(熵 H + 最高奖励 Rmax)

Figure 2 逐元素解读(这张图直接证明"多样性不与 \(R_\max\) 冲突"):四个子图 (a)AC1 / (b)AC2 / (c)CP26 / (d)Erdős,每个都是双纵轴: - 橙线(左轴)= per-epoch Shannon 熵 \(H\)(正确 rollout 上的族分布熵);青线(右轴)= 累积 \(R_\max\)。 - 虚线 = 基线(TTT-DISCOVER)实线 = UG-TTT。 - 关键对比基线的橙虚线在每个问题上都单调收缩(熵一路下滑到坍缩),而 UG-TTT 的橙实线始终维持在更高位;与此同时,UG-TTT 的青实线(\(R_\max\)匹配或超过基线的青虚线上界。结论:保留多样性没有\(R_\max\) 为代价——这正是全文要证的"鱼与熊掌可兼得"。

Figure 3(下) 进一步给出族组成的细节:

图3:多样性坍缩是普遍的,UG-TTT 阻止了它(族组成堆叠面积图)

Figure 3 逐元素解读(最直观的"坍缩 vs 保留"证据):四列对应 4 个基准,每列上下两个堆叠面积图——上=基线(1 LoRA)、下=UG-TTT(5 LoRA + MI + NNM)。纵轴是"正确 rollout 数",不同颜色 = 不同算法族(如 genetic / sim anneal / scipy / gradient / hill 等,词表因问题而异但两条件相同),每图顶部标注 \(H_{\text{start}}\to H_{\text{end}}\)。 - 看上排(基线):颜色逐渐被单一色块吞并——到末 epoch 一个族占 82–93% 的 rollout,\(H\) 掉到 ≤0.71。例如 AC1 基线从 1.73→0.70、Erdős 从 1.00→0.67。 - 看下排(UG-TTT)多种颜色始终并存,末 epoch ≥3 个活跃族。终态 \(H=\) 1.71/1.12/1.23/1.62(vs 基线 0.70/0.50/0.70/0.67)。 - 含义坍缩是 TTT-DISCOVER 式 RL 在发现任务上的普遍失败模式(4 个问题无一幸免),而多样性正则一致地避免了它。机制上由 Remark 1 的 \(\beta\)-耦合驱动:\(\gamma_{\mathrm{eff}}\) 随奖励寻求压力上升,恰在基线开始收缩的时刻,在代表性不足的族上维持探索。

存活的族恰恰产出制胜解(§3.2 + Table 5):AC1 的 Cauchy–Schwarz 目标 \(\sqrt{2n}\)(18/30 最佳 rollout vs 基线 1/30)、Erdős 的 Fourier ansatz \(h(x)=a+b\sin(kx)\)、AC2 的 scipy.differential_evolution——每个都在"基线到末 epoch 会灭绝"的族里,所以保留多样性是进入这些解的先决条件

4.3 消融与计算成本

Table 2(CP26,NNM 消融):去掉 NNM,行空间在 2 epoch 内对齐,集成 MI 跌到 \(\sim10^{-5}\)(比正则 run 低 3–4 个数量级),MI 奖励归零,run 退化为无正则 5-LoRA RL;\(R_\max\) 停在 2.6302,而完整方法用少 25% 的训练 token\(2.04\times10^6\) vs \(2.72\times10^6\))就达到那个上界。

配置 \(R_\max\) Mean MI (ep5) Tokens to own \(R_\max\) Tokens to R=2.6302
Full UG-TTT (NNM + MI bonus) 2.6359 \(2.2\times10^{-2}\) \(2.33\times10^6\) \(2.04\times10^6\)
No NNM (MI bonus collapses to 0) 2.6302 \(6.6\times10^{-6}\) \(2.72\times10^6\) \(2.72\times10^6\)

[!IMPORTANT] NNM 是"承重(load-bearing)"组件:没有它,集成的信息量不足以让 MI 奖励对策略梯度交付真正的探索压力。这直接坐实了 §3.4 的理论——核范数正则不是可有可无的调味,而是让整个 epistemic 信号活着的必要条件

Streaming MI early-stop(附录 F):一个"思考阶段"的 MI 门控早停——rollout 到 4096 思考 token 时,比较窗口 MI 与历史 25 分位;低于阈值就截断进有界代码阶段,高于则继续到自然终止。它在 AC1 的 50.0%、CP26 的 55.6% rollout 上触发(分别省 569/757 token,约 5× 无正则 CP26 基线的 10.7% 触发率),驱动了 Table 2 的 25% token 预算削减。但在 AC2/Erdős 上配对实验显示 streaming 降低 \(R_\max\)(分别 −0.0148/−0.0017),所以那里禁用——且作者诚实指出"没有任何 length-vs-quality 诊断能事先预测这个不对称",校准是纯经验的。

定性铁证(附录 I,AC2 案例):作者逐字对比了 TTT-DISCOVER 与 UG-TTT 在 AC2 上最高奖励 rollout 的程序核心: - 基线:手搓一个 130 行的纯 Python 遗传算法(种群、锦标赛选择、blend 交叉、高斯变异、停滞重启)。 - UG-TTT一句 from scipy.optimize import differential_evolution 替换整个手搓循环,把新颖性集中在"151 个结构化种子"的初始化池上(Cauchy–Schwarz 提示 + 三种统计上不同的随机先验)。 - 为什么 UG-TTT 能到更好的程序两个程序差别不在搜索"力气",而在调用的算法家族要到达"委托给 scipy 求解器"这个决定,策略必须探索一个"无正则集成已经有效灭绝"的代码区域。MI 奖励恰好在"策略选择 from scipy... import differential_evolution 而非 def construct... 手动循环"的那些 import/API 名 token 上支付——因为 adapter 分歧在这些"选哪条路"的位置最高,一旦选定进入函数体就最低。NNM 是让这个分歧在 AC2 上持续可用的关键,去掉它就塌回 TTT-DISCOVER 模式。

局限(作者自陈):只在 Qwen3-8B、\(K=5\)、单 GPU 配置、单个种子、4 个基准上评估,熵增益和 per-problem streaming 行为可能不迁移到其它底座/更大 \(K\)/不同初始化;集成有约 \(K\) 倍参数开销 + \(K\) 路打分;三个耦合超参 \((\alpha,\beta_{\mathrm{ref}},\gamma_{\max})\) 和固定 top-7% 阈值仍是启发式;继承 TTT-DISCOVER 的确定性程序检查器奖励,移植到学习/噪声 verifier 需重校 MI 奖励。


5 结论与讨论


个人思考

⭐ 与 [[ref25_learning-to-discover-at-test-time]](TTT-DISCOVER)的正面对照(本文最该写的一组对比)

这是本篇的最近亲——UG-TTT 是 TTT-DISCOVER 的直接扩展(Prop. 3 明确后者是前者特例)。放在一起能把"测试时发现"的问题诊断讲透:

维度 TTT-DISCOVER (ref25) UG-TTT (ref26,本文)
优化对象 单个 LoRA adapter(权重侧 TTT) \(K=5\) 个 LoRA 集成(权重侧 TTT)
探索信号 无显式探索项(靠自适应 \(\beta\) 熵目标) BALD 互信息 = 认知不确定性(式 2)
核心病理 —(本文指出它有多样性坍缩 诊断并修复"\(R_\max\) 停滞 + 坍缩"
不确定性来源 单网络熵(分不开 aleatoric/epistemic) 权重空间分歧(干净隔离 epistemic)
防坍缩机制 无(本文测得它 2 epoch 内坍缩) 核范数正则(NNM)逼子空间正交
关键结果 已发表 SOTA(CP26=2.6359,25600 rollout) 同上界仅需 384 rollout(≈1/50)
父解选择 PUCT 沿用 PUCT(不变)
共同底座/基准 Qwen3-8B / AC1,AC2,CP26,Erdős 完全相同(prompt/verifier 不变)

我的判断:UG-TTT 的贡献本质是一个诊断 + 一个干净的修复。诊断——"最大化期望奖励在梯度层面惩罚方差 → 坍缩 → \(R_\max\) 停滞"——非常锋利,且它给的"发现 = OOD 任务"框架有普适解释力。修复——BALD + LoRA 集成 + 核范数——理论干净(三条命题全有证明)。最漂亮的一环是 Prop. 2 把"核范数最大化"和"BALD 保持非平凡"用几何精确挂钩:它不是"随便找个正则防坍缩",而是证明了"这个特定正则的全局最优 = 让互信息不塌成 0 的精确条件"。这种"正则器与所需性质的可证对齐"是很值得学的论证范式。

与本项目其它论文的关联(放进 harness 演化的坐标系)

方法论启示(可迁移的通用思路)

  1. "要探索认知前沿,就必须用权重空间分歧,而非单网络熵"——这是一个可推广的原则。任何"用不确定性驱动主动学习/探索"的场景(不止发现),只要在意"模型没学过"而非"数据本来模糊",就该考虑集成/多假设而非单模型置信度。BALD 分解(总熵 − 平均成员熵)是把这件事操作化的干净公式。
  2. "正则器要与所需几何性质可证对齐"(Prop. 2 范式):与其"试几个正则看哪个防坍缩",不如先想清"我要维持的性质(MI 非平凡 = 子空间正交)在数学上是什么,再找一个'全局最优恰好落在该性质'的正则"。这比经验调正则更可靠、更可解释。
  3. "探索压力应与坍缩起点耦合,而非固定日程"\(\beta\)-耦合):把探索系数挂到"策略置信度代理"上,做到"越要坍缩越加探索、还没坍缩就不打扰"。这个自适应思路可迁移到任何"利用-探索"权衡里——比固定 \(\epsilon\)-greedy / 固定熵系数更贴合训练动态。
  4. "信号要集中在高杠杆的少数位置"(top-7% token):代码/推理 rollout 大部分是样板,把探索信号平摊会被稀释。"只在高不确定 token 上算 MI"这个 length-robust 的聚合,和 Meta-Harness"只看关键诊断"、Self-Harness"只聚可复用机制"是同一种"抓主要矛盾"的工程直觉。

在我的工作中能怎么用

开放问题 / 疑问

局限性(补充作者自陈之外)