【论文阅读】Diffusion Policy: Visuomotor Policy Learning via Action Diffusion

Abstract

本文介绍了扩散策略,这是一种通过将机器人的视觉运动policy表示为条件去噪扩散过程来生成机器人行为的新方法。我们对来自 4 个不同的机器人操作基准的 15 个不同任务的扩散策略进行了基准测试,发现它始终优于现有的 state-of-the-art 机器人学习方法,平均提高了 46.9%。扩散策略学习动作分布评分函数的梯度,并通过一系列随机朗之万动力学步骤在推理过程中针对该梯度场迭代优化。我们发现,当用于机器人policies时,扩散公式产生了强大的优势,包括优雅地处理多模态动作分布,适用于高维动作空间,并显示出令人印象深刻的训练稳定性。为了充分释放扩散模型在物理机器人上视觉运动policy学习的潜力,本文提出了一套关键的技术贡献,包括后退水平控制、视觉调节和时间序列扩散transformer的结合。我们希望这项工作将有助于激发新一代policy学习技术,这些技术能够利用扩散模型强大的生成建模能力。

Keywords:Imitation learning, visuomotor policy, manipulation

1 Introduction

policy从演示中学习,最简单的形式可以表述为学习将观察结果映射到行动的监督回归任务。然而,在实践中,预测机器人动作的独特性质——例如多模态分布的存在、序列相关性和高精度的要求——使这项任务与其他监督学习问题相比显得独特而具有挑战性

先前的工作试图通过探索不同的动作表示(图1a)来解决这一挑战——mandlekar等人(2021)使用高斯混合、shafiullah等人(2022)的量化动作分类表示,或通过将policy表示(图1b)从显式转换为隐式,以更好地捕捉多模态分布 florence等人IBC(2021年);吴等(2020)。

在这项工作中,我们试图通过引入一种新形式的机器人视觉运动器policy来应对这一挑战,该运动器通过在机器人动作空间上的条件去噪扩散过程”生成行为,diffusion policy。在这个公式中,policy不是直接输出动作,而是根据视觉观察推断k次去噪迭代的动作得分梯度(图1c)。该公式允许机器人policies从扩散模型中继承几个关键属性,从而显著提高了性能。

图1。policy表示。a) 具有不同类型动作表示的显式policy。b) 隐式policy学习一个以动作和观察为条件的能量函数,并针对最小化能量景观的动作进行优化c)扩散policy通过学习到的梯度场将噪声细化为动作。该公式提供了稳定的训练,允许学习的policy准确地模拟多模态动作分布,并适应高维动作序列。

  • Expressing multimodal action distributions.
    • 通过学习动作得分函数的梯度,并在该梯度场上执行随机朗之万动力学采样,扩散policy可以表示任意可归一化分布,其中包括多峰动作分布,这是policy学习的一个众所周知的挑战。
  • High-dimensional output space.
    • 正如其令人印象深刻的图像生成结果所证明的那样,扩散模型在高维输出空间中表现出了出色的可扩展性。此属性允许policy联合推断一系列未来动作,而不是单步动作,这对于鼓励时间动作一致性和避免短视规划至关重要。
  • Stable training.
    • 基于能量的policies训练通常需要负采样来估计难以处理的归一化常数,已知这会导致训练不稳定。扩散policy通过学习能量函数的梯度绕过了这一要求,从而在保持分布表现力的同时实现了稳定的训练。

我们的主要贡献是将上述优势带入机器人领域,并证明它们在复杂的现实世界机器人操纵任务中的有效性。为了成功地将扩散模型用于视觉运动器policy的学习,我们提出了以下技术贡献,以提高扩散policy的性能,并在物理机器人上释放其全部潜力:

  • Closed-loop action sequences.
    • 我们将policy预测高维动作序列的能力与滚动时域控制相结合,以实现稳健的执行。这种设计允许policy以闭环方式不断重新规划其行动,同时保持时间行动的一致性,实现长期规划和响应之间的平衡。
  • Visual conditioning.
    • 我们引入了一个视觉条件化的diffusion policy,其中视觉观察被视为条件化,而不是联合数据分布的一部分。在这个公式中,policy只提取一次视觉表示,而不管去噪迭代如何,这大大减少了计算量,并实现了实时动作推理。
  • Time-series diffusion transformer.
    • 我们提出了一种新的transformer-based扩散网络,该网络最大限度地减少了典型基于cnn模型的过平滑效应,并在需要高频动作变化和速度控制的任务上实现了state-of-the-art性能。

 我们系统地评估了在行为克隆公式下4个不同基准的15个任务中的扩散Policy。评估包括模拟和现实环境、2dof至6dof动作、单任务和多任务基准,以及完全和欠驱动系统,包括刚性和流体物体,使用单个和多个用户收集的演示数据。

根据经验,我们发现所有基准测试的性能都得到了持续的提升,平均提高了46.9%,为diffusion Policy的有效性提供了强有力的证据。我们还提供了详细的分析,以仔细检查所提出算法的特点和关键设计决策的影响。

这项工作是Chi等人(2023)会议论文的扩展版本。我们通过以下方式扩展了本文的内容:

  • 包括一个关于Diffusion Policy和控制理论之间联系的新讨论部分。见第4.5节
  • 将额外的消融研究纳入替代网络架构设计和不同预训练和微调范例的模拟中,第5.4节。
  • 在第7节中,通过三个双手操作任务(包括打蛋器、垫子展开和衬衫折叠)扩展现实世界的实验结果。

2 Diffusion Policy Formulation

我们将视觉运动机器人policies表述为ho等人(2020)的去噪扩散概率模型(ddpm)。至关重要的是,diffusion policies能够表达复杂的多模态动作分布,并具有稳定的训练行为——几乎不需要特定任务的超参数调整。以下部分更详细地描述了ddpm,并解释了它们如何适应表示visuomotor policies。

