当前位置: 首页 > article >正文

论文笔记(四十七)Diffusion policy: Visuomotor policy learning via action diffusion(下)

Diffusion policy: Visuomotor policy learning via action diffusion(下)

  • 文章概括
  • 5. 评估
    • 5.1 模拟环境和数据集
    • 5.2 评估方法论
    • 5.3 关键发现
    • 5.4 消融研究
  • 6 真实世界评估
    • 6.1 真实世界Push-T任务
    • 6.2 杯子翻转任务
    • 6.3 酱汁倒入和涂抹任务
  • 7. 实际双臂任务
    • 7.1 观察空间与动作空间
    • 7.2 远程操作
    • 7.3 双臂打蛋器任务
    • 7.5 双臂折叠衬衫任务
  • 8. 相关工作
  • 9. 限制与未来工作
  • 10. 结论
  • 11. 致谢
  • A 扩散政策实施细则
    • A.1 归一化
    • A.2 旋转表示
    • A.3 图像增强
    • A.4 超参数
    • A.5 数据效率
  • B 附加消融结果
    • B.1 观察范围
    • B.2 性能提升计算
  • C 现实世界任务细节
    • C.1 推块任务
      • C.1.1 演示
      • C.1.2 评估
    • C.2 酱料倒入和涂抹
      • C.2.1 演示
      • C.2.2 评估
  • D 实际实验设置细节
    • D.0.1 UR5 机器人站
    • D.1 Franka 机器人站
    • D.2 双手任务的初始和最终状态

文章概括

引用:

@article{chi2023diffusion,
  title={Diffusion policy: Visuomotor policy learning via action diffusion},
  author={Chi, Cheng and Feng, Siyuan and Du, Yilun and Xu, Zhenjia and Cousineau, Eric and Burchfiel, Benjamin and Song, Shuran},
  journal={arXiv preprint arXiv:2303.04137},
  year={2023}
}
Chi, C., Feng, S., Du, Y., Xu, Z., Cousineau, E., Burchfiel, B. and Song, S., 2023. Diffusion policy: Visuomotor policy learning via action diffusion. arXiv preprint arXiv:2303.04137.

原文:https://arxiv.org/abs/2303.04137
代码、数据和视频:https://diffusion-policy.cs.columbia.edu/


系列文章:
请在 《 《 文章 》 》 专栏中查找


接上一篇:
论文笔记(四十七)Diffusion policy: Visuomotor policy learning via action diffusion (上)

5. 评估

我们系统地对15个任务进行了Diffusion Policy的评估,这些任务来自4个基准:Florence et al. (2021)、Gupta et al. (2019)、Mandlekar et al. (2021)和Shafiullah et al. (2022)。这个评估套件包括模拟和真实环境、单任务和多任务基准、完全驱动和欠驱动系统,以及刚性和流体物体。我们发现Diffusion Policy在所有测试的基准上始终优于之前的最先进技术,平均成功率提高了46.9%。在接下来的部分中,我们将提供每个任务的概述、我们在该任务上的评估方法以及我们的关键收获。

5.1 模拟环境和数据集

Robomimic(Mandlekar et al., 2021)是一个大规模的机器人操作基准,旨在研究模仿学习和离线强化学习。该基准由5个任务组成,每个任务都有一个熟练人类(PH)遥操作演示数据集,以及4个任务的混合熟练/非熟练人类(MH)演示数据集(共9个变体)。对于每个变体,我们报告基于状态和基于图像观察的结果。每个任务的属性在表3中进行了总结。


在这里插入图片描述
表3. 任务总结。 # Rob:机器人数量,# Obj:物体数量,ActD:动作维度,PH:熟练人类演示,MH:多熟练人类演示,Steps:最大回放步骤数,HiPrec:任务是否具有高精度要求。BlockPush使用1000个脚本化演示的回合。


推送任务改编自IBC(Florence et al., 2021),要求将一个T形块(灰色)推向一个固定目标(红色),使用一个圆形末端执行器(蓝色)。通过为T块和末端执行器随机设置初始条件来增加变异。该任务需要利用复杂且富有接触的物体动力学来精确推送T块,使用点接触。有两个变体:一个使用RGB图像观察,另一个使用从T块的真实姿态获得的9个二维关键点,均带有末端执行器位置的自我感知。

多模态块推送任务改编自BET(Shafiullah et al., 2022),此任务测试策略建模多模态动作分布的能力,通过将两个块推入两个方框(顺序无关)来完成。演示数据由一个脚本化的oracle生成,该oracle可以访问真实状态信息。该oracle随机选择一个初始块进行推送,并将其移动到随机选择的方框。剩余的块随后被推入剩余的方框。该任务包含长时间的多模态性,无法通过从观察到动作的单一函数映射来建模。

Franka Kitchen是一个流行的环境,用于评估IL和离线RL方法学习多个长时间任务的能力。该环境在Relay Policy Learning中提出(Gupta et al., 2019),包含7个交互对象,和一个人类演示数据集,其中包括566个完成4个任务的演示,演示任务的顺序是任意的。目标是尽可能执行多个演示任务,无论顺序如何,展示短时间和长时间的多模态性。

5.2 评估方法论

我们展示了每个基准中每种基线方法的最佳表现,数据来源包括我们复现的结果(LSTM-GMM)或原论文中报告的数字(BET、IBC)。我们报告了最后10个检查点的平均结果(每50个时期保存一次),基于3个训练种子和50个环境初始化(由于评估代码中的一个错误,Robomimic任务仅使用了22个环境初始化。这并未改变我们的结论,因为所有基线方法的评估方式相同。)(总共1500次实验的平均)。大多数任务的度量指标是成功率,除了Push-T任务使用目标区域覆盖率。此外,为了与各自原论文的评估方法保持一致,我们报告了Robomimic和Push T任务的最佳表现检查点的平均值(Mandlekar et al., 2021;Florence et al., 2021)。所有基于状态的任务训练4500个周期,基于图像的任务训练3000个周期。每种方法都使用其最佳表现的动作空间进行评估:Diffusion Policy使用位置控制,基线方法使用速度控制(动作空间的影响将在第5.3节详细讨论)。这些模拟基准的结果总结在表1和表2中。


