【论文翻译】π0: A Vision-Language-Action Flow Model for General Robot Control-一种用于通用机器人控制的视觉-语言-动作流模型(二)
系列文章目录
【论文翻译】π0: A Vision-Language-Action Flow Model for General Robot Control-一种用于通用机器人控制的视觉-语言-动作流模型(一)
文章目录
六、实验评估
我们的实验评估包括直接评估实验(将我们的基础(预训练)模型与通过直接提示的其他模型设计进行比较),以及详细的微调实验(在具挑战性的下游任务上评估我们的模型,并将其与文献中提出的用于灵巧操作的其他方法进行比较)。我们研究以下研究问题:
- π0在预训练数据中存在的各种任务上进行预训练后表现如何?我们通过直接评估π0,并与其他机器人基础模型进行比较来研究这个问题。
- π0遵循语言指令的效果如何?这些实验将π0与π0-small(我们模型的一个较小版本,没有VLM初始化)进行比较,以评估其在遵循语言指令方面的性能。我们使用人工提供的指令和由高级VLM策略指定的指令进行评估,如第五-B节所述。
- 与专门为解决灵巧操作任务而提出的方法相比,π0表现如何?这些实验研究下游任务,我们可以从预训练初始化微调我们的模型,或者在任务特定数据上从头开始训练它,并与先前为灵巧操作提出的方法进行比较。我们旨在评估我们的架构和预训练过程的益处。
- π0能否适应复杂的多阶段任务?在我们最后一组实验中,我们将π0微调到一组特别复杂的任务,包括折叠衣物和清理餐桌。这些任务需要5到20分钟才能完成。有些任务需要高级策略的指导。
图6:直接评估任务:为了评估我们的基础模型,我们在预训练后在五个任务上运行它:衬衫折叠、简单清理餐桌、困难清理餐桌、杂货装袋以及从烤面包机中取出吐司。这些任务需要灵巧操作、多阶段行为和语义识别的结合。
A. 评估基础模型
在我们第一组实验中,我们在完整的混合数据集上进行预训练后,不进行任何后训练,评估模型,以考察我们的基础模型执行各种任务的能力。我们与文献中的其他机器人基础模型进行比较:包括VLA模型和在相同预训练混合数据集上从头开始训练的较小模型。我们在以下任务上进行评估(如图6所示),每个任务都通过语言指令下达给相同的基础模型。
- 衬衫折叠:机器人必须折叠一件T恤,T恤开始时是摊平的。
- 简单清理餐桌:机器人必须清理一张桌子,将垃圾放入垃圾桶,将餐具放入餐具箱。得分表示正确放置到相应容器中的物体数量。
- 困难清理餐桌:清理餐桌任务的更难版本,有更多物体和更具挑战性的配置,例如故意将餐具放在垃圾物体之上,物体相互遮挡,以及一些不在预训练数据集中的物体。
- 杂货装袋:机器人必须将所有杂货(如薯片、棉花糖和猫粮)装袋。
- 从烤面包机中取出吐司:机器人从烤面包机中取出吐司。
为这些实验提供比较具有挑战性,因为很少有先前的模型能够在此规模上运行。我们与OpenVLA [24]进行比较,这是一个70亿参数的VLA模型,最初在OXE数据集[10]上训练。我们在我们的完整混合数据集上训练OpenVLA。对于OpenVLA来说,这是一个非常困难的混合数据集,因为它不支持动作分块或高频控制。我们还与Octo [50]进行比较,这是一个较小的9300万参数模型。虽然Octo不是VLA,但它确实使用扩散过程来生成动作,为我们的流匹配VLA提供了一个有价值的比较点。我们也在与我们模型相同的混合数据集上训练Octo。由于时间限制,我们无法像训练完整模型那样为OpenVLA和Octo训练相同数量的轮次(epochs)。因此,我们还与我们模型的“计算对等”版本进行比较,该版本仅训练了16万步(而我们的主要模型训练了70万步),这等于或低于提供给基线模型的步数(OpenVLA为16万步,Octo为32万步)。我们还包括了一个仅在UR5e数据上微调的OpenVLA模型版本,没有进行跨具身训练,希望能在UR5e任务上提供一个更强的基线。最后,我们还与第四节中描述的π0-small模型进行了比较,该模型可以看作是我们模型在没有VLM预训练情况下的缩小版。
评估指标使用在每个任务和方法10个回合(episodes)上平均的归一化得分,其中一个回合完全成功得1.0分,部分成功则获得部分分数。例如,清理餐桌的得分是正确放置到适当容器中的物体比例。我们在附录E中描述了评分标准。结果如图7所示,表明π0在所有直接评估任务中均取得了迄今为止最好的结果,在衬衫折叠和较容易的清理餐桌任务上取得了近乎完美的成功率,并且在所有基线模型上都有大幅改进。仅训练了16万步的“对等”版π0仍然优于所有基线模型,甚至π0-small也优于OpenVLA和Octo。OpenVLA在这些任务上表现不佳,因为其自回归离散化架构不支持动作分块。仅限UR5e的OpenVLA模型表现更好,但仍远低于π0的性能。Octo支持动作分块,但表示能力相对有限。这一比较说明了将大型、富有表现力的架构与通过流匹配或扩散对复杂分布进行建模的能力相结合的重要性。此外,与π0-small的比较说明了整合VLM预训练的重要性。不幸的是,很难使这最后一个比较公平:π0-small使用较少的参数,但较大的模型在没有预训练的情况下很难使用。总的来说,这些实验表明,π0提供了一个强大的预训练模型,能够有效地用各种机器人执行各种任务,并且性能远优于先前的模型。
图7:直接评估结果:我们评估了完整训练70万步的π0,一个训练了16万步(与基线模型的更新次数相匹配)的版本,π0-small,以及三个基线模型:在我们所有数据上训练的OpenVLA和Octo,以及仅在UR5e任务上训练的OpenVLA(我们发现在UR5e任务上效果更好)。在所有任务和所有比较中,即使是我们模型的“对等”版本也优于所有基线模型,而我们模型的完整版本则以较大优势取得了最佳结果。
B. 遵循语言指令
在接下来的一组实验中,我们微调基础π0模型,使其在一组评估域中遵循语言指令。我们将这个微调后的π0模型与第四节中描述的π0-small模型进行比较,我们发现后者是上一节中最强的基线模型。回想一下,π0-small没有使用VLM初始化。因此,本实验旨在衡量VLM预训练在多大程度上增强了我们模型遵循语言指令的能力。请注意,π0-small也是一个显著较小的模型——不幸的是,很难消除这个混淆因素,因为VLM初始化既使得训练一个更大的模型而不过拟合变得可行,又能改善语言指令的遵循。尽管如此,我们希望这个实验能够揭示π0的语言能力。
每个任务的语言指令包括要拾取的物体和放置这些物体的位置,并带有语言标记的片段,每个片段长约2秒。每个完整任务由许多这样的片段组成。本次评估中的任务包括:
- 清理餐桌:机器人必须清理一张桌子,将碗碟和餐具放入回收箱,并将垃圾放入垃圾桶。
- 布置餐桌:机器人必须从箱子中取出物品来布置餐桌,包括餐垫、碗碟、银器、餐巾和杯子,并根据语言指令进行调整。
- 杂货装袋:机器人必须将杂货(例如袋装咖啡豆、大麦、棉花糖、海藻、杏仁、意大利面和罐头)装入袋中。
在图8中,我们展示了评估中受语言条件约束的任务,并呈现了评估结果。我们评估了五种不同的条件。π0-flat(以及π0-small-flat)对应于直接用任务描述(例如,“将杂货装袋”)来指令模型,而没有中间的语言指令。π0-human(以及π0-small-human)则由专业的人类用户提供中间步骤指令(例如,拾取哪个物体以及将其放置在何处)。这些条件评估了每个模型遵循更详细语言指令的能力:虽然这些中间指令为如何执行任务提供了大量信息,但模型必须能够理解并遵循这些指令才能从中受益。最后,π0-HL评估了在高级VLM提供的高级指令下π0的表现,如第五-B节所述。此条件也是自主的,没有任何人类专家参与。
图9中的结果(每个任务平均进行10次试验)表明,π0的语言遵循准确性显著优于π0-small。这表明,较大的预训练VLM初始化带来了显著的改进。这种能力转化为在专家人工指导(π0-human)和高级模型指导(π0-HL)下性能的提升。结果表明,π0的语言遵循能力直接转化为在高级指导下,在复杂任务上更好的自主性能。
图8:我们语言评估中的任务。我们在3个不同的语言条件任务上评估我们的模型,每个任务都需要遵循一系列中间语言指令。这些任务包括清理餐桌(顶部),将碗碟放入回收箱并将垃圾放入垃圾桶;布置餐桌(中部),从箱子中取出物品;以及打包购物袋(底部)。
图9:语言评估。我们将我们策略的“扁平化”版本(-flat,仅接收总体任务指令,例如“将杂货装袋”)与接收来自人类专家(-human)或高级VLM策略(-HL)的中间指令的方法进行比较。我们还在“专家”条件下,就语言遵循准确性而言,将我们的模型与一个小型非VLM变体(π0和π0-small)进行了比较。结果表明,通过人类专家提供的中间语言指令,π0获得了显著改进,通过自主高级策略提供的指令也获得了较小程度的改进。值得注意的是,由于π0-small有限的语言遵循能力,总体而言,它并没有因增加高级专家而获益。
C. 学习新的灵巧任务
在接下来的一组实验中,我们在与预训练数据显著不同的新任务上评估我们的模型,这些任务需要全新的行为。对于这些评估,我们针对每个新任务使用不同数量的数据对模型进行微调。虽然每个任务都是新的,但我们根据它们与预训练数据中任务的差异程度将任务划分为不同的“层级”。如图10所示,这些任务是:
- UR5e堆叠碗。此任务需要堆叠碗,共有四个不同大小的碗。由于此任务需要像预训练数据中的清理餐桌任务一样抓取和移动碗碟,因此我们将其归入“简单”层级。训练数据包含各种碗,评估则使用见过和未见过的碗的混合。
- 毛巾折叠。此任务需要折叠毛巾。由于这与预训练中存在的衬衫折叠任务相似,因此我们将其归入“简单”层级。
- 特百惠放入微波炉。此任务需要打开微波炉,将一个塑料容器放入其中,然后关闭微波炉。容器有不同的形状和颜色,评估则使用见过和未见过的容器的混合。容器操作与预训练数据相似,但微波炉在预训练数据中并未出现。
- 更换厨房纸巾。此任务需要从支架上取下一个旧的纸板厨房纸巾筒,并换上一个新的厨房纸巾卷。由于预训练中没有发现此类物品,我们认为这是“困难”的。
- Franka物品放入抽屉。此任务需要打开抽屉,将物品装入抽屉,然后关闭抽屉。由于预训练中没有使用Franka机器人执行的类似任务,我们认为这是“困难”的。
我们将微调后的模型与OpenVLA [24]和Octo [50]进行比较,后者也采用预训练和微调的方案。由于我们的目标是评估特定的模型(而不是架构),因此我们使用这些模型的公开可用预训练检查点(这些检查点在OXE [10]上训练),然后针对每个任务对它们进行微调。我们还与ACT [57]和Diffusion Policy [9]进行比较,它们是专门为从较小数据集中学习灵巧任务而设计的。ACT和Diffusion Policy仅在微调数据集上进行训练,这些数据集的大小与ACT和Diffusion Policy实验[9, 57]中使用的单个数据集相似。我们通过从我们的预训练基础模型进行微调以及从头开始训练来评估π0。此比较旨在评估π0架构和我们的预训练过程各自的优势。我们假设,带有VLM初始化的π0架构应该已经为单个任务提供了一个更强的起点,而预训练过程应该进一步提高其性能,尤其是在使用较小的微调数据集时。
图11显示了各种方法在所有任务上的性能,每个任务平均进行10次试验,并且每个任务使用不同数量的微调数据。我们在堆叠碗和特百惠放入微波炉任务中包含了所有基线模型。由于OpenVLA和Octo的性能明显较差,考虑到在现实世界中评估如此多模型的耗时,我们仅针对其中一种数据集大小运行了这些模型。结果表明,π0通常优于其他方法。有趣的是,先前最强的模型是那些完全在目标任务上从头开始训练的模型,这表明在这些领域利用预训练对先前的方法构成了重大挑战。虽然在特百惠任务上,π0的5小时策略表现与基线模型相似,但1小时版本的表现明显更好。正如预期的那样,对于与预训练数据更相似的任务,预训练会带来更大的改进,尽管预训练模型通常优于非预训练模型,有时甚至高达2倍。
图10:微调评估任务:我们将模型微调到各种不同于预训练中所见任务的下游任务。我们的任务代表了与预训练任务不同程度的相似性,包括与预训练最相似的任务(堆叠碗和毛巾折叠)、引入未见过的新元素(微波炉)的任务,以及需要新动作和新物体类型的任务(Franka物品放入抽屉和更换厨房纸巾)。
图11:使用不同数量数据进行微调。π0即使使用较少量的数据也能学习一些较容易的任务,并且预训练模型通常比从头开始训练的模型获得更大的改进
D. 掌握复杂的多阶段任务
在我们最后一组实验中,我们通过微调和语言相结合的方式来解决一系列具有挑战性的多阶段任务。对于其中一些任务,预训练数据中存在相关数据,但需要进行微调才能达到熟练程度。对于另一些任务,预训练数据中则没有相关数据。本次评估中的任务如图12所示,包括:
- 衣物折叠:此任务需要一个静态(非移动)双臂系统来折叠衣物。衣物开始时以随机的褶皱状态放在一个箱子里,目标是取出衣物,将其折叠,然后放在一堆先前折叠好的衣物之上。褶皱衣物的随机初始配置带来了主要挑战,因为策略需要泛化到任何配置。此任务存在于预训练中。
- 移动衣物折叠:在这里,图5中的Fibocom移动机器人必须折叠衣物,在控制方向和位移的同时面临许多相同的挑战。此任务存在于预训练中。
- 烘干机卸载:在这里,Fibocom移动机器人必须从烘干机中取出衣物并将其放入洗衣篮。此任务存在于预训练中。
- 餐桌清理:此任务需要在混乱的场景中清理一张摆放着各种新奇物体的桌子,这比我们直接评估中的基准任务更具挑战性:策略必须泛化到形状和大小各异的未见过物体,并执行复杂的灵巧动作,例如扭转夹持器以拾取大盘子,以及小心地抓取玻璃杯等薄而易碎的物品。机器人必须处理密集的杂乱环境并智能地安排各种行为——例如,要清理一个装有垃圾的盘子,它必须首先拿起盘子,然后将其中的东西抖入垃圾桶,最后将盘子放入回收箱。此任务不存在于预训练中。
- 纸箱搭建:机器人必须组装一个开始时处于扁平状态的纸板箱。此任务带来了一些主要挑战:纸箱需要以正确的方式弯曲,并且机器人在折叠其他部分时需要按住纸箱的某些部分,同时利用双臂甚至桌子表面在折叠动作中进行支撑。机器人可能需要重试某些折叠动作,这需要一个反应灵敏且智能的策略。此任务不存在于预训练中。
- 外卖盒打包:此任务需要将几个食物从盘子移到一个外卖盒中,要求将物品装入盒子中以使其不会伸出,然后用双臂关闭盒子。此任务不存在于预训练中。
- 鸡蛋包装:机器人需要从碗中取出六个鸡蛋并将它们装入鸡蛋盒中,然后关闭盒子。需要根据鸡蛋在碗中的姿态以适当的方式抓取鸡蛋,然后将它们放入鸡蛋盒的空槽中。由于鸡蛋的形状、光滑性以及需要小心放置,这带来了挑战。关闭盒子需要使用双臂。此任务不存在于预训练中。
结果如图13所示,显示了10次试验中每个任务的平均得分。评分标准见附录E。1.0分代表完美执行,而部分分数对应于部分完成的任务(例如,0.5表示一半的物体被正确清理)。这些任务非常困难,我们无法用其他方法解决它们。因此,我们使用这些任务与我们方法的消融版本进行比较,评估经过预训练和微调的π0、仅经过预训练的直接评估版本(“out-of-box”),以及在没有进行任何预训练的情况下仅在微调数据上训练的版本(“scratch”)。结果表明,π0可以解决许多这些任务,我们完整的预训练和微调方案在所有任务中表现最佳。请注意,许多这些更困难的任务在使用预训练模型后显示出非常大的改进,这表明预训练对于更难的任务尤其有用。π0的绝对性能因任务而异,这可能是由于任务难度以及任务在预训练中的代表程度不同所致。我们建议读者在配套网站上观看任务视频,以便更全面地了解这些任务及其复杂性。我们相信,在如此具有挑战性的任务上达到这种自主性能水平,代表了通过学习策略进行灵巧机器人操作的最新技术水平。
图12:我们评估了一系列复杂且时间跨度较长的任务。这包括:使用固定式(a)或移动式(b)机器人从箱子中折叠衣物,清理真实的午餐桌(c),组装盒子(d),将鸡蛋装入蛋盒(e),以及将食物装入外卖盒(f)。这些任务需要结合数十种单独的行为,例如抓取、堆叠、折叠和压平,对各种物体配置的泛化能力,以及复杂的物理特性,例如可变形物体或柔性纸板。
图13:在复杂任务上进行后训练的结果,以10次试验的平均分数表示。完整的预训练π0模型在所有任务中均获得了超过最高分数50%的成绩,并且通常优于消融版本,尤其是在最困难的任务上改进更为显著。
七、讨论、局限性与未来工作
我们提出了一个训练机器人基础模型的框架,我们称之为π0,该框架包括在高度多样化的数据上进行预训练,然后进行直接评估或针对复杂的下游任务进行微调。我们的实证评估研究了结合灵巧性、泛化性和时间上扩展的多阶段行为的任务。我们的模型整合了互联网规模的视觉语言模型(VLM)预训练和流匹配技术,用于表示复杂的高频动作块。我们的预训练混合数据集包含来自7种不同机器人配置和68个任务的10,000小时灵巧操作数据,此外还有大量先前从OXE [10]、DROID [23]和Bridge [52]收集的机器人操作数据。据我们所知,这是迄今为止用于机器人操作模型的最大规模的预训练混合数据集。我们的微调实验包括20多个任务,在这些任务中,我们证明了我们的模型优于各种基线模型,包括先前的VLA模型[24]和专门为灵巧操作设计的模型[57, 9]。我们还研究了我们的后训练方案如何能够实现高度复杂的任务,例如从任意初始配置折叠多件衣物或组装盒子。
我们的框架与大型语言模型(LLM)所采用的训练过程大致相似,后者通常包括在从网络上抓取的非常大的数据集上预训练一个基础模型,然后是一个旨在“对齐”模型以使其能够遵循指令并执行用户命令的后训练过程。人们普遍认为,此类模型中的大部分“知识”是在预训练阶段获得的,而后训练阶段则用于告诉模型应如何利用这些知识来完成用户命令。我们的实验表明,类似的现象可能也发生在机器人基础模型中,即预训练模型具有一定的零样本能力,但像衣物折叠这类复杂任务则需要使用高质量数据进行微调。仅使用这种高质量数据进行训练会导致模型脆弱,无法可靠地从错误中恢复,而以零样本方式运行预训练模型并不总能展现出后训练数据中所演示的流畅策略。
我们希望我们的研究结果能成为实现通用且广泛适用的机器人基础模型的垫脚石。我们的实验表明,此类模型可能很快就会成为现实,但也存在许多局限性,并且有充足的未来工作空间。首先,我们的实验尚未提供关于应如何构成预训练数据集的全面理解:我们结合了所有可用的数据,但理解添加何种类型的数据更有帮助以及应如何对其进行加权仍然是一个悬而未决的问题。并非我们评估中的所有任务都能可靠地工作,并且目前尚不清楚需要多少以及何种数据才能达到近乎完美的性能。最后,在结合高度多样化的数据,特别是来自不同任务和不同机器人的数据时,究竟存在多少正向迁移仍有待观察:尽管我们的结果表明通用预训练机器人基础模型可能成为现实,但这种通用性是否能扩展到更截然不同的领域,例如自动驾驶、导航和足式运动,则有待未来的工作去理解。
附录
A. 贡献
略
B. 模型架构细节
在本节中,我们提供了模型架构的完整描述。我们遵循PaliGemma VLM [5]的设计,但有以下不同之处:(1)为机器人特定的 token(包括状态向量 q t q_t qt 和动作向量 A t = [ a t , . . . , a t + H − 1 ] A_t = [a_t,...,a_{t+H−1}] At=[at,...,at+H−1])增加了额外的输入和输出投影,(2)增加了一个MLP用于整合流匹配时间步信息 τ \tau τ,以及(3)为动作专家准备了一套第二组较小的权重。
- 额外的输入和输出。标准的PaliGemma架构接收一个图像序列 [ I t 1 , . . . , I t n ] [I^1_t,...,I^n_t] [It1,...,Itn],后跟一个语言提示 ℓ t ℓ_t ℓt。我们为机器人的本体感受状态添加了一个输入 q t q_t qt,该状态使用线性投影映射到 transformer 的嵌入维度。最后一组输入 token 对应于带噪动作块 A t τ = [ a t τ , . . . , a t + H − 1 τ ] A^{\tau}_t = [a^{\tau}_t,...,a^{\tau}_{t+H−1}] Atτ=[atτ,...,at+H−1τ],token 的数量等于动作的预测范围(在我们的任务中 H = 50 H = 50 H=50)。我们仅使用与 H H H 个带噪动作对应的 transformer 输出,这些输出使用线性投影解码为 v θ ( A t τ , o t ) v_{\theta}(A^{\tau}_t,o_t) vθ(Atτ,ot)。
- 整合流匹配时间步。带噪动作块 A t τ A^{\tau}_t Atτ 使用一个MLP映射到 transformer 的嵌入维度,该MLP也整合了流匹配时间步 τ \tau τ。对于每个带噪动作 a t ′ τ a^{\tau}_{t'} at′τ,输入到 transformer 的相应嵌入的表达式为 W 3 ⋅ swish ( W 2 ⋅ concat ( W 1 ⋅ a t ′ τ , ϕ ( τ ) ) ) W_3 \cdot \text{swish}(W_2 \cdot \text{concat}(W_1 \cdot a^{\tau}_{t'} ,\phi(\tau))) W3⋅swish(W2⋅concat(W1⋅at′τ,ϕ(τ))),其中 ϕ : R → R w \phi : \mathbb{R} \rightarrow \mathbb{R}^w ϕ:R→Rw 是一个正弦位置编码函数[51], W 1 ∈ R w × d W_1 \in \mathbb{R}^{w \times d} W1∈Rw×d, W 2 ∈ R w × 2 w W_2 \in \mathbb{R}^{w \times 2w} W2∈Rw×2w, W 3 ∈ R w × w W_3 \in \mathbb{R}^{w \times w} W3∈Rw×w, d d d 是动作维度, w w w 是动作专家的嵌入维度(或宽度)。
- 注意力掩码。π0 使用一个分块的因果注意力掩码,包含3个块: [ I t 1 , . . . , I t n , ℓ t ] [I^1_t,..., I^n_t, ℓ_t] [It1,...,Itn,ℓt], [ q t ] [q_t] [qt],和 [ a t τ , . . . , a t + H − 1 τ ] [a^{\tau}_t, ..., a^{\tau}_{t+H−1}] [atτ,...,at+H−1τ]。在每个块内部,存在完全的双向注意力,而每个块中的 token 不能关注未来块中的 token。第一个块包括来自PaliGemma的VLM预训练的输入模态,这些模态被阻止关注未来的块(其中包括新的输入),以最小化来自所述预训练的分布偏移。机器人状态 q t q_t qt 自成一块,因为它不随每个流匹配积分步骤而改变;阻止它关注最后一个块允许其相应的键和值在采样过程中被缓存。最后一个块对应于带噪动作 A t τ A^{\tau}_t Atτ,它可以关注完整的输入序列。
- 动作专家。π0 实现为一个单一的 transformer,带有两组权重(也称为专家[45]),其中每个 token 被路由到其中一个专家;权重仅通过 transformer 的自注意力层相互作用。图像和语言提示 [ I t 1 , . . . , I t n , ℓ t ] [I^1_t,...,I^n_t,ℓ_t] [It1,...,Itn,ℓt] 被路由到较大的VLM骨干网络,我们从PaliGemma初始化该骨干网络。在VLM预训练期间未见过的输入 [ q t , A t τ ] [q_t, A^{\tau}_t] [qt,Atτ] 被路由到动作专家。PaliGemma基于Gemma 2B [49]语言模型,该模型使用多查询注意力(multi-query attention)[44]和配置为{宽度=2048, 深度=18, mlp维度=16,384, 头数=18, kv头数=1, 头维度=256}。由于专家仅在自注意力层中相互作用,因此专家之间的宽度和mlp维度不必匹配。为了加速推理(这需要动作专家的多次前向传播),我们将动作专家缩小为{宽度=1024, mlp维度=4096},从而使参数数量约为3亿。
- 采样流匹配时间步。最初的流匹配论文[28, 32]从均匀分布中采样流匹配时间步: τ ∼ U ( 0 , 1 ) \tau \sim U(0,1) τ∼U(0,1)。Esser等人[14]则提出从一个强调中间时间步的logit-normal分布中采样;作者假设在较高的时间步(低噪声水平),模型只需要学习恒等函数,而在较低的时间步(高噪声水平),模型只需要学习数据分布的均值。然而,我们假设动作预测任务与高分辨率图像合成有细微的不同——虽然在给定文本标签的条件下预测平均图像可能相对容易,但在给定机器人观测的条件下预测平均动作(即学习 E [ A t ∣ o t ] E[A_t|o_t] E[At∣ot])则是一个困难得多的问题;这是因为观测 o t o_t ot 信息量非常大,它对可能动作分布的约束远大于文本标签对可能图像分布的约束。因此,我们设计了一个强调低时间步(高噪声水平)的时间步采样分布;此外,完全不采样高于给定阈值 s s s 的时间步,因为只要积分步长 δ \delta δ 大于 1 − s 1-s 1−s,就不需要这些时间步。该分布由 p ( τ ) = Beta ( s − τ s ; 1.5 , 1 ) p(\tau) = \text{Beta}(\frac{s-\tau}{s} ;1.5,1) p(τ)=Beta(ss−τ;1.5,1) 给出,并在图14中可视化。在我们的实验中,我们使用 s = 0.999 s = 0.999 s=0.999,这允许 δ > 1 1000 \delta > \frac{1}{1000} δ>10001,或者说最多1000个积分步骤。
图14:流匹配时间步采样分布。我们从一个移位的beta分布中采样 τ,该分布强调较低的时间步(对应于噪声较大的动作),并且完全不采样高于截止值 s 的时间步。在我们的实验中,我们使用 s = 0.999。
C. 非VLM基线架构
我们的基线架构π0-small并非基于VLM骨干网络。因此,我们用它来评估VLM预训练的益处。我们将其设计得具有足够的表达能力以适应我们的大型数据集,同时在从头开始训练时仍能提供良好的性能。该模型约有4.7亿参数,并与我们的主模型在以下方面有所不同:(1)我们使用DistilBERT [42]来编码语言指令 ℓ t ℓ_t ℓt 的语言 token,因为该模型不使用语言模型骨干网络;(2)动作专家与观测编码器的输出进行交叉注意力计算,类似于传统的编码器-解码器 transformer [51],而不是我们的主模型(更像一个仅解码器的专家混合模型[45]);(3)图像使用一个较小的预训练ViT编码器(具体来说,是Steiner等人[47]提出的R26-S-32 ResNet-ViT混合模型)进行编码;(4)ViT图像编码器不共享权重;(5)编码观测的 transformer 骨干网络(位于ViT图像编码器之后)未在互联网数据上进行预训练;(6)动作专家使用DiT架构[36]而不是Gemma架构,因此使用AdaLN-Zero层来整合流匹配时间步 τ \tau τ。除此之外,这些模型大致相似:两者都使用预训练的ViT图像编码器,两者都为观测编码器和动作专家使用独立的权重,两者都接收相同的观测格式,并且两者都执行10步流匹配来预测动作块。
D. 推理
回想一下,我们的模型接收一个观测 o t = [ I t 1 , . . . , I t n , ℓ t , q t ] o_t = [I^1_t, ..., I^n_t , ℓ_t, q_t] ot=[It1,...,Itn,ℓt,qt] 和带噪动作 A t τ A^{\tau}_t Atτ,并输出需要被积分以获得下一个流匹配步骤的向量场 v t τ v^{\tau}_t vtτ。每次我们预测一个新的动作块 A t A_t At 时,我们必须编码每个图像 I t 1 , . . . , I t n I^1_t,...,I^n_t It1,...,Itn,对与 o t o_t ot 对应的 token 运行一次前向传播,然后运行10步流匹配,其中每个步骤都需要对与 A t τ A^{\tau}_t Atτ 对应的 token 运行一次前向传播(与 o t o_t ot 对应的键和值被缓存)。表I总结了使用3个摄像头图像执行此操作的计算时间。这些操作在NVIDIA GeForce RTX 4090消费级GPU上计时。对于移动机器人,推理是在外部通过Wi-Fi连接完成的,这增加少量网络延迟。进一步的优化、量化和其他改进可能会进一步减少推理时间。
由于模型一次生成整个H步动作块,因此在需要再次运行推理之前,我们可以执行多达H个动作。然而,我们可能会更频繁地运行推理,并使用各种聚合策略组合来自不同推理调用的动作。我们早期尝试了时间集成(temporal ensembling)[57],发现它会损害策略性能,因此我们选择不聚合动作,而是开环执行动作块。对于20Hz的UR5e和Franka机器人,我们每0.8秒运行一次推理(在执行16个动作之后),对于所有其他以50Hz运行的机器人,我们每0.5秒运行一次推理(在执行25个动作之后)。
E. 评估细节
对于每个任务,我们设计一个评分标准来衡量任务的进展,并将其用于我们的量化结果。我们在下面描述每个任务的评分标准:
A. 评估基础模型
- 衬衫折叠:衬衫折叠被记录为成功或失败。我们通过将衬衫平放在桌子上开始每次衬衫折叠评估。成功的定义是袖子已折叠好,并且衬衫沿长度方向进行了一次对折。我们的评估包括4件小号T恤和1件中号T恤。我们对每件物品进行2次评估,每次评估最多15000步或大约5分钟。
- 简单清理餐桌:此任务满分7分,桌上有7个不同的物体,每正确分类一个物体得1分。
- 困难清理餐桌:此任务满分12分,桌上有12个不同的物体,每正确分类一个物体得1分。此版本的任务包括特别具有挑战性的设置,例如一根筷子放在一块垃圾上面。
- 杂货装袋:此任务满分7分。对于7件杂货中的每一件,将其放入袋中得1分。
- 从烤面包机中取出吐司:此任务满分4分。对于每片吐司,从烤面包机中取出得1分,将其放在盘子上再得1分。
B. 遵循语言指令。根据策略是否成功重新定位每个物体以及是否遵循指令进行评分。
- 清理餐桌:机器人必须遵循指令拿起正确的物体并将它们各自放入正确的容器中。在一个回合中,机器人总共会收到12个物体和大约30条指令。
- 布置餐桌:机器人摆放所有碗碟、餐具和餐巾,并根据语言说明进行调整。在一个回合中,机器人总共会收到7个物体和大约20条指令。
- 杂货装袋:机器人拿起正确的物品(在咖啡豆袋、大麦袋、棉花糖袋、猫粮、意大利面、海苔袋、杏仁袋中选择),并将它们装入纸袋。在一个回合中,机器人总共会收到7个物体和大约14条指令。
C. 学习新的灵巧任务
- 堆叠碗:此任务满分3分。将两个碗堆叠在较大的碗中各得一分,最终产品的整洁度得一分。
- 毛巾折叠:此任务满分3分。毛巾第一次对折得一分,第二次对折得一分,最终产品的整洁度得一分。
- 特百惠放入微波炉:此任务满分4分。打开微波炉得一分,拿起特百惠得一分,将特百惠放入微波炉得一分,关闭微波炉得一分。
- 更换厨房纸巾:此任务满分4分。抓住旧纸巾卷得一分,将其取下再得一分。然后,抓住新的厨房纸巾卷得一分,最后将其放在纸巾架上得最后一分。
- 物品放入抽屉:此任务满分5分。打开抽屉得一分,每拿起3个物品中的1个并放入抽屉各得一分,关闭抽屉得一分。
D. 掌握复杂的多阶段任务
- 衣物折叠:此任务满分4分。我们的评估包括五件物品,三件M、L和XL码的衬衫和两条28和36码的短裤。我们对每件物品进行两次试验,待评估的物品开始时随机揉成一团放在洗衣篮中(而已评估过的物品则开始时是折叠好的一叠)。从洗衣篮中取出一件物品并将其放在桌上得一分。将衬衫或短裤弄平整再得一分。折叠衬衫或短裤得第三分。最后,将物品放在桌角(如果是评估的第一件物品)或将其堆叠在已有的折叠衣物堆上得最后一分。我们每次评估最多运行15000步或大约5分钟。
- 移动衣物折叠:此评估遵循与衣物折叠相同的方案。三件衬衫的尺码分别为M、M和XL,短裤的尺码分别为32和31 W。
- 餐桌清理:此任务满分12分,桌上有12个不同的物体,每正确分类一个物体得1分。此版本的任务包括特别具有挑战性的设置,例如一根筷子放在一块垃圾上面。
- 纸箱搭建:此任务满分5分。成功拿起盒子开始任务得一分。将盒子对折以便可以合上盖板得一分。合上右侧盖板得一分。合上左侧盖板得一分。最终产品整齐居中得最后一分。
- 鸡蛋包装:此任务满分7分。每将一个鸡蛋放入蛋盒的正确槽中得一分,合上盖子得一分。
- 食物打包:此任务满分5分。拿起装有食物的盘子得一分,每将3个食物中的1个放入外卖盒各得一分,合上外卖盒得一分。
- 烘干机卸载:此任务包括让机器人带着洗衣篮接近烘干机并将衣物卸入篮中。我们对此评估满分五分,其中正确接近烘干机得一分。将洗衣篮放在凳子上再得一分。打开烘干机得第三分。将所有衣物放入篮中得第四分,关闭烘干机得第五分。我们使用3件衬衫和2条短裤进行评估,它们开始时随机放置在烘干机内。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐












所有评论(0)