为了示范小数据模仿学习框架基础的关键概念,我们使用了之前描述的简单的2D 目标点到达任务进行实验。我们考虑采用难度渐进的多组任务,其中目的地的数量从2至10。我们从每个任务组收集10000个轨迹用于训练,其中目的地的位置和圆点机器人的起始位置是随机的。我们使用硬编码的专家策略来高效生成示范。我们通过在将计算动作应用于环境之前扰乱计算的动作来增加轨迹的噪声,我们使用简单的行为克隆来训练神经网络策略。该训练策略在新的场景下被评估,并依据训练中未曾出现过的新的演示轨迹调试。 我们评估之前描述的三种架构的表现。对于基于LSTM 的架构,我们通过在训练期间以0.1的概率清零激活,将停用(Srivastava et al.,2014)应用于全连接层。 结果如图7所示。我们观察到,随着架构变得越来越专业化,我们实现了更好的泛化性能。对于这个简单的任务来说,看起来,对整个示范的调节会损害泛化性能,即便没有明确的的规范,在最终状态进行的调节效果最好。这是不无道理的,因为最终状态已经足以反映整个任务。
图7 对于目标点到达任务,不同架构的成功率。“训练”曲线显示了网络“看”了示范后的成功率,训练过程中,策略在初始状态下运行;“测试”曲线显示了在新情况中的成功率。所有基于注意力的架构都取得了完美的训练成功率,曲线部分重叠。 块堆叠任务 在块堆叠任务中,我们比较了下列架构的性能: ? DAGGER:我们使用了之前描述的架构,并使用DAGGER 对策略进行训练。 ?BC:我们使用之前描述的架构,但是使用行为克隆训该策略。 ?Final state:这种架构在最终状态而不是整个示范轨迹上自我调节。块堆叠任务类中的最终状态完全体现了这一任务的性质,因而不需要额外信息。然而,包含任务解决方案中间阶段信息的完整轨迹可以使训练最佳策略变得更容易,因为它可以直接基于示范学习,而无需将中间步骤记录到其参数中。这与在加强学习中奖励设计显著影响学习效果的方式有关。两种策略之间的比较将告诉我们这个假设是否合理。我们使用DAGGER 训练这一策略。 ?Snapshot:这一架构基于轨迹的“快照“,包括示范轨迹中每个阶段的最后一帧。这就假设在测试期间示范的一个组成部分的不同阶段都可以获取,相比较其他调整策略就更具优势,因而比基于整个轨迹的调整应该表现出更好的性能。这同时也能给我们提供参考以判断,如果示范被清晰地分为若干区域,基于整个轨迹调整的策略是否可以表现得同样好。同样地,我们使用 DAGGER 训练这一策略。
图 8 展现了不同架构的性能。训练及测试任务的结果是分开列出的,其中的任务依据完成所需阶段的数量分组。这是因为需要更多阶段完成的任务难度更高。我们在100个不同的组合中使用贪婪策略来计算成功率,每一个组合都基于训练中未出现过的一种不同的示范。我们记录同一组中成功率的平均值。注意训练任务中并无具备8个阶段的任务,而测试任务中并无只有1个或3个步骤的任务,因而这些任务对应的项都被忽略了。 小结 在本文中,我们展示了一个简单的模型,该模型将单一一个成功完成的任务的演示演绎成为一种有效的策略,用于在新的场景下完成同一任务。我们通过目标点到达和块堆叠这两类任务演示了这种方式的有效性。我们计划将这一框架延伸至图形数据的演示,这将在无需单独的认知模块的情况下实现更多的端到端学习。我们同时也希望实现此策略在多个演示中自我调节,以避免单一演示无法消除任务目标中的歧义的问题。此外,最重要的是,我们希望将我们的方法应用到扩大及更广泛的任务范围,以探索该方法在实现一个可完成大量及多种类任务的机器人模拟学习系统的潜力。 论文下载:https://arxiv.org/pdf/1703.07326.pdf (责任编辑:本港台直播) |