在这里插入图片描述

表1. 行为克隆基准(状态策略) 我们以(最大性能)/(最后10个检查点的平均值)的格式展示了不同检查点选择方法的成功率,每个结果平均基于3个训练种子和50种不同的环境初始条件(总共150次)。LSTM-GMM对应于RoboMimic中的BC-RNN(Mandlekar et al., 2021),我们复现了该结果,并获得了略高于原论文的结果。我们的结果表明,Diffusion Policy显著提高了各项的最先进性能。



在这里插入图片描述

表2. 行为克隆基准(视觉策略) 性能以与表1相同的格式报告。LSTM-GMM的数字被复现,以便获得完整的评估,此外还报告了最佳检查点性能。Diffusion Policy在复杂任务(如Transport和ToolHang)上显示出一致的性能提升。


5.3 关键发现

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


在这里插入图片描述

表4. 多阶段任务(状态观察)。 对于PushBlock,px是推送x个块到目标的频率。对于Kitchen,px是与x个或更多物体进行交互的频率(例如,底部燃烧器)。Diffusion Policy表现更佳,尤其是在Block Pushing的p2和Kitchen的p4等困难指标上,结果如我们的结果所示。


Diffusion Policy能够表达短时间的多模态性。 我们将短时间动作多模态性定义为实现同一即时目标的多种方式,这在人类演示数据中普遍存在(Mandlekar et al., 2021)。在图3中,我们展示了Push-T任务中这种短时间多模态性的案例研究。Diffusion Policy学会了从左侧或右侧同样可能地接近接触点,而LSTM-GMM(Mandlekar et al., 2021)和IBC(Florence et al., 2021)则表现出偏向一侧的倾向,BET(Shafiullah et al., 2022)则无法确定某种模式。

Diffusion Policy能够表达长时间的多模态性。 长时间多模态性是以不一致的顺序完成不同子目标。例如,在Block Push任务中推送特定块的顺序或在Kitchen任务中与7个可能对象进行交互的顺序都是任意的。我们发现Diffusion Policy能够很好地应对这种类型的多模态性;在这两个任务中,它的表现远超基线方法:在Block Push的p2指标上提升了32%,在Kitchen的p4指标上提升了213%。

Diffusion Policy能够更好地利用位置控制。 我们的消融研究(图4)表明,选择位置控制作为Diffusion Policy的动作空间显著优于速度控制。然而,我们评估的基线方法在速度控制下表现最佳(这在文献中得到了反映,现有大多数工作报告使用速度控制动作空间 Mandlekar et al. (2021); Shafiullah et al. (2022); Zhang et al. (2018); Florence et al. (2019); Mandlekar et al. (2020b,a))。

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

对延迟的鲁棒性。 Diffusion Policy采用递归时间范围位置控制来预测未来一系列动作。这个设计有助于解决由图像处理、策略推断和网络延迟引起的延迟问题。我们的消融研究表明,Diffusion Policy能够在延迟达到4步时保持最佳性能(图5)。我们还发现,速度控制受到的延迟影响大于位置控制,这可能是由于累积误差的影响。

Diffusion Policy训练稳定性高。 我们发现,Diffusion Policy的最佳超参数在不同任务间基本一致。相比之下,IBC(Florence et al., 2021)容易出现训练不稳定的情况。这个特性在第4.4节中进行了讨论。

5.4 消融研究

我们探讨了在模拟的Robomimic方块任务中替代视觉编码器设计决策。具体而言,我们评估了3种不同的架构:ResNet-18、ResNet-34(He et al., 2016)和ViT-B/16(Dosovitskiy et al., 2020)。对于每种架构,我们评估了3种不同的训练策略:从头到尾的端到端训练、使用冻结的预训练视觉编码器,以及微调预训练视觉编码器(与策略网络相比,学习率降低10倍)。我们对ResNet使用ImageNet-21k(Ridnik et al., 2021)进行预训练,对ViT-B/16使用CLIP(Radford et al., 2021)进行预训练。在表5中,我们展示了基于熟练人类(PH)数据集的方块任务的定量比较。


在这里插入图片描述

表5. 视觉编码器比较 所有模型在Robomimic方块(PH)任务上使用基于CNN的Diffusion Policy进行训练。每个模型训练500个周期,并在50个不同的环境初始条件下每50个周期进行评估。


我们发现,从头开始训练ViT的挑战性很大(成功率仅为22%),这可能是由于数据量有限。我们还发现使用冻结的预训练视觉编码器训练性能较差,这表明Diffusion Policy更倾向于不同于流行预训练方法所提供的视觉表征。然而,我们发现以较小的学习率(比Diffusion Policy网络小10倍)微调预训练视觉编码器整体表现最佳。尤其是对于CLIP训练的ViT-B/16,在仅进行50个周期的训练后,其成功率达到了98%。总体而言,尽管不同架构之间存在显著的理论能力差距,但它们的最佳表现差异并不大。我们预计在复杂任务中,这种表现差距可能会更加明显。


在这里插入图片描述

表6. 真实世界Push-T实验。 a) 硬件设置。b) 任务示意图。机器人需要①将T形块推入目标区域,并②精确移动末端执行器到达终点区域。c) 用于计算本表中IoU指标的真实最终状态。表: 成功的定义是最终状态 IoU 大于演示数据集中的最小 IoU。平均事件持续时间以秒为单位。T-E2E 代表端到端训练有素的基于transformer的扩散策略



