过去几年中,由于强化学习在游戏和机器人控制方面取得了巨大成功,人们对其兴趣激增。然而,与监督学习方法(从一次收集然后重复使用的海量数据集中学习)不同,强化学习算法使用反复试验的反馈循环,需要在学习过程中进行主动交互,每次学习新策略时都收集数据。这种方法在许多现实世界的环境中是行不通的,例如医疗保健、自动驾驶和对话系统,因为反复试验的数据收集可能成本高昂、耗时,甚至是不负责任的。即使对于可以使用一些主动数据收集的问题,交互式收集的要求也会限制数据集的大小和多样性。
离线 RL(也称为批量RL 或完全脱策略RL)仅依赖于先前收集的数据集,无需进一步交互。它提供了一种利用先前收集的数据集(来自先前的 RL 实验、人工演示和手工设计的探索策略)来自动学习决策策略的方法。原则上,虽然脱策略 RL 算法可以在离线设置(完全脱策略)中使用,但它们通常仅在与主动环境交互一起使用时才会成功 - 如果没有收到这种直接反馈,它们在实践中通常会表现出不理想的性能。因此,虽然离线 RL 具有巨大的潜力,但如果不解决重大的算法挑战,就无法发挥这一潜力。
在“离线强化学习:教程、评论和开放问题的观点”中,我们提供了有关解决离线强化学习挑战的方法的全面教程,并讨论了仍然存在的许多问题。为了解决这些问题,我们设计并发布了一个开源基准测试框架,即深度数据驱动强化学习数据集(D4RL),以及一种新的、简单且高效的离线强化学习算法,称为保守 Q 学习(CQL)。
离线 RL 的基准
为了了解当前方法的能力并指导未来的进展,首先需要有有效的基准。之前工作中的一个常见选择是简单地使用由成功的在线 RL 运行生成的数据。然而,虽然简单,但这种数据收集方法是人为的,因为它涉及训练在线 RL 代理,而正如我们之前讨论的那样,这在许多现实设置中是禁止的。人们希望从提供良好任务覆盖的各种数据源中学习一种比当前最佳策略更好的策略。例如,人们可能从手工设计的机械臂控制器收集数据,并使用离线 RL 来训练改进的控制器。为了在现实设置下推动该领域的进展,人们需要一个基准套件,它要准确反映这些设置,同时要足够简单和易于访问,以便快速进行实验。
D4RL提供标准化环境、数据集和评估协议,以及最新算法的参考分数,以帮助实现这一目标。这是一种“内置电池”的资源,非常适合任何人以最少的麻烦开始使用。
D4RL 中的环境
D4RL 的主要设计目标是开发既能反映现实世界数据集挑战又能反映现实世界应用的任务。以前的数据集使用的数据要么来自随机代理,要么来自使用 RL 训练的代理。相反,通过思考自动驾驶、机器人技术和其他领域的潜在应用,我们考虑了离线 RL 的现实世界应用可能需要处理由人类演示或硬编码控制器生成的数据、从异构源收集的数据以及具有各种不同目标的代理收集的数据。
除了广泛使用的MuJoCo运动任务外,D4RL 还包含用于更复杂任务的数据集。例如, Adroit 领域需要操纵逼真的机械手来使用锤子,这说明了使用有限的人类演示进行工作的挑战,如果没有这些演示,这些任务将极具挑战性。先前的研究发现,现有数据集无法区分相互竞争的方法,而 Adroit 领域则揭示了它们之间的明显缺陷。
现实世界任务的另一种常见场景是,用于训练的数据集是从执行与感兴趣的任务相关但并非专门针对该任务的广泛其他活动的代理收集的。例如,来自人类驾驶员的数据可能说明如何驾驶好汽车,但不一定说明如何到达特定的目的地。在这种情况下,人们可能希望离线 RL 方法将驾驶数据集中的部分路线“拼接”在一起,以完成数据中实际未看到的任务(即导航)。作为一个说明性示例,给定下图中标记为“A”和“B”的路径,离线 RL 应该能够“重新混合”它们以生成路径 C。
仅观察到路径 A 和 B,它们可以组合形成最短路径 (C)。
我们设计了一系列难度逐渐增加的任务来锻炼这种“拼接”能力。下图所示的迷宫环境需要两个机器人(一个简单的球或一个“蚂蚁”机器人)导航到一系列迷宫中的位置。
D4RL 中的迷宫导航环境需要“拼接”路径的部分以实现数据集中未见的新导航目标。
Franka 厨房领域(基于Adept 环境)提供了更复杂的“拼接”场景,其中使用 VR 界面的人类演示构成了多任务数据集,离线 RL 方法必须再次“重新混合”这些数据。
“Franka 厨房”领域需要使用人类演示者在模拟厨房中执行各种不同任务的数据。
最后,D4RL 包括两个任务,旨在更准确地反映离线 RL 的潜在现实应用,这两个任务均基于现有的驾驶模拟器。一个是第一人称驾驶数据集,它利用英特尔开发的广泛使用的CARLA模拟器,该模拟器在现实驾驶领域提供照片般逼真的图像;另一个是来自Flow交通控制模拟器(来自加州大学伯克利分校)的数据集,它需要控制自动驾驶汽车以促进有效的交通流动。
D4RL 包括基于现有真实模拟器的数据集,用于使用 CARLA 进行驾驶(左)和使用 Flow 进行交通管理(右)。
我们已将这些任务和标准化数据集打包成一个易于使用的Python 包,以加速研究。此外,我们使用相关的先前方法(BC、SAC、BEAR、BRAC、AWR、BCQ )为所有任务提供基准数字,以便为新方法提供基准。我们并不是第一个提出离线 RL 基准的人:许多先前的研究已经提出了基于运行 RL 算法的简单数据集,而最近的几项研究已经提出了具有图像观察和其他特征的数据集。但是,我们相信 D4RL 中更现实的数据集组成使其成为推动该领域进步的有效方法。
一种改进的离线强化学习算法
在开发基准任务时,我们发现现有方法无法解决更具挑战性的任务。核心挑战来自分布转移:为了改进历史数据,离线强化学习算法必须学会做出与数据集中做出的决策不同的决策。然而,当看似好的决策的后果无法从数据中推断出来时,这可能会导致问题——如果没有代理在迷宫中采取这个特定的转弯,那么如何知道它是否会导致目标?如果不处理这种分布转移问题,离线强化学习方法可能会错误地推断,对罕见动作的结果做出过于乐观的结论。与此形成鲜明对比的是,在线设置中,以好奇心和惊喜为模型的奖励奖金会乐观地偏向代理探索所有可能有益的路径。由于代理会收到交互式反馈,如果该操作结果没有回报,那么它可以简单地在将来避开该路径。
为了解决这个问题,我们开发了保守 Q 学习(CQL),这是一种离线 RL 算法,旨在防止高估,同时避免明确构建单独的行为模型,并且不使用重要性权重。虽然标准Q 学习(和演员-评论家)方法从以前的估计中进行引导,但 CQL 的独特之处在于它本质上是一种悲观算法:它假设如果给定动作没有看到好的结果,那么该动作很可能不是一个好的动作。 CQL 的核心思想是学习策略预期回报的下限(称为Q 函数),而不是学习近似预期回报。如果我们随后在这个保守的 Q 函数下优化我们的策略,我们可以确信它的值不会低于这个估计值,从而防止因高估而导致的错误。
我们发现 CQL 在许多较难的 D4RL 任务上都取得了最佳效果:CQL 在 AntMaze、Kitchen 任务和 8 项 Adroit 任务中的 6 项上的表现优于其他方法。特别是在 AntMaze 任务中,该任务需要使用“蚂蚁”机器人穿越迷宫,CQL 通常是唯一能够学习非平凡策略的算法。CQL 在其他任务上也表现良好,包括 Atari 游戏。在Agarwal 等人的 Atari 任务中,当数据有限(“1%”数据集)时,CQL 的表现优于之前的方法。此外,CQL 很容易在现有算法(例如QR-DQN和SAC )之上实现,而无需训练额外的神经网络。
使用Agarwal 等人的 1% 数据集对 Atari 游戏进行 CQL 的性能测试。
未来的想法
我们对快速发展的离线强化学习领域感到兴奋。虽然我们朝着标准基准迈出了第一步,但显然仍有改进的空间。我们预计,随着算法的改进,我们将需要重新评估基准中的任务并开发更具挑战性的任务。我们期待与社区合作,改进基准和评估协议。我们可以共同将离线强化学习的丰富前景带入现实世界的应用。
致谢
这项工作是与加州大学伯克利分校的博士生 Aviral Kumar、Justin Fu 和 Aurick Zhou 合作完成的,并得到了谷歌研究部的 Ofir Nachum 的贡献。
评论