点击下方“ 计算机书童 ”卡片,每天获取顶刊论文解读
Context-Based Meta-Reinforcement Learning With Bayesian Nonparametric Models 题目:基于上下文的贝叶斯非参数模型元强化学习 作者:Zhenshan Bing; Yuqi Yun; Kai Huang; Alois Knoll 源码:https://github.com/Ghiara/MELTS
摘要 深度强化学习代理通常需要收集大量的交互才能解决单一任务。相比之下,元强化学习(meta-RL)旨在通过利用在一组类似任务上训练获得的知识,快速适应新任务,仅需少量经验。基于上下文的最先进的元强化学习算法使用上下文来编码任务信息,并训练一个依赖于推断出的潜在任务编码的策略。然而,大多数最近的工作局限于参数化任务,其中少数变量控制任务分布的全部变化,并且由于少次适应设置,未能在非平稳环境中工作。为了解决这些限制,我们提出了一种名为MEta-reinforcement Learning with Task Self-discovery (MELTS) 的方法,它自适应地学习定性不同的非参数化任务,并以零次拍摄的方式适应新任务。我们引入了一种基于高斯无限混合的新深度聚类框架(DPMM-VAE),结合了狄利克雷过程混合模型(DPMM)和变分自编码器(VAE),以自适应的方式同时学习任务表示和聚类任务。将DPMM-VAE集成到MELTS中,使其能够自适应地发现非参数化任务分布的多模态结构,而以前使用各向同性高斯随机变量的方法无法建模。此外,我们提出了一种零次拍摄适应机制和基于递归的上下文编码策略,以提高数据效率,并使我们的算法适用于非平稳环境。在具有参数化和非参数化变化的各种连续控制任务上,我们的算法产生了更有结构性和自适应性的任务潜在空间,并且在样本效率和渐近性能方面均优于最先进的元强化学习算法。
关键词 元强化学习
任务推断
任务适应
贝叶斯非参数模型
机器人控制
I. 引言 强化学习(RL)方法已经证明了它们学习特定任务甚至超越人类表现的能力。然而,与人类相比,它们在将知识推广到新任务方面仍然有限。人类可以利用过去的经验来完成新的和类似的任务。例如,擅长滑雪的人可能会发现学习滑雪很容易,因为他们已经掌握了在雪地上操纵的技巧。元强化学习(meta-RL)不是分别训练每个任务,而是在一组任务上进行训练,通常是具有相同状态和动作空间的马尔可夫决策过程(MDP)的分布。此后,它可以使用少量的交互从类似的任务分布中学习新任务。元强化学习算法通常分为三种类型,即基于梯度的[1]、[2]、基于递归的[3]、[4]和基于上下文的[5]、[6]。在这三个类别中,最近的基于上下文的元强化学习算法,如PEARL[5],已被证明在样本效率和渐近性能方面优于其他算法[7]。
基于上下文的元强化学习涉及训练一个通用策略,该策略依赖于概率任务嵌入,包括一个用于学习嵌入的任务推断网络和一个依赖于推断出的任务信念的策略网络。例如,PEARL使用变分自动编码器将历史数据编码成潜在任务表示,从而实现任务的在线概率推断和策略网络条件[5]。任务分布被归类为参数化或非参数化[8],其中参数化任务涉及特定参数变化,而非参数化任务则在本质上是不同的,无法仅通过参数变化来描述。以前的基于上下文的元强化学习方法对参数化任务有效,但由于在建模多模态结构时单一高斯先验的表达能力有限,难以推广到多样化的非参数化任务
我们可以通过使用高斯混合模型(GMMs)来形式化参数和非参数变化的概念,我们最近的算法CEMRL适用于各种元强化学习设置,如非平稳环境和广泛的任务分布[7]。然而,CEMRL在两个方面仍然有限:(1)它假设聚类(混合)的数量是已知的,但这些信息可能在元RL中是隐藏的;(2) GMMs中的聚类数量是固定的,所以当有新任务聚类时它不能动态适应。请注意,平稳环境指的是在一段时期内固定的MDP,并且只在时期之间改变。相比之下,非平稳环境指的是MDP可能在每个时间步发生变化。因此,算法必须执行零次拍摄适应来解决这样的环境[10]。
在这项工作中,我们设计了一种方法,利用深度聚类和贝叶斯非参数模型来应对具有广泛非参数化任务分布的元强化学习的挑战。我们提出了一种名为MEta-reinforcement Learning with Task Self-discovery (MELTS) 的算法,这是一种离策略的基于上下文的元强化学习算法,可以自适应地发现参数化和非参数化任务。该算法还可以在非平稳环境中工作,并以零次拍摄的方式进行适应。我们算法的新颖性基于两个概念:(1)我们提出了一种同时表示学习和聚类的方法(DPMM-VAE),它结合了狄利克雷过程混合模型(DPMM)和变分自编码器(VAE)。与以前的深度聚类方法相比,我们的方法可以自适应地适应数据的复杂性变化,扩展到无限混合,并且额外地学习每个聚类的分布。DPMM-VAE使MELTS能够自动识别非参数化任务并生成比以前使用单一高斯模型或高斯混合模型的上下文基础元强化学习算法更有结构化的潜在空间。(2)我们提出了一种新颖的递归编码器-解码器策略,用于学习任务嵌入。我们通过对几个转换进行递归编码并通过重建任务的马尔可夫决策过程来训练我们的任务推断网络。以前的使用递归网络的元强化学习方法[3]、[4]、[6]在任务的整个转换历史中保持隐藏状态。我们证明,只需几个转换就可以学习到足够的任务信息,从而使我们的递归编码器-解码器与非平稳环境兼容。
我们在MNIST数据集上评估DPMM-VAE,并且它在预测精度方面比其他类型的VAE更优越。我们在具有参数化和非参数化分布的连续机器人控制任务上评估MELTS。实验结果表明,MELTS在样本效率和渐近性能方面显著优于最先进的元强化学习方法。据我们所知,MELTS是第一个可以明确识别定性不同任务而无需任何关于任务分布的先验信息的元强化学习算法。我们提供了我们框架的开源实现,并鼓励读者在此基础上进一步探索和扩展我们的工作[1]。
II. 背景 A. 元强化学习 元学习算法寻求学习如何执行各种任务,而不必从零开始训练每个任务。元学习被认为是实现强大且多功能AI的有希望的一步[11]、[12]。元学习背后的基本原理通常被称为“学会学习”。目标是训练一个元学习器,它可以提取跨一组训练任务的共性。通过利用从这些任务获得的元信息,元学习器可以促进相关任务的更有效学习。通常,内循环使用标准学习器来学习每个任务的具体内容,这一过程在文献中通常被称为“适应”。同时或迭代地,外循环专注于训练元学习器。内外循环的优化取决于所使用的特定算法。在元强化学习的背景下,任务被表示为马尔可夫决策过程(MDP),并假定是从任务分布 中抽取的: 这里, 代表第 个任务对应的MDP, 和 分别表示状态和动作空间。函数 、 和 描述了第 个任务的奖励函数、转换动态和初始状态分布。在元强化学习中,我们有分开的任务集 和 ,它们包含不同的任务,没有重叠。元强化学习通常包含两个阶段:在元训练期间,我们只能访问 中的任务。在元测试期间,我们测试我们的元强化学习代理能够多快以及多好地适应在元训练期间未见过的 中的任务。因此,策略 的优化目标是基于在 上的性能: 其中 包含状态、动作、奖励和下一个状态。 代表折扣因子,值在0到1之间。 B. 参数化和非参数化任务分布 任务分布的配置也可以变化,我们将其分为两个不同的组。 参数化任务分布:在以参数化变化为特征的任务分布中,一系列马尔可夫决策过程(MDPs)表现出显著的共性。这些MDPs之间的差异,包括状态空间 、动作空间 、转移概率 和奖励函数 ,可以通过一组连续参数来表示。例如,涉及以不同速度运行的机器人的任务代表参数化变化,因为它们的差异主要依赖于奖励函数,这些奖励函数可以完全由速度参数描述。 非参数化任务分布:显示非参数化变化的任务分布不那么统一,并且提出了更大的挑战。这种类型的分布在定性上是不同的任务,不能仅通过连续参数来区分。例如,在Meta-World基准测试[8]中,“reach puck”任务和“open window”任务之间的差异代表了非参数化变化。尽管我们可以使用冰球位置来参数化所有“reach puck”任务,但同样的参数化不能应用于“open window”任务。 为了构建一个有助于在广泛任务中进行泛化训练的任务分布,必须包括参数化和非参数化变化。在这样一个分布中,每个定性不同的非参数化基础任务都伴随着一组表现出参数化变化的子任务。 IV. 贝叶斯非参数初步 本节首先简要介绍贝叶斯非参数,它作为我们深度聚类方法DPMM-VAE的理论基础。具体来说,我们从狄利克雷过程开始,并通过stick-breaking过程构造性地定义它。然后,我们展示了如何将有限混合扩展到无限混合的狄利克雷过程混合模型。最后,我们解释了用于贝叶斯非参数模型大规模训练的记忆在线变分推断。 A. 贝叶斯非参数 传统的参数概率模型涉及在模型类中学习一组有限的参数来解释观察到的数据。它们一直是机器学习中的热门选择。然而,它们只能有一组固定的参数,这导致了几个限制。首先,在许多参数模型中,我们需要分布在某个参数族内。其次,在这些情况下的模型误设定可以导致参数的不一致估计。第三,模型中的参数数量通常也是固定的。这意味着我们需要通过模型选择来选择合适的参数数量,这可能很麻烦。具体的例子包括选择高斯混合模型中的组件数量或选择k-means聚类中的k。如果我们指定了错误的组件数量,模型可能会过拟合或欠拟合。此外,如果我们观察到提供额外信息的更多数据,具有固定参数数量的参数模型无法调整其模型复杂性以适应增加的数据复杂性或变化的数据结构。因此,这些模型不是元学习、持续学习或终身学习的理想选择。 贝叶斯非参数模型已经发展起来以克服这些限制。这里的“非参数”并不意味着模型没有参数。相反,该模型有能力使用无限集的参数。非参数模型的先验分布通常具有所有分布的空间作为它们的支持,因此不局限于特定的参数族[28]。由于可能的参数集是无限的,非参数模型可以决定在给定数据的情况下使用多少参数,模型应该能够随着数据的增长而适应。以下,我们简要介绍贝叶斯非参数模型和变分推断方法,我们鼓励读者阅读参考资料以获取更多详细信息。 B. 狄利克雷过程和stick-breaking 狄利克雷过程(DP)是分布上的概率分布,其中其边际分布必须是狄利克雷分布的。因此,DP的抽取是随机分布。设H是样本空间Θ上的分布,α是一个正常数。随机概率分布G根据具有基础分布H和浓度参数α的狄利克雷过程分布,即G∼DP(α, H)。我们引用[28]以获得DPs的基本属性的完整解释。 狄利克雷过程混合模型(DPMMs)通常用于解决无限混合问题。对于k≥1,我们使用所谓的stick-breaking (SB)过程[29]构造性地定义DP: 这种构造性定义源于想象地将单位长度的stick分成无限多段πk,α是一个正常数。首先,我们从Beta分布中采样β1∼B(1, α)并将其打断在π1=β1。然后我们采样β2,第二段的长度将是π2=β2(1 − β_1)。继续这个过程,我们将有 ,得到的π遵循Griffiths-Engen-McCloskey (GEM)分布 。图1(a)展示了SB过程。 从狄利克雷过程G抽取的随机分布是离散的,所以我们可以将其写为点质量的加权和: 其中 是位于 的点质量:它在 处等于1,在其他地方等于0。如果我们根据(3)采样权重 并从基础分布 采样,那么我们可以说 ,也就是说,G是一个具有基础分布H和浓度参数α的狄利克雷过程。图1(b)显示了具有 的DP的抽取。
C. 狄利克雷过程混合模型 狄利克雷过程混合模型(DPMM)是最广泛使用的贝叶斯非参数模型之一。它是一个无限混合模型,其中聚类组件的数量由数据决定,而不是预先指定的。一组观察值 通过一组潜在参数 建模,其中 是独立抽取自G的。这里我们假设 有分布 由 参数化。然后我们有: 由于狄利克雷过程G的离散性和聚类属性, 将取重复值,我们将获得所有 的聚类。 的唯一值的数量是DPMM的活跃聚类组件的数量。在推断期间,活跃组件的数量可以从观察到的数据中动态推断。 设 为聚类分配变量,其以概率 取值k。然后(5)可以通过stick-breaking过程[28]等效地表示如下: 这里我们假设 有分布 ,并且 是参数化F的参数。在混合建模术语中, 是混合比例, 是聚类参数, 是聚类k中数据的分布,H是聚类参数的先验。通常,F是高斯分布。GMM和DPMM之间的主要区别在于,对于DPMM,混合比例 是从GEM分布中采样的,并且聚类参数的先验H(λ)是对基础狄利克雷过程G( )的先验。图2说明了GMM和DPMM的生成模型。
D. DPMM的变分推断 到目前为止,我们已经介绍了狄利克雷过程混合模型(DPMM)作为生成模型。然而,在实践中,我们希望基于观察到的数据近似模型的后验密度。对于高斯混合模型,我们可以使用期望最大化(EM)算法来找到参数的最大似然估计。与此相比,贝叶斯非参数模型的推断就不那么容易了。已经开发了使用分裂合并采样[32]、顺序蒙特卡洛[33]和变分推断(VI)[34]的各种方法。我们关注变分方法,因为与蒙特卡洛方法相比,它们通常更快、更可扩展。 变分推断的基本思想是将推断问题转换为优化问题。从(3)和(6),我们为DPMM写出联合概率: 当真实的后验 是不可处理的,我们的目标是找到最佳的变分分布 ,使得与精确条件的KL散度最小化: 注意到 不依赖于q,所以而不是直接最小化KL散度,我们最大化所谓的证据下界(ELBO),它是: 第一项, ,是数据的预期对数似然。它鼓励变分分布在最佳解释观察数据的参数值。第二项, ,是先验p(v)和q(v)之间的KL散度,它迫使变分分布在与先验紧密接近的同时。因此,我们可以将ELBO的优化解释为找到一种解决方案,以最小的先验偏差足够解释观察到的数据。 对于DPMM模型,基于变分推断的思想,我们定义变分分布q遵循均值场假设,其中每个潜在变量都有自己的变分因子,并且彼此相互独立[19]: 我们用帽子标记变量,以区分变分因子q的参数和生成模型p的参数。分类因子 限制在只有K个组件,以使计算成为可能。由于变分分布只是一个近似,真正的后验仍然是无限的。如果K很大,变分分布在通过ELBO优化时可以合理地接近无限的后验。 我们考虑一个特殊情况,即(6)中的H和F都属于指数族: Hughes和Sudderth[19]表明,在这种情况下,我们可以用每个组件k的预期质量 和预期充分统计量 来表示ELBO: 然后每个变分因子可以单独迭代更新。首先,我们更新局部变分参数在分类因子 中每个聚类分配: 接下来,我们更新全局参数在因子中stick-breaking比例 和因子的基础分布 : 计算摘要统计量 和 需要完整数据集。对于大规模数据集的推断,我们需要基于批次的方法,如随机变分贝叶斯(soVB),它基于随机梯度更新,和记忆在线变分贝叶斯(memoVB)[19],它将整个数据集的摘要统计量分解为每个批次的摘要统计量的总和。 DPMM的非参数性质允许模型适应变化的聚类数量。因此,我们可以开发额外的启发式规则来动态插入新聚类和移除冗余聚类。这在批处理基础变分推断方法中优化ELBO时特别有用,可以帮助逃离局部最优。 在memoVB中,通过首先收集在通过每个批次时被一个聚类描述得不好的子样本 来创建新聚类的诞生移动。在通过所有批次之后,一个单独的DPMM模型拟合在 上,有 个初始聚类。假设诞生移动之前活跃的聚类数量是K,我们可以通过比较将 分配给K + K'与将 分配给K的结果来接受或拒绝新聚类提议。为了补充诞生移动,合并移动可能会将一对聚类合并为一个。如果合并改善了ELBO目标,则合并两个聚类。合并移动有助于在梯度基础soVB中可能发生的ELBO优化中的局部最大值。诞生和合并移动控制这个无限模型中的聚类数量,同时保持非递减ELBO。 V. 同时表示学习和聚类 我们将我们的方法介绍分为两部分。在本节中,我们介绍DPMM-VAE,一个结合贝叶斯非参数模型和变分自编码器的深度聚类框架。在下一节中,我们专注于我们的元强化学习算法MELTS,我们将DPMM-VAE框架适应作为任务自我发现模块的一部分。 给定一组未标记的数据点 ,我们设计了一个深度聚类方法DPMM-VAE,它同时学习:(1) 每个 在潜在空间Z中的潜在表示 以及从数据空间X到Z的相应映射,即 (Z的维度是固定的超参数D)。(2) 聚类的数量K和每个聚类的分布。(由于我们假设高斯分布,我们学习每个聚类k的均值 和协方差矩阵 )。(3) 每个 的聚类分配 ,其中 。 DPMM-VAE结合了一个标准的变分自编码器(VAE)来学习表示和一个狄利克雷过程混合模型来学习聚类总数和聚类分布。聚类分配取决于学习到的表示和学习到的每个聚类分布的联合。我们的算法使用交替优化方案:首先,我们使用从VAE获得的潜在变量 更新DPMM模型。然后我们固定DPMM模型的参数并更新VAE的参数。在这里,我们使用DPMM模型将每个 分配给先前学习的聚类,并最小化与分配聚类的KL散度。我们提出的方法概述如图3所示。
A. 更新DPMM模型 当更新DPMM模型的参数时,我们在从VAE获得的潜在样本 上拟合DPMM模型。我们定义了根据stick-breaking过程分配数据点到聚类的生成过程。我们假设生成过程如下: 每个聚类k的均值 和协方差矩阵 从正态-Wishart分布中抽取。我们假设正态-Wishart先验,因为正态-Wishart分布是对角高斯分布的共轭先验,其均值和协方差矩阵未知。我们首先从具有比例矩阵W和自由度ν的Wishart分布中采样 。然后我们从具有均值 和方差 的多元正态分布中采样 : 为了简单起见,我们假设 是对角协方差矩阵,假设潜在空间是D维的。 每个聚类的概率从具有浓度参数α的GEM分布中抽取。在实践中,我们将其视为一个stick-breaking过程,我们首先采样 然后 $\pi_k = \beta_i \prod_{i<k}(1 −="" \beta_i)$。<="" section=""> 聚类分配 根据我们之前获得的聚类概率从离散分布Cat(π)中抽取。 在我们的DPMM模型中,当潜在变量 被分配到聚类 时,我们假设它是由具有均值 和方差 的多元高斯生成的。 最后,我们假设原始数据由解码器生成,即 ,其中θ是解码器神经网络的参数。 然后我们使用变分推断来找到参数的后验估计。我们构造变分分布q,具有以下分解: 在每一步优化中,我们更新正态-Wishart分布的参数 , , , 。然后我们使用第IV-D节中描述的记忆在线变分贝叶斯方法来更新stick-breaking过程的参数 , , 和 ,以估计聚类概率和聚类分配。最后,在DPMM优化步骤中,我们还通过添加诞生和合并移动来动态调整总聚类数K。我们DPMM模型的完整更新因此分解为更新三组参数。 我们在VAE的每个训练周期后更新DPMM模型。由于我们在更新DPMM模型和VAE之间交替,因此不需要DPMM模型在每次更新中都收敛,我们也不需要每次都从头开始拟合新的DPMM模型。在每次更新中,我们用前一次更新中学到的参数初始化DPMM模型,并将其应用于新产生的潜在样本。 B. 更新VAE 当训练VAE时,我们共同最小化重建损失 和KL散度损失 。重建损失 是观察数据x和解码器输出之间的均方误差。我们保留了标准VAE的重建损失。KL散度简单地是两个各向同性高斯分布之间的KL散度。详细说明可以在[35]中找到。 硬分配:对于 的计算,我们首先使用当前的DPMM模型获得每个潜在样本 的聚类分配 。根据DPMM,分配给聚类k的均值和协方差矩阵是 和 。另一方面,根据VAE, 对于 ,其中 和 是VAE的编码器的输出,和 。两个多元高斯分布之间的KL散度计算如下: 我们将这种将数据点分配给最可能的聚类的方法称为硬分配,因为它在KL计算中只涉及一个单一的聚类。 软分配:硬分配可能并不总是正确的,错误分配的样本会通过计算与错误聚类的KL散度来引入误差。为了消除过早将样本分配给确定聚类的危害,我们可能还需要考虑聚类分配的概率。从DPMM模型,我们计算潜在样本 分配给聚类k的概率 对于所有可能的k 。然后我们定义KL散度为与每个聚类计算的KL散度的加权和: 尽管可以使用更复杂的加权策略,我们发现这种简单的按概率加权在实证上是足够的。我们总结了我们的DPMM-VAE算法在算法1中。
VI. 元强化学习 在本节中,我们介绍我们的元强化学习算法MELTS。它将潜在任务编码的学习与学习条件于推断任务的通用策略分开。潜在任务编码的模型可以纳入我们在第V节提出的DPMM-VAE,以获得更有结构化的潜在空间,或者使用标准的各向同性高斯VAE进行比较。基于DPMM-VAE的任务编码允许代理自适应地以自我引导的方式发现非参数任务。注意,在机器人任务中,狄利克雷过程中的混合用于对非参数基础任务进行建模,每个组件用于对分配给其基础任务类别的子任务进行建模。 A. 概述 MELTS是一种基于上下文的离策略元强化学习算法。它可以在静止和非静止环境中工作,并且可以解决具有参数化和非参数化变化的任务分布。图4显示了算法的图形表示。我们将算法分解为四个模块:上下文编码、任务自我发现、重建训练和策略训练。前三者一起构成了我们的任务推理网络。我们将在以下各节中详细讨论每个模块,但首先,我们提供了元训练和元测试过程的概述。注意训练任务 和测试任务 是从任务分布 中抽样的,没有重叠。
元训练:在一个元训练周期中,我们首先从 中随机抽取一个训练任务子集,并为每个任务滚动几个情节以收集重放经验。我们维护当前情节的一个情节,并在滚动任务时逐时间步获得任务编码,来自上下文编码器。在滚动期间,策略在任务编码和收集的情节被附加到重放缓冲区。 其次,我们更新任务推理网络,它包括上下文编码模块、任务自我发现模块和重建训练模块。对于训练周期中的每个迭代,我们从重放缓冲区中采样一组上下文,根据抽样策略 。这些样本被馈送到基于GRU网络的编码器,我们通过后验采样获得任务潜在样本 。信息瓶颈约束任务编码保持接近(已学习的)先验。我们为先验开发了两种变体。(1) 在我们的香草VAE设置中,先验是标准高斯 。(2) 在DPMM-VAE设置中,编码是从上一个周期的DPMM模型分配的聚类,先验是聚类的分布。我们使用动态预测网络和奖励预测网络作为任务推理模块的解码器(见第VI-D节)。这两个网络重建给定任务编码的下一步状态 和奖励 。重建损失鼓励编码捕获区分一个任务与另一个任务的最有信息量。 我们在训练周期结束时更新DPMM模型。DPMM的输入数据是任务推理网络的最后一步训练中获得的任务编码,更新DPMM的规则与第V-B节相同。在策略训练中,我们再次从重放缓冲区中采样,使用软演员评论家(SAC)算法[36]训练代理。我们在线获得任务推理网络的任务编码,并将其用作SAC的辅助输入。 元测试:我们在DTtest中的每个任务上进行零次拍摄适应评估,这意味着我们在滚动任务条件策略时,每一步都推断新的任务编码。我们总结了我们的算法MELTS在算法2中。
B. 上下文编码 在基于上下文的元强化学习中,上下文指的是从滚动中收集的原始经验,其中包含有关正在执行的任务的丰富信息。我们将单个转换处获得的经验表示为元组 。对于轨迹 的给定时间步 ,我们定义上下文为我们在时间窗口中的nw个最近转换收集的经验(nw < N),并将其表示为 我们为MELTS使用单一重放缓冲区,以便在离策略训练中访问所有过去的上下文。当我们执行训练任务时,我们将新获得的轨迹附加到重放缓冲区的末尾。在元训练期间获取训练样本时,我们从重放缓冲区中采样索引t,并检索上下文 。如果 t 在任务轨迹的开始处被采样,那么 可能包含来自上一个任务的一些转换。在实践中,我们选择 nw 远小于任务轨迹 N 的长度,以便偶尔发生的噪声样本。另一个保持 nw 小的原因是确保算法能够适应非平稳环境。任务可以在任何时间步中非平稳地切换,所以我们理想地希望 nw 比切换间隔小。因此,我们推动算法从尽可能少的过去经验中学习推断任务。 使用 GRU 进行特征提取:我们的上下文是高维的,所以直接将上下文编码成潜在任务表示可能很困难。我们希望为随后的任务编码器提供更简洁的特征。因此,如图 5 所示,我们训练一个 GRU 网络从上下文中提取特征。由于上下文是序列中代理和环境之间交互的样本,GRU 可以学习序列内元素之间的相关性。我们传递整个上下文直到 ct 一步步地,我们把最终的隐藏状态作为任务编码器的输入。我们的解码器网络设计与 RL2 [3] 或 VariBAD [6] 在处理可变长度上下文方面有所不同。在 [3] 和 [6] 中,上下文包括直到当前时间步的完整历史,并且隐藏状态在情节之间不会重置。然而,这种设置在面对非平稳场景时适应性有限。这里我们假设从几个时间步就可以学习到足够的关于任务的信息。这就是为什么我们使用 GRU 而不是 LSTM,因为 GRU 直接在隐藏状态上操作,不需要像 LSTM 中的额外内存单元。我们提出的特征提取方法仅使用最近的转换进行上下文编码。这种脱离严格平稳假设的出发点增强了它在解决非平稳场景中的适应性。此外,它实现了快速任务发现和性能收敛,甚至是在零次拍摄试验中。 优先级抽样:我们从同一个重放缓冲区中采样以训练上下文编码和策略训练。然而,我们使用不同的抽样策略。对于策略训练,我们从整个重放缓冲区中均匀采样。重放缓冲区中的转换是高度相关的。一个随机样本的小批量可以减轻非 i.i.d 数据的问题,并提高策略训练的稳定性。另一方面,对于上下文编码,我们使用线性加权抽样策略 Sc。根据 Sc,当重放缓冲区有 T 个转换时,采样第 i 个转换的概率是: 抽样策略很重要,因为在无监督学习设置中训练 VAE 或 RL 设置中训练 VAE 之间存在差异。在无监督学习中,每个训练时期的训练数据是整个训练数据集。在 RL 设置中,尽管任务推理网络类似于 VAE 的结构,但每个训练时期的训练数据是来自重放缓冲区的不同样本。数据在重放缓冲区中是累积构建的,策略在训练期间不断更新。如果我们使用均匀抽样策略,VAE 将无法充分训练最新的样本,这也会损害任务编码推断期间的稳定性。 C. 任务自我发现 类似于其他基于上下文的元强化学习算法,MELTS 中的策略依赖于任务编码 z,其中 z 是未知的,必须通过代理-环境交互来学习。形式上,我们假设一个生成过程,我们假设每个转换 是由潜在变量 生成的,可能性为 。 其中 是编码器网络的参数(包括上下文编码器参数 和任务编码器参数 ), 是解码器网络的参数。考虑到所有轨迹 的转换应该共享相同的任务编码,并考虑到编码器网络的输入是隐藏状态 h( ),我们可以通过最大化以下来优化整个任务推理网络: 其中 控制 KL 散度的正则化程度。我们专注于本节的 KL 散度,并在第 VI-D 节中讨论重建损失。 我们将任务自我发现视为模型正确捕获整个任务分布结构的能力,包括参数化和非参数化变化。对于包含两种变化的任务分布,我们将具有非参数化变化的定性不同任务命名为“基础任务”。在具有非参数化变化的基础任务中的子任务,具有参数化变化的称为“子任务”。 LKL 中的先验 p( ) 表达了我们在看到任何数据之前对任务分布的信仰。在这项研究中,我们设计了替代先验,以更好地捕获许多现实世界元强化学习设置中复杂的任务分布。在上下文基础的元强化学习中也提出了替代先验以建模潜在任务空间的替代先验[7]、[24]。然而,我们的作品是第一个基于数据动态发现基础任务数量的,旨在解决非参数化任务环境。 为了探索不同先验在任务自我发现能力上的影响,我们为任务编码器和 LKL 提出了两种组成: 具有固定高斯先验:我们的第一个配置是标准 VAE 的无信息和固定先验 。图 6 描述了这种配置。由于上下文编码器已经提取了特征,我们的任务编码器只有一层 MLP,输出后验高斯的均值 和方差 。我们的假设是,有了 Gaussian-VAE,我们可以捕获任务的参数变化,但可能无法很好地捕获非参数变化,因为 Gaussian-VAE 缺乏聚类能力。 具有 DPMM 模型:我们最终的组成使用 DPMM-VAE 在顶部添加了每个聚类的参数化分布。我们的 DPMM-VAE 使用分布先验,这意味着我们可以只替换先验 p(z) 并保留标准 VAE 的架构。此外,通过硬分配方法,我们获得了一种配置,其中不同聚类中的数据可以真正占据潜在空间中的不相交子空间,这与我们对基础任务分布的不相交假设相匹配。 与前两个使用固定先验来比较观测结果与我们最初的知识的组成不同,DPMM-VAE 中的先验是从数据本身中学习得到的。LKL 中的先验是数据自适应的。潜在的 q(z|h( )) 是 DPMM 模型中的一个聚类,本质上是无限混合的高斯。我们在训练期间定期更新混合模型,基于前一步优化中获得的后验 z,包括调整聚类数量、各个聚类的分布和聚类分配。在元强化学习设置中,我们可以将第 V 节中 DPMM-VAE 的生成过程以新的方式解释,以匹配任务分布的结构,其中聚类分配代表分配给不同的基础任务。任务编码是从分配的基础任务的子任务的分布中采样的。 我们假设,有了 DPMM-VAE,我们可以捕获任务分布中的参数变化和非参数变化。由 stick-breaking 过程控制的聚类可以捕获非参数变化。此外,每个聚类都由个别的高斯分布参数化,这意味着我们也可以捕获一个基础任务中的参数变化。 D. 重建训练 我们需要一种方法来鼓励任务编码捕获足够的信息,以便它可以区分一个任务与另一个任务。PEARL [5] 使用 SAC 的 Bellman 错误间接监督任务编码的学习。这里我们通过专门的解码器网络将任务推理训练与策略训练分开,以重建给定任务编码的任务 MDP。因此,我们设计了两个神经网络来近似这些函数:一个动态预测网络,参数为 来预测下一个状态 ,和一个奖励预测网络,参数为 来预测奖励 。两者都使用状态 、动作 和时间步 t 的采样任务编码 作为输入。两个网络都使用 MLP 层实现,完整的解码器如图 7 所示。
基于以上观察,我们可以将重建项的对数似然 log p( ) 表示为: 其中我们用状态和奖励的维度来归一化损失,以使两个损失的贡献相对同等重要。 VII. 实验 我们在本研究中进行了两组实验。首先,我们展示了深度聚类框架在 MNIST 数据集上的应用,以突出其在同时数据聚类和深度潜在表示学习方面的能力。其次,我们评估了 MELTS 在机器人任务中的表现,这些任务在参数化和非参数化任务环境中都存在。有关详细信息,请参阅我们公开的实现[1]。 A. MNIST 上的表示学习和聚类 我们评估了 DPMM-VAE 及其变体在无监督学习设置中的性能。我们专注于三个方面的性能:无监督聚类、表示学习和动态特征适应。 1) 实验设置: MNIST 数据集包含手写数字[37],通常用于评估各种类型的 VAE[38]和深度聚类算法[14]、[15]。数据集包含 50,000 个训练数字和 10,000 个测试数字,每个数字是 28x28 像素的图像,居中并大小归一化。在我们的方法中,我们使用由 2 个卷积层组成的基本结构作为 VAE 的主干,并选择 Adam 优化器。为了初始化 DPMM 模型,我们最初假设只有一个聚类 K = 1,并为 stick-breaking 比例设置 Beta 先验 B(1, 5)。为了进行比较,我们包括了最先进的框架 GMVAE[39],我们选择了 GMM 和具有各向同性高斯的 VAE 作为基线。GMVAE 在其先验空间中采用了高斯混合模型(GMM),并联合学习聚类和特征表示。然而,它需要在训练前预先定义先验空间中的聚类数量(在我们的情况下,我们选择了 K = 5, 10)。相比之下,我们的 DPMM-VAE 框架根据输入数据动态确定聚类组件,并以在线方式执行推断,消除了预先定义聚类数量的需要。 2) 实验结果: 聚类评估:我们使用广泛接受的无监督聚类精度作为指标,该指标已在先前的研究中使用,例如 [40] 和 [39]。每个框架都训练了 100 个周期,每个试验都至少重复了五个随机种子。在表 I 中报告了平均测试精度和相应的 95% 置信区间。在本比较中,我们假设 Gauss-VAE 其先验空间中只有一个组件。如表 I 所示,我们的 DPMM-VAE 在 MNIST 测试集上的平均精度超过了 91%,优于所有基线。值得注意的是,它甚至与监督方法相比也表现出竞争力。
此外,我们通过 t-SNE 投影[41] 可视化学习到的潜在空间结构,以进一步定性检查聚类。图 8 显示了 DPMM-VAE 和 Gaussian-VAE 的潜在表示,按输入真实标签着色。与 Gaussian-VAE 相比,我们观察到 DPMM-VAE 的潜在表示中,同一类别的不同类别更接近聚类中心,不同聚类中心彼此更远。这表明我们的 DPMM-VAE 具有更好的聚类内聚力和聚类间分离能力。在我们的 DPMM-VAE 模型中(训练开始时 K = 1),并没有对聚类数量的假设;相反,该模型学习最好地适应数据。因此,并不总是真实标签和学到的 DPMM 聚类之间存在一对一的映射。图 9 显示了 DPMM-VAE 学到的潜在样本的 t-SNE 投影,按聚类着色。
表示学习评估:重建质量作为学习到的潜在表示有用性的指标。为了评估这个方面,我们使用解码器重建图像,并直观地评估其性能。生成结果是在图 10 中说明的。值得注意的是,DPMM 的每个组件都捕获了一个数字,并有效地重建了清晰聚类的图像。此外,有趣的是,我们的 DPMM-VAE 结果表现出在 MNIST 数据上的层次聚类。同一个数字被映射到两个或三个 DPMM 聚类,每个 DPMM 聚类捕获了略有不同的书写风格。
DPMM-VAE 的一个明显好处是,我们可以从每个学到的聚类中生成样本。要生成 Gaussian-VAE 的图像,我们使用来自高斯先验 的样本并将它们馈送到解码器。这为我们提供了所有数字的生成图像,例如,在图 11 中显示的,而生成特定数字的图像并非开箱即用。有了 DPMM-VAE,我们可以从每个 DPMM 聚类学到的分布 中采样随机噪声,然后使用解码器获得特定数字的生成图像。图 10 显示了我们可以使用 DPMM-VAE 为任何单个数字获得生成样本。
动态特征适应评估:此外,为了证明 DPMM-VAE 比正常的 Gauss-VAE 和其他最先进的基线更优越,我们在更具挑战性的场景中进行了评估。在这个设置中,框架的任务是分类具有动态变化特征的数据输入,特别是随着特征数量的增加。 我们使用 MNIST 数据集来模拟遇到动态变化特征的场景。最初,框架使用 3 种类型的数字进行训练,并且在几个周期之后,我们在周期 30、60 和 90 时将可访问的数字数量增加到 5、7 和 10,模型总共运行 120 个周期,在每个周期之后,我们评估并报告其在测试数据集上的性能。我们使用无监督聚类精度作为比较的指标,这在先前的研究中已被广泛接受[39]、[40]。 测试结果如图 12 所示。随着新特征被添加到数据集中,DPMM-VAE 动态地“诞生”新的组件来适应它们。这可能会导致在训练的早期阶段 VAE 和 DP 组件都尚未收敛时,精度暂时下降。然而,一旦对新子集的训练收敛,精度就会恢复到最佳可能性能。相比之下,基线框架 GMVAE 缺乏面对非参数特征的动态适应能力。随着特征数量超过组件数量,GMVAE 的测试精度呈现出阶梯式下降。此外,由于 Gauss-VAE 模型可以被视为其先验中只有一个组件,标准 Gauss-VAE 在这个实验设置中失败了。 **图 12** 显示了 DPMM-VAE 在 MNIST 上的动态变化特征测试无监督聚类精度,随着新特征的添加,DPMM-VAE 动态地诞生新的组件来适应它们。 B. 机器人的元强化学习 1) 实验设置: OpenAI Gym[42] 工具包提供了一组基准测试和功能,帮助 RL 算法与环境通信。我们使用 OpenAI Gym 中的 Half-Cheetah-v2、Ant-v2、Hopper-v2 和 Walker-v2 环境来设置高维连续控制任务的分布,用于我们的实验。在这些环境中,代理观察机器人在连续状态空间的运动学属性。代理的动作控制应用于机器人关节的扭矩。这些环境被广泛用于评估元强化学习和多任务强化学习算法[3]、[5]、[6]、[7]。我们通过调整奖励函数来修改环境,创建非参数化基础任务,例如“向前跑”、“前翻”或“跳跃”。此外,为了在每个基础任务中引入参数化变化,我们随机化目标状态,例如“向前跑”基础任务的目标速度,范围从 1 m/s 到 5 m/s。这确保了代理学习更泛化的任务分布。图 13 显示了 Half-Cheetah 环境的八个基础任务,Half-Cheetah 8-Task 环境的具体配置在表 II 中提供,而其他使用环境的详细信息可以在我们公开的实现中找到。为了与元学习设置保持一致,在 Half-Cheetah 8-Task 中我们总共初始化了 120 个这些基础任务的变化,然后在元训练阶段将其分为两组。在元训练阶段,代理可以访问 80 个训练子任务,而在元测试阶段,它被测试在元训练期间未见过的其他 40 个测试任务。
我们使用三个常见指标比较我们的方法与以前的元强化学习算法。 渐近性能:我们通过测试任务 的平均回报来衡量渐近性能。 样本效率:如果算法能够更好地利用收集到的经验并且在学习曲线上用较少的训练样本获得更好的结果,则该算法更具样本效率。 潜在表示:我们实验的另一个重要目标是通过检查任务潜在空间的结构来展示任务自我发现的能力。 我们将我们的算法与第 II-A 节中概述的三种类型的元强化学习算法进行了比较:我们选择了 RL2[3] 作为基于递归的方法,ProMP[43] 作为基于梯度的方法,以及 PEARL[5] 作为基于上下文的方法。我们的框架是用 PyTorch 开发的。我们对每个实验至少使用五个随机种子进行实验,并报告它们的平均值和相应的 95% 置信区间以供比较,随机种子限制了每个基础任务的目标空间选择和框架初始参数的选择。使用了常见的超参数,因为它们已经被很好地微调了(参见附录表 III,在线可用)。此外,我们在 MNIST 上微调了 DPMM 的超参数,并提供了更多详细信息(参见附录表 IV 和 V,在线可用)。 2) 实验结果: Half-Cheetah 8-Task:我们比较了 MELTS (DPMM) 和 MELTS (Gauss) 与三个基线框架 PEARL[5]、RL2[3] 和 ProMP[43]。对于 PEARL、MELTS with DPMM-VAE 和 MELTS with Gaussian-VAE,我们使用相同的潜在维度 D = 8 进行公平比较。我们对框架进行了 2000 个周期的训练。在每个周期内,我们最初从任务分布 中随机抽取子任务并收集相应的转换。随后,我们从收集到的重放缓冲区中抽取批次并执行网络更新。在每个训练周期结束时,我们在元测试任务分布 上评估我们框架的性能。我们报告了通过零次拍摄适应实现的框架在测试任务上的平均总体回报,而其他基线则提供了几次拍摄适应的性能结果。有关训练过程的详细说明,请参阅算法 2 和我们的开源代码[1]。图 14 显示了所有实验中测试任务的平均回报与在元训练期间收集的转换数。阴影区域表示与平均测试奖励对应的置信区间。我们观察到,我们所有的 MELTS 实验在样本效率和渐近性能方面都显著优于所有基线。MELTS with DPMM-VAE 比 MELTS with Gaussian-VAE 取得了更好的渐近性能。视频显示了代理在零次拍摄适应期间解决单个测试任务时的行为[2]。
为了检查任务潜在空间的结构,我们从重放缓冲区中采样了属于不同任务滚动的上下文样本。然后我们使用上下文和任务编码器获得采样上下文的潜在任务变量。我们使用 t-SNE 投影可视化潜在任务编码,如图 15 所示。MELTS (Gauss) 的所有任务编码在潜在空间可视化中都集中在零周围,这是使用单一高斯先验的效果。我们观察到,在某些局部区域,来自相同基础任务的任务编码彼此接近。然而,总体上任务编码是分散的,没有明显的聚类现象。相比之下,我们观察到在 MELTS with DPMM-VAE 的潜在空间中,潜在任务编码根据基础任务清晰地聚集在一起。实际上,内部 DPMM 模型在训练后识别出 K = 8 个聚类。对于任务“向前跑”、“向后跑”、“前翻”、“后站”、“前面目标”、“后面目标”和“跳跃”,我们可以找到学到的 DPMM 聚类和基础任务之间的一对一映射。对于“向前站立”任务,DPMM 学会了两个独立的聚类,分别对应于此任务。只要不同基础任务的任务编码占据潜在空间中的不同区域,这就没有问题。 重要的是,我们的 MELTS 框架,结合 DPMM-VAE,在总体回报和样本效率方面均优于 Gauss-VAE。此外,DPMM 的贡献也反映在代理捕获的下游行动模式中。不正确推断的任务条件可能会干扰或损害下游策略学习,导致代理在相应任务中执行不正确的行动模式。这些差异可能在习得曲线上直观地观察不到。一个清楚的例子可以在我们发布的视频[2]和图 16 中观察到。例如,在任务“向前跑”中,MELTS (DPMM) 学习了向前跑的正常动作行为,而 MELTS (Gauss) 产生了不准确的行动模式,因为它的聚类推断纠缠不清。 3) 消融研究: 在本节中,我们彻底评估了我们框架中每个组件的个体贡献,考虑了参数化和非参数化任务设置。具体来说,我们比较了我们 MELTS 框架的两个变体:MELTS with DPMM-VAE 和 MELTS with Gauss-VAE,以及原始的 PEARL 框架,作为比较的基线。这种评估使我们能够理解重建训练模块(图 4 所示)对性能的影响,进一步评估 DPMM 在增强我们框架的整体性能方面的具体贡献,与 MELTS with Gauss-VAE 相比。参数化任务分布: 为了评估所提出的 MELTS 算法的可扩展性和效率,我们在四个独立的参数化基础任务中进行了实验:(1) HalfCheetah: Direction 任务,涉及静止的目标方向。(2) HalfCheetah: Velocity 任务,侧重于静止的目标速度。(3) Hopper: Velocity 任务,目标是 Hopper 机器人的静止速度。(4) Walker2D: Velocity 任务,涉及静止的二维速度。对于每个基础任务,我们准备了 100 个任务变化进行训练,并在另外 30 个变化上评估整体性能。这些任务集也用于评估 PEARL 框架[5]的性能,使我们能够直接将结果与 PEARL 进行比较。进行比较时,我们使用了 PEARL[5]的原始代码和参数。值得注意的是,我们的方法总是报告零次拍摄适应的性能,这意味着奖励是在测试任务的第一段中评估的。相比之下,PEARL 采用几次拍摄适应的方法,在评估其性能之前,代理在新任务上收集数据几个情节。这种区别确保了我们算法的有效性与 PEARL 进行了清晰的评估。另外,值得一提的是,我们没有在这项研究中评估 RL2[3]和 ProMP[43],因为它们已被 PEARL 框架在特定评估场景中超越。我们在图 17 中展示了在四个任务中测试任务的平均回报与在元训练期间收集的转换数。我们的算法在 HalfCheetah:Direction、Hopper:Velocity 和 Walker2d:Velocity 中的采样效率和渐近性能方面均优于 PEARL,并且在所有四个基础环境中的样本效率方面均优于 PEARL。我们测试了两种任务自我发现的组合:Gaussian-VAE 和 DPMM-VAE。我们观察到这两种组合在性能上几乎没有差异,这是预期的,因为这两个任务只有一个基础任务,因此没有真正的基础任务聚类。我们的 DPMM 模型在元训练期间保持 K = 1 个聚类,因为这两个任务的参数变化完全可以通过单一高斯分布来捕获。
非参数化任务分布: 我们继续在简单的非参数化任务环境中评估我们的算法,这些任务包含两个基础任务。我们构建了两个任务环境:(1) HalfCheetah,任务是达到前面不同的位置和达到后面不同的位置。(2) Ant,任务是达到不同的目标位置和以不同的速度移动。Half-Cheetah 的状态空间是 20 维的,Ant 的是 29 维的。从图 18 可以看出,MELTS 在两个任务中的样本效率和渐近性能方面均优于 PEARL。在 Half-Cheetah 任务上,MELTS with DPMM-VAE 和 MELTS with Gaussian-VAE 的性能几乎没有差异。在 Ant 任务上,它们在样本效率方面是可比的,但 MELTS with DPMM-VAE 取得了更好的渐近性能。这是预期的,因为两个版本的 MELTS 都可以成功地表示不同的任务,因为这个设置中只有两个非参数化任务。
任务自我发现的贡献: 为了评估任务自我发现对 MELTS 性能的影响,我们比较了我们算法的两个变体:MELTS (DPMM) 和 MELTS (Gauss),以调查 DPMM+moVB 在上游任务推理中的影响及其对下游策略学习的影响。我们使用一系列四个非参数化 Half-Cheetah 任务进行了实验,包括“向前跑”、“向后跑”、“前站立”和“前面目标”序列。代理在某个阶段只有一个基础任务。对于每个基础任务,我们随机抽取 10 个变化进行训练,并使用所有抽取的任务变化进行测试。每个试验运行三次,使用不同的种子。结果如图 19 所示,虚线垂直线表示分割子阶段。很明显,从第二个阶段开始,当代理切换到新的基础任务时,MELTS (DPMM) 的奖励值在短暂下降后迅速上升到更高的平均奖励水平。这意味着具有 DPMM+moVB 的代理可以快速识别当前任务并适应新任务的行动模式,同时保留其已经获得的知识。因此,其在整体任务中的性能显著提高。相比之下,MELTS (Gauss) 无法区分任务,因为其先验空间中单一高斯的假设,导致任务条件推断不准确,可能会干扰下游策略学习,导致不准确的行动模式或甚至任务失败。此外,为了进一步支持我们的说法,我们在最终性能中提供了直观的可视化示例进行比较[2]。
VIII. 结论 我们介绍了 MELTS,这是一种基于上下文的离策略算法,用于广泛和非参数化任务分布的元强化学习。我们包含了贝叶斯非参数模型进行任务自我发现,使我们的模型能够自适应地识别任务分布中的定性不同基础任务,作为任务潜在空间中不同聚类。它还学习每个聚类分布的参数化,以捕获基础任务的子任务中的参数变化。我们进一步引入了一种基于我们递归编码器-解码器策略的零次拍摄适应机制。在参数化和非参数化元强化学习任务基准测试中,MELTS 在样本效率和渐近性能方面均优于以前的元强化学习算法。 声明 本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。 你是否有这样的苦恼:自己辛苦的论文工作,几乎没有任何的引用。为什么会这样?主要是自己的工作没有被更多的人了解。
计算机书童 为各位推广自己的论文搭建一个平台,让更多的人了解自己的工作,同时促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 计算机书童 鼓励高校实验室或个人,在我们的平台上分享自己 论文 的介绍、解读 等。
稿件基本要求:
• 文章确系个人 论文的解读 ,未曾在公众号平台标记原创发表,
• 稿件建议以 markdown 格式撰写,文中配图要求图片清晰,无版权问题
投稿通道:
• 添加小编微信协商投稿事宜,备注:姓名-投稿
△长按添加 计算机书童 小编