Unsupervised pre-training has recently become the bedrock for computer vision and natural language processing. In reinforcement learning (RL), goal-conditioned RL can potentially provide an analogous self-supervised approach for making use of large quantities of unlabeled (reward-free) data. However, building effective algorithms for goal-conditioned RL that can learn directly from diverse offline data is challenging, because it is hard to accurately estimate the exact value function for faraway goals. Nonetheless, goal-reaching problems exhibit structure, such that reaching distant goals entails first passing through closer subgoals. This structure can be very useful, as assessing the quality of actions for nearby goals is typically easier than for more distant goals. Based on this idea, we propose a hierarchical algorithm for goal-conditioned RL from offline data. Using one action-free value function, we learn two policies that allow us to exploit this structure: a high-level policy that treats states as actions and predicts (a latent representation of) a subgoal and a low-level policy that predicts the action for reaching this subgoal. Through analysis and didactic examples, we show how this hierarchical decomposition makes our method robust to noise in the estimated value function. We then apply our method to offline goal-reaching benchmarks, showing that our method can solve long-horizon tasks that stymie prior methods, can scale to high-dimensional image observations, and can readily make use of action-free data. Our code is available at https://seohong.me/projects/hiql/
翻译:无监督预训练近期已成为计算机视觉与自然语言处理领域的基础。在强化学习中,目标条件强化学习有望提供一种类似的自我监督方法,以利用大量未标记(无奖励)数据。然而,构建能够直接从多样化离线数据中学习的有效目标条件强化学习算法颇具挑战性,因为难以精确估计远处目标的准确值函数。但目标达成问题存在结构特性——达成远距离目标需先通过更近的子目标。这种结构非常有用,因为评估近处目标的动作质量通常比评估远处目标更容易。基于此思想,我们提出一种离线数据下的目标条件强化学习层次算法。通过使用一个无动作值函数,我们训练两个策略来利用该结构:将状态视为动作并预测子目标(隐表征)的高层策略,以及预测达成该子目标动作的低层策略。通过分析与教学示例,我们展示了这种层次分解如何使方法对值函数估计噪声具有鲁棒性。随后我们将方法应用于离线目标达成基准测试,结果表明:该方法能解决阻碍先前方法的长时域任务,可扩展至高维图像观测,并能直接利用无动作数据。我们的代码开源在https://seohong.me/projects/hiql/。