AWAC:使用离线数据集加速在线强化学习
2020-09-21

动图1.gif动图2.gif

动图3.gif动图4.gif

该方法通过从先前的数据集(专家演示,先前的实验数据或随机探索数据)进行离线训练,然后通过在线交互快速进行微调来学习复杂的行为


经过强化学习(RL)训练的机器人有潜力用于各种挑战性的现实世界中的问题。要将RL应用于新问题,通常需要设置环境,定义奖励功能,并通过允许机器人从头开始探索新环境来训练机器人解决任务。尽管这最终可能行得通,但是这些“在线” RL方法非常耗费数据,并且针对每个新问题重复执行这种数据效率低下的过程,因此很难将在线RL应用于现实世界中的机器人技术问题。如果我们能够在多个问题或实验之间重用数据,而不是每次都从头开始重复数据收集和学习过程。这样,我们可以大大减少遇到的每个新问题的数据收集负担。

将RL转向数据驱动范例的第一步是考虑脱机(预处理)RL的一般概念。离线RL考虑了从任意非策略数据中学习最佳策略的问题,而无需任何进一步的探索。这样可以消除RL中的数据收集问题,并合并来自其他来源(包括其他机器人或遥控)的数据。但是,根据可用数据的质量和要解决的问题,我们经常需要通过针对性的在线改进来增强离线培训。实际上,此问题设置具有独特的挑战。在此博客文章中,我们讨论了如何将RL从每一个新问题的培训从零开始转移到一个范例,该范例能够有效地重用先前的数据,并进行一些离线培训,然后进行在线微调。

1.jpg

1:使用离线数据集加速在线RL的问题。在(1)中,机器人完全从离线数据集中学习策略。在(2)中,机器人可以与世界互动并收集策略样本,以改进策略,使其超出脱机学习的范围。

在线微调对离线RL的挑战

我们使用标准基准HalfCheetah移动任务来分析从离线数据学习和后续的微调问题中的挑战。以下实验是使用先前的数据集进行的,该数据集包含来自专家策略的15个演示和从这些演示的行为克隆中采样的100个次优轨迹。

2.png

2:与非策略方法相比,基于策略的方法学习起来较慢,这是因为非策略方法能够“缝合”良好的轨迹,如左图所示右:在实践中,我们看到在线改进缓慢使用策略上的方法。


1.数据效率

利用诸如RL演示之类的先前数据的一种简单方法是,通过模仿学习对策略进行预训练,并通过基于策略的RL算法(例如AWR或DAPG)进行微调。这有两个缺点。首先,先验数据可能不是最佳的,因此模仿学习可能无效。第二,基于策略的微调是数据效率低下的,因为它不会在RL阶段重用先前的数据。对于现实世界的机器人技术而言,数据效率至关重要。考虑右边的机器人,尝试以先前的轨迹达到目标状态T1和T2。策略上的方法不能有效地使用此数据,但是可以有效地“缝合”进行动态编程的策略外算法T1和T2以及使用价值函数或模型。在图2的学习曲线中可以看到这种效果,其中按策略使用的方法要比按策略使用的参与者批评方法慢一个数量级。

3.png

3:使用离线策略RL进行离线培训时,引导错误是一个问题。左:该策略利用了远离数据的错误Q值,从而导致Q函数的更新不佳。中:因此,机器人可能会执行超出分配范围的动作。正确:引导错误在使用SAC及其变体时会导致不良的离线预训练。

2.引导错误

原则上,该方法可以通过贝尔曼自估计未来回报的价值估计V(s)或行动价值估计Q(s,a),从非政策性数据中高效学习。但是,当将标准的非策略参与者批评方法应用于我们的问题(我们使用SAC)时,它们的性能较差,如图3所示:尽管重放缓冲区中已有数据集,但这些算法并未从脱机中显着受益 训练(通过比较图3中的SAC(从头开始)和SACfD(在先)行可以看出)。此外,即使策略已通过行为克隆进行了预训练(“ SACfD(预训练)”),我们仍然会观察到性能最初出现下降。