6 真实世界评估

我们在两个硬件设置下对Diffusion Policy在四个任务中的真实世界性能进行了评估,每个设置的训练数据来自不同的演示者。在真实世界的Push-T任务中,我们进行了消融研究,考察了Diffusion Policy在两种架构选项和三种视觉编码器选项上的表现;同时与两种基线方法进行了基准测试,包括位置控制和速度控制动作空间。在所有任务中,使用CNN骨干网络和端到端训练的视觉编码器的Diffusion Policy变体表现最佳。关于任务设置和参数的更多细节可以在补充材料中找到。

6.1 真实世界Push-T任务

真实世界的Push-T任务比模拟版本难得多,主要有三个修改:1. 真实世界的Push-T任务是多阶段的,要求机器人①将T形块推入目标,然后②将末端执行器移动到指定的终点区域以避免遮挡。2. 策略需要进行细微调整,确保T形块完全在目标区域内,然后才能前往终点区域,增加了短期多模态性。3. IoU指标在最后一步测量,而不是在所有步骤中取最大值。我们通过人类演示数据集中达到的最小IoU阈值来确定成功率。我们的UR5实验设置如图6所示。Diffusion Policy以10 Hz预测机器人指令,并将这些指令线性插值到125 Hz以供机器人执行。

结果分析
与表现最好的 IBC 和 LSTM-GMM 变体的 0% 和 20% 成功率相比,扩散策略的表现接近人类水平,成功率为 95%,平均 IoU 为 0.8 v.s. 0.84。图7定性展示了每种方法从相同初始条件开始的行为。我们观察到,在阶段之间的过渡期间,基线方法的常见失败案例是性能较差,因为在这些部分存在较高的多模态性和模糊的决策边界。在20次评估中,LSTM-GMM在8次中卡在T形块附近(第三行),而IBC在6次中过早离开了T形块(第四行)。由于任务要求,我们没有遵循常见的从训练数据中删除空闲动作的做法,这也导致LSTM和IBC在小动作上过拟合并在任务中卡住。可以通过补充材料中的视频更好地欣赏结果。


在这里插入图片描述

图 7. 真实世界的 Push-T 比较。 第 1-4 列显示的是基于关键事件的行动轨迹。最后一列显示最终状态的平均图像。A:扩散策略(End2End)实现了更准确、更一致的结束状态。B: 扩散策略(R3M)最初会卡住,但后来恢复并完成了任务。C: LSTM-GMM 在调整 T 区块时无法到达终点区域,阻挡了评估摄像机视图。D: IBC 提前结束了推动阶段。


端到端与预训练视觉编码器的比较 我们测试了使用预训练视觉编码器的Diffusion Policy(ImageNet(Deng et al., 2009)和R3M(Nair et al., 2022)),如表6所示。使用R3M的Diffusion Policy达到了80%的成功率,但预测的动作抖动且更容易卡住,与端到端训练的版本相比。使用ImageNet的Diffusion Policy结果不尽如人意,动作突兀且性能差。我们发现,端到端训练仍然是将视觉观察融入Diffusion Policy的最有效方式,我们表现最佳的模型均为端到端训练。

对扰动的鲁棒性 Diffusion Policy对视觉和物理扰动的鲁棒性在与表6中的实验不同的一次实验中进行了评估。如图8所示,施加了三种类型的扰动:1)前摄像头被挥动的手阻挡3秒(左列),尽管Diffusion Policy表现出一些抖动,但仍保持在正确轨道上并将T形块推入位置。2)在Diffusion Policy对T形块位置进行微调时,我们移动了T形块,Diffusion Policy立即重新规划,从相反方向推,消除了扰动的影响。3)在第一阶段完成后,机器人前往终点区域时,我们移动了T形块。Diffusion Policy立即改变路线,将T形块调整回目标位置,然后继续前往终点区域。这次实验表明,Diffusion Policy可能能够对未见观察进行合成新行为。


在这里插入图片描述

图 8. 扩散策略的鲁棒性测试。 左图: 在摄像头前挥手 3 秒钟会导致轻微抖动,但预测动作仍能按预期运行。中图: 在推动阶段,扩散策略会立即将移动的木块位置修正到目标状态。右图: 策略在检测到区块移动时,会立即中止向终点区的前进,将区块恢复到目标状态。这一新颖行为从未演示过。请查看补充材料中的视频。


6.2 杯子翻转任务

杯子翻转任务旨在测试扩散策略在接近硬件运动学极限时处理复杂三维旋转的能力。目标是将随机放置的杯子重新定向,使其①杯口朝下② 把手指向左侧,如图9所示。根据杯子的初始姿态,演示者可能会直接将杯子放置到所需的方向,或者可能需要额外推动把手来旋转杯子。因此,演示数据集具有高度的多模态性:握取与推动、不同类型的握取(正手握与反手握)或局部握取调整(围绕杯子主轴的旋转),这些都对基线方法的捕捉能力提出了特别的挑战。

结果分析
扩散策略能够以90%的成功率完成此任务,基于20次试验。捕获行为的丰富性最好通过视频进行展示。尽管从未演示过,该策略也能够在必要时为把手对齐进行多个推动序列或重新抓取掉落的杯子。为了进行比较,我们还训练了一个使用相同数据子集的LSTM-GMM策略。在20个同类初始条件下,LSTM-GMM策略在与杯子对齐方面始终失败,并且在所有试验中均未能成功抓取。


在这里插入图片描述

图9. 六自由度杯子翻转任务。机器人需要 1 拿起随机放置的杯子并将其放置杯口朝下(标记为橙色)。2 旋转杯子,使其把手指向左侧。