2.1 Denoising Diffusion Probabilistic Models

DDPM是一类生成模型,其中输出生成被建模为去噪过程,通常称为随机朗之万动力学Welling和Teh(2011)。从高斯噪声中采样的开始,DDPM执行K次迭代去噪,以产生一系列噪声水平逐渐降低的中间动作,直到形成所需的无噪声输出。该过程遵循以下方程式        

其中εθ为参数为θ的噪声预测网络,将通过学习进行优化, 是每次迭代添加的高斯噪声。

上述等式 1 也可以解释为单个噪声梯度下降步骤:


其中噪声预测网络 有效地预测梯度场,γ 是学习率。

α、γ、σ 的选择作为迭代步骤 k 的函数,也称为噪声调度,可以解释为梯度下降过程中的学习率调度。α略小于1已被证明可以提高稳定性Ho等人(2020)。有关噪声调度的详细信息将在第 3.3 节中讨论。

2.2 DDPM Training

训练过程首先从数据集中随机抽取未修改的示例。对于每个样本,我们随机选择去噪迭代 k,然后对具有适当方差的随机噪声 进行采样以进行迭代 k。噪声预测网络被要求从添加噪声的数据样本中预测噪声。

如Ho等人(2020)所示,最小化Eq 3中的损失函数也最小化了数据分布与使用Eq 1从DDPM 中提取的样本分布之间的KL散度的变分下界。

2.3 Diffusion for Visuomotor Policy Learning

虽然ddpm通常用于图像生成(图像),但我们使用ddpm来学习机器人视觉运动policies。这需要公式中的两个主要修改:

1. 更改输出 x 来表示机器人动作。

2. 使去噪过程以输入观测为条件。以下段落讨论了每个修改,图 2 显示了概述。

Closed-loop action-sequence prediction:

一个有效的行动公式应该鼓励长期规划中的时间一致性和平滑性,同时允许提示对意外观察的反应。为了实现这一目标,我们在重新规划之前提交扩散模型为固定持续时间产生的动作序列预测。具体来说,在时间步 t,policy 将观测数据 的最新 步作为输入并预测动作的 步,其中在机器人上执行 步而无需重新规划。在这里,我们将 定义为观察范围observation horizon, 定义为动作预测范围, 定义为动作执行范围。这鼓励时间动作一致性,同时保持响应。关于效果的更多细节在第4.3节中讨论。我们的公式还允许后退水平控制,通过使用先前的动作序列预测热启动下一个推理设置来进一步提高动作平滑度。

Visual observation conditioning:

我们使用DDPM来近似条件分布,而不是Janner等人(2022a)中用于规划的联合分布。该公式允许模型预测以观测为条件的动作,而无需推断未来状态,从而加快扩散过程并提高生成动作的准确性。为了捕获条件分布,我们将等式1修改为:

训练损失从方程式3修改为:

从去噪过程的输出中排除观测特征Ot显著提高了推理速度,更好地适应了实时控制。它还有助于使视觉编码器的端到端训练成为可能第3.2节详细描述了视觉编码器。

3 Key Design Decisions

在本节中,我们描述了diffusion Policy的关键设计决策,以及它用神经网络架构实现εθ的具体方法。

3.1 Network Architecture Options

第一个设计决策是为εθ选择神经网络架构。在这项工作中,我们研究了两种常见的网络架构类型,卷积神经网络(CNN)Ronneberger等人(2015)和Transformers Vaswani等人(2017),并比较了它们的性能和训练特性。请注意,噪声预测网络εθ的选择与视觉编码器无关,这将在第3.2节中进行描述。

CNN-based Diffusion Policy

我们采用Janner等人(2022b)的1D时间CNN,并进行了一些修改:首先,我们仅通过用特征线性调制(FiLM)和去噪迭代k对观测特征Ot的动作生成过程进行条件化,对条件分布进行建模,如图2(b)所示。其次,我们只预测动作轨迹,而不是连续的观测动作轨迹 the concatenated observation action trajectory。第三,由于与我们使用滚动预测范围的框架不兼容,我们删除了基于图像修复的目标状态条件。然而,使用与观测相同的FiLM conditioning方法,goal conditioning仍然是可能的。

在实践中,我们发现基于CNN的骨干网在大多数开箱即用的任务上都能很好地工作,而不需要进行太多的超参数调整。然而,当所需的动作序列随时间快速急剧变化时(如速度指令动作空间),它的表现很差,这可能是由于时间卷积的感应偏差更倾向于低频信号 Tancik等人(2020)。

Time-series diffusion transformer

为了减少cnn模型中的过度平滑效应,介绍了一种新的transformer-based ddpm,该模型采用mingpt 的transformer架构进行动作预测。带有噪声的动作作为transformer解码器块的输入tokens传递,扩散迭代k的正弦嵌入作为第一个token。通过共享mlp将观测转换为观测嵌入序列,然后将其作为输入特征传递给transformer解码器堆栈。“梯度”由解码器堆栈的每个相应输出token预测。

在我们的基于状态的实验中,大多数性能最佳的policies都是通过transformer骨干网实现的,特别是在任务复杂性和动作变化率很高时。然而,我们发现transformer对超参数更敏感。刘等人(2020)提出的transformer训练的难度并非diffusion policy所独有,未来可以通过改进transformer的训练技术或扩大数据规模来解决。

Recommendations

一般来说,我们建议从基于cnn的Diffusion Policy实现开始,作为新任务的第一次尝试。如果由于任务复杂性或高速动作变化导致性能较低,则可以使用时间序列扩散transformer公式来潜在地提高性能,但需要额外的调整。

3.2 Visual Encoder

