Self-Corrected Multimodal Large Language Model for End-to-End Robot Manipulation

上一篇(AIC) MLLM的train和test结构不一样,这一篇是一个统一的结构。所以这里的end-to-end 应该指的就是训练和推理是一个pipline。

发表时间:27 May 2024

作者单位: Peking University

Motivation:当面对新任务或对象实例时,机器人操作策略表现出不令人满意的动作性能。因此,自动检测和自校正失败动作的能力对于实际的机器人系统至关重要

解决方法:为了释放一般的MLLM作为端到端机器人agent,我们引入了一个自校正(SC)-MLLM,使我们的模型不仅能够预测末端执行器的姿态,而且还能够自主识别和纠正故障动作。具体来说,我们首先进行参数高效的微调,使MLLM具有姿态预测能力,并将其重构为语言建模问题。

q1:参数高效的微调是如何做的? 只微调adapter

q2:是怎么重构为语言建模问题的? 应该就是通过VQA的形式,通过prompt得到answer,然后让模型判断answer的对不对,不对就修正。

当面对执行失败时,我们的模型学会识别低low-level动作错误原因(即位置和旋转错误),并自适应地从专家中寻找提示反馈。基于反馈,SC-MLLM 重新思考当前的失败场景并生成更正的动作。

q3:这个反馈跟上一篇工作的Feedback Information Extraction (FIE) module是一样的吗? 不一样,差别很大。

此外,我们设计了一种用于成功校正样本的continuous policy learning method,增强了模型对当前场景配置的适应性,降低了专家干预的频率。

q4:对正样本的持续学习? 是的,只用成功的样本进行微调。(与上一篇的TTA不同,上一篇的TTA成功和失败的样本都用)。

q5:跟上篇工作的TTA部分对正样本的处理是一样的吗?

是不一样的。 本文的特点是多了个移动平均参数exponential moving average (EMA) [24] to continually learn from new data。

流程:第1步。SC-MLLM将姿态预测重新定义为语言建模问题,利用初始状态图像和文本提示生成动作姿态。第2步。SC-MLLM利用终端状态图像和末端执行器参数进行失败识别,智能地请求专家(这里的experts指的是什么?三个模型Where2Act + GPT4V + Anygrasp。 前两个用来生成position,Anygrasp用来生成direction)的提示反馈来生成校正后的姿态。第 3 步。 SC-MLLM 从成功校正的样本持续学习策略,增强了模型对当前场景配置的适应性。通过校正步骤,我们有效地为每个用户提供定制的策略,而不是依赖于共享的、低精度的策略。

特点:

  • SC-MLLM可以直接预测末端执行器的姿态(是通过这种输入prompt让大语言模型输出回答的形式,都是包含在问答的内容里面了,没有小脑),自主纠正失败的原子动作,并从校正后的样本中持续学习策略。为了使预训练的MLLM具有姿态预测能力,我们最初使用语言直接生成姿态,将操作姿态预测转换为语言建模任务。在训练过程中,我们对集成的可训练适配器[21]进行参数高效的微调(只微调adapter),以保持MLLM的固有能力。

  • 根据静态RGB图像和文本提示,我们的SC-MLLM生成图像和末端执行器3D方向的接触像素坐标,然后使用深度信息将像素坐标投影到3D空间中。(基本操作)

  • 为了使我们的模型具有失败检测能力,我们利用最终状态图像和机器人末端执行器姿态进行失败识别,将姿态预测误差分为位置、旋转或组合误差。基于错误类型,SC-MLLM 动态请求专家(即位置 [22]、旋转 [23] 和推理专家 [20])的校正反馈,导致对当前故障场景的重新评估和更准确的姿势预测。

q1:位置和旋转误差我能理解,组合误差是什么? 组合误差 就是position和旋转(direction)都错了。

作者本文把错误的类型分为了三种,一种是position错了,一种是旋转错了,一种是两种都错了。模型需要先预测是哪种错误(附录有实验),然后再进行相应的修正。

此外,我们设计了一种针对成功校正样本量身定制的continuous policy learning method,使用指数移动平均技术来学习校正的姿势。该方法不仅增强了模型对当前场景配置的适应性,而且降低了专家干预的频率。

q2:为什么降低了专家干预的频率? 失败了才需要找专家对当前故障场景的重新评估和更准确的姿势预测。 所以是通过这个连续策略学习方法能减少失败的次数?通过降低失败的次数减少专家干预的频率,还能降低模型的计算量和推理速度。

对成功的操作和失败的操作得不同处理:

  1. 对成功的操作,使用持续策略学习方法。

  2. 对失败的操作,SC-MLLM 动态请求专家(即位置 [22]、旋转 [23] 和推理专家 [20])的校正反馈,导致对当前故障场景的重新评估和更准确的姿势预测。

指数移动平均(Exponential Moving Average,简称EMA)是一种用于数据平滑和时间序列分析的技术。与简单移动平均(SMA)不同,EMA对最新的数据点赋予更高的权重,使得它对最新的变化更加敏感。

实现方式:主要包括两个部分two main components: pose prediction and action correction.