6.3 酱汁倒入和涂抹任务

酱汁倒入和涂抹任务旨在测试扩散策略处理非刚性物体、六自由度动作空间和真实环境中周期性动作的能力。我们的Franka Panda设置和任务如图10所示。六自由度倒入任务的目标是将一勺满的酱汁倒在披萨面团的中心,性能通过倒入的酱汁掩码与披萨面团中心的名义圆形之间的交并比(IoU)来衡量(如图10中的绿色圆圈所示)。周期性涂抹任务的目标是在披萨面团上涂抹酱汁,性能通过酱汁覆盖率来衡量。评估过程中,面团和酱汁碗的位置随机变化。成功率通过与最低人类性能的阈值进行计算。结果最好通过补充视频观看。这两个任务均使用相同的Push-T超参数进行训练,并在第一次尝试中实现了成功的策略。


在这里插入图片描述

图10. 真实世界的酱汁操作。[左] 六自由度倒入任务。机器人需要 ① 将勺子浸入碗中舀取酱汁,②接近披萨面团的中心,③倒入酱汁,④提起勺子完成任务。[右] 周期性涂抹任务。机器人需要 ① 用抓住的汤匙接近酱汁中心,② 按螺旋模式涂抹酱汁覆盖披萨,③ 提起汤匙完成任务。


酱汁倒入任务要求机器人在一段时间内保持静止,以便用粘稠的番茄酱填充勺子。由于产生的空闲动作被认为对行为克隆算法具有挑战性,因此通常会被避免或过滤。在倒入过程中,需要进行细微调整以确保覆盖并达到所需形状。

演示的酱汁涂抹策略受人类厨师技术的启发,要求长时间的周期性模式以最大化覆盖率,以及短时间的反馈以实现均匀分布(因为使用的番茄酱通常会以不可预测的大小滴落)。周期性动作被认为难以学习,因此通常通过专门的动作表示来解决。两个任务都要求策略通过提起勺子/汤匙来自我终止。

结果分析
扩散策略在两个任务上都达到了接近人类的表现,倒入任务的覆盖率为0.74,对比0.79,涂抹任务的覆盖率为0.77,对比0.79。扩散策略在倒入和涂抹过程中优雅地应对了外部扰动,例如手动移动披萨面团。结果最好通过补充材料中的视频进行欣赏。

LSTM-GMM在酱汁倒入和涂抹任务上的表现较差。在20次倒入试验中,有15次未能成功提起勺子。即使成功提起勺子,酱汁的倒入也偏离了中心。LSTM-GMM在所有试验中未能自我终止。我们怀疑LSTM-GMM的隐藏状态未能捕获足够长的历史,以区分任务中的勺子浸入和提起阶段。在酱汁涂抹任务中,LSTM-GMM在开始后总是立即提起汤匙,并且在20次实验中未能与酱汁接触。


7. 实际双臂任务

除了单臂设置之外,我们还展示了在几个具有挑战性的双臂任务中应用扩散策略。为了实现双臂任务,大部分工作集中在扩展我们的机器人技术栈,以支持多臂远程操作和控制。扩散策略在这些任务中无需超参数调整就能直接使用。

7.1 观察空间与动作空间

本体感知的观察空间扩展为包括两个末端执行器的姿态以及两个夹爪的宽度。我们还扩展了观察空间,涵盖这些量的实际值和期望值。图像观察空间包括两个场景摄像头和两个腕部摄像头,每个摄像头分别安装在一只手臂上。动作空间则扩展为包括两个末端执行器的期望姿态以及两个夹爪的期望宽度。

7.2 远程操作

在这些协调的双臂任务中,我们发现同时使用两个SpaceMouse进行操作对演示者来说非常具有挑战性。因此,我们实施了两种新的远程操作模式:使用Meta Quest Pro VR设备和两个手持控制器,或使用两台带有双边位置耦合的Haption Virtuose™ 6D HF TAO触觉设备进行控制(如Siciliano等人(2008)的触觉部分简要描述的)。这种耦合是在Haption设备和Franka Panda手臂之间进行的。关于控制器本身的更多详细信息可在附录D.1节中找到。以下为每个任务及策略性能的详细说明。

7.3 双臂打蛋器任务

双臂打蛋器任务的演示如图11所示,使用的是OXO™打蛋器和Room Essentials™塑料碗。我们选择此任务来说明触觉反馈在远程操作双臂操作中的重要性,即使是像工具协调使用这样的日常任务也是如此。没有触觉反馈的情况下,专家在10次尝试中一次也未能成功完成任务。5次失败是因为机器人将打蛋器的曲柄拔出,3次失败是因为机器人失去了对曲柄的抓握,2次失败是因为机器人触发了扭矩限制。相比之下,同一位操作员在有触觉反馈的情况下能够轻松完成任务,10次尝试均成功。使用触觉反馈使演示速度更快,质量也高于没有反馈时。


在这里插入图片描述

图11. 双臂打蛋器操作
机器人需要完成以下步骤:

  1. 将碗推到合适位置(仅在碗离左臂太近时需要);
  2. 右臂靠近并抓取打蛋器;
  3. 将打蛋器放入碗中;
  4. 靠近并抓住打蛋器的曲柄手柄;
  5. 转动曲柄至少三圈。

结果分析
扩散策略在20次试验中成功率为55%,通过210次演示训练得出。主要失败模式是打蛋器初始位置超出了策略的操作范围,或者未能抓住打蛋器的曲柄或失去了抓握。所有实验的初始状态和最终状态如图18和19所示。


在这里插入图片描述
图18. 打蛋器任务的初始状态
图19. 打蛋器任务的最终状态