视觉编码器将原始图像序列映射到潜在嵌入中,并使用Diffusion Policy进行端到端训练。不同的相机视图使用单独的编码器,每个时间步长中的图像被独立编码,然后连接起来形成。我们使用标准的resnet-18(没有预训练)作为编码器,并进行了以下修改:1)用空间softmax池替换全局平均池,以保持空间信息mandelekar等人(2021)。2) 将batchnorm替换为groupnorm wu和he(2018)进行稳定训练。当归一化层与指数移动平均线结合使用时,这一点很重要

3.3 Noise Schedule

噪声调度由σ、α、γ和加性高斯噪声εk定义为k的函数,已被积极研究。基础噪声调度控制着Diffusion Policy捕获动作信号的高频和低频特征的程度。在我们的控制任务中,我们实证发现iddp中提出的平方余弦表最适合我们的任务。

3.4 Accelerating Inference for Real-time Control

我们使用扩散过程作为机器人的policy;因此,对于闭环实时控制,具有快速的推理速度是至关重要的去噪扩散隐式模型 (ddim) 方法将训练和推理中的去噪迭代次数解耦,从而允许算法使用更少的迭代进行推理以加快过程。在现实世界的实验中,使用 100 次训练迭代的 ddim 和 10 次推理迭代可以在 nvidia 3080 gpu 上实现 0.1s 推理延迟。

4 Intriguing Properties of Diffusion Policy

在本节中,我们提供了一些关于 diffusion policy 的见解和直觉,以及它在其他形式的 policy 表示方面的优势。

4.1 Model Multi-Modal Action Distributions

行为克隆文献florence等人(2021)广泛讨论了在人类演示中建模多模态分布的挑战。扩散Policy能够自然、精确地表达多峰分布是其关键优势之一。

直观地说,Diffusion Policy动作生成中的多模态来自两个来源——一个潜在的随机采样过程和一个随机初始化。在随机朗之万动力学中,在每个采样过程开始时从标准高斯中提取初始样本,这有助于为最终行动预测指定不同的可能收敛盆地 convergence basins。然后,该动作被进一步随机优化,在大量迭代中添加高斯扰动,使单个动作样本能够收敛并在不同的多模态动作盆地之间移动。图3显示了diffusion policy在平面推送任务(push t,如下所述)中的多模态行为示例,而没有对测试场景进行明确演示

图3。多模态行为。在给定状态下,末端执行器(蓝色)可以向左或向右移动以推动块。扩散Policy学习这两种模式,并在每个rollout中只提交一种模式。相比之下,lstm gmm和ibc 都偏向于一种模式,而bet 由于缺乏时间动作一致性而未能致力于单一模式。通过展开40个步骤以获得性能最佳的检查点而生成的操作。

4.2 Synergy with Position Control

我们发现,具有位置控制动作空间的扩散Policy始终优于具有速度控制的扩散Policy,如图4所示。

图4。速度与位置控制。从速度控制切换到位置控制时的性能差异。虽然bcrnn和bet性能都有所下降,但diffusion Policy能够利用位置优势提高其性能。

这一令人惊讶的结果与最近大多数行为克隆工作形成鲜明对比,后者通常依赖于速度控制 。我们推测,这种差异有两个主要原因:

第一,动作多模态在位置控制模式下比使用速度控制时更明显。由于扩散Policy比现有方法更好地表达了动作多模态,我们推测它本质上比现有方法受这一缺点的影响更小。

此外,位置控制比速度控制受复合误差影响更小,因此更适合动作序列预测(如下一节所述)。因此,扩散Policy受位置控制主要缺点的影响较小,并且能够更好地利用位置控制的优点。

4.3 Benefits of Action-Sequence Prediction

由于难以从高维输出空间有效采样,大多数policy学习方法通常避免序列预测。例如,ibc将难以有效地对具有非平滑能量景观的高维动作空间进行采样。同样,bcrnn和bet很难指定动作分布中存在的模式数量(gmm或k-means步骤所需)。

相比之下,ddpm在不牺牲模型表现力的情况下很好地适应了输出维度,正如许多图像生成应用所证明的那样。利用这一能力,diffusion Policy以高维动作序列的形式表示动作,这自然解决了以下问题:

  • 时间动作一致性:以图3为例。要从底部将t块推入目标,policy可以从左侧或右侧绕过t块。然而,假设序列中的每个动作都被预测为独立的多峰分布(如bcrnn和bet中所做的那样)。在这种情况下,可以从不同的模式中提取连续的动作,从而导致在两个有效轨迹之间交替的紧张动作
  • 对空闲动作的鲁棒性:当演示暂停时,会出现空闲动作,并导致一系列相同的位置动作或接近零的速度动作。这在远程操作中很常见,有时也需要用于液体浇注等任务。然而,单步policies很容易过度适应这种暂停行为。例如,当空闲动作没有从训练中明确删除时,bc-rnn和ibc经常陷入现实世界的实验中。

4.4 Training Stability

从理论上讲,ibc应该具有与扩散policies类似的优势。然而,由于ibc固有的训练不稳定性,在实践中实现ibc的可靠和高性能结果具有挑战性。图6显示了整个训练过程中训练误差尖峰和不稳定的评估性能,这使得超参数变得至关重要,检查点选择变得困难。因此,florence等人(2021)评估了每个检查点,并报告了性能最佳的检查点的结果。在实际环境中,此工作流程需要评估硬件上的许多policies,以选择最终的policy。在这里,我们讨论了为什么diffusion policy在训练中表现得更稳定。

图6。训练稳定性。左:尽管能量function的训练损失平稳减少,但ibc未能更准确地推断训练动作。右:ibc的评估成功率波动,使得检查点选择变得困难(在模拟中使用policy部署进行评估)。

隐式policy使用基于能量的模型(ebm)表示动作分布:

