深度强化学习是位于强化学习与深度学习交叉口的研究领域。从一个方面看,研究者们要解决的问题是强化学习的问题:高效地采取行动。几十年前,在这个领域已经开发了大量的算法来更新价值函数和策略、探索和规划。而在另一方面,深度学习方法为表示函数(如策略、价值函数和模型)提供了强大的函数逼近器。这两个领域的想法结合为我们提供了令人兴奋的新视角。然而,由于必须合适地结合和调整大量的元素,因此建立成功的深度强化学习实验尤为困难。这篇论文提供了关于这些元素如何围绕三个主要轴**:智能体设计、环境设计和基础架构设计进行组织的广泛概述**。可以说,深度强化学习研究的成功归因于投入到其中的巨大努力,无论是从科学还是工程的角度,以及通过开源仓库的传播。对于这三个轴,论文的一个专门部分描述了在博士研究期间进行的一些相关工作。
第一部分,关于智能体设计的部分,展示了两项工作。第一项解决了如何将离散动作方法应用于大型多维动作空间的问题。提出了一个称为动作分支的通用方法,并通过一个新的智能体,名为BDQ,应用于离散化的连续动作空间来证明其有效性。第二项工作处理了在学习达到大量目标时最大化单一转换的效用的问题。特别是,它侧重于学习在游戏中达到空间位置,并提出了一种称为Q-map的新方法来高效地做到这一点。然后基于这种方法的探索机制被用来证明目标导向探索的有效性。这些工作的要素涵盖了智能体的一些主要构建块:更新方法、神经架构、探索策略、重播和层次结构。
第二部分,关于环境设计的部分,也展示了两项工作。第一项展示了如何组合各种任务和示范来学习复杂的技能空间,然后可以重用它们来解决更具挑战性的任务。所提议的方法,称为CoMic,通过使用单一的多片段动作捕捉跟踪任务与针对分布之外的运动的补充任务,扩展了之前关于运动基元的工作。第二项工作解决了传统环境中大大忽视的一种特殊类型的控制方法,但对动物至关重要:肌肉控制。提出了一个名为OstrichRL的开源代码库,其中包含一个鸵鸟的肌肉骨骼模型、一系列任务和动作捕捉数据。通过在所提议的任务上训练最先进的代理获得的结果显示,控制这样一个复杂的系统是非常困难的,并说明了使用动作捕捉数据的重要性。这些工作的要素展示了设计环境部分时必须付出的精细工作,例如:模型、观察、奖励、终止、重置、步骤和演示。
第三部分,关于基础设施设计,展示了三项工作。第一项解释了强化学习中常用的时间限制类型之间的区别,以及它们为什么经常被不当对待。在一个情况下,任务本质上是有时间限制的,代理应该有时间的概念,以维持底层决策过程的马尔可夫性质。在另一种情况下,任务本质上没有时间限制,但出于便利的原因使用时间限制来多样化体验。这是最常见的情况。它要求区分时间限制和环境终止,并在部分剧集结束时执行启动。第二项工作提议使用一个名为Ivy的单一库来统一最流行的深度学习框架,并提供使用它构建的新的可微分和框架不可知的库。提供了四个这样的代码库,用于基于梯度的机器人运动规划、力学、3D视觉和可微分的连续控制环境。最后,第三篇论文提出了一个名为Tonic的新的深度强化学习库,其设计初衷是简单性和模块化,以加速原型设计和评估。特别是,它包含了几种连续控制代理的实现和一个大规模的基准测试。这些工作的要素展示了构建实验基础设施时要考虑的不同组件:深度学习框架、进度表和分布式训练。加上了各种执行评估和分析结果的方法,使深度强化学习研究有意义、可解释和可再现。