H-DRLN
Last updated
Last updated
A Deep Hierarchical Approach to Lifelong Learning in Minecraft
我们提出了一种终身学习系统,它能够重用并将知识从一个任务转移到另一个任务,同时有效地保留以前学过的知识库。在《我的世界》,通过学习可重复使用的技能来传递知识,这是一个流行的视频游戏,是一个尚未解决的高维终身学习问题。这些可重用的技能,我们称之为深度技能网络,然后结合到我们新颖的分层深度强化学习网络( H-DRLN )体系结构中,使用两种技术:(1)深度技能数组(2)技能蒸馏,我们用于学习技能的策略蒸馏新变体。技能蒸馏使H-DRLN通过积累知识和将多种可重用技能封装到一个单一的蒸馏网络中,有效地保留知识,从而在终身学习中扩展规模。与常规深度Q网络相比,H-DRLN表现出优越的性能和较低的学习样本复杂度在《我的世界》的中。
《我的世界》是一个终身学习问题
预先学习的技能被表示为深层网络,被称为Deep Skill Networks(DSNs)。即使用我们的DQN算法版本以及常规经验重放(ER)对不同的任务进行了先验训练。我们定义了两种类型的DSN,如图3中的ModuleA和ModuleB。前者即神经网络版,后者为策略蒸馏的版本。
如前所述,H-DRLN扩展了vanilla DQN架构,以学习原始动作和技能之间的控制。所以学习目标如下:
状态空间表示为来自最后四个图像帧的原始图像像素,这些像素被组合并下采样为84×84像素图像。动作 - DSN的原始动作空间由六个动作组成:(1)向前移动,(2)向左旋转30°,(3)向右旋转30°,(4)向内旋转,(5)拾取项目和( 6)放置它。奖励——在所有领域,代理人在每一步后都会得到一个小的负面奖励信号,在达到最终目标时会得到一个非负面的奖励。见图4和图5。
单个DSN、两个房间域和复杂域的剧集长度分别为30、60和100步。代理在每个DSN中的随机位置以及两个空间和复杂域的第一个空间中初始化。
为了训练不同的DSN,我们使用VanillaDQN架构(Mnih等人2015)并执行网格搜索以找到Minecraft中学习DSN的最佳超参数。
在这个实验中,我们训练H-DRLN代理通过重用单个DSN(在navigation1 domain上预先训练)来解决两个房间的复杂任务。
我们在两个房间领域(图4)训练了H-DRLN架构以及标准DQN。
在本节中,我们将讨论我们的培训结果,并使用深度技能模块来利用H-DRLN来解决复杂的Minecraft领域。
这里的Deep Skill Module即多技能网络,通过多个Teacher网络指导一个Student学习多种技能。
图3上部即H-DRLN的整体架构。在这里,H-DRLN的输出包括原始动作和技能。 H-DRLN学习一种策略,该策略确定何时执行原始动作以及何时重新使用预先学习的技能。当选择原始动作的时候,仅运行一步;而选择技能的时候,会运行直到技能 终止。
其中 是技能 获得的回报。具体来说的目标函数如下
我们扩展了常规的经验回放(ER)来整合技能,并将其称为技能经验回放( S-ER )。S-ER保存 ,即保存技能的回报总和和最后一个状态。