其中是一个难以处理的归一化常数(相对于a)。

为了训练隐式policy的ebm,使用了InfoNCE风格的损失函数,该函数等于方程6的负对数似然:

其中使用一组负样本来估计难以处理的归一化常数。在实践中,负采样的不准确性会导致ebm的训练不稳定

扩散Policy和ddpm通过对等式6中相同动作分布的分数函数建模,完全回避了估计z(a,θ)的问题:

其中噪声预测网络近似于得分函数的负值,该函数与归一化常数z(o,θ)无关。因此,diffusion Policy的推理(方程式4)和训练(方程式5)过程都不涉及评估z(o,θ),从而使diffusion Policy训练更加稳定。

4.5 Connections to Control Theory

当任务非常简单时,扩散Policy具有简单的限制行为;这可能使我们能够从控制理论中获得一些严谨的理解。考虑我们有一个线性动力系统的情况,在标准状态空间形式下,我们希望控制它:

现在想象一下,我们从线性反馈policy中获得演示(rollouts)。例如,可以通过求解线性二次型调节器LQR等线性最优控制问题来获得policy。模仿这个policy不需要扩散的建模能力,但作为健全性检查,我们可以看到扩散policy做得对。

特别是,当预测范围是一个时间步长时,Tp=1,可以看出,最佳降噪器最小化:

由下式给定

其中σk是去噪迭代k的方差。此外,在推理时,DDIM采样将在处收敛到全局最小值。

轨迹预测(tp>1)很自然。为了将预测为的函数,最优降噪器产生;所有涉及的项的期望值均为零。这表明,为了完美地克隆依赖于状态的行为,学习者必须隐式学习(与任务相关的)动力学模型。请注意,如果plant或policy是非线性的,那么预测未来的行动可能会变得更加具有挑战性,并且再次涉及多模态预测。

5 Evaluation

我们系统地评估了在4个基准测试中的15个任务的diffusion policy。该评估套件包括模拟和真实环境、单任务和多任务基准、全驱动和欠驱动系统以及刚性和流体对象。我们发现diffusion policy在所有测试基准上都始终优于之前的state-of-the-art,平均成功率提高了46.9%。在接下来的部分中,我们将概述每项任务、我们对该任务的评估方法以及我们的关键要点。

5.1 Simulation Environments and datasets

Robomimic

是一个大型机器人操纵基准,旨在研究模仿学习和离线强化学习。该基准由5个任务组成,每个任务都有一个熟练的人类 proficient human(PH)远程操作演示数据集,其中4个任务有混合的熟练/非熟练人类(MH)演示数据集(共9个变体)。对于每种变体,我们报告了基于状态和图像的观测结果。表3总结了每个任务的属性。

表3。任务总结。# Rob:机器人数量,#Obj:对象数量,ActD:动作维度,PH:熟练的人类演示,MH:多人演示,Steps:最大推出步数,HiPrec:任务是否具有很高的精度要求。BlockPush 使用 1000 集 episodes 脚本演示。

Push-T

改编自IBC Florence等人(2021)的方法需要用圆形末端执行器(蓝色)将T形块(灰色)推到固定目标(红色)。T形块和末端执行器的随机初始条件增加了变化。该任务需要利用复杂且接触丰富的物体动力学,使用点接触精确地推动T块。有两种变体:一种是RGB图像观察,另一种是从T块的真实地面姿态获得的9个2D关键点,两者都具有本体感觉来确定端部影响器的位置。

Multimodal Block Pushing

改编自bet shafiullah等人(2022),该任务测试了policy通过将两个块按任何顺序推入两个正方形来建模多模态动作分布的能力。演示数据由可以访问真实状态信息的脚本预言机 a scripted oracle生成。这个预言机 oracle 随机选择一个初始块来推送并将其移动到随机选择的正方形中。然后将剩余的块推入剩余的正方形。该任务包含长视距多模态,不能通过从观察到动作的单个函数映射来建模。

Franka Kitchen

是评估il和离线rl方法学习多个长期任务的能力的流行环境。在Relay Policy Learning提出,franka kitchen环境包含7个对象进行交互,并附带566个演示的人类演示数据集,每个演示数据集以任意顺序完成4个任务。目标是尽可能执行尽可能多的演示任务,无论顺序如何,都展示了短视界和长视界多模态。

5.2 Evaluation Methodology

我们在所有可能来源的每个基准上展示了每种基线方法的最佳性能——我们复制的结果 (lstm-gmm) 或论文中报告的原始数字 (bet, ibc)。我们报告了 3 个训练种子和 50 个环境初始化(总共 1500 个实验的平均值)的结果*(总共 1500 个实验的平均值)。

大多数任务的度量是成功率,除了使用目标区域覆盖的 push-t 任务。此外,我们报告了机器人模拟和 pusht 任务的最佳性能检查点的平均值,以与它们各自的原始论文 mandlekar 等人的评估方法一致。所有基于状态的任务都经过 4500 个 epoch 的训练,基于图像的任务训练了 3000 个 epoch。每种方法都使用其性能最佳的动作空间进行评估:扩散 Policy 的位置控制和基线的速度控制(动作空间的影响将在第 5.3 节中详细讨论)。这些模拟基准的结果如表 1 和表 2 所示。

表1。行为克隆基准(状态policy)

我们以(最大性能)/(最后10个检查点的平均值)的格式以不同的检查点选择方法呈现成功率,每个检查点选择方法平均在3个训练种子和50个不同的环境初始条件(总共150个)。lstm-gmm 对应于 robomimic的 bc-rnn。我们重现并获得了比原始论文稍好的结果。我们的结果表明,扩散 policy 显着提高了整个板的 state-of-the-art 性能。

表 2. 行为克隆基准 (visual Policy)

