OpenAI 层级学习研究
OpenAI 已引入 Meta-Learning Shared Hierarchies (MLSH),这是一种分层强化学习算法,旨在通过自动发现高层次动作来解决需要数千个时间步的任务。这种方法使得智能体能够通过排序已学习的组件,而不是依赖于低层次动作的暴力搜索,快速掌握新的、复杂的导航任务。
长时序任务的挑战
传统的强化学习方法经常依赖于低层次动作的暴力搜索,当任务需要大量时间步时,这种方法会变得极其低效。例如,一个需要 2,000 个低层次动作的解决方案,通过简单的试错求解在计算上是昂贵的。
MLSH 通过将复杂行为表示为高层次动作的短序列来解决这一问题。通过将一个 2,000 步的低层次序列减少为 10 步的高层次序列,智能体可以更高效地搜索解决方案。
Meta-Learning Shared Hierarchies (MLSH) 架构
MLSH 实现了一种由主策略和一组子策略组成的分层策略。主策略每 $N$ 个时间步(其中 $N$ 可能为 200)选择一个高层次动作,然后所选的子策略将在这 $N$ 个时间步内执行。
- 自动发现:与之前需要手工设计的分层策略不同,MLSH 通过与环境的交互自动发现其层次结构。
- 元学习视角:该算法将“好”的层次结构定义为在训练之前未见过的任务时,能够使智能体快速获得高奖励的结构。
- 共享子策略:智能体在任务分布上进行训练。虽然主策略为每个采样的任务重新学习,但子策略在任务之间共享,使得智能体能够改进一组通用的高层次动作。
在 AntMaze 中的实验结果
为了评估该算法,OpenAI 研究者使用了 AntMaze 环境,该环境包含一个 MuJoCo Ant 机器人,在九个不同迷宫的分布中导航。
通过与环境的交互,MLSH 成功发现了一组多样化的子策略——具体来说,是向不同方向行走和爬行——这些子策略可以组合起来求解迷宫任务。研究者指出,这一组子策略使得智能体能够掌握比其最初训练时更大的任务。
可用性
OpenAI 已在 GitHub 上发布了用于训练 MLSH 智能体的代码以及用于评估这些算法的 MuJoCo 环境。
Sources
- OriginalLearning a hierarchy