查看原文
其他

【源头活水】“她”教你从失败中学习

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:知乎—鱼小小

地址:https://www.zhihu.com/people/yu-yuan-qiang


强化学习的一大难题就是如何处理reward较为稀疏的情况,比如机器人控制。一种解决方案是对reward function进行设计(reward engineering),但这样的话需要具体领域的知识;另一种方案是提供关于探索的bonus作为额外的奖励,但如果状态空间非常大,也是徒劳的。
本文提出了一种新的算法HER(Hindsight Experience Replay)来解决reward稀疏和二值化(只有两个值,来指示有无达成目标)的问题。

论文地址:https://arxiv.org/abs/1707.01495

HER提供了一种很巧妙的方式来避免进行reward engineering,同时又达到了比reward shaping更好的效果,从而成为了机器人控制的标配。


01

为何要从失败中学习?
假如你在学习如何踢足球,在一次踢的过程中你将球踢到了球门的左边,对于RL来说,由于失败所以没有reward,agent就无法从这次经历中学到东西。
但从另一个角度看,你至少学会了如何将球踢到球门的左边(假如球门在左边,就是一次成功的经历)。所以,失败也是含有一定的价值的!
所以HER的思想就是这样,假如经历的序列为  ,目标是  ,假如  ,此次经历就是失败的。但是可以在事后把目标换成  ,这样不就成功了吗?
来源:https://bluefisher.github.io/2019/06/01/Hindsight-Experience-Replay/
HER正是通过这种方式,把稀疏的奖励变成密集的奖励,从而提高了RL的学习效果。

02

多目标学习:UVFA
既然HER可以改变目标,这就变成了一个多目标学习的问题,其中经典的算法就是UVFA。
UVFA(Universal Value Function Approximators)是DQN的一个拓展,主要用来解决多目标情况下的学习任务。每个目标  对应一个reward function  。在每一幕的开始从分布  中采样出初始状态  和目标  (在这一幕中保持不变),agent在考虑下一步的动作时需要额外将  也考虑进去  ,执行完动作后得到  。另外,Q函数的形式也有一些改变:  。

03

如何从失败中学习?
HER的伪代码如下:
其中红框的部分是精华所在:在传统的experience replay的基础上,增加了对目标  的采样(采样策略为  ,后文对不同的策略进行了对比),即重新设置了目标状态。
这里提到的采样策略  主要有以下几种:
  • future(未来策略):在当前序列  中,如果遍历到了状态  ,就在  中随机抽取  个作为目标集  。
  • episode(幕策略):在当前序列  中随机抽取  个作为目标集 
  • random(随机策略):在训练过程中遇到的  中随机抽取  个作为目标集 
  • final(最终策略):在当前序列  中,如果遍历到了状态  ,就令  ,并放入  条相同的经验。

04

结果
由于没有现成的多目标RL环境,本文作者构建了新的环境对真实世界进行建模,构建了推(pushing)、滑(sliding)、放(pick-and-place)三个任务。

05

HER真的可以提升性能吗?
图中红色使用的是future策略,而蓝色使用了final策略,可以看出DDPG+HER确实比其他算法效果更好,不带探索和HER的DDPG几乎训练不起来。

06

HER在单任务的情况下也能训练的很好吗?
从图中可以看出DDPG+HER的组合又打败了原始的DDPG。另外有趣的一点是结合前一张图来看,多任务的情况下agent训练的更快,所以在实际应用中虽然我们只关心单目标,但依然采用多目标进行训练来提高效率。

07

哪种采样策略比较好?

综合来看future策略是最好的。
另外文章还研究了HER在reward shaping情况下的表现,发现在所有任务上都失败了。这或许是因为reward function设计的不好,阻碍了agent的探索,也恰好凸显了HER算法的伟大之处。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。



“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存