End-effector pose prediction:SC-MLLM policy π generates an actionai based on the image (Ii ∈ RW ×H×3) and language question (Li) at the initial state。它由末端执行器位置和方向参数化,其中 ai = (aposi , adiri ),其中 aposi ∈ R3 表示 3D 坐标,adri ∈ R3×3 表示旋转矩阵。我们将语言中的末端执行器位置和方向包含在 MLLM 微调中(也就是末端的位姿通过穿插在语言输出的)。

Low-level action correction:我们的 SC-MLLM 策略 π 利用最终状态 RGB 图像 (Ie ∈ RW ×H×3) 和语言描述性末端执行器姿势 (Laii ) 来识别失败的类型,表示为 π(Ie, Laii ) → ci。根据错误类型 ci,我们的 SC-MLLM 可以从专家动态请求提示反馈 fi(新的位置或者旋转或者位置+旋转)。然后使用该反馈作为输入,使用我们的 SC-MLLM 策略 π(Ii, fi) → ac 重新预测动作 ac。整体的思路还是非常清晰的。

Model architecture:

  • the pre-trained parameters of LLaMA-Adapterv2 ;

  • a pre-trained CLIP [ 48 ] as the visual encoder;

  • a 7B LLaMA [52] model as the language model;

  • a multi-modal projection module consisting of 32 transformer layers.

训练过程中只训练adapter,continuous policy learning 过程中也是只微调adapter。

  1. Action pose prediction:这部分旨在使我们的 SC-MLLM 能够生成精确的末端执行器姿势。

获得contact pixel的方式:在推理过程中,我们的 SC-MLLM 只专注于预测图像上接触像素的 2D 坐标 [x, y],然后使用深度信息将其转换为 3D 空间。(这几篇工作都是这么做的)

获取direction(rotation):同时,我们根据几何关系从夹持器的向上和向前方向得到夹持器的左方向(夹持器z-forward)。

又是通过prompt的Chain-of-Thought (CoT) reasoning的方式。Chain of thoutht指的是:生成一系列的中间步骤或“thoughts.(与上一篇文章类似,这几篇文章都类似)

  1. Failure detection and correction:在转移到校正过程之前,有必要评估动作是否失败并识别故障的原因。

识别是否完成任务:具体来说,我们利用我们的模型固有的视觉理解能力以及特定的提示来确定任务是否已完成。例如,我们将最终状态图像输入到我们的 SC-MLLM 中并提出问题“Was 是微波门关闭的。请回答是或否。随后,由于预训练的 MLLM 缺乏故障识别能力(使用失败的示例进行微调,使模型具备失败识别能力),我们使用图 2 步骤 2 所示的失败检测提示来微调我们模型的注入适配器。基于最终状态图像和末端执行器姿态,我们的模型可以准确识别故障原因,包括位置、旋转或组合错误。

Q1: 是如何具备识别故障原因的能力的?也就是说这里边的失败检测提示(the failure detection prompts)是如何得到的?eg:Detect the failure causes of pulling。。难道是大语言模型直接生成的?

通过让模型对失败的案例进行学习,使他具备识别失败的能力(附录有实验),并且能确定是哪种失败。

选择接触点:基于错误类型,我们的 SC-MLLM 可以自适应地请求来自指定专家的提示反馈,并利用该反馈重新预测动作姿势.we first use Where2Act [22 ] to generate an affordance map by inputting 2D images。然而,现有的基于可供性的方法[30,32]只能预测精度有限的潜在可操作区域。例如,在图 3 中,专家预测的最高可供性得分区域为 C0-C3,这显然不是可操作的区域。因此,为了提供更可靠的接触点,我们利用推理专家(例如 GPT-4V [20])的共同意义推理能力来进一步过滤接触点。(Where2Act + GPT4V 重新选择接触点) 具体来说,我们从具有高可供性分数的区域中随机选择点。然后将这些选定的点投影回图像上并馈送到推理专家GPT-4V,使用以下提示来过滤:“图像中显示的哪些接触点可以接近对象。请选择 n 个点。 这个过程允许我们自动获得相对准确的接触点,然后将其用作 SC-MLLM 的输入提示。

选择direction(rotation):Use Anygrasp [ 23 ] to generate the rotation correction prompt,enabling accurate grasp rotation prediction.然而,我们的动作不限于抓取,所以我们不能预测整个物体的位置和方向旋转。这就是为什么我们不使用 Anygrasp 作为位置专家的原因。

Q2:为什么?因为任务不一样?导致pose预测的中心点不一样?

是的,grasp的学习到的中心点与吸盘不一样,但是rotation是一样的,所以可以用Anygrasp学习到的rotation。

具体做法为:为了生成每个对象的局部区域的旋转,我们根据模型预测的接触点选择一个操作框,并在选定的框区域内生成旋转。对于操作框,我们从接触点向外扩展 5 个像素作为中心。如果失败案例涉及组合错误,我们顺序应用位置和旋转校正。旋转专家使用位置专家提供的the highest-confidence contact point生成相应的旋转。最后,我们将位置和旋转的校正反馈作为模型的输入提示相结合。

Continuous policy learning

