什么是HER(Handsight Experience Replay)

作为经典的算法之一,网上已经有很多的介绍了,这里是我自己的学习笔记,只关注核心重点的部分。

motivation:为了解决反馈稀疏的问题,修改目标,从而使有效回报数量变多

问题formulation: 稀疏奖励的情况

Bit Flipping问题:一个长度为N的由0和1组成的数组,每次可以反转一个数字,如果这个数组和目标数组一致时,给予正奖励,否则给予负奖励。显然,长度N越大,达到目标数组需要反转的步数越多,是一个明显的稀疏奖励问题,学习的难度和N十分相关。
image.png

对于稀疏奖励问题,学习一个可行的策略是非常困难的,一种常见的解决方法就是奖励塑形,重新设计奖励,通过新的奖励函数给予智能体一定的指导,可以更容易的学习策略。但是这种方法需要一定的专业知识,如果设计不合适,可能会出现reward hacking等问题

现在对问题继续分析,假设初始状态为 s 0 s_0 s0,目标状态为 s t s_t st,经过T步后,得到的状态为 s T s_T sT,虽然没有达到目标状态 s t s_t st,但是万一以后的目标状态是 s T s_T sT呢,因此这部分也是可以作为经验保存下来的!

这就是HER的核心想法:对策略更新过程中探索到的状态/目标进行记忆和反思,假想是未来会学习的目标,对经验池进行数据增强,充分利用了失败的经验

伪代码
image.png

流程简单解释:对采样的buffer进行处理,重新选取新的目标,替换原始目标,并计算新的奖励,得到新的buffer

如何选取新的目标作为经验回放

论文给出了四种方式:final,random,episode,future

  • final: 只取每个episode所获得的最后一个transition中state推算而得的goal来回放经验。
  • random: 从迄今为止所有transition中取k个推算出goals来回放经验。
  • episode: 从当前episode中所有transition中取k个推算出goals来回放经验。
  • future: 对于episode中 t r a n s i t i o n i transition_i transitioni所使用的回放goals,其为 t r a n s i t i o n i transition_i transitioni之后的k个transition(随机取)推算出来的goals。

缺点:

  • 万一探索的到的就是错误的,根本不会引导agent达成最终目标呢,或者是次优的呢,加噪声会缓解?鼓励探索会好些?
  • 还有就是,环境的目标集合中是有可能包括当前状态的,或者新选择的状态/目标是可以作为subgoal,这对环境有一定的要求
  • 仅适用于使用buffer的off-policy算法
  • 需要记录每个episode transition的列表,在每个episode结束之后进行事后经验回放
  • 需要计算新goal的reward
  • 选择新的目标不会改变原来状态的转移概率

为什么不适用于on-policy:

  • on-policy和off-policy的区别:Q值更新不同,注意两个Q值的更新公式
  • 如果将HER应用于on-policy中,在选择新的goal时,是无法及时更新Q(s’|new goal, a’)的,而off-policy的max操作就可以保证更新到新的Q值—来自Yumho
  • 我认为是,on-policy中target是和action(policy)有关的,而off-policy是和action(policy)无关的,也就是采样数据的分布问题(重要性采样的问题),如果应用在on-policy中,那么target的分布是发生改变的,需要修正才能作为更新的target

对HER的一些改进:

  • Curriculum-guided Hindsight Experience Replay:并不是采样的new goal都是有用的,自适应的经验replay生成new goal
  • Bias-Reduced Hindsight Experience Replay with Virtual Goal Prioritization:实现优先级采样new goal,以及过滤无用的样本减少偏差
  • Relay Hindsight Experience Replay: Self-Guided Continual Reinforcement Learning for Sequential Object Manipulation Tasks with Sparse Rewards:实现了复杂顺序任务的自我引导策略

参考:
Hindsight Experience Replay
https://blog.csdn.net/weixin_43145941/article/details/119219436
https://zhuanlan.zhihu.com/p/501043736
https://cloud.tencent.com/developer/article/1541893
https://gyh75520.github.io/2018/03/22/Hindsight_Experience_Reply/
http://www.deeprlhub.com/d/133-on-policyoff-policy

  • 19
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值