RL稀疏奖励问题

强化学习中状态空间大,在只有达到特定的状态才能给出奖励的设定下,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)。

ICM,增加一个ICM的reward,未来发生的事情越没有预测,则它的reward将会越大。feature-extractor可以将无关紧要的东西滤掉。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ESK1d6Z-1600740595468)(C:\Users\liuyi\AppData\Roaming\Typora\typora-user-images\image-20200922094813623.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WonwqmkF-1600740595476)(C:\Users\liuyi\AppData\Roaming\Typora\typora-user-images\image-20200922094929783.png)]

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

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:通过设置不同难度梯度的课程来加速学习,类似人类学习的过程,从简单的问题学习到的策略能够迁移到复杂的问题中。目前也有一些自动课程学习的研究

图标

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

ion)

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

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

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页