为了使我们的模型同时具有操作和故障校正能力,我们集成了姿态预测、故障检测和故障校正数据进行协同微调 co-fine-tuning.

因此,在获得成功校正的样本后,我们设计了一种连续策略学习方法。该方法旨在增强姿态预测能力,而不需要专家反馈提示,因为专家干预会产生额外的通信成本和时间(毕竟是三个模型 Where2Act + GPT4V + Anygrasp)

因为是使用new successful samples进行微调,所以不存在修正的过程,所以不需要专家的反馈提示。

Continuous policy learning的过程中也是有参数更新的,是利用new successful samples对apapter的参数进行更新,更新采用exponential moving average (EMA)的方式避免知识遗忘。(更新的模型是adapter的参数

为什么从成功的样本也能更新模型参数?实际上,成功的样本与ground truth之间也是有偏差的(生成的位姿在一个范围内就定义为成功),所以也会有loss。

为什么不用失败的样本进行更新? 因为失败的样本需要专家反馈,费计算计算量和时间,而且训练的时候就只是用成功的训练的。

实验:suction gripper 吸盘

仿真环境:SAPIEN引擎[25]用PartNet-Mobility中的铰接对象设置交互式仿真环境。(在仿真环境收集数据)

Data Collection: 在数据收集过程中,我们在可移动部分随机选择一个接触点p,并将末端执行器的z轴定位与其法向量相反,随机y轴方向与对象交互。成功的操作被归类为成功的样本,并集成到数据集中. For evaluation, we generate 1k examples for the test A set, comprising 20 training (seen) and 10 testing (unseen) categories.此外,我们收集了一个测试 B 集,其中与测试 A 集相比,机器人与对象之间的相对位置发生了变化。该测试 B 集验证了我们的连续策略学习的有效性,确保它不会表现出灾难性遗忘或过度拟合测试 A 集。

训练:Our training dataset comprises 12k successful manipulation samples across 20 categories.训练集只有成功的,也就是说训练的时候只用成功的训练。

测试:For evaluation, we generate 1k examples for the test A set, comprising 20 training (seen) and 10 testing (unseen) categories.

Evaluation Metric: 如果交互前后的joint状态差异超过0.1米的阈值,则认为操作是成功的(但是也有loss,也可可以更新参数)。

消融实验:

“P”和“R”分别表示利用位置和旋转反馈。“P + R”表示利用组合专家反馈,而“Ours”表示基于故障原因自适应地寻求专家反馈。

“P + R”表示利用组合专家反馈 看起来的效果最好,但是需要的复杂度更高,需要不断地调用专家模型。而 Ours只需要在错误的时候调用专家模型,复杂度相对较低。

The impact of correction times:修正的次数越多效果越好。

The impact of close-loop correction times:close-loop correction 的次数越多效果越好。每次close-loop correction的定义为: repeating the closed-loop correction: "failure detection → failure correction→ continual policy learning"。在每个更新之后,模型经历了一轮新的操作测试,并记录了成功的操作实例。然后将这些成功的示例作为持续学习的新数据合并,进一步更新模型。

Real-world evaluation:The Franka Panda Robot,我们仍然努力增加模拟数据收集的多样性。具体来说,我们通过改变对象部分姿势、相机角度、光照等元素来增加场景多样性,以减轻潜在的模拟到真实差距

结论:我们的 SC-MLLM 首次尝试检测低级姿势预测的失败原因。基于原因,SC-MLLM 可以从专家自适应地请求提示反馈,以重新评估当前的故障场景并生成更正的动作。为了构建闭环校正,我们提出了一种连续策略学习策略,该策略增强了模型的适应性,降低了专家干预的频率。

在logistic回归的校正曲线中,"apparent"和"bias-corrected"是两种不同的校正曲线类型,代表了不同的校正方法。 1. Apparent校正曲线:Apparent校正曲线是在原始数据集上计算的校正曲线。它反映了模型在训练数据上的预测准确性。这种校正曲线没有对模型的过拟合进行修正,因此可能会过于乐观地估计模型的准确性。 2. Bias-corrected校正曲线:Bias-corrected校正曲线是通过使用重采样方法对模型进行纠偏后计算得到的。这种校正曲线旨在修正模型在训练数据上的过拟合问题,并提供更准确、更保守的模型预测准确性估计。通常,这种方法使用自助法(bootstrap)或交叉验证等技术来生成多个数据集,并在每个数据集上重新拟合模型以获得更准确的预测准确性估计。 在logistic回归的校正曲线中,你通常会看到两条曲线:一条是Apparent校正曲线,另一条是Bias-corrected校正曲线。通过比较这两条曲线,你可以评估模型的预测准确性,并了解模型在训练数据上的过拟合程度。如果这两条曲线接近并且与对角线接近,表示模型的预测准确性较好且没有明显的过拟合问题。如果Bias-corrected校正曲线偏离Apparent校正曲线或对角线,表示模型可能存在过拟合,并且Apparent校正曲线过于乐观地估计了模型的准确性。因此,Bias-corrected校正曲线更可靠地反映了模型的预测准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ming_Chens

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值