强化学习稀疏奖励算法总结

强化学习稀疏奖励算法总结

最近回答了一个问题,把稀疏奖励问题的算法做了总结,能力有限,欢迎补充~

强化学习中状态空间大,在只有达到特定的状态才能给出奖励的设定下,agent很难探索到特定状态,怎么办?

稀疏奖励问题是指agent探索的过程中难以获得正奖励,导致学习缓慢甚至无法进行学习的问题,并且广泛存在于现实中,比如围棋,人们很难去设定中间每步的奖励,并且状态空间巨大,使用全局奖励会有奖励稀疏且滞后的问题。

对于稀疏奖励问题的资料首先推荐李宏毅老师关于稀疏奖励部分的讲解和国内这篇稀疏奖励综述。

深度强化学习中稀疏奖励问题研究综述 - 中国知网kns.cnki.net

我觉得目前的稀疏奖励算法可以从数据和模型入手,分别解决的问题主要有:

  • 数据方面——如何利用好已有数据,如何使用外部数据和信息;
  • 模型方面——如何提高模型解决大状态空间大动作空间下复杂问题的能力。

1. 如何利用好已有数据

Curiosity Driven:好奇心驱动是使用内在奖励鼓励agent探索更陌生的状态,平衡探索与利用,本质上是提高了样本的利用效率,主要分为两类,分别是基于状态计数的和基于状态预测误差的方法,前者比如这两篇文章Count-based exploration with neural density modelsExploration: A study of count-based exploration for deep reinforcement learning,后者比如Incentivizing exploration in reinforcement learning with deep predictive models、ICM(Curiosity-driven Exploration by Self- supervised Prediction)。

Hindsight Experience Replay(HER):一般的强化学习方法对于无奖励的样本几乎没有利用,HER的思想就是从无奖励的样本中学习。HER建立在多目标强化学习的基础上,将失败的状态映射为新的目标 g' ,使用g'替换原目标 g 就得到了一段“成功”的经历(达到了目标g')。论文地址arxiv.org/abs/1707.0149

Priority Experience Replay:PER是DQN中最有效的改进手段之一,通过改变样本采样的概率来提高样本利用率和训练速度。Prioritized DQN中使用与td-error大小成正比的采样概率,在稀疏奖励中还可以对正样本采用更高的采样概率,防止在大量无奖励样本中“淹没”。

2. 如何使用外部数据和信息

Reward Shaping:利用人工经验设计奖励函数,实际应用很多,有密集的奖励信息训练agent会比较快,但是要防止最优策略改变,吴恩达等证明了在满足奖励函数一定条件下能够保证最优策略不改变Policy invariance under reward transformations: Theory and application to reward shaping。当然目前也有一些自动设计奖励函数的方法,比如逆强化学习等。

Imitation Learning:对专家策略进行学习,代表性的算法有Behaviour Clone、GAIL(Generative Adversarial Imitation Learning)。

Curriculum Learning:通过设置不同难度梯度的课程来加速学习,类似人类学习的过程,从简单的问题学习到的策略能够迁移到复杂的问题中。目前也有一些自动课程学习的研究,推荐这个国外的博客,对课程学习的算法讲的很详细。

Curriculum for Reinforcement Learninglilianweng.github.io图标

3. 如何提高模型解决大状态空间大动作空间下复杂问题的能力

Hierarchical Reinforcement Learning:分层强化学习,使用多层次的结构来学习不同层次的策略,提高了解决复杂问题的能力。比较经典的比如 FeUdal networks for hierarchical reinforcement learningMeta-Learning SharedHierarchiesLearning Multi-Level Hierarchies with Hindsight


最后推荐一下自己的一个稀疏奖励工作,在gym robot 环境和HAC代码的基础上实现了多种稀疏奖励算法,部分结果如下图所示:

YangRui2015/Sparse-Reward-Algorithmsgithub.com图标

编辑于 06-20

文章被以下专栏收录