性能以与表 1 中相同的格式报告。除了报告的最佳检查点性能外,还复制了 lstm-gmm 数字以获得完整的评估。扩散 Policy 显示了一致的性能改进,特别是对于 transport 和 toolhang 等复杂任务。

 5.3 Key Findings

在我们的模拟基准研究(表 1、2 和 4)中,扩散 Policy 在所有任务和变体上都优于替代方法,包括状态和视觉观察,平均提高了 46.9%。以下段落总结了关键要点。

Diffusion Policy can express short-horizon multimodality.

我们将短期行动多模态定义为实现同一即时目标的多种方式,这在人类演示数据中很普遍。在图3中,我们展示了push-t任务中这种短程多模态的案例研究。扩散Policy学会从左或右同等可能地接近接触点,而lstm-gmm和ibc表现出偏向一侧的倾向,bet 不能承诺一种模式。

Diffusion Policy can express long-horizon multimodality.

长期多模态是指以不一致的顺序完成不同的子目标。例如,在“块推送”任务中推送特定块的顺序或在“厨房”任务中与7个可能对象交互的顺序是任意的。我们发现扩散Policy很好地处理了这种类型的多模态;它在这两项任务上都远远优于基线:block push的p2指标提高了32%,kitchen的p4指标提高了213%。

Diffusion Policy can better leverage position control.

我们的消融研究(图4)表明,选择位置控制作为扩散策略动作空间明显优于速度控制。然而,我们评估的基线方法在速度控制方面效果最佳(这反映在文献中,其中大多数现有的工作报告都使用速度控制动作空间

The tradeoff in action horizon.

如第4.3节所述,行动范围大于1有助于policy预测一致的行动并补偿演示的空闲部分,但时间范围太长会因反应时间慢而降低性能。我们的实验证实了这种权衡(图5左),并发现8个步骤的行动范围对于我们测试的大多数任务都是最优的。

Robustness against latency.

扩散policy采用滚动地平线位置控制来预测未来的一系列动作。这种设计有助于解决由图像处理、policy推理和网络延迟引起的延迟差距。我们对模拟潜伏期的消融研究表明,diffusion policy能够在长达4步的潜伏期内保持峰值性能(图5)。我们还发现,速度控制比位置控制更受延迟的影响,这可能是由于复合误差效应。

图5。扩散Policy消融研究。y轴上显示了相对于每个任务的最大成功率的变化(差异)。左:在选择行动范围时,在时间一致性和响应性之间进行权衡。右:带有位置控制的扩散Policy对延迟具有鲁棒性延迟被定义为从最后一帧观察到可以执行的第一个动作之间的步骤数。

Diffusion Policy is stable to train.

我们发现diffusion Policy的最优超参数在任务之间大多是一致的。相比之下,ibc容易出现训练不稳定。该属性在第4.4节中进行了讨论。

5.4 Ablation Study

我们在模拟的机器人平方任务中探索了替代的视觉编码器设计决策。具体来说,我们评估了3种不同的架构:resnet-18、resnet-34 和vit-b/16 。对于每种架构,我们评估了3种不同的训练策略:从头开始进行端到端训练,使用冻结的预训练视觉编码器,以及微调预训练的视觉编码器(相对于policy网络,学习率低10倍)。我们使用imagenet-21k resnet预训练和clip 的vit-b/16预训练。表5显示了方形任务与熟练人类(ph)数据集的定量比较。

表5。视觉编码器比较所有模型都使用基于cnn的Diffusion Policy在robomimic square(ph)任务上进行训练。每个模型训练500个迭代周期,并在50个不同的环境初始条件下每50个迭代周期进行评估。

我们发现从头开始训练vit具有挑战性(成功率仅为22%),这可能是由于数据量有限。我们还发现,使用冷冻预训练视觉编码器进行训练会产生较差的性能,这表明Diffusion Policy更喜欢不同于流行预训练方法提供的视觉表示。然而,我们发现,以较小的学习率(比Diffusion Policy网络小10倍)微调预训练视觉编码器可以获得最佳的整体性能。对于clip训练的vit-b/16来说尤其如此,仅需50个训练周期即可达到98%的成功率。总体而言,尽管不同架构的理论容量差距很大,但它们的最佳性能并不大。我们预计,在复杂的任务中,他们的表现差距可能会更加明显。 

6 Realworld Evaluation

我们在现实世界中评估了diffusion Policy在2个硬件设置中的4个任务的性能,每个设置都有来自不同演示者的训练数据。在现实世界的push-t任务中,我们在2个架构选项和3个视觉编码器选项上执行消融检查diffusion Policy;我们还使用位置控制和速度控制动作空间对2种基线方法进行了基准测试。在所有任务中,具有cnn主干和端到端训练的视觉编码器的diffusion Policy变体都取得了最佳性能。有关任务设置和参数的更多详细信息,请参阅补充材料。

6.1 Realworld Push-T Task

由于3个修改,真实世界的push-t比模拟版本困难得多:

1.现实世界的push-t任务是多阶段的。它要求机器人

  • 将t形块推入目标,然后
  • 将其末端执行器移动到指定的末端区域以避免遮挡。

2.policy需要进行精细调整,以确保t在前往终点区之前完全位于目标区域,从而创建额外的短期多模态。

3.iou度量是在最后一步测量的,而不是在所有步骤中取最大值。我们通过人类演示数据集中达到的最小iou度量来阈值化成功率。我们基于ur5的实验设置如图6所示。diffusion policy以10hz预测机器人命令,然后将这些命令线性插值到125hz以供机器人执行

表6。现实世界push-t实验。a) 硬件设置。b) 任务说明。机器人需要 1 精确地将t形块推入目标区域,2 将末端执行器移动到末端区域。c) 用于计算本表中使用的iou度量的地面实况结束状态。表:成功是由最终状态iou大于演示数据集中的最小iou来定义的。平均episode持续时间(秒)。t-e2e代表端到端训练的基于Transformer的扩散Policy

 Result Analysis.