## 7.4 双臂铺垫任务 铺垫任务如图12所示,使用的是XXL Dog Buddy™狗垫。由于该任务不需要丰富的触觉反馈,因此通过VR设备进行远程操作。我们教授该技能为双手通用的,意味着根据初始条件,机器人可以向左或向右铺开垫子。

在这里插入图片描述

图12. 双臂卷垫子任务
机器人需要完成以下步骤:

  1. 使用左臂或右臂抓起垫子的一侧(如有需要);
  2. 提起并展开垫子(如有需要);
  3. 确保同时抓住垫子的两侧;
  4. 提起垫子;
  5. 将垫子放置在桌面上,基本保持居中;
  6. 松开垫子。

结果分析
扩散策略在20次试验中成功率为75%,通过162次演示训练得出。主要失败模式是在初次抓取垫子时错过抓取,导致策略无法纠正自身,从而陷入重复同一行为的困境。所有实验的初始状态和最终状态如图16和17所示。


在这里插入图片描述
图 16. 垫子展开的初始状态
图 17. 垫子展开的最终状态


7.5 双臂折叠衬衫任务

如图13所示,衬衫折叠任务使用了一件短袖T恤。该任务同样通过VR设备进行远程操作,因为不需要丰富的反馈来完成任务。由于运动学和工作空间的限制,该任务明显更耗时,可能需要多达九个离散步骤。最后几步要求两个夹爪非常靠近,这时我们的中层控制器需要明确处理碰撞避免,这对于远程操作和策略展开都非常重要。


在这里插入图片描述

图13. 双臂折叠衬衫任务
机器人需要完成以下步骤:

  1. 靠近并同时抓住最靠近的袖子;
  2. 折叠袖子并松开;
  3. 如有需要,拖动衬衫使其更靠近;
  4. 靠近并同时抓住另一只袖子;
  5. 折叠袖子并松开;
  6. 将衬衫调整到适合折叠的位置;
  7. 抓住衬衫的领口并将其折叠一半;
  8. 拖动衬衫;
  9. 整理衬衫并将两臂移开。

结果分析
扩散策略在20次试验中成功率为75%,通过284次演示训练得出。主要的失败模式包括初始折叠时错过抓取(例如袖子和衣领部分),以及策略在任务最后无法停止调整衬衫。所有实验的初始状态和最终状态如图20和21所示。


在这里插入图片描述

图20. 叠衣任务的初始状态
图21. 叠衣任务的最终状态



8. 相关工作

在无需显式编程行为的情况下创造出能力强大的机器人,是机器人领域的长期挑战【Atkeson和Schaal (1997); Argall等人 (2009); Ravichandar等人 (2020)】。尽管概念上简单,但行为克隆(Behavior Cloning,BC)在一系列真实世界的机器人任务中展现了令人惊讶的潜力,包括操控任务【Zhang等人 (2018); Florence等人 (2019); Mandlekar等人 (2020b,a); Zeng等人 (2021); Rahmatizadeh等人 (2018); Avigal等人 (2022)】和自动驾驶任务【Pomerleau (1988); Bojarski等人 (2016)】。当前的行为克隆方法可以根据策略的结构分为两类。

显式策略(Explicit Policy)
显式策略的最简单形式是直接将世界状态或观测值映射为动作【Pomerleau (1988); Zhang等人 (2018); Florence等人 (2019); Ross等人 (2011); Toyer等人 (2020); Rahmatizadeh等人 (2018); Bojarski等人 (2016)】。它们可以通过直接的回归损失进行监督学习,并通过一次前向传播实现高效推理时间。然而,这种类型的策略不适合处理多模态的演示行为,并且在高精度任务中表现不佳【Florence等人 (2021)】。一种流行的解决方案是在保持动作直接映射简洁性的前提下,将回归任务转化为分类任务,方法是将动作空间离散化【Zeng等人 (2021); Wu等人 (2020); Avigal等人 (2022)】。然而,随着维度的增加,近似连续动作空间所需的桶(bins)数量呈指数增长。另一种方法是结合分类分布和高斯分布,通过使用MDN(混合密度网络)【Bishop (1994); Mandlekar等人 (2021)】或聚类与偏移预测【Shafiullah等人 (2022); Sharma等人 (2018)】来表示连续多模态分布。然而,这些模型往往对超参数调优非常敏感,容易出现模式崩溃(mode collapse),并且仍然难以表现出高精度的行为【Florence等人 (2021)】。

隐式策略(Implicit Policy)
隐式策略【Florence等人 (2021); Jarrett等人 (2020)】通过使用能量基模型(EBM)【LeCun等人 (2006); Du和Mordatch (2019); Dai等人 (2019); Grathwohl等人 (2020); Du等人 (2020)】为动作定义分布。在这种设置中,每个动作都会被分配一个能量值,动作预测对应于寻找最小能量动作的优化问题。由于不同的动作可能会被分配低能量值,隐式策略自然可以表示多模态分布。然而,现有的隐式策略【Florence等人 (2021)】在训练中不稳定,因为在计算底层的Info-NCE损失时需要抽取负样本。

扩散模型(Diffusion Models)
扩散模型是概率生成模型,通过逐步从随机采样的噪声中提取潜在分布样本来进行预测。它们也可以从概念上理解为学习隐式动作分数的梯度场,并在推理过程中优化该梯度。扩散模型【Sohl-Dickstein等人 (2015); Ho等人 (2020)】最近被应用于解决各种控制任务【Janner等人 (2022a); Urain等人 (2022); Ajay等人 (2022)】。