此挑战可归因于策略外引导错误累积。在训练期间,Q估计值将不会完全准确,尤其是在推断数据中不存在的动作时。策略更新利用了高估的Q值,使估计的Q值更糟。该问题如图所示:错误的Q值导致对目标Q值的错误更新,这可能导致机器人采取较差的措施。


3.非平稳行为模型

诸如BCQ,BEAR和BRAC之类的现有脱机RL算法建议通过防止策略偏离数据太远来解决引导问题。关键思想是通过将策略π限制为接近“行为策略”πβ来防止引导错误,即重播缓冲区中存在的动作。下图说明了这个想法:通过从πβ采样动作,可以避免利用远离数据分布的错误Q值。

但是,πβ通常是未知的,尤其是对于脱机数据,必须从数据本身进行估计。许多离线RL算法(BEAR,BCQ,ABM)明确地将参数模型拟合到来自重播缓冲区的πβ分布的样本。在形成估计值后,现有方法以各种方式实施策略约束,包括对策略更新的惩罚(BEAR,BRAC)或针对策略训练的采样动作的体系结构选择(BCQ,ABM)

4.png


尽管具有约束的离线RL算法在离线状态下表现良好,但仍难以通过微调来改进,如图1中的第三幅图所示。我们看到,纯离线RL性能(图1中为“ 0K”)要好得多。比SAC。但是,通过在线微调的其他迭代,性能提高非常缓慢(从图1中的BEAR曲线的斜率可以看出)。是什么原因导致这种现象?

问题在于当在微调期间在线收集数据时,要建立一个准确的行为模型。在脱机设置中,行为模型仅需训练一次,但在在线设置中,必须在线更新行为模型以跟踪传入数据。在线(在“流”环境中)训练密度模型是一个具有挑战性的研究问题,在线和离线数据的混合导致了潜在的复杂多模式行为分布,这使难度变得更大。为了解决我们的问题,我们需要一种策略外的RL算法,该算法会约束该策略以防止脱机不稳定和错误累积,但并不过于保守,以至于由于行为建模不完善而无法进行在线微调。我们提议的算法(将在下一部分中讨论)通过采用隐式约束来实现。

5.png

4:AWAC的示意图。高权重的过渡将以高权重回归,而低权重的过渡将以低权重回归。右:算法伪代码。

实验

那么,这在解决我们较早提出的问题方面的实际效果如何?在我们的实验中,我们表明,我们可以从人类示范和非政策性数据中学习困难,高维,稀疏的奖励灵巧操纵问题。然后,我们使用随机控制器生成的次优先验数据评估我们的方法。本文还包括标准MuJoCo基准环境(HalfCheetah,Walker和Ant)的结果。


灵巧的操纵

动图6.gif

6.png

5.顶部:在线培训后显示的各种方法的性能(笔:200K步,门:300K步,重新安置:5M步)。下图:显示了具有稀疏奖励的敏捷操作任务的学习曲线。步骤0对应于离线预训练后开始在线训练。


我们的目标是研究代表现实世界机器人学习困难的任务,其中最重要的是离线学习和在线微调。其中一种设置是Rajeswaran等人在2017年提出的一套灵巧操作任务。这些任务涉及使用MuJoCo模拟器中的28自由度五指手进行复杂的操作技能:笔的手旋转,通过解锁手柄打开门,捡起球体并将其重新定位到目标位置。这些环境面临许多挑战:高维动作空间,具有许多间歇性接触的复杂操纵物理以及随机的手和物体位置。这些环境中的奖励功能是任务完成的二进制0-1奖励。Rajeswaran等。为每个任务提供25个人工演示,虽然这些演示不是完全最佳的,但确实可以解决任务。由于此数据集非常小,因此我们通过构造行为克隆策略,然后从该策略中进行采样,又生成了500条交互数据轨迹。

