Token Lab搜索

← RL 知识库
RL / 2 OF 8

探索、信用分配与奖励设计

让有用行为能被发现,也能被测量。

学习指南与本课目录LEARNING CONTRACT

理解 → 实现 → 研究

目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。

  • 理解层:写明假设、形状/单位和一个反例。
  • 实现层:复算数值例子并检查边界。
  • 研究层:在匹配预算下比较一个替代方法。

理解机制

探索决定哪些动作产生训练证据;信用分配决定较早选择如何获得后续结果的功劳。稀疏终局奖励可能可靠,但难学习;稠密中间奖励提供更多信号,却可能引入捷径。应区分真实任务效用与实现的奖励函数,并审查差距。

Text / 原始公式
Task utility ≠ proxy reward
Potential shaping: r′=r+γΦ(s′)−Φ(s)
Policy-invariance claims require the relevant assumptions.

机制图与逐步推导

定义任务效用 → 选择探索策略 → 收集延迟结果 → 审查代理奖励与归因
原创机制示意图,按从上到下顺序阅读。 SVG ↓
符号与假设
符号含义
sₜ可见任务上下文,不一定是完整环境状态
aₜ带明确参数的工具动作
oₜ₊₁返回观察,包括错误
  1. 双臂 bandit 奖励未知。首次幸运观察后的贪心选择可能使另一臂不再获得探索证据。
  2. 双臂 ε-greedy,ε 且探索在两臂均匀采样时,非贪心臂概率为 0.05,应声明该约定。
  3. 延迟奖励下,构造最终奖励相同但浪费动作不同的轨迹。加入成本项前,先判断任务效用是否真的惩罚多余动作。
实验检查点

区分 mock 控制流测试与真实策略评测,可读轨迹不证明外部任务完成。

原创练习与分析

对 coding agent 比较“通过测试数量”与“完成工具调用数量”。分别构造最大化代理奖励却未修复 bug 的策略。加入隐藏测试与测试完整性检查,同时保持原任务评价不变。

奖励指标比留出任务成功率提升更快,是警示信号,不是智能增强的证明。

为什么不奖励每个中间步骤?

agent 可能学会增加步骤而不是完成任务。稠密奖励需要与目标结果有因果关系,并被独立验证。

阅读依据与后续实践

Sutton & Barto, Chapters 2 and 3 ↗
MATHEMATICAL REVIEW · 2026-10-26

假设、参考实现与验收

策略不变要求有界势函数、相同 γ、终止势能为零(或等价吸收态尾项处理)。望远镜求和 γ_T);若尾项依赖动作,会改变最优策略。

已复核公式条件、单位及算例。实现隔离一个数值机制,不训练完整策略,也不控制真实硬件。

运行前:预测一个边界情况

原始回报为 2.8,塑形后为 2.8−3;非零终止势能会破坏此等式。

提示:隔离假设

固定基线输入,只改变一个参数或边界;同时比较数值与声明单位。单例通过仅验证该样例。

最小可运行算例

将算例及所链接模块保存在同一目录。使用 Node.js 22 或更高版本,然后运行 node exploration-credit.mjs. 无需第三方运行依赖。

const solve=()=>{
const gamma=.9, rewards=[1,2], phi=[3,4,0];
const shaped=rewards.map((r,t)=>r+gamma*phi[t+1]-phi[t]);
return shaped.reduce((g,r,t)=>g+gamma**t*r,0);
};
const actual=solve();
const expected=-0.2;
if(JSON.stringify(actual)===JSON.stringify(expected)){console.log('PASS',actual)}else{
const a=[actual].flat(), b=[expected].flat();
if(a.length!==b.length||a.some((v,i)=>!Number.isFinite(v)||Math.abs(v-b[i])>1e-10))throw Error('Numerical mismatch');
console.log('PASS within 1e-10',actual);
}
参考输出——先预测再展开
-0.2

测试与迁移

原始回报为 2.8,塑形后为 2.8−3;非零终止势能会破坏此等式。

在下方笔记记录输入、代码版本、期望值和实测值;再构造违反上述假设的反例,解释原结论为何不再成立。

下载完整代码包(.tar.gz) · 完整参考代码与回归检查

预测、检验与证据记录

展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。

打开记录/导出/清除 →

数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围