特别地,Janner等人【(2022a)】和Huang等人【(2023)】探讨了如何在规划中使用扩散模型,推导出可以在给定环境中执行的动作轨迹。在强化学习的背景下,Wang等人【(2022)】使用扩散模型进行策略表示和正则化处理基于状态的观测。与此相对,在这项工作中,我们探索了如何在行为克隆的背景下有效应用扩散模型,从而实现高效的视觉运动控制策略。为构建有效的视觉运动控制策略,我们提出将DDPM的高维动作序列预测能力与闭环控制相结合,提出了一种新的基于transformer的动作扩散架构,并提出了将视觉输入整合到动作扩散模型中的方法。

Wang等人【(2023)】探讨了如何使用从专家演示中学习的扩散模型来增强经典显式策略,而不直接利用扩散模型作为策略表示。

与我们工作同时进行的,Pearce等人【(2023)】、Reuss等人【(2023)】和Hansen-Estruch等人【(2023)】对模拟环境中的扩散策略进行了互补的分析。虽然他们更侧重于有效的采样策略,利用无分类器指导的目标条件方法及其在强化学习中的应用,但我们更关注有效的动作空间。我们的经验发现与模拟环境中的结果大致一致。此外,我们的大量真实世界实验为一系列重要设计决策提供了强有力的证据,包括回缩预测方案、速度和位置控制的选择,以及实时推理的优化等,这对于物理机器人系统来说至关重要。


9. 限制与未来工作

尽管我们在模拟和真实系统中展示了扩散策略的有效性,但未来的工作仍可改进其局限性。首先,我们的实现继承了行为克隆的局限性,例如在示范数据不足时的次优表现。扩散策略可以应用于其他范式,例如强化学习【Wang等人 (2023); Hansen-Estruch等人 (2023)】,以利用次优和负面数据。其次,扩散策略相比于简单的方法(如LSTM-GMM)具有更高的计算成本和推理延迟。我们提出的动作序列预测方法部分减轻了这个问题,但可能不足以应对需要高频率控制的任务。未来的工作可以利用扩散模型加速方法的最新进展,减少所需的推理步骤,如新的噪声计划【Chen (2023)】、推理求解器【Karras等人 (2022)】和一致性模型【Song等人 (2023)】。


10. 结论

在这项工作中,我们评估了基于扩散模型的策略在机器人行为中的可行性。通过对15项任务在模拟和真实世界中的全面评估,我们展示了基于扩散模型的视觉运动策略在各方面都明显优于现有方法,并且具有稳定性和易于训练的特点。我们的结果还突出了关键的设计因素,包括回缩动作预测、末端执行器位置控制以及高效的视觉调节,这些对于充分发挥扩散模型策略的潜力至关重要。尽管行为克隆策略的最终质量受多种因素影响——包括演示的质量与数量、机器人的物理能力、策略架构和预训练机制——我们的实验结果强烈表明,策略结构在行为克隆过程中是性能瓶颈的一个重要因素。我们希望这项工作能够推动该领域的进一步探索,并强调在行为克隆过程中需要全面考虑的各个方面,而不仅仅是用于策略训练的数据。


11. 致谢

我们要感谢Naveen Kuppuswamy、Hongkai Dai、Aykut Onol、Terry Suh、Tao Pang、Huy Ha、Samir Gadre、Kevin Zakka和Brandon Amos的深入讨论。感谢Jarod Wilson的3D打印支持,感谢Huy Ha提供摄影和灯光建议。我们感谢Xiang Li在GitHub上发现了评估代码中的错误。
资金支持
本研究得到了丰田研究所、NSF CMMI-2037101和NSF IIS-2132519的支持。我们还要感谢Google提供的UR5机器人硬件。本文所包含的观点和结论仅代表作者个人观点,不应被解释为赞助商的官方政策。


A 扩散政策实施细则

A.1 归一化

适当地归一化动作数据对 Diffusion Policy 的最佳性能至关重要。将每个动作维度独立地缩放到 ([-1, 1]) 在大多数任务中效果良好。由于 DDPM 在每次迭代中将预测值裁剪到 ([-1, 1]) 以确保稳定性,因此常见的零均值单位方差归一化会导致某些区域的动作空间无法访问。当数据方差较小(例如,接近常数值)时,将数据移至零均值而不进行缩放,以防止数值问题。与旋转表示(例如四元数)对应的动作维度保持不变。

A.2 旋转表示

对于所有具有速度控制动作空间的环境,我们遵循 Mandlekar 等(2021)的标准做法,使用 3D 轴角表示法来处理动作的旋转组件。由于速度动作命令通常接近于 0,轴角表示的奇异性和不连续性通常不会造成问题。我们对所有具有位置控制动作空间的环境(包括真实世界和模拟环境)使用 Zhou 等(2019)提出的 6D 旋转表示法。

A.3 图像增强

遵循 Mandlekar 等(2021)的做法,我们在训练期间使用随机裁剪增强。每个任务的裁剪大小在表 7 中列出。在推理阶段,我们采用与训练阶段相同大小的静态中心裁剪。

A.4 超参数

表 7 和表 8 中展示了在模拟和真实世界基准测试中用于 Diffusion Policy 的超参数。由于 Block Push 任务使用马尔可夫脚本化的 Oracle 策略生成示例数据,我们发现其观察和动作时间范围的最佳超参数与其他使用人类远程操作示例的任务非常不同。


在这里插入图片描述

表7. 基于CNN的扩散策略控制的超参数:位置或速度控制

  • To: 观测时间范围
  • Ta: 动作时间范围
  • Tp: 动作预测时间范围
  • ImgRes: 环境观测分辨率(相机视角宽x高)
  • CropRes: 随机裁剪分辨率
  • #D-Params: 扩散网络参数数量(以百万为单位)
  • #V-Params: 视觉编码器参数数量(以百万为单位)
  • Lr: 学习率
  • WDecay: 权重衰减
  • D-ItersTrain: 训练扩散的迭代次数
  • D-ItersEval: 推理扩散的迭代次数(由DDIM等人提出,2021年)