扩散Policy的表现接近人类水平,成功率为95%,平均iou为0.84,而表现最佳的ibc和lstm-gmm变体的成功率分别为0%和20%。图7定性地说明了从相同初始条件开始的每种方法的行为。我们观察到,由于这些部分的高多模态和模糊的决策边界,在阶段之间的过渡期间性能不佳是基线方法最常见的失败案例。lstm-gmm在20次评估中有8次(第3行)被卡在t区附近,而ibc在20次(第4行)评估中有6次过早离开了t区。由于任务要求,我们没有遵循从训练数据中删除空闲动作的常见做法,这也导致了lstm和ibc倾向于过度适应小动作并陷入此任务。最好用补充材料中的视频来欣赏结果。

End-to-end v.s. pre-trained vision encoders

我们使用预训练的视觉编码器(imagenet deng等人(2009)和r3m nair等人(2022))测试了diffusion Policy,如表6所示。带有r3m的扩散Policy实现了80%的成功率,但与端到端训练版本相比,它预测了紧张的动作,更有可能被卡住使用imagenet的扩散Policy显示出不太有希望的结果,具有突然的动作和较差的性能。我们发现,端到端的训练仍然是将视觉观察纳入diffusion Policy的最有效方法,我们表现最好的模型都是端到端训练的。

Robustness against perturbation

扩散policy对视觉和物理扰动的鲁棒性在表6中实验的单独一集中进行了评估。如图8所示,应用了三种类型的扰动。1) 前摄像头被一只挥手(左列)挡住了3秒,但diffusion policy尽管出现了一些抖动,仍保持了航向,并将t挡块推到位。2) 当diffusion policy对t块的位置进行微调时,我们移动了t块。扩散policy立即重新计划从相反方向推进,抵消了扰动的影响。3) 在第一阶段完成后,当机器人正在前往终点区时,我们移动了t块。扩散policy立即改变方向,将t块调整回目标,然后继续到端区。该实验表明,diffusion policy可能能够根据看不见的观察结果合成新的行为。

图8。扩散稳健性测试Policy。左:在相机前挥手3秒会导致轻微抖动,但预测的动作仍按预期运行。中间:在推球阶段,扩散Policy会立即将移动的挡块位置校正为目标状态。右图:Policy在检测到挡块移动后立即中止前往终点区,将挡块恢复到目标状态。这种新颖的行为从未得到证实。请查看补充材料中的视频

6.2 Mug Flipping Task

翻转杯子任务旨在测试diffusion Policy在接近硬件运动学极限的情况下处理复杂3d旋转的能力。目标是重新定位一个随机放置的杯子,使 1 嘴唇朝下 2 把手指向左侧,如图9所示。根据杯子的初始姿势,演示者可以直接将杯子放置在所需的方向,也可以通过额外推动手柄来旋转杯子。因此,演示数据集是高度多模态的:抓握与推,不同类型的抓握(正手与反手)或局部抓握调整(围绕马克杯主轴旋转),对于基线捕捉方法来说尤其具有挑战性。

图9。6DoF翻杯任务。机器人需要1⃝拿起一个随机放置的杯子,并将其朝下放置(标记为橙色)。2⃝旋转杯子,使其手柄指向左侧。

 Result Analysis.

diffusion policy能够在20次试验中以90%的成功率完成这项任务。捕捉到的行为的丰富性最好通过视频来欣赏。虽然从未演示过,但policy也能够在必要时对手柄对齐进行多次按压,或对掉落的杯子进行重新按压。为了进行比较,我们还训练了一个使用相同数据子集训练的lstm-gmm policy。在20种分布初始条件下,lstmgmm policy从未与杯子正确对齐,在所有试验中都无法抓握。

8 Related Work

在不需要显式编程行为的情况下创建有能力的机器人是该领域的一个长期挑战。:Atkeson和Schaal(1997);Argall等人(2009);Ravichandar等人(2020)

虽然从概念上讲很简单,但行为克隆在一系列现实世界的机器人任务上显示出了令人惊讶的前景,包括操纵:Zhang et al. (2018); Florence et al. (2019); Mandlekar et al. (2020b,a); Zeng et al. (2021); Rahmatizadeh et al. (2018); Avigal et al. (2022)

以及自动驾驶: Pomerleau (1988); Bojarski et al.

根据policy的结构,当前的行为克隆方法可分为两组:

Explicit Policy.

最简单的显式policies形式将世界状态或观测直接映射到行动:Pomerleau (1988); Zhang et al. (2018); Florence et al. (2019); Ross et al. (2011); Toyer et al. (2020); Rahmatizadeh et al. (2018); Bojarski et al. (2016).、

它们可以用直接回归损失进行监督,并且通过一次前向传递具有高效的推理时间。不幸的是,这种policy不适合对多模态演示行为进行建模,并且难以完成高精度任务

在保持方向动作映射简单性的同时,对多模态动作分布进行建模的一种流行方法是通过离散动作空间将回归任务转换为分类

然而,随着维数的增加,近似连续动作空间所需的箱数呈指数级增长。另一种方法是结合范畴分布和高斯分布,通过使用MDN来表示连续的多峰分布,或使用偏移预测进行聚类

然而,这些模型往往对超参数调整敏感,表现出模式崩溃,并且在表达高精度行为的能力方面仍然有限

Implicit Policy

隐式policies(florence等人,2021;jarrett等人,2020)通过使用基于能量的模型(ebms)定义了动作的分布

在这种设置中,每个动作都被分配一个能量值,动作预测对应于找到最小能量动作的优化问题。由于不同的动作可能被分配低能量,隐式policies自然代表了多模态分布。