首先,我们将前面所述的灵巧操作任务的方法与先前的非策略学习,脱机学习和演示的自主方法进行了比较。结果如上图所示。我们的方法使用先前的数据来快速获得良好的性能,并且我们方法中有效的脱离政策的行为者批评部分的调整速度比DAPG快得多。例如,我们的方法以120K个时间分步解决笔任务,相当于仅20分钟的在线交互。尽管基线比较和消融可以在笔任务上取得一定的进展,但是替代性的政策外RL和离线RL算法在所考虑的时间范围内很大程度上无法解决开门和搬迁任务。

从随机策略数据进行微调

使用脱离策略的RL进行强化学习的优势在于,我们还可以合并次优数据,而不仅仅是演示。在本实验中,我们使用Sawyer机器人在模拟的桌面推动环境中进行评估。

使用脱离策略的RL进行强化学习的优势在于,我们还可以合并次优数据,而不仅仅是演示。在本实验中,我们使用Sawyer机器人在模拟的桌面推动环境中进行评估。

为了研究从次优数据中学习的潜力,我们使用了由随机过程生成的500条轨迹的非政策数据集。任务是将对象推入40cm x 20cm目标空间中的目标位置。

结果显示在右图中。我们看到,尽管许多方法以相同的初始性能开始,但是AWAC可以在线上最快地学习,并且实际上能够有效地使用离线数据集,这与某些完全无法学习的方法相反。

7.png

未来发展方向

能够使用先前的数据并在新问题上快速进行微调,为研究开辟了许多新途径。我们对使用AWAC从RL中的单任务机制到多任务机制以及任务之间的数据共享和通用化感到非常兴奋。深度学习的优势在于其在开放世界环境中进行概括的能力,我们已经看到,它改变了计算机视觉和自然语言处理的领域。为了在机器人技术中实现相同类型的概括,我们将需要利用大量先验数据的RL算法。但是机器人技术的一个主要区别是,为一项任务收集高质量的数据非常困难-通常与解决任务本身一样困难。这与例如计算机视觉相反,在计算机视觉中,人可以标记数据。因此,主动数据收集(在线学习)将成为难题的重要组成部分。

8.png

这项工作还提出了许多算法方向。请注意,在这项工作中,我们专注于策略π和行为数据πβ之间的不匹配动作分布。在进行非政策学习时,两者之间的边际状态分布也不匹配。凭直觉,考虑两个解决方案A和B的问题,其中B是更高收益的解决方案,而非政策性数据则说明了提供的解决方案A。即使机器人在在线浏览过程中发现了解决方案B,非策略数据仍主要包含来自路径A的数据。因此,Q函数和策略更新是针对遍历路径A时遇到的状态进行计算的,即使它不会遇到这些状态执行最佳策略时。以前已经研究了这个问题。考虑到两种类型的分布不匹配,可能会导致采用更好的RL算法。

最后,我们已经在使用AWAC作为加快研究速度的工具。当我们着手解决任务时,我们通常不会尝试使用RL从头开始解决它。首先,我们可以遥控机器人以确认任务可以解决;那么我们可能会进行一些硬编码的策略或行为克隆实验,以查看简单的方法是否已经可以解决它。使用AWAC,我们可以保存这些实验中的所有数据,以及其他实验数据(例如超参数扫描RL算法时的数据),并将其用作RL的先前数据。


参考文献:Nair A, Dalal M, Gupta A, et al. Accelerating Online Reinforcement Learning with Offline Datasets[J]. arXiv preprint arXiv:2006.09359, 2020.

开放源码 RLkithttps://github.com/vitchyr/rlkit

Donghu Robot Laboratory, 2nd Floor, Baogu Innovation and Entrepreneurship Center,Wuhan City,Hubei Province,China
Tel:027-87522899,027-87522877

合作与咨询

渠道商务合作:18062020215

售前技术咨询:13807184032

售后服务热线:18062020228

网站备案号:鄂ICP备17004685号-1 | 技术支持 | 联系我们 | 服务条款与隐私权 | 网站地图