在这里插入图片描述

表8. 基于Transformer的扩散策略控制的超参数:位置或速度控制

  • To: 观测时间范围
  • Ta: 动作时间范围
  • Tp: 动作预测时间范围
  • #D-Params: 扩散网络参数数量(以百万为单位)
  • #V-Params: 视觉编码器参数数量(以百万为单位)
  • EmbDim: Transformer的令牌嵌入维度
  • AttnDrp: Transformer的注意力丢弃概率
  • Lr: 学习率
  • WDecay: 权重衰减(仅针对Transformer)
  • D-ItersTrain: 训练扩散的迭代次数
  • D-ItersEval: 推理扩散的迭代次数(由DDIM等人提出,2021年)

我们发现 CNN 基于的 Diffusion Policy 的最佳超参数在各任务中是一致的。相比之下,基于transformer的 Diffusion Policy 的最佳注意力 dropout 率和权重衰减在不同任务间变化很大。在调整过程中,我们发现增加 CNN 基于的 Diffusion Policy 的参数数量总能提高性能,因此最佳模型大小受到可用计算和内存容量的限制。另一方面,增加基于transformer的 Diffusion Policy 的模型大小(特别是层数)有时会损害性能。对于基于 CNN 的 Diffusion Policy,我们发现使用 FiLM 条件来传递观察比在所有任务中进行图像修复效果更好,除了 Push-T。在表 1 中报告的 Push-T 上的 DiffusionPolicy-C 性能使用了图像修复而不是 FiLM。

对于模拟基准测试,我们使用了 iDDPM 算法(Nichol 和 Dhariwal,2021),在训练和推理中都使用相同的 100 次去噪扩散迭代。我们在真实世界基准测试中使用 DDIM(Song 等,2021)将推理去噪迭代减少到 16,从而减少推理延迟。对于所有基于状态的实验,

我们使用批大小为 256,所有基于图像的实验使用批大小为 64。学习率调度使用余弦调度和线性预热。基于 CNN 的 Diffusion Policy 预热 500 步,而基于transformer的 Diffusion Policy 预热 1000 步。

A.5 数据效率

我们发现 Diffusion Policy 在每个训练数据集大小上均优于 LSTM-GMM(Mandlekar 等,2021),如图 15 所示。


在这里插入图片描述

图15. 数据效率消融研究。 Diffusion Policy在每个训练数据集规模下的表现都优于LSTM-GMM Mandlekar等人(2021年)。



B 附加消融结果

B.1 观察范围

我们发现基于状态的扩散策略对观察范围不敏感,如图14所示。然而,基于视觉的扩散策略,特别是使用CNN骨干网的变体,随着观察范围的增加,其性能有所下降。在实际应用中,我们发现观察范围为2对大多数任务来说适合,无论是状态观察还是图像观察。


在这里插入图片描述

图14. 观察视野消融研究。基于状态的扩散策略对观察视野不敏感。基于视觉的扩散策略更倾向于选择低于但大于1的观察视野,2是大多数任务的良好折衷。


B.2 性能提升计算

对于表1、表2和表4中报告的每个任务i(忽略mh结果),我们找到基线方法的最大性能 m a x _ b a s e l i n e i {max\_baseline}_i max_baselinei和扩散策略变体(CNN与Transformer)的最大性能 m a x _ o u r s i {max\_ours}_i max_oursi。对于每个任务,性能提升计算为:

i m p r o v e m e n t i = m a x _ o u r s i − m a x _ b a s e l i n e i m a x _ b a s e l i n e i {improvement}_i = \frac{{max\_ours}_i - {max\_baseline}_i}{{max\_baseline}_i} improvementi=max_baselineimax_oursimax_baselinei

(对所有任务均为正值)。最后,平均提升计算为:

a v g _ i m p r o v e m e n t = 1 N ∑ N i i m p r o v e m e n t i = 0.46858 ≈ 46.9 % {avg\_improvement} = \frac{1}{N} \sum_{N}^{i}{improvement}_i = 0.46858 \approx 46.9\% avg_improvement=N1Niimprovementi=0.4685846.9%


C 现实世界任务细节

C.1 推块任务

C.1.1 演示

收集了136个演示样本,用于训练。初始条件通过随机推或扔T块到桌子上进行变化。在这次数据收集之前,操作者已经执行了这个任务很多小时,应该被视为该任务的熟练者。

C.1.2 评估

我们为每种方法使用了固定的训练时间12小时,并选择了每种方法的最后一个检查点,除了IBC,由于IBC的训练稳定性问题,选择了具有最低训练集动作预测均方误差(MSE)的检查点。训练和检查点选择的难度在主文本图7中展示。每种方法评估20个回合,所有回合都从相同的初始条件集开始。为了确保初始条件的一致性,我们根据从顶视相机获取的叠加图像仔细调整了T块和机器人的姿态。每个评估回合在以下任一情况下终止:末端执行器在终点区域内保持超过0.5秒,或达到60秒的时间限制。IoU指标直接在顶视相机像素空间中计算。

C.2 酱料倒入和涂抹

C.2.1 演示

收集了50个演示样本,其中90%用于每个任务的训练。对于倒入任务,披萨面团和酱料碗的初始位置会有所变化。每次演示后,酱料会倒回碗中,面团会被擦拭干净。对于涂抹任务,披萨面团的位置以及倒入酱料的形状会有所变化。重置时,我们手动将酱料聚集到面团中心,并擦拭干净剩余的面团。在涂抹和酱料转移过程中,丢弃了远程操作命令的旋转成分,以避免意外地舀起或洒落酱料。

C.2.2 评估

