24年8月来自德国 AI 研究中心、Nvidia、MIT、NYU、Georgia Tech、CMU、Darmstadt 理工和
Hessian.AI
的论文“Deep Generative Models in Robotics: A Survey on Learning from Multimodal Demonstrations”。
从演示中学习,即从数据中学习机器人行为模型的领域,随着
深度生成式模型(DGM)
的出现而越来越受欢迎。尽管这个问题已经以
模仿学习(IL)
、
行为克隆(BC)
或
逆强化学习(IRL)
等名称进行了多年的研究,但传统方法所依赖的模型不能很好地捕捉复杂的数据分布,也不能很好地扩展到大量演示。近年来,机器人学习社区对使用深度生成式模型来捕捉大型数据集的复杂性,表现出越来越浓厚的兴趣。本综述旨在对去年机器人技术中深度生成式模型的使用进展进行回顾。介绍社区探索的不同类型模型,例如
基于能量的模型、扩散模型、动作值图或生成对抗网络
。还介绍深度生成式模型的不同类型的应用,从抓取生成到轨迹生成或成本学习。生成模型最重要的元素之一是分布的泛化。在综述中,回顾了社区为提高学习模型的泛化能力而做出的不同决定。最后,强调研究挑战,并提出了学习机器人深度生成式模型的一些未来方向。
传统上,在深度学习成为标准之前,LfD 方法通常使用高斯过程 (GP) [23]、[24]、隐马尔可夫模型 (HMM) [25]、[26] 或高斯混合模型 (GMM) [27] 来表示生成式模型。然而,这些模型无法扩展到大型数据集,也无法表示图像等高维环境中的条件分布。
深度生成式模型 (DGM)
在图像 [33] 和文本生成 [34] 方面取得的最新成功,证明其能够捕获高度多模态数据分布。近年来,这些富有表现力的模型在模仿学习应用的机器人领域引起人们的关注(如图所示)。例如,扩散模型 (DM) [35]、[33] 已被有效地用于学习高维轨迹分布 [36]、[7]、[8];语言和基于图像的策略已使用 GPT 风格的模型开发,这些模型表示动作空间中的分类分布 [37];
变分自动编码器 (VAE)
[38] 被用于为任意目标生成 6 自由度抓取姿势 [5]。
本综述主要关注考虑离线数据的方法(即不在线或以交互方式收集其他数据)和离线监督的方法(即除专家操作外没有其他监督)。尽管从离线数据集学习 DGM 已在从视觉到文本生成的各个领域得到广泛研究,但机器人技术中存在固有的挑战,需要谨慎的设计选择。如图所示为本综述的结构:
问题定义
BC 的主要目标是学习一个条件概率密度模型(生成式模型)ρ_θ(a|c),该模型可以准确捕捉数据的底层概率分布,表示为 ρ_D(a|c),其中 a 是想要生成的数据变量,c 是条件变量。核心思想是确保模型生成的样本 a ~ ρ_θ(a|c) 与真实数据样本 a ~ ρ_D(a|c) 无法区分。
在决策和控制的背景下,a 表示动作,范围从末端执行器的姿势 [58]、位移 [59]、轨迹 [36]和所需的场景布置, [60] 到机器人配置 [61]。条件变量 c: (o, g) 通常在 o(场景的观察结果)和 g(目标定义)之间解耦。观测可能包括视觉数据 [62]、3D 空间数据 [63] 或机器人本体感觉,从而提供有关环境状态的信息。根据任务的不同,通常还会提供最近 t 次观测的历史记录,而不是单步观测。目标变量 g 定义机器人应该完成的期望行为或任务。这个目标可以通过多种方式指定,包括语言命令 [64]、期望目标状态 [65] 或目标图像 [66];每种方式都提供一种不同的方法来指导机器人的动作以实现特定的结果。
为了学习模型 ρ_θ(a|c),假设真实数据分布 ρ_D(a|c) 是未知的,并且只能访问从该分布中抽取的一组有限的样本。这些样本形成数据集 D : (a_n, c_n),N 是 D 中的样本数。然后,将学习生成式模型的任务表述为优化问题,其目标是最小化学习分布 ρ_θ(a|c) 与真实数据分布 ρ_D(a|c) 之间的差异。实践中训练算法会根据所选模型 ρ_θ(a|c) (高斯进程、基于能量的模型 (EBM) [67], [68], 扩散模型(DM) [69], [33]) 进行修改。
密度估计模型
本综述的核心思想是以统一的方式呈现机器人技术中使用的不同类型模型,以正确捕捉演示中的多模态性。因此不包括使用单模态模型来表示策略的方法,而是重点关注能够从多模态分布中生成样本的模型。这些模型分为五类:采样模型、基于能量的模型、扩散模型、分类模型和混合密度模型。
采样模型
允许显式样本生成的一组深度生成式模型称为采样模型。给定一个上下文变量 c 和一个潜变量 z,网络将潜变量解码为一个样本 a = D_θ(z,c)。为了从模型 a ~ ρ_θ(a|c) 生成一个动作样本,首先从易于采样的分布 z ~ N (0, I)(例如正态分布)中采样一个潜变量,并将其解码为动作 a = D_θ(z,c)。如下左图所示:采样模型的可视化表示。给定一个潜样本 z(通常从正态分布中采样),采样模型解码器生成一个动作样本。有几种生成模型属于这一类:GAN [75]、VAE [38] 或 NFlow [71]。
采样模型的常见应用表示如右图所示:作为采样分布 [47]、行为先验 [48] 和生成式模型 [5]。
GAN、VAE 和 NFlow 的采样过程相同,但每个模型的训练算法不同。
基于能量的模型
将 EBM 称为一组深度生成式模型,给定一个动作 a,输出一个标量值 e = E_θ (a, c),其中 c 表示条件上下文变量。在 EBM 中,概率密度模型 ρ_θ(a|c) 由一个玻尔兹曼分布表示。
由于模型的隐式性质,从一个 EBM a ~ ρ_θ(a|c) 采样不是直接的。EBM 通过能量函数定义数据的一个概率分布,采样需要 MCMC 等方法来近似分布。一种常见的采样算法是朗之万蒙特卡罗。给定从简单先验分布生成的初始样本 a_0 ~ ρ_0(a_0),通过迭代更新样本来生成样本。这个迭代过程可能计算量很大,而且比 VAE 或 GAN 等模型中使用的直接采样方法更慢。或者,考虑到 EBM 的隐式性质,一些研究 [93]、[94] 通过解决一个优化问题来搜索最可能的样本。
由于其隐式性质,EBM 包含几个有趣的属性。如 [95]、[93]、[96] 中所述,EBM 允许不同 EBM 的模块化组合。这种模块化方法允许训练单独的 EBM 来表示数据的不同行为或方面,然后可以组合这些模型。结果是一个复合模型,其中变量 a 在所有组件模型下都具有很高的概率,有效地整合每个单独 EBM 捕获的不同特征或模式。
另一个有趣的特性是能量映射 [58]、[96]。由于 EBM 具有隐式性质,因此可以在不同于训练空间的空间中生成样本。这在机器人技术中特别有用。例如,如果可以访问正向运动学映射 x = φ_FK(q),则在任务空间 E_θ(x|c) 中训练的 EBM 可以有效地指导机器人关节配置 q 的选择。通过组合映射和能量 E_θ(q|c) = E_θ(φ_FK(q)|c),可以在配置空间中表示一个 EBM,将低能量设置为导致任务空间中低能量的配置。
EBM 在机器人技术中的主要应用范围从顺序决策问题的成本/奖励函数到直接生成式模型。
训练 EBM 最流行的算法之一是
对比发散(CD)
[103],[99]。该方法涉及从给定分布生成的负样本与从数据集中获得的正样本之间的对比博弈。
与 CD 相比,在机器人技术中,使用监督学习损失,如占用损失或符号距离函数(SDF),来训练模型非常流行。尽管并不常见,但鉴于它们在机器人技术中的流行程度,将它们作为拟合 EBM 的附加方法引入。
EBM 如图所示。左图:EBM 的可视化表示;给定一个动作变量 a 作为输入,EBM 输出输入动作的非归一化对数概率 e = E_θ(a, c)。右图:训练或表示 EBM 不同策略的可视化表示:CD [91]、监督学习 [92] 和神经描述子场 [70]。
扩散模型
扩散模型(DM) [109][33] 将数据生成过程定义为迭代去噪过程。给定先验采样分布 a_N ~ ρ(a_N)(通常是高斯分布),迭代去噪过程 ρ_θ(a_k-1|a_k) 将噪声样本从先验分布移至数据分布。去噪过程 ρ_θ(a_k-1|a_k) 是前向扩散过程 q(a_k+1|a_k) 的逆过程,该过程逐渐向数据集样本添加噪声。
在实践中,DM 与 EBM 密切相关,其中去噪预测估计能量函数的梯度场 [110]、[111]、[112]。给定动作 a 作为输入,输出向量 s,s = S_θ(a,c,k),其中 c 表示上下文变量,k 是指示扩散步骤的标量值,扩散过程的每一步都可以看作是使用 EBM 进行朗之万动力学采样的一步。由于迭代采样过程,与其他 DGM 相比,DM 的推理时间较慢。最近的研究,如 Consistency Policies [113],探索如何使 DM 采样更快。
由于生成建模的几个重要特性,DM 在去年变得尤为流行。DM 能够表示高维连续空间分布,并具有稳定的训练流程。由于与 EBM 的连接,DM 隐式地参数化动作,从而可以组合扩散模型。已有多项研究探索具有附加目标 [36]、[58]、[114]、[115] 扩散模型的模块化组合,或其他 DM [116]、[117] 。虽然组合并未应用于机器人技术,但它在图像生成中尤为流行。
分类器指导
[118] 提出在生成过程中将无条件 DM 的输出与分类器的梯度相结合。
无分类器指导
[119] 提出将无条件 DM 与条件 DM 相结合。在 [111]、[120] 中,几种条件 DM 被组合在一起用于模块化生成。
由于其高表现力和灵活性,DM 已被广泛应用于许多机器人任务中。应用可分为三个主要类别:旨在直接学习机器人轨迹、探索 DM 的模块化和可组合性、以及生成轨迹以外的其他类型变量。
DM 的一个有趣特性是其
稳定的训练过程
。与用于训练 EBM 的 CD 不同,DM 是通过稳定的目标信号进行学习的,这可以实现更稳健的训练,但仍可看作是隐式能量的参数化。
为了训练扩散模型,学习在每个时间步骤 k 处对逆转换函数 ρ_θ(a_k-1|a_k) 进行建模。该转换核由与采样过程相对应的高斯分布参数化。为了学习转换分布,只需要学习和建模得分函数 S_θ(a,k)。得分函数 S_θ(a_k , k) 对应于 EBM S_θ(a, k) = ∇_aE_θ(a, k) 的梯度,其中 EBM 对噪声卷积的动作分布进行建模。
可以通过直接训练 S_θ(a,k) 来隐式地学习这个 EBM E_θ(a, k),通过
去噪分数匹配
来去噪动作 [110]。与训练 EBM 的方法相比,这种学习分数的目标既快又稳定。
通过学习这个分数函数 S_θ(a_k,k) 和扩散模型中相应的隐式能量 E_θ(a,k),扩散过程中的每个反向转换核都对应于对一系列噪声卷积 EBM E_θ(a,k) 进行朗之万采样。扩散模型中采样的这种隐式能量能够将多个扩散模型组合在一起 [112]。
分类模型
分类模型称为一组生成模型,给定上下文变量 c 作为输入,输出 K 个不同类别的概率,其中 K 是有限的。在实践中,网络输出 K 个对数是很常见的。给定对数,Softmax 函数将对数转换为每个动作的概率值。
在机器人技术中,分类模型主要用于表示策略。有两种主要类型的架构使用了分类分布:
动作值图和自回归模型
。
动作值图
是一组生成模型,给定视觉观察 o 作为输入,输出与输入形式相同的价值图 H,H = Q_θ(o),类似于注意图。视觉观察 o 可以是图像 [40]、[131]、点云 [63] 或体素 [132]、[6]。生成的价值图 H 为视觉观察 o 内每个不同位置或“像素”分配一个概率值。
自回归模型
是一组生成模型,通过迭代调用模型并根据过去的数据进行条件化来生成长视界数据。例如,给定一个动作轨迹 τ = (a_0, a_1, . . . , a_T),自回归模型将轨迹上的分布表示为先前数据条件化的动作分布乘积。为了生成轨迹,首先对初始样本 a_0 ~ ρ(a_0) 进行采样,然后迭代调用以先前生成动作为条件的生成模型。这种类型的模型在语言生成中特别流行。诸如 BERT [34] 或 GPT-3 [134] 之类的模型,基于 Transformer 模型 [135] 来生成自回归长文本数据。图像生成中的某些生成模型也基于自回归生成模型,其中图像像素是迭代生成的 [136]。
为了将分类分布拟合到数据集,有两个因素很重要:
找到正确的预测空间和训练损失
。
通常,机器人动作是连续的,而分类分布预测离散值的分布。因此,具有分类分布的模型需要将连续动作“token化”为离散的“动作tokens”。通常,这是通过临时token化器将每个轴值分箱到一定数量的bin中来完成的,例如在 [140]、[37]、[72] 中。一些模型使用非参数算法(如 k-means)来token化动作 [59]、[143]、[145]。后期模型 [144] 使用更高级的生成方法,如 VQ-VAE [146],将动作token化为离散tokens。
分类模型通常使用交叉熵 (CE) 损失进行训练。然而,考虑到不同类别之间的不平衡,一些最近的模型 [59]、[143]、[144] 改用 Focal 损失 [147]。
在动作值图的特定情况下,动作类被投影到输入观察的像素空间。数据集 a_j 中的动作首先被投影到与视觉观察 o_j 形状相同的 one-hot 像素图 H_j。One-hot 像素图 H_j 将与动作相关的像素设置为 1,否则设置为 0。尽管仅使用正样本,Softmax 仍将梯度传播到所有像素空间,从而将概率降低到任何非正像素。
混合密度模型
将一组生成式模型 H,Ω = M_θ(c) 称为 MDM [148], [149],它们以上下文变量 c 作为输入,输出混合密度函数的参数 H : (η_0,...,η_N) 和权重 ω : (ω_0, . . . , ω_N)。在实践中,通常使用 GMM [66], [44], [150], [151], [152] 或混合 Logistic 模型 [149], [84], [153] 来表示混合模型, 如图所示。然后参数 η_k = (μ_k,σ_k) 通常表示平均值 μ_k、标准差 σ_k 和每个模式的权重 ω_k。
通常将 MDM 与其他生成式模型相结合。在 [84]、[44]、[153] 中,VAE 与 MDM 相结合。给定一个表示高级规划的潜变量 z,训练 VAE 解码器以生成用于动作空间分布的 MDM 参数。这与 VAE 的经典用法不同,在 VAE 中输出直接生成动作。
一些研究 [44]、[150]、[151]、[153]、[84] 提出用 MDM 表示视觉运动策略,通常将动作空间表示为末端执行器中的位移。这些研究中有几项促使在策略表示中使用混合密度模型而不是单模态模型,以更好地捕捉演示中固有的多模态性。
给定数据集 D:(a_i,c_i),通过最小化学习模型的负对数似然来训练 MDM。
将生成式模型集成到机器人技术中
DGM 已应用于大量机器人任务,包括拾取和放置任务 [154]、[92]、[58]、布料操纵 [155]、[41]、场景重新排列 [60]、[9]、食物准备 [7]、[150]、[13]。
在这些广泛的任务中,使用 DGM 的常见策略是将学习的 DGM 集成到更大的框架中。学习到的模型,通常与其他预定义或学习到的组件(如感知模块、运动原语、任务和运动规划器或控制器)相结合,从而产生协同效应,充分利用学习的和预定义组件的优势。DGM 的任务是解决问题中难以以传统方式建模的组件,而预定义元素则处理更容易定义的方面。这种组合利用 DGM 的预测能力和适应性,增强系统处理复杂任务的能力。
由于任务的多样性以及 DGM 与其他组件组合的灵活性,DGM 以多种方式集成到机器人问题中。如图展示一些可能的组合,其中彩色:学习的模型,灰色:预定义模型。(a)布料操纵。给定一组运动基元,动作值图选择基元及其参数 [41]。(b)目标拾取。SE(3) 姿势生成模型生成目标姿势以抓取物体,运动规划器生成到达抓取位置的路径 [5]。(c)视觉运动策略。给定一张图像作为输入,视觉运动策略生成末端执行器动作。然后,操作空间控制器将动作映射到配置空间 [150]。(d)视频规划。大语言模型 (LLM) 以文本形式生成规划。文本生成子步骤的视频。然后,目标条件的策略根据生成的图像生成机器人动作 [128]。
生成末端执行器目标姿势
末端执行器 6D(位置和方向)姿势是使用 DGM 生成的最常见元素之一 [5]、[6]、[100]、[58]、[154]、[132]、[131]、[70]、[10]。生成的姿势可用作场景中物体的目标抓取姿势 [5]、[154]、[70]、[58]、物体的目标放置姿势 [10],或作为策略的动作 [6]、[100]、[131]。
轨迹
近年来,DGM 已显示出生成高维数据的能力。这促使研究界生成完整轨迹的 DGM [36]、[7]、[115]、[8]、[13]、[166]、[123],而不是单步动作。
在 receding horizon control 问题中,轨迹 DGM 会迭代生成适应场景变化的新轨迹。在 [7] 中,DM 用于生成未来的动作轨迹。其强调预测一系列动作的重要性,以克服图像处理、策略推理和网络延迟可能导致的延迟差距。[13] 没有使用 DM,而是使用 VAE 来生成动作轨迹。为了生成整个轨迹,他们使用自回归生成方法,其中每个步骤都会生成单步动作。为了确保行为平稳,其提出一个生成动作加权平均的时间集成。
一旦计算出所需的轨迹,就会应用一个轨迹跟踪控制器使机器人沿着生成的路径移动。
生成末端执行器位移
策略学习最常见的动作空间之一是末端执行器位移 [44]、[153]、[37]、[150]、[141]。末端执行器位移是指机器人末端执行器的位置和方向的 6 个自由度变化,这些变化与末端执行器的速度直接相关。
场景安排
一组研究提出生成理想的目标场景 [60]、[9]、[124]、[125]、[10]、[117]、[96]。目标场景表示为不同物体的一组 SE(3) 姿势。
数据分布外泛化
生成模型中的泛化问题是指 DGM 在训练数据集之外生成高质量、有意义样本的能力。在机器人技术的特定情况下,给定一个在数据集 D : {a_n, c_n} 上训练的生成模型 ρ_θ(a|c),目标是为不属于数据集的上下文 c 生成有用的动作 a。
要实现高泛化能力,需要选择能够增强智体泛化能力的智能架构选择。策略分为三大类:
组合
。一些研究人员没有学习单一的策略,而是探索学习单个行为模块,这些模块以后可以组合起来生成复杂的行为。这种组合可以是并行的(将行为组合在一起),也可以是顺序的(用于生成长远任务)。简单模块的组合允许形成复杂的模型,这些模型可以推广到演示中未见过的新任务 [172]。
从观察中选择特征
。使用小型数据集,机器人有望学习观察和动作之间的虚假相关性,部分原因是观察(图像、触觉信号)的高维性。为了缓解这个问题,一些研究人员探索将观察结果简化为信息特征的问题,从而提高系统学习有意义相关性的能力。
观察-动作对称性
。在视觉运动策略中,视觉观察和动作通常表示在不同的空间中。鉴于这种不匹配,策略很难学习观察和动作之间的正确关系,导致观察发生变化时泛化能力较差。为了减少这种不匹配,大量研究探索在公共空间中表示视觉观察和动作的问题。在这种情况下,一些方法提出将动作映射到像素空间或在 3D 空间中表示视觉观察和动作。
组合
许多机器人任务可以分解为更简单的子任务的组合。例如,考虑选择抓取姿势来拾取物体的问题。姿势的选择可以分解为满足多个更简单的目标:满足机器人的关节限制、避免场景中的碰撞以及在物体上构建几何一致的抓取姿势。虽然学习一个整体 DGM 来考虑所有目标需要收集一组满足这些约束的演示,但可以通过直接组合捕获每个简单目标的简单模型以零样本方式解决此任务。这种模块化方法能够学习一组简单的目标,这些目标可以在测试时组合起来以解决复杂的新未见任务 [172]。
由于其隐式特性,EBM 和 DM 已被广泛集成用于可组合采样。EBM 的一个早期示例是 [101],它说明如何将轨迹级 EBM 与奖励函数相结合来实现基于模型的规划并生成高奖励轨迹。在 [36] 中,这种方法应用于扩散模型,其中通用轨迹级扩散模型与奖励函数相结合,以在演示中生成高奖励样本。