https://www.bilibili.com/video/BV1MW411w79n?p=7&vd_source=275b19d02ca629f220713e4de0936247
在很多情景下,做很多action可能都不会得到任何reward,只有在终态才会得到reward,这样对agent的学习是非常不利的,下面提出几种方法解决这种sparse reward的问题。
reward shaping
为了引导agent,人类自主设计一些reward,需要domain knowledge
ex1. 比如,小孩的得分是最终的reward,但是小孩本身在没有任何experience的时候可能更偏向“玩”这个action,而不是“学习”这个action,我们可以人为设计学习的reward为+1,玩的reward为-1,来引导他学习,最后得到更高的成绩
ex2. 游戏中,最后的杀敌次数是最终的reward,我们可以人为的设计,掉血会扣分,捡到补给包会加分;移动加分,静止扣分(不鼓励停在原地,防止苟活)
curiosity
给模型增加好奇心: 不仅仅希望最大化
r
t
r_t
rt,还要加上人为设计的ICM好奇心部分的reward
r
t
i
r_t^i
rti
ICM如何设计:S越难预测, reward越大
· network 1在agent学习的时候需要被fix住
但是,难预测的s不代表这样的结果一定是好的。(ex. 游戏中 树叶的飘动很难预测,但是不重要)
通过feature extractor, 过滤掉不重要的因素。通过另一个network 2 ,把真实和预测的feature representation
ϕ
\phi
ϕ作为输入,来看训出来的action是不是重要的action。
curriculum learning
给机器的学习做规划,从简单的题目教到难的题目
reverse curriculum generation
- 给出一个目标状态 s g s_g sg
- 在目标附近找一些类似的 s 1 s_1 s1
- 将 s 1 s_1 s1作为trajectory的起点 (缩小reward难度)
- 去掉那些reward很大的(已经学会的)和reward很小的(太难的)
- 重复
hierarchical reinforcement learning
从high level的agent分配一些任务给下层的agent,不断地分解,让下层的agent去完成子任务
ex1:(哈哈哈哈哈)校长->教授->研究生
如果研究生没有办法实现上层定的目标,那上层也不会得到reward;
如果一开始的愿景是发期刊,但是最后成了YouTuber,那可以把愿景改成成为YouTuber…
ex2. 黄色(目的地) -> 粉色 (上层agent)-> 紫色(下层agent)
这个任务中,把紫色点到目的地(黄色点)的路线,拆成4个子任务,让下层的agent(紫色点)跟着上层agent的愿景(粉色点)走,最终到达目的地(黄色点)。