Diffusion Policy和LSTM-GMM均训练了1000个周期。使用最后一个检查点进行评估。

每种方法从相同的一组随机初始条件中评估,其中披萨面团和酱料碗的位置会有所变化。我们使用与推块任务相似的协议来设置初始条件。我们不尝试匹配涂抹的初始酱料形状,而是确保在所有实验中酱料的数量是固定的。

评估回合通过将勺子向上移动(远离面团)0.5秒,或当操作者认为策略的行为不安全时终止。

覆盖度指标首先通过单应性将来自左侧和右侧相机的RGB图像投影到桌面空间,然后计算每个投影图像中的覆盖度。报告左侧和右侧相机之间的最大覆盖度。


D 实际实验设置细节

D.0.1 UR5 机器人站

对Push-T任务的实验是在UR5机器人站上进行的。

UR5机器人接受末端执行器空间的位置信息指令,频率为125Hz,该指令由来自人类演示或策略的10Hz命令线性插值得出。插值控制器将末端执行器的速度限制在0.43 m/s以下,并出于安全考虑将其位置限制在距离桌面1cm以上。位置控制的策略直接预测所需的末端执行器姿态,而速度控制的策略则预测当前位置设定点和先前设定点之间的差异。

UR5机器人站配备了5个Realsense D415深度摄像头,以30fps的帧率录制720p RGB视频。其中仅使用2个摄像头进行策略观察,图像被下采样到320x240像素,并以10fps的帧率输入。

在演示过程中,操作员通过3dconnexion SpaceMouse以10Hz的频率远程操作机器人。

D.1 Franka 机器人站

Sauce Pouring(倒酱汁和涂抹任务)、Bimanual Egg Beater(双手打蛋器任务)、Bimanual Mat Unrolling(双手铺开垫子任务)和Bimanual Shirt Folding(双手叠衣任务)的实验是在Franka机器人站上进行的。

对于非触觉控制,我们实现了一个自定义的中层控制器,以从学习到的策略生成的末端执行器姿态推导出期望的关节位置。在每个时间步中,我们通过求解微分运动学问题(以二次规划(Quadratic Program, QP)形式表示)来计算期望的关节速度,以跟踪期望的末端执行器速度。计算得到的关节速度通过欧拉积分转化为关节位置,并由机器人上的关节级控制器进行跟踪。这种控制方式允许我们施加诸如双臂与桌面的碰撞避免、末端执行器安全区域及关节限位等约束。它还使我们能够在末端执行器命令的冗余自由度空间中进行调节。在硬件部署期间,该中层控制器对于保护学习策略尤为重要。

对于触觉遥控控制,我们实现了另一个自定义的中层控制器,但它以纯扭矩控制器的形式设计。该控制器使用操作空间控制(Operational Space Control, Khatib (1987))作为二次规划(QP),以200Hz的频率运行,其中位置、速度和扭矩限制作为约束条件,主要的空间目标和次要的冗余姿态目标则作为损失函数。这种方式,加上对Franka Panda机械臂良好的建模(包括反射转子的惯量),使我们能够在纯空间反馈下实现良好的跟踪效果,结合前馈空间加速度还能实现更好的跟踪效果。目前此控制模式尚未启用碰撞避免功能。

需要注意的是,在推理过程中,我们使用的是非触觉控制。未来的工作打算简化这一控制策略,并仅使用单一控制器来满足我们的目标。

操作员使用SpaceMouse或VR控制器输入设备来控制机器人的末端执行器,夹爪由相应设备上的触发按钮控制。远程操作和学习策略以10Hz的频率运行,中层控制器则以约1kHz的频率运行。中层控制器对期望的末端执行器姿态命令进行插值处理。
该工作站配备了2个Realsense D415 RGBD摄像头,以30fps的帧率输出VGA RGB图像,这些图像被下采样至320x240像素,以10fps的帧率作为学习策略的输入。

D.2 双手任务的初始和最终状态

以下图像展示了四个双手任务的初始和最终状态。绿色和红色框分别表示成功和失败的回合。由于垫子和衬衫是非常扁平的物体,我们使用了单应投影(homographic projection)来更好地可视化初始和最终状态。


http://www.kler.cn/a/501078.html

相关文章:

  • 互联网架构变迁:从 TCP/IP “呼叫” 到 NDN “内容分发” 的逐浪之旅
  • VScode python 远程调试
  • 计算机视觉算法实战——车道线检测
  • 01-51单片机LED与独立按键
  • webpack打包要义
  • js:正则表达式
  • 企业全文搜索-搜索权限,非侵入文档同步,权限同步 ,扩展字段
  • 什么是大数据?
  • VUE3 组件的使用
  • Linux新手入门手册
  • mysql本地安装和pycharm链接数据库操作
  • mybatis分页插件:PageHelper、mybatis-plus-jsqlparser(解决SQL_SERVER2005连接分页查询OFFSET问题)
  • NLP中常见的分词算法(BPE、WordPiece、Unigram、SentencePiece)
  • 爬虫基础之爬取歌曲宝歌曲批量下载
  • STM32-按键光敏传感器----原理(待补充)
  • 三台Centos7.9中Docker部署Redis集群
  • Avalonia 入门笔记(零):概述
  • 性能工具之 JMeter ActiveMQ 脚本开发实践
  • AIGC:开启内容创作的新纪元
  • maven发包because “server“ is null
  • 基于单片机的数字电能表(论文+源码)
  • 2024年度漏洞态势分析报告,需要访问自取即可!(PDF版本)
  • 激活conda
  • models/ gitignore是根目录下的models目录,不包括子目录的models目录,怎么写
  • 人工智能之基于阿里云快速搭建Llama-3.2-11B-Vision-Instruct
  • 用 Python 从零开始创建神经网络(十九):真实数据集