当前位置: 代码迷 >> 综合 >> Paper:Continuous Deep Q-Learning with Model-based Acceleration
  详细解决方案

Paper:Continuous Deep Q-Learning with Model-based Acceleration

热度:96   发布时间:2024-03-09 06:03:37.0

|更新:2020.10.28 | fjy2035@foxmail.com
参考博客:
1、https://blog.csdn.net/weixin_44125720/article/details/103098632
2、https://blog.csdn.net/weixin_42137700/article/details/103255186
(Homomorphism-Based RL vs. Latent-Space Modeling)

摘要 

首先介绍了无模型的强化学习方法发展:已经解决了一系列具有挑战性的问题,并且最近开始解决大型神经网络策略和价值函数。然而,无模型算法由于采样复杂性,特别是用高维函数估计时,被限制在了物理系统中。在这篇文章中,我们探索并提出了一种算法来降低深度强化学习中连续控制任务的样本复杂度。我们提出了两个互补的技术来提高算法效率。首先,改进了q-learning使它用在连续问题上,算法叫NAF,来替换平时经常使用的策略梯度和AC方法。NAF允许我们利用 Q-learning 和 经验回放来处理连续的任务,并且在模拟的机器人控制任务上提升了性能。为了提升算法效率,我们探索了利用已经学习的模型来加速无模型强化训练过程。我们证明了迭代拟合的局部线性模型在这方面特别有效,并证明了在这些模型适用的领域中可以大大提高学习速度。

简介

model-free 算法的样本复杂性,特别是当使用高维的函数估计时,使其应用范围局限在物理系统中。在这些领域中,所选择的方法是使用更合适的、特定于任务的表示的高效无模型算法,以及基于模型的用监督学习的方法来学习系统的模型,并且在该模型下进行策略的优化。用于具体任务的方法提升显著,但是显示了能学习的任务范围并且需要比较好的领域知识。基于模型的强化学习方法的不足在于策略只能在特定的模型上比较好。在许多现实世界的任务中,学习一个好的策略比学模型更加简单。

在这篇论文中我们提出来了两个互补的方法提高深度强化学习的效率在连续控制领域。一个是qlearning的变体可以使它用在连续问题上(NAF),一个是把这个方法用学号的model进行加速学习同时保持无模型学习的优点。NAF不用第二个actor或者是策略函数,只用一个简单的算法。这个简单的优化目标和价值函数参数化的选择使算法在解决一系列连续控制任务时用大型神经网络函数逼近时更加具有鲁棒性。

除了在无模型方法上进行改进之外,我们还试图结合基于模型的RL的元素来加速学习,同时又不放弃无模型方法的优势。一种方法是对于qlearning这样的离线策略来说,结合了基于模型的规划方法产生离线策略经验,这种方法效果不好。正如我们在评估中所讨论的,这部分是由于价值函数估计算法的性质,它必须经历良好和糟糕的状态转换才能准确地对价值函数进行建模。我们提出了基于想象推演:基于学习的模型生成在线样本,和Dyna-Q类似。我们证明,当所学习的动力学模型与真实模型完全匹配时,这种方法是非常有效的,但当所学习的动力学模型不完全匹配时,这种方法就失效了。然而,我们证明了迭代地将局部线性模型拟合到最新的批on-policy或off -policy rollouts中,可以提供足够的局部准确性,从而在真实样本附近使用短暂的向后想象几步实现实质性的改进。

论文有三点创新:

1.改进了q函数使得qlearning能用在连续控制上;

2.我们测试了几个原有的把模型结合到qlearning上的方法,发现他们对于了连续控制任务几乎没有效果;

3.提出了将局部线性模型和局部在线imagination rollouts相结合加速qlearnning,证明这种方法对采样复杂度有很大提升。

类似工作

现在大部分研究都是基于离散动作,比如玩atari游戏时用的价值函数估计和qlearning。连续动作需要显式表示策略,比如说pg。如果我们想要用价值函数的优越性,就需要两个网络:一个表示策略,一个表示价值函数。这篇文章是用一个网络,输出策略和价值函数。

Dyna-Q是用在训练模型中的模拟的经验来补充真实世界的在线rollout。我们证明了迭代拟合的局部线性模型比复杂神经网络效果更好。

背景

无模型的主要介绍了qlearning的更新Q值得方法以及这篇文章所要用的一个V一个A值(有点像dueling dqn)

有模型的强化学习方法介绍了iLQG和Dyna-Q。

Continuous Q-Learning with Normalized Advantage Functions

首先,假设一个简单的方法就可以使qlearning用在连续控制领域中,这就是NAF。NAF用来表示Qlearning 中的Q值。

是一个关于状态的正定方阵。是一个下三角矩阵。

伪代码为:

这个看起来和普通的强化学习伪代码流程没有什么区别。主要是Q的计算变了。

Accelerating Learning with Imagination Rollouts

Model-Guided Exploration

用iLQG在模型中生成良好的轨迹来引导策略,但是发现结果并不好,因为给的都是好的轨迹,仅仅向算法展示好的操作是不够的,它还必须经历坏的操作才能理解哪些操作更好,哪些更差。

Imagination Rollouts

算法需要好的action也需要坏的action来评判,一种方法就是用iLQG在模型中生成的经验(image rollouts)和真实的经验混合训练。

算法2是算法1的扩展,加上了iLQG的相关内容。

为此,我们观察到,基于模型的学习的大部分好处是在学习过程的早期阶段获得的,当时由神经网络q函数引起的策略很差。当q函数变得更精确时,在线策略比模型更加出色,所以训练一段时间就关闭模型引导。模型是为了加速训练过程。

Fitting the Dynamics Model

在比较了多个模型后,用的是iteratively refitted time-varying linear models,它不是学全局最优模型,而是学最后一步的局部模型。这个模型需要初始状态是确定并且低维的高斯分布,state和action都是连续的。

因为状态转移是这个公式,所以我们需要根据来拟合

结论

本文探讨了几种提高无模型深度强化学习样本效率的方法。首先,我们提出了一种利用标准化优势函数(NAF)表示将标准q learning方法应用于高维连续任务的方法。这使我们能够简化更标准的角色-批评家式算法,同时保留非线性值函数逼近的优点,并允许我们采用简单而有效的自适应探索方法。结果表明,与最近提出的AC算法相比,我们的算法学习速度更快,获得的策略更准确。我们进一步探讨了如何通过合并学习模型来加速无模型RL,同时在模型学习不完善的情况下不牺牲策略的最优性。我们证明,虽然Q-learning可以合并off-policy经验,但主要从off-policy探索中学习(通过基于模型的规划)很少能提高算法的整体样本效率。我们假设这是由于需要同时观察到成功和不成功的动作而引起的,以便获得对Qfunction的准确估计。我们证明了一种基于策略综合的替代方法可以极大地提高样本复杂度,但前提是模型学习算法要经过仔细选择。我们证明了训练神经网络模型并不能在我们的领域提供实质性的改进,但是简单的迭代修正的时变线性模型确实在它们可以应用的领域提供了实质性的改进。

 

个人观点

主要NAF算法改进了DQN,然后用iLQG算法选出最好的策略,在模型中迭代当做经验加速无模型的拟合。

iLQG:https://blog.csdn.net/qq_24464155/article/details/101352810

NAF:https://www.cnblogs.com/wangxiaocvpr/p/5664795.html

NAF:https://zhuanlan.zhihu.com/p/61588665

  相关解决方案