然而,由于在计算基础信息nce损失时需要绘制负样本,现有的隐式policies(florence等人,2021)在训练中是不稳定的。

Diffusion Models.

扩散模型是概率生成模型,它迭代地将随机采样的噪声从底层分布中提取出来。它们在概念上也可以理解为学习隐式动作得分的梯度场,然后在推理过程中优化该梯度

扩散模型(Sohl-Dickstein等人,2015;Ho等人,2020)最近已被应用于解决各种不同的控制任务

特别是,janner等人(2022a)和huang等人(2023)探索了如何在规划背景下使用扩散模型,并推断出在给定环境中可能执行的动作轨迹。在强化学习的背景下,wang等人(2022)使用扩散模型进行policy表示和基于状态的观测正则化。相比之下,在这项工作中,我们探索了如何在行为克隆的背景下有效地应用扩散模型,以实现有效的视觉运动控制policy。为了构建有效的视觉运动控制policies,我们提出将ddpm预测高维动作静噪的能力与闭环控制相结合,以及一种新的动作扩散transformer架构和一种将视觉输入整合到动作扩散模型中的方法。

wang等人(2023)探索了如何使用从专家演示中学习到的扩散模型来增强经典的显式策略,而无需直接利用扩散模型作为policy表示。

与我们同时,pearce等人(2023)、reuss等人(2023年)和hansen-estruch等人(2023年间)对模拟环境中基于扩散的policies进行了补充分析。虽然他们更关注有效的采样策略,利用无分类器的指导进行目标条件反射以及在强化学习中的应用,而我们关注有效的行动空间,但我们的实证结果在很大程度上与模拟结果一致。此外,我们广泛的现实世界实验为后退视界预测方案的重要性、速度和位置控制之间的谨慎选择以及物理机器人系统实时推理和其他关键设计决策的优化必要性提供了强有力的证据。

9 Limitations and Future Work

尽管我们已经证明了Diffusion Policy在模拟和现实系统中的有效性,但未来的工作仍有一些局限性需要改进。首先,我们的实现继承了行为克隆的局限性,例如演示数据不足的次优性能。

扩散policy可以应用于其他范式,例如强化学习wang等人(2023);hansen-estruch等人(2023)利用次优和负面数据。其次,与lstm-gmm等更简单的方法相比,diffusion policy具有更高的计算成本和推理延迟。我们的动作序列预测方法部分缓解了这个问题,但可能不足以满足需要高速率控制的任务。未来的工作可以利用扩散模型加速方法的最新进展来减少所需的推理步骤数量,例如新的噪声调度chen(2023)、推理求解器karras等人(2022)和一致性模型song等人(2023)。

10 Conclusion

在这项工作中,我们评估了基于扩散的policies用于机器人行为的可行性。通过对模拟和现实世界中的15个任务的综合评估,我们证明了基于扩散的视觉运动器policies始终如一地、明确地优于现有的方法,同时也稳定且易于训练。我们的研究结果还强调了关键的设计因素,包括滚动地平线动作预测、末端执行器位置控制和高效的视觉调节,这些因素对于释放基于扩散的policies的全部潜力至关重要。虽然许多因素会影响行为克隆policies的最终质量,包括演示的质量和数量、机器人的物理能力、policy架构和使用的预训练机制,但我们的实验结果强烈表明,policy结构在行为克隆过程中构成了显著的性能瓶颈。我们希望这项工作能够推动该领域对基于扩散的policies的进一步探索,并强调考虑行为克隆过程的各个方面的重要性,而不仅仅是用于policy训练的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/432962.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

word批量裁剪图片,并调整图片大小,不锁定纵横比

在word中有若干图片待处理,裁剪出指定内容,调整成指定大小。如下是待处理的图片: 这时,选择视图,选择宏,查看宏 选择创建宏 添加cut_picture代码如下,其中上、下、左、右裁剪的橡塑尺寸根据自己…

C#入门教程

目录 1.if分支语句 2.面向对象 3.static简单说明 1.if分支语句 我们的这个C#里面的if语句以及这个if-else语句和C语言里面没有区别,就是打这个输出上面的方式不一样,c#里面使用的是这个console.writeline这个指令,其他的这个判断逻辑都是一…

【优选算法】(第四篇)

