我们解决了多任务离线强化学习问题。给定从不同任务中收集的多个数据集,我们训练多任务策略,以在从同一分布中采样的看不见的任务中表现良好。未提供看不见的任务的任务标识。为了表现良好,策略必须通过建模其对状态、动作和奖励的依赖性,从收集的转换中推断出任务身份。由于不同的数据集可能具有具有较大差异的状态动作分布,任务推理模块可能会学会忽略奖励,并将状态动作对与任务身份虚假关联,从而导致测试时性能不佳。为了增强任务推理的鲁棒性,我们提出了三重态损失的新应用。为了挖掘一些负面的例子,我们通过近似训练任务的奖励函数来重新标记训练任务的转变。当我们允许对看不见的任务进行进一步训练时,与随机初始化的策略相比,使用经过训练的策略作为初始化会导致更快的收敛(在5个不同的Mujoco任务分布中提高80%)。我们将我们的方法命名为\textbf{MBML}(\textbf{M}多任务\textbf{B}匹配RL和\textbf{M}度量\textbf1 L}收益)。
将神经网络(NN)与强化学习(RL)相结合导致了许多最新进展[1-5]。由于训练NN需要不同的数据集,并且收集真实世界数据的成本很高,因此大多数RL成功仅限于在模拟中可以廉价生成数据的场景。另一方面,对于许多应用程序来说,离线数据基本上是免费的,RL方法应该尽可能使用它。这一点尤其正确,因为RL的实际部署因其样本效率差而受到瓶颈。这种洞察力激发了Batch RL最近的一系列工作[6-10]。这些工作引入了专门的算法来稳定来自离线数据集的训练。然而,离线数据集不一定是多样的。在这项工作中,我们研究了不同数据集的属性如何影响策略搜索过程。通过收集不同的离线数据集,我们希望网络能够在没有进一步训练的情况下对看不见的任务进行概括,或者在我们进一步进行策略训练时提供良好的初始化,从而加快收敛速度。为了收集不同的数据集,我们想到应该从不同的任务中收集数据。然而,从不同任务收集的数据集可能具有较大差异的状态动作分布。这种数据集偏差在稳健的任务推理中提出了独特的挑战。我们在下面简要描述了问题设置、挑战和我们的贡献。为了便于说明,我们将这些数据集称为在之后的状态动作访问频率中几乎没有重叠。
我们解决了多任务批量RL问题。我们从多个数据集训练策略,每个数据集都是通过与不同任务的交互生成的。我们测量训练策略在从与训练任务相同的任务分布中采样的看不见的任务上的性能。为了更好地执行,策略必须首先从收集到的转换中推断出看不见的任务的身份,然后采取适当的措施来最大化回报。为了训练策略以推断任务身份,我们可以训练它在给定任务转换作为输入时区分不同的训练任务。这些转换被称为上下文集[11]。理想情况下,策略应该对任务标识对上下文集中的奖励和状态动作对的依赖性进行建模。为了实现这一点,我们可以训练一个任务识别网络,将收集到的经验(包括状态-动作对和奖励)映射到任务身份或某些任务嵌入。然而,这种方法在实践中往往会失败。由于训练上下文集在状态动作访问频率上没有显著重叠,因此学习过程可能会通过仅关联状态动作对而忽略奖励来最小化任务识别的损失函数,这将导致识别测试任务的错误。这是已知的ML算法作弊现象的一个例子[12],如图1所示。我们将我们的解释局限于任务在奖励函数上不同的情况。将我们的方法扩展到具有不同过渡函数的任务分配很容易。我们为这两种情况提供了实验结果。我们的贡献如下。据我们所知,我们是第一个强调任务推理模块从有偏差的数据集中学习错误相关性的问题。我们提出了一种新的三重态损失应用于任务推理的鲁棒性。为了挖掘硬负面的例子,我们近似每个任务的奖励函数,并在与其他任务的转换中重新标记奖励。当我们训练策略以区分原始和重新标记的转换时,我们强制它考虑奖励,因为它们的状态-动作对是相同的。与其他训练相比,三胞胎丢失训练更适用于看不见的任务。当我们允许对看不见的任务进行进一步训练时,使用从离线数据集训练的策略作为初始化会显著提高收敛速度(样本效率提高80%)。据我们所知,最相关的工作是[6],它解决了与我们不同的问题。他们假设可以访问测试任务的地面真相任务身份和奖励功能。我们的政策不知道测试任务的身份,必须通过收集的轨迹来推断。我们也无法访问测试任务的奖励功能。