← RL 知识库RL / 2 OF 8探索、信用分配与奖励设计
让有用行为能被发现,也能被测量。
学习指南与本课目录
LEARNING CONTRACT理解 → 实现 → 研究
目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。
- 理解层:写明假设、形状/单位和一个反例。
- 实现层:复算数值例子并检查边界。
- 研究层:在匹配预算下比较一个替代方法。
理解机制
探索决定哪些动作产生训练证据;信用分配决定较早选择如何获得后续结果的功劳。稀疏终局奖励可能可靠,但难学习;稠密中间奖励提供更多信号,却可能引入捷径。应区分真实任务效用与实现的奖励函数,并审查差距。
机制图与逐步推导
原创机制示意图,按从上到下顺序阅读。 SVG ↓- 双臂 bandit 奖励未知。首次幸运观察后的贪心选择可能使另一臂不再获得探索证据。
- 双臂 ε-greedy, 且探索在两臂均匀采样时,非贪心臂概率为 0.05,应声明该约定。
- 延迟奖励下,构造最终奖励相同但浪费动作不同的轨迹。加入成本项前,先判断任务效用是否真的惩罚多余动作。
实验检查点区分 mock 控制流测试与真实策略评测,可读轨迹不证明外部任务完成。
原创练习与分析
对 coding agent 比较“通过测试数量”与“完成工具调用数量”。分别构造最大化代理奖励却未修复 bug 的策略。加入隐藏测试与测试完整性检查,同时保持原任务评价不变。
奖励指标比留出任务成功率提升更快,是警示信号,不是智能增强的证明。
为什么不奖励每个中间步骤?
agent 可能学会增加步骤而不是完成任务。稠密奖励需要与目标结果有因果关系,并被独立验证。
下一章 → 策略梯度、基线与 Actor–CriticMATHEMATICAL 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) · 完整参考代码与回归检查预测、检验与证据记录
展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。
打开记录/导出/清除 →数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围