目录 三数之和(medium) 题目解析 讲解算法原理 编写代码 四数之和(medium) 题目解析 讲解算法原理 编写代码 三数之和(medium) 题目解析 1.题目链接:. - 力扣(LeetCode&…

鸿蒙开发(NEXT/API 12)【基础功能(使用剪贴板进行复制粘贴)】剪贴板服务

场景介绍 [剪贴板]为开发者提供数据的复制粘贴能力。 当需要使用复制粘贴等功能时&#xff0c;例如&#xff1a;复制文字内容到备忘录中粘贴&#xff0c;复制图库照片到文件管理粘贴&#xff0c;就可以通过剪贴板来完成。 约束限制 剪贴板内容大小<128MB。为保证剪贴板数…

【Java】Java中String、StringBuilder、StringJoiner详解

目录 引言 一、String 1.1 String的定义 1.1.1 直接赋值 1.1.2 new关键字创建 1.2 常用方法 1.3 字符串的不可变性 1.4 字符串内存的存储原理 二、StringBuilder 2.1 常用方法 2.2 动态扩容策略 2.3 使用场景 三、StringJoiner 3.1 构造方法 3.2 常用方法 3.3…

【图像处理】多幅不同焦距的同一个物体的平面图象,合成一幅具有立体效果的单幅图像原理(二)

实现多幅不同焦距图像合成一幅具有立体效果的图像可以使用以下算法和开源库&#xff1a; 实现算法 图像对齐 使用特征点匹配&#xff08;如 SIFT、SURF 或 ORB&#xff09;来对齐图像。利用 RANSAC 算法剔除离群点&#xff0c;估计变换矩阵。 深度图生成 基于图像的焦距和视角…

信息安全工程师(19)HASH函数与数字签名

一、Hash函数 1、定义 Hash函数&#xff0c;又称散列函数或哈希函数&#xff0c;是一种将任意长度的输入&#xff08;称为预映射或消息&#xff09;通过散列算法变换成固定长度输出&#xff08;称为散列值或哈希值&#xff09;的函数。这种转换是单向的&#xff0c;即不能从哈…

使用python爬取豆瓣网站?如何简单的爬取豆瓣网站?

1.对python爬虫的看法 首先说说我对python的看法&#xff0c;我的专业是大数据&#xff0c;我从事的工作是java开发&#xff0c;但是在工作之余&#xff0c;我对python又很感兴趣&#xff0c;因为我觉得python是一门很好的语言&#xff0c;第一&#xff1a;它可以用来爬取数据…

ROS与无人驾驶学习笔记(一)——ROS基本操作

文章目录 ※ 安装ubuntu 下载 创建虚拟机 安装系统 安装vmware tool 更新源 安装常用软件 ※ 安装ROS 设置软件更新 使用清华源安装 ros测试 认识ROS ROS特点 ROS系统实现 ROS安装 工作需要&#xff0c;转行做码农了。。。 大概是无人驾驶相关的&#xff0c;啥都不会。。。 看成…

arthas简单应用

背景说明 项目上某个接口响应时间过长&#xff0c;需要查看方法耗时情况进行优化 安装配置 访问下载页进行下载&#xff1a;下载 | arthas 调整文件位置进行解压缩 - 查看arthas帮助命令&#xff08;非必须&#xff0c;官网文档更详细&#xff09; C:\tools\arthas\4.0.1\b…

IvorySQL 3.4 来了

9 月 26 日&#xff0c;IvorySQL 3.4 发版。本文将带大家快速了解新版本特性。 IvorySQL 3.4 发版说明 IvorySQL 3.4 基于 PostgreSQL 16.4&#xff0c;修复了多个问题&#xff0c;并增强多项功能。 PostgreSQL 16.4 的变更 在未经授权时防止 pg_dump 执行&#xff0c;并引入一…

MMD模型一键完美导入UE5-VRM4U插件方案(一)

1、下载pmx模型 1、去模之屋官网下载MMD模型,模之屋 2、下载完成得到pmx和Texture文件 2、下载并启用VRM4U插件 1、下载VRM4U插件, VRM4U,点击Latest下载对应引擎版本 2、将插件放到Plugins目录,然后

Git GUI操作流程

1&#xff0c;点击运行 Gt GUI 2&#xff0c;界面如下 3&#xff0c;点击Creat new Repository或者在菜单栏点击Repository--new 4,点击Browse选择目录&#xff0c;点击create&#xff0c;创建本地git仓库 5&#xff0c;对应盘里生成一个.git文件&#xff0c;用于版本管理 6&am…

随记——机器学习

前言 本来有个500块钱的单子&#xff0c;用机器学习做一个不知道什么鸟的识别&#xff0c;正好有数据集&#xff0c;跑个小项目&#xff0c;过一下机器学习图像识别的流程&#xff0c;用很短的时间记录下来..... 一、数据预处理 将数据集分为训练集和测试集&#xff0c;直接…

基于SpringBoot校园失物招领系统设计与实现

文未可获取一份本项目的java源码和数据库参考。 本课题的作用、意义&#xff0c;在国内外的研究现状和发展趋势&#xff0c;尚待研究的问题 作用&#xff1a;本课题的目的是使失物招领信息管理清晰化&#xff0c;透明化&#xff0c;便于操作&#xff0c;易于管理。通过功能模…

vue3 选择字体的颜色,使用vue3-colorpicker来选择颜色

1、有的时候我们会用到颜色的选择器&#xff0c;像element-plus提供了&#xff0c;但是ant-design-vue并没有&#xff1a; 这个暂时没有看到&#xff1a; 但是Ant Design 5的版本有&#xff0c;应该不是vue的。 2、使用第三方提供的vue3-colorpicker&#xff1a;storybook/cli…

【Gitee自动化测试3】Git的本地使用,和在Gitee上使用

一. 创建版本库 存放项目&#xff0c;项目的删除更改&#xff0c;版本库都能够监控。 创建一个文件夹&#xff08;不要包含中文路径&#xff09;&#xff0c;右键选择Git Bash Here&#xff08;打开Git终端&#xff09; 输入git init 对文件夹进行版本库的初始化&#xff0c;…

【CSS】背景

background-color 颜色background-image 图像background-size 缩放background-repeat 平铺background-position 定位background-clip 裁剪区域background-origin 开始区域background-attachment 滚动方式 background-color 颜色 <style>div{width: 200px;height: 100px;…

LeetCode - 850 矩形面积 II

题目来源 850. 矩形面积 II - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个轴对齐的二维数组 rectangles 。 对于 rectangle[i] [x1, y1, x2, y2]&#xff0c;其中&#xff08;x1&#xff0c;y1&#xff09;是矩形 i 左下角的坐标&#xff0c; (xi1, yi1) 是该…

【机器学习】探索LSTM:深度学习领域的强大时间序列处理能力

目录 &#x1f354; LSTM介绍 &#x1f354; LSTM的内部结构图 2.1 LSTM结构分析 2.2 Bi-LSTM介绍 2.3 使用Pytorch构建LSTM模型 2.4 LSTM优缺点 &#x1f354; 小结 学习目标 &#x1f340; 了解LSTM内部结构及计算公式. &#x1f340; 掌握Pytorch中LSTM工具的使用. &…