Xiaohei's Blog
headpicBlur image

前言#

需要说明的是,这个系列的博客是由我的幕布笔记转化而来,如果你更喜欢图文并茂的阅读,你可以去我的幕布空间进行阅读,受限于篇幅的原因,第十二章幕布笔记在这。如果你发现有哪些地方由逻辑错误,可以通过评论告知我,十分感谢!

开始#

我觉得稀疏奖励是“最能把人逼疯”的 RL 场景之一:

  • 你训练了几百万步,reward 仍然是 0;
  • 你甚至不知道是算法错了,还是环境本来就太难;
  • 你想 debug,但没有信号。

文档在这一章给了一个非常实用的思路:

你要么自己把奖励设计得更“密集”一些(reward shaping),让智能体能更早看到进步;要么引入内在奖励(curiosity-driven reward),在外在反馈几乎为零时,先用“新奇感”把学习信号撑起来。

我会按这个顺序讲清楚,并重点拆解 ICM 的结构,因为它是很多“内在动机”方法的原型。

1) 奖励塑形(Reward Shaping)#

文档说“设计奖励就是引导奖励”,这句话很准确:你自己给环境加一些更密集的反馈,让智能体知道自己有没有进步。

常见例子:

  • 机器人走路:除了“没摔倒”给奖励,还可以按前进距离给奖励
  • 导航任务:按与目标距离的减少量给奖励

2) 好奇心驱动(Curiosity-driven Reward)与 ICM#

文档提到 ICM:给智能体加一个“好奇心”的奖励函数。

ICM 的核心直觉特别漂亮:

如果下一状态很难被预测,说明你到了一个“新奇”的地方,那就给你奖励。

ICM 的输入与输出#

文档给出的结构是:输入 (st,at,st+1)(s_t, a_t, s_{t+1}),输出内在奖励 rtir_t^i

并且训练时总奖励是:

rttotal=rt+βrtir_t^{\text{total}} = r_t + \beta r_t^i

其中 β\beta 是内在奖励权重。

加特征提取器:过滤无意义噪声#

文档也指出一个关键问题:仅靠好奇心不够,智能体可能沉迷于“噪声”(比如电视雪花)。

解决方法:加 feature extractor,把状态映射到更有意义的特征空间,再在特征空间里做预测误差。

本章小结:没有信号,就先造信号#

稀疏奖励问题,本质是“学习信号太少”。reward shaping 与 curiosity 是两种造信号的方式:

  • shaping 更直接,但更依赖人工设计
  • curiosity 更通用,但更容易跑偏

下一章我们会谈模仿学习:当你连奖励都不想设计,或者奖励很难定义时,用专家示范直接教智能体怎么做

RL 学习笔记(10):稀疏奖励
https://xiaohei94.github.io/blog/rl-learning-10
Author 红鼻子小黑
Published at May 11, 2025
Comment seems to stuck. Try to refresh?✨