我自己的原文哦~ https://blog.51cto.com/whaosoft/13431196
#DriveTransformer
上交提出:以Decoder为核心的大一统架构写在前面 & 笔者的个人理解
当前端到端自动驾驶架构的串行设计导致训练稳定性问题,而且高度依赖于BEV,严重限制了其Scale Up潜力。在我们ICLR2025工作DriveTransformer中,不同于以往算法Scale Up Vision Backbone,我们设计了一套以Decoder为核心的无需BEV的大一统架构。在Scale Up提出的类GPT式并行架构后,我们发现训练稳定性大幅提高,并且增加参数量对于决策的收益优于Scale Up Encoder。在大规模的闭环实验中,通过Scale Up新架构到0.6B,我们实现了SOTA效果。本篇论文三位共一中的游浚琦和张致远在参与本项目时分别为大二、大三的本科生。
端到端自动驾驶(E2E-AD)已成为自动驾驶领域的一种趋势,有望为系统设计提供一种数据驱动且可扩展的方法。然而现有的端到端自动驾驶方法通常采用感知 - 预测 - 规划的顺序范式,这会导致累积误差和训练不稳定性。任务的手动排序也限制了系统利用任务间协同效应的能力(例如,具有规划感知的感知以及基于博弈论的交互式预测和规划)。此外现有方法采用的dense BEV表示在大范围感知和长时序融合方面带来了计算挑战。为应对这些挑战,我们提出了DriveTransformer,这是一种简化的易于扩展的端到端自动驾驶框架,具有三个关键特性:任务并行(所有Agent、地图和规划查询在每个模块中直接相互交互)、稀疏表示(任务查询直接与原始传感器特征交互)和流处理(任务查询作为历史信息存储和传递)。因此,新框架由三个统一操作组成:任务自注意力、传感器交叉注意力和时序交叉注意力,这显著降低了系统的复杂性,并带来了更好的训练稳定性。DriveTransformer在模拟闭环基准测试Bench2Drive和现实世界开环基准测试nuScenes中均实现了最先进的性能,且帧率较高。
简介
近年来,自动驾驶一直是备受关注的话题,该领域也取得了显著进展。其中最令人兴奋的方法之一是端到端自动驾驶(E2E-AD),其目标是将感知、预测和规划集成到一个框架中。端到端自动驾驶因其数据驱动和可扩展的特性而极具吸引力,能够通过更多数据实现持续改进。
尽管具有这些优势,但现有的端到端自动驾驶方法大多采用感知 - 预测 - 规划的顺序流程,其中下游任务严重依赖于上游查询。这种顺序设计可能导致累积误差,进而导致训练不稳定。例如,UniAD的训练过程需要采用多阶段方法:首先,预训练BEVFormer编码器;然后,训练TrackFormer和MapFormer;最后,训练MotionFormer和规划器。这种分段式的训练方法增加了在工业环境中部署和扩展系统的复杂性和难度。此外,任务的手动排序可能会限制系统利用协同效应的能力,例如具有规划感知的感知以及基于博弈论的交互式预测和规划。
现有方法面临的另一个挑战是现实世界的时空复杂性。基于鸟瞰图(BEV)的表示由于BEV网格的密集性,在更大范围上的检测方面遇到计算挑战。此外,由于梯度信号较弱,基于BEV方法的图像骨干网络未得到充分优化,这阻碍了它们的扩展能力。在时序融合方面,基于BEV的方法通常存储历史BEV特征进行融合,这在计算上也非常耗时。总之,基于BEV的方法忽略了3D空间的稀疏性,丢弃了每一帧的任务查询,这导致了大量的计算浪费,从而影响了效率。
最新的工作ParaDrive试图通过切断所有任务之间的连接来缓解不稳定性问题。然而,它仍然受到昂贵的BEV表示的困扰,并且其实验仅限于开环,无法反映实际的规划能力。为解决这些不足,我们引入了DriveTransformer,这是一个高效且可扩展的端到端自动驾驶框架,具有图2所示的三个关键属性:
任务并行:所有任务查询在每个模块中直接相互交互,促进跨任务知识转移,同时在没有明确层次结构的情况下保持系统稳定。
稀疏表示:任务查询直接与原始传感器特征交互,提供了一种高效直接的信息提取方式,符合端到端优化范式。
流处理:时序融合通过先进先出队列实现,该队列存储历史任务查询,并通过时序交叉注意力进行融合,确保效率和特征重用。
DriveTransformer为端到端自动驾驶提供了一种统一、并行和协同的方法,便于训练和扩展。因此,DriveTransformer在CARLA模拟下的Bench2Drive中实现了最先进的闭环性能,在nuScenes数据集上实现了最先进的开环规划性能。
相关工作回顾
端到端自动驾驶(E2E-AD)的概念可以追溯到20世纪80年代。CIL训练了一个简单的卷积神经网络(CNN),将前视相机图像直接映射到控制命令。CILRS对其进行了改进,引入了一个辅助任务来预测自动驾驶车辆的速度,解决了与惯性相关的问题。PlanT方法建议在教师模型中使用Transformer架构,而LBC则专注于使用特权输入对教师模型进行初始训练。此后,Zhang等人等研究开始探索强化学习以创建驾驶策略。在这些进展的基础上,学生模型得以开发。在随后的研究中,多传感器的使用变得普遍,提升了模型的能力。Transfuser利用Transformer来融合相机和激光雷达数据。LAV采用了PointPainting技术,Interfuser将安全增强规则纳入决策过程。进一步的创新包括MMFN使用VectorNet进行地图编码,以及ThinkTwice为学生模型引入类似DETR的可扩展解码器范式。ReasonNet提出了专门的模块来改进对时序和全局信息的利用,而Jaeger等人则提出了一种基于分类的方法来处理学生模型的输出,以减轻平均化问题。
在另一个明确进行自动驾驶子任务的分支中,ST-P3将检测、预测和规划任务集成到一个统一的鸟瞰图(BEV)分割框架中。此外,UniAD使用Transformer连接不同任务,VAD提出了矢量化表示空间。ParaDrive去除了所有任务之间的连接,而BEVPlanner则去除了所有中间任务。与我们的工作同期,还有基于稀疏查询的方法。然而,它们仍然遵循顺序流程,而本文提出的DriveTransformer将所有任务统一到并行Transformer范式中。
详解DriveTransformer
给定原始传感器输入(例如多视图图像),DriveTransformer旨在输出多个任务的结果,包括目标检测、运动预测、在线地图构建和路径规划。每个任务由其相应的查询处理,这些查询直接相互交互,从原始传感器输入中提取信息,并整合历史信息。算法框架如图2所示。
初始化与标记化
在DriveTransformer进行信息交换之前,所有输入都被转换为统一的表示形式——标记(token)。受DAB-DETR的启发,所有标记由两部分组成:用于语义信息的语义嵌入和用于空间定位的位置编码。在图3中,我们展示了该过程,并在下面详细说明。
- 传感器标记:来自周围相机的多视图图像由诸如ResNet的骨干网络分别编码为的语义嵌入,其中是相机的数量,和是分块后特征图的高度和宽度,是隐藏维度。为了编码传感器特征的位置信息,我们采用中的3D位置编码。具体来说,对于每个像素坐标为的图像块,其在3D空间中的对应光线可以用个等间距的3D点表示:,其中和分别是相机的外参矩阵和内参矩阵,是第个3D点的深度值。然后,将同一光线中各点的坐标连接起来,并输入到多层感知器(MLP)中,以获得每个图像块的位置编码,所有图像块的3D位置编码表示为。
- 任务标记:为了对异构驾驶场景进行建模,初始化了三种类型的任务查询以提取不同信息:(I)Agent查询代表动态对象(车辆、行人等),将用于进行目标检测和运动预测。(II)地图查询代表静态元素(车道、交通标志等),将用于进行在线地图构建。(III)自车查询代表车辆的潜在行为,将用于进行路径规划。遵循DAB-DETR,Agent查询和地图查询的语义嵌入均随机初始化为可学习参数和,其中和是Agent查询和地图查询的数量,为预定义超参数。它们的位置编码和在预定义的感知范围内均匀初始化。对于规划查询,其语义嵌入类似于BEVFormer,通过MLP对车载总线信息进行编码得到,而其位置编码初始化为零。
标记交互
DriveTransformer中的所有信息交换均由标准注意力机制建立,确保了可扩展性和易于部署。因此,该模型可以在一个阶段内进行训练,并表现出强大的可扩展性,这将在实验部分展示。在以下小节中,我们描述DriveTransformer每一层采用的三种信息交换类型,如图4所示。
- 传感器交叉注意力(SCA):在任务和原始传感器输入之间建立了直接路径,实现了端到端学习且无信息损失。SCA的计算方式为:
其中表示更新后的查询。通过这种方式,原始传感器标记根据语义和空间关系与任务查询进行匹配,以端到端的方式提取特定任务信息,且无信息损失。值得注意的是,通过采用3D位置编码,DriveTransformer避免了构建BEV特征,这种方式高效且梯度消失问题较少,有利于模型扩展。
- 任务自注意力(TSA):实现了任意任务之间的直接交互,没有明确的约束,促进了诸如具有规划感知的感知和基于博弈论的交互式预测和规划等协同效应。TSA的计算方式为: [] 通过消除手动设计的任务依赖关系,任务之间的交错关系可以通过注意力以数据驱动的方式灵活学习,这有助于模型扩展。相比之下,UniAD由于训练早期阶段的不一致性,不得不采用多阶段训练策略,因为不准确的上游模块会影响下游模块,最终导致整个训练崩溃。
- 时序交叉注意力:整合了先前观察到的历史信息。现有范式使用历史BEV特征来传递时序信息,这带来了两个缺点:(a)维护长期BEV特征成本高昂;(b)先前携带强先验语义和空间信息的任务查询被浪费性地丢弃。受StreamPETR的启发,DriveTransformer分别为每个任务维护先进先出(FIFO)查询队列,并在每一层对队列中的历史查询进行交叉注意力计算,以融合时序信息,如图5所示。
具体来说,将、、及其相应的位置编码、、表示为DriveTransformer在时序步时最后一层的自车查询、Agent查询和地图查询。假设当前时序步为,我们维护FIFO队列、和,其中是一个预设超参数,用于控制时序队列的长度。在每个时序步之后,当前最后一层的任务查询被推送到队列中,而时刻的任务查询被弹出。此外,由于DETR风格的方法中存在冗余查询,对于Agent和地图查询,只保留那些置信度得分在前的查询,其中是一个超参数。时序交叉注意力将历史查询作为键(Key)和值(Value)。由于不同时序步的自车参考点可能不同,历史查询的位置编码(PE)被转换到当前坐标系(自车转换):
其中
其中是转换后的位置编码,是从时序步到的坐标转换矩阵。此外,由于其他Agent可能有自己的运动,我们进行DiT风格的自适应层归一化(ada-LN)用于运动补偿:
其中
其中层归一化的权重和偏差由时序步时Agent的预测速度和时序步与当前时序步之间的时序间隔控制。此外,我们还将相对时序嵌入设置为以表示不同的时序步,时序交叉注意力的计算方式为:
其中
- 纯注意力架构:总之,DriveTransformer是由多个模块堆叠而成,每个模块包含上述三种注意力机制和一个前馈神经网络(FFN):
其中和是层索引,FFN指Transformer中的MLP,为简洁起见,我们省略了位置编码、残差连接和预层归一化。请注意,原始传感器标记和历史信息、、在所有模块中共享。
基于DETR的任务头设计
受DETR启发,在每个模块后设置任务头,逐步优化预测结果,同时位置编码(PE)也会相应更新。接下来的部分将介绍各任务的具体设计和PE的更新策略,如图6所示。
- 目标检测与运动预测:现有的端到端方法仍采用经典的检测 - 关联 - 预测流程,由于关联过程本身的复杂性,这种流程会给训练带来不稳定性。例如在UniAD中,必须先对用于3D目标检测的BEVFormer进行预训练,以避免TrackFormer训练发散,并且在对MotionFormer和规划头进行端到端训练之前,必须先训练MapFormer和TrackFormer,这就导致其需要采用多阶段训练策略,从而限制了模型的扩展性。
为解决这一问题,DriveTransformer采用了更端到端的方法:不进行跟踪,而是将相同的Agent查询输入到不同的任务头中,以此进行目标检测和运动预测。同一Agent的相同特征会自然地在检测和预测任务之间建立关联。在时序关联方面,由于时序交叉注意力机制是在当前标记和所有历史标记之间进行计算的,因此避免了显式的关联操作,取而代之的是基于学习的注意力机制。为进一步提高训练稳定性并减少这两个任务之间的干扰,运动预测的标签会被转换到每个Agent的局部坐标系中,这样其损失就完全不受检测结果的影响。只有在推理时,才会根据检测结果将预测的路径点转换到全局坐标系中,用于计算与运动预测相关的指标。
- 在线地图构建:该领域近期的研究进展表明,由于地图折线分布的不规则性和多样性,点级特征检索比实例级特征检索更为重要。因此,在进行传感器交叉注意力计算时,我们将每个地图查询复制次,并为每个单点分配相应的位置编码。这样,对于较长的折线,每个点都能更好地检索原始传感器信息。为了将单独的点级地图查询整合为实例级查询,供其他模块使用,我们采用了带有最大池化层和多层感知器(MLP)的轻量级PointNet。
- 路径规划:我们将自动驾驶车辆的未来运动建模为高斯混合模型,以避免模式平均问题,这在运动预测领域是一种常用的方法。具体来说,我们根据轨迹的方向和距离,将所有训练轨迹分为六类:直行、停车、左转、急左转、右转、急右转。为生成这些模式的轨迹,我们通过将正弦和余弦编码的位置输入到MLP中,生成六个模式嵌入,然后将它们添加到车辆自身特征中,以预测六种特定模式下的车辆轨迹。在训练过程中,只有与真实模式对应的轨迹才会用于计算回归损失,即采用赢家通吃的策略,同时我们还训练一个分类头来预测当前模式。在推理时,具有最高置信度得分的模式所对应的轨迹将用于计算指标或执行。
- 从粗到精优化:DETR系列的成功证明了从粗到精的端到端学习优化方法的有效性。在DriveTransformer中,所有任务查询的位置编码(PE)会在每个模块后根据当前预测结果进行更新。具体而言,地图和Agent的位置编码会通过MLP,根据其预测位置和语义类别进行编码,以捕捉元素之间的空间和语义关系。车辆自身的位置编码则通过MLP,根据预测的规划轨迹进行编码,以捕捉车辆的意图,便于后续可能的交互。与DETR类似,在训练过程中,所有模块的任务头都会计算损失,而在推理时,我们只使用最后一个模块的输出结果。
损失函数与优化
DriveTransformer采用单阶段训练方式,在这种方式下,各个任务可以在任务自注意力机制中逐渐学习相互之间的关系,同时在传感器交叉注意力和时序交叉注意力机制的作用下,不会影响彼此的基本收敛。模型包含检测损失(基于DETR的匈牙利匹配损失)、预测损失(赢家通吃式损失)、在线地图构建损失(基于MapTR的匈牙利匹配损失)以及路径规划损失(赢家通吃式损失)。我们通过调整权重,确保所有损失项的量级都在1左右,整体损失函数如下:
实验结果分析
数据集与基准测试
我们使用Bench2Drive,这是一种基于CARLA Leaderboard 2.0的端到端自动驾驶闭环评估协议。它提供了一个官方训练集,为了与所有其他基线方法进行公平比较,我们使用其基础集(1000个片段)。我们使用官方的220条路线进行评估。此外,我们还在nuScenes开环评估中,将我们的方法与其他最先进的基线方法进行比较。DriveTransformer有三种不同规模的模型:
在与最先进的方法进行比较时,我们报告DriveTransformer-Large的结果。在进行消融研究时,由于在Bench2Drive的220条路线上进行评估可能需要数天时序,我们选择10个具有代表性的场景(即Dev10),这些场景平衡了不同的行为、天气和城镇情况,并报告DriveTransformer-Base在这些场景上的结果,以便快速验证。
与SOTA对比
我们在表1、表2和表3中将DriveTransformer与最先进的端到端自动驾驶方法进行比较。可以观察到,DriveTransformer始终优于其他最先进的方法。从表1中可以看出,与UniAD和VAD相比,DriveTransformer的推理延迟更低。值得注意的是,由于采用了统一、稀疏和流式的Transformer设计,DriveTransformer在H800(80G)上训练时的批次大小可以达到12,而UniAD的批次大小为1,VAD的批次大小为4。
消融研究
在消融研究中,所有闭环实验都在Dev10上进行,Dev10是Bench2Drive 220条路线的一个子集,所有开环实验结果则基于Bench2Drive官方验证集(50个片段)。如果未特别说明,我们使用一个较小的模型(6层,512维隐藏层)进行消融研究,以节省计算资源。我们将开源Dev10协议、模型代码和模型检查点。
- 缩放研究:基于Transformer的范式具有极强的可扩展性。由于DriveTransformer由Transformer构成,我们研究了同时增加层数和隐藏层维度时的缩放行为,并将该策略与类似中缩放图像骨干网络的策略进行比较,结果如图7所示。可以观察到,与缩放图像骨干网络相比,扩大解码器部分(即三种注意力机制的层数和宽度)能带来更多收益。这很自然,因为前者直接为规划任务增加了更多计算量。另一方面,对于感知任务,扩大解码器与扩大图像骨干网络的效果趋势相似,这证明了DriveTransformer的泛化能力。然而,它仍落后于大规模视觉语言预训练的图像骨干网络——EVA02-CLIP-L,这与中的发现一致。研究如何将视觉语言模型(VLLM)与自动驾驶相结合,可能是一个重要的研究方向。
- 范式设计研究:在表5中,我们对DriveTransformer的设计进行了消融研究。可以得出以下结论:❶基于表5a,三种注意力机制都有帮助。❷传感器交叉注意力尤为重要,因为没有传感器信息,模型就会盲目驾驶。❸时序信息的影响最。❹任务自注意力可以提高驾驶得分,因为自车查询可以利用检测到的物体和地图元素进行规划。❺基于表5b,我们发现丢弃辅助任务会导致性能下降,这可能是因为用高维输入(周围相机图像)去拟合单一的规划输出相当困难。实际上,在端到端自动驾驶领域,采用辅助任务来规范学习到的表示是一种常见做法。❻单阶段训练足以使模型收敛,而感知预训练(即两阶段训练)并没有优势。这源于任务之间没有手动设定的依赖关系,因此所有任务都可以首先从原始传感器输入和历史信息中学习,而不会相互影响收敛。❼作为一个复杂的基于Transformer的框架,我们发现去除中间层的监督会导致训练崩溃。可能需要进一步探索如何仅依靠最终监督来扩展模型结构。
- 任务设计研究:在表6中,我们对任务头的设计进行了消融研究,得出以下结论:❶对于表6a,在局部坐标系中制定预测输出,解耦了目标检测和运动预测。结果,这两个任务可以分别优化各自的目标,而共享的输入Agent特征自然地关联了同一Agent。卓越的性能证明了避免直接在全局坐标系中进行预测的有效性。❷对于表6b,传感器交叉注意力中的点级位置编码在在线地图构建中能带来明显更好的结果,这表明扩展车道检测的潜在感知范围是有效的。❸对于表6c,多模式规划明显优于单模式规划。通过可视化,我们观察到多模式规划在需要微调转向的场景中能实现更好的控制。这是因为使用L2损失的单模预测将输出空间建模为单一的高斯分布,因此会受到模式平均的影响。
鲁棒性分析
自动驾驶作为一项户外任务,经常会遇到各种事件和故障,因此考察系统的鲁棒性是一个重要的研究方向。为此,我们采用了中的4种设置:❶相机故障:将两个相机遮罩为全黑。❷标定错误:在相机外参中添加旋转和平移噪声。❸运动模糊:对图像应用运动模糊。❹高斯噪声:对图像添加高斯噪声。从表7和表8可以看出,与VAD相比,DriveTransformer表现出显著更好的鲁棒性。这可能是因为VAD需要构建鸟瞰图(BEV)特征,而该特征对感知输入较为敏感。另一方面,DriveTransformer直接与原始传感器特征交互,因此能够忽略那些故障或有噪声的输入,从而表现出更好的鲁棒性。
结论
在本研究中,我们提出了DriveTransformer,这是一种基于统一Transformer架构的端到端自动驾驶范式,具有任务并行、流处理和稀疏表示的特点。它在CARLA闭环评估的Bench2Drive和nuScenes开环评估中均达到了最先进的性能,且帧率较高,证明了这些设计的有效性。然而,与现有的端到端自动驾驶系统类似,DriveTransformer将所有子任务的更新交织在一起,给整个系统的维护带来了挑战。一个重要的未来研究方向是降低它们之间的耦合度,使其更易于分别调试和维护。
#Sce2DriveX
用于场景到驾驶学习的可泛化MLLM框架
摘要
本文介绍了Sce2DriveX:用于场景到驾驶学习的可泛化MLLM框架。端到端自动驾驶直接将原始传感器输入映射到低级车辆控制,它是xxAI的重要组成部分。尽管目前已经在将多模态大型语言模型(MLLMs)应用于高级交通场景语义理解方面取得了成功,但是将这些概念语义理解有效地转化为低级运动控制指令和在跨场景驾驶中实现泛化和共识仍然具有挑战性。本文引入了Sce2DriveX,这是一种类人的驾驶思维链(CoT)推理MLLM框架。Sce2DriveX利用局部场景视频和全局BEV地图中的多模态联合学习,以深入理解远距离时空关系和道路拓扑,从而增强其在3D动态/静态场景中的全面感知和推理能力,并且实现了跨场景的驾驶泛化。在此基础上,它重建了人类驾驶固有的隐式认知链,涵盖了场景理解、元行为推理、行为解释分析、运动规划和控制,从而进一步缩小了自动驾驶和人类思维过程之间的差距。为了提高模型性能,本文开发了首个为3D空间理解和长轴任务推理专门设计的视觉问答(VQA)驾驶指令数据集。大量实验表明,Sce2DriveX从场景理解到端到端驾驶均实现了最先进的性能,并且在CARLA Bench2Drive基准上实现了鲁棒的泛化性。
主要贡献
本文的主要贡献总结如下:
1)本文提出了Sce2DriveX,这是类人的CoT推理MLLM框架,旨在实现从多视图远距离场景理解到行为分析、运动规划和车辆控制驾驶过程的渐进推理学习;
2)本文构建了首个用于3D空间理解和长轴任务推理的综合VQA驾驶指令数据集,并且引入了一个面向任务的三阶段训练过程,以提高Sce2DriveX的感知推理能力;
3)大量实验表明,Sce2DriveX在场景理解、元行为推理、行为解释分析、运动规划和控制信号生成等任务中实现了最先进的性能。
论文图片和表格
总结
本文提出了Sce2DriveX,它实现了从分层场景理解到可解释端到端驾驶的渐进推理。通过对局部场景和全局地图进行多模态学习,Sce2DriveX深入理解了远距离时空关系和道路拓扑,从而增强了跨场景驾驶的泛化和共识。本文构建了首个用于3D空间理解和长轴任务推理的综合VQA驾驶数据集,并且引入了面向任务的三阶段监督微调。实验结果表明,Sce2DriveX在场景理解、元行为推理、行为判断、运动规划和控制信号生成方面表现出色。本文希望,该工作能够为MLLM在自动驾驶中的应用提供见解。
#EMPlanner
自动驾驶规划算法:原理、公式推导与应用解析1. 算法背景
EMPlanner(Evidential Motion Planner)是自动驾驶领域的一种 概率路径规划算法,由德国慕尼黑工业大学(TUM)的学者提出,主要用于解决 高不确定性环境下的运动规划问题。其核心思想是将 环境的不确定性建模为概率分布,并在规划过程中动态计算路径的 可信度,从而生成既安全又高效的路径。
2. 核心原理
2.1 不确定性建模
- 环境建模:将动态障碍物(如行人、车辆)的位置和运动状态视为 随机变量,通过历史数据和传感器观测(如LiDAR、摄像头)进行概率分布建模。
- 传感器噪声:考虑传感器数据的噪声和延迟,例如LiDAR的点云密度变化或摄像头的误检。
2.2 基于隐马尔可夫模型(HMM)的推理
- 状态转移:假设障碍物的运动服从马尔可夫过程,通过隐马尔可夫模型(HMM)预测未来一段时间内的状态分布。
- 观测模型:利用传感器数据更新障碍物状态的 posterior 概率。
2.3 路径规划与风险评估
- 目标函数:
- 动态规划求解:通过动态规划(DP)或迭代优化方法计算最优路径。
3. 算法流程
1. 数据预处理:
- 融合多源传感器数据(如LiDAR、IMU、GPS)。
- 通过 粒子滤波 或 高斯混合模型(GMM)对动态障碍物进行状态估计。
环境概率建模:
- 构建障碍物的 运动概率分布(如速度范围、轨迹分布)。
- 生成 概率占用栅格图(Probabilistic Occupancy Grid, POG),表示每个位置被占用的概率。
路径规划:
- 在概率栅格图上搜索最优路径,使用 改进的Dijkstra算法 或 RRT变种,优先降低碰撞风险并缩短路径长度。
- 动态更新路径:根据实时传感器数据重新计算环境概率分布,并调整路径。
风险评估与决策:
- 计算路径的 风险积分(Risk Integral),综合考虑碰撞概率和后果严重性。
- 若风险超过阈值,则触发避障策略(如紧急制动或变道)。
4. 数学模型4.1 隐马尔可夫模型(HMM)
4.2 路径优化问题
- 优化目标:最小化路径长度与风险加权和。
5. 优势与局限性
优势 |
局限性 |
能够处理动态障碍物和传感器噪声 |
计算复杂度高,实时性受限 |
显式量化路径风险,适合安全关键系统 |
需要精确的环境概率模型 |
支持多目标优化(效率 vs 安全) |
对高维状态空间(如复杂城市环境)扩展性差 |
EMPlanner在Apollo中的应用1. Apollo架构概述
Apollo是百度开源的自动驾驶平台,其架构分为 模块化层级:
markdown
感知层 → 决策层 → 控制层
- 感知层:通过LiDAR、摄像头等传感器检测环境(静态/动态障碍物)。
- 决策层:规划全局路径和局部避障策略。
- 控制层:生成车辆控制指令(转向、加速、刹车)。
2. EMPlanner的具体应用场景
2.1 动态障碍物避障
- 问题:在复杂城市环境中(如路口、人行横道),行人、自行车等动态障碍物的行为具有高度不确定性。
- 解决方案:
- 使用EMPlanner预测障碍物的未来轨迹分布(如行人突然横穿马路)。
- 在规划路径时,为动态障碍物预留 安全缓冲区(Safety Buffer),并根据概率分布动态调整路径。
2.2 传感器数据融合
- 问题:LiDAR和摄像头对同一物体的检测可能存在冲突(如暗光环境下摄像头漏检)。
- 解决方案:
- 通过EMPlanner的 粒子滤波框架 融合多源传感器数据,提高障碍物检测的鲁棒性。
2.3 风险地图生成
- 实现方式:
- 将EMPlanner生成的 概率占用栅格图 输入Apollo的 全局规划模块(Global Planner)。
- 全局规划器基于概率栅格图生成 初始路径,局部规划器(如Lattice Planner)进一步优化路径平滑性与安全性。
3. 代码实现参考
- Apollo开源代码:python
# 示例:EMPlanner在Apollo中的调用(伪代码) from apollo planning import em_planner # 初始化环境模型 env_model = EMPlannerEnvModel(sensor_data, hd_map) # 规划路径 path = em_planner.plan(start_point, end_point, env_model, safety_factor=0.95)
3. 与其他算法的对比
算法 |
适用场景 |
核心区别 |
RRT* |
高维配置空间探索 |
基于采样,不直接处理概率不确定性 |
DWA* |
实时局部避障 |
侧重速度规划,未集成环境概率建模 |
EMPlanner |
不确定性环境下的安全路径规划 |
显式量化风险,支持多目标优化 |
4. 实际案例
- 城市道路避障:
- Apollo在旧金山测试时,利用EMPlanner成功避开突然转向的自行车,路径调整延迟 < 100ms。
- 雨雾天气适应:
- 在传感器性能下降的情况下,EMPlanner通过概率模型补偿检测误差,保持路径规划的可靠性。
总结
EMPlanner通过概率建模与动态规划,为自动驾驶提供了 风险敏感的路径规划方案,特别适合复杂城市环境中的动态避障和传感器融合。其在Apollo中的应用体现了 安全性与效率的平衡,但对计算资源和模型精度要求较高。未来研究方向可能包括 近似算法优化 和 多智能体协同规划。
#如何微调VLA模型?如何优化速度与成功率?
斯坦福大学最新!VLA的有效微调并不明确
最近的视觉-语言-动作模型(VLAs)建立在预训练的视觉-语言模型基础上,并利用多种机器人数据集来展示强大的任务执行、语言跟随能力和语义泛化。尽管取得了这些成功,VLAs在处理新的机器人设置时仍面临挑战,需要通过微调来实现良好性能。然而,如何最有效地进行微调尚不明确,因为存在多种可能的策略。我们研究了VLA适应的关键设计选择,如不同的动作解码方案、动作表示和学习目标,以OpenVLA作为代表性基础模型。我们的实证分析得出了一个优化的微调(OFT)方案,该方案集成了并行解码、动作分块、连续动作表示和基于简单L1回归的学习目标,从而共同提高了推理效率、策略性能和模型的输入输出灵活性。我们提出了OpenVLA-OFT,这是该方案的一个实例化,它在LIBERO仿真基准测试中设置了新的最先进水平,将OpenVLA在四个任务套件上的平均成功率从76.5%显著提高到97.1%,同时将动作生成吞吐量提高了26倍。在现实世界评估中,我们的微调方案使OpenVLA能够成功执行双臂ALOHA机器人上的灵巧、高频控制任务,并在平均成功率上比使用默认微调方案的其他VLA(π0和RDT-1B)以及从头开始训练的强大模仿学习策略(Diffusion Policy和ACT)高出多达15%(绝对值)。
代码:https://openvla-oft.github.io
行业介绍
最近的视觉-语言-动作模型(VLAs)——通过对大规模机器人数据集上的预训练视觉-语言模型进行微调以实现低级机器人控制,已在各种机器人和任务上展示了强大的任务性能、语义泛化和语言跟随能力。尽管它们具有这些优势,但对于在新型机器人和任务上令人满意地部署VLAs而言,微调至关重要,然而,在巨大的设计空间中,最有效的适应方法尚不清楚。希望将VLA微调到新机器人设置和任务的机器人从业者可能会默认使用预训练时使用的相同训练方案(或其参数高效变体),但显然这并不一定会产生最佳策略,而且文献中对替代微调方法的实证分析有限。
先前的工作已开始探索VLA适应策略,Kim等人提出了通过LoRA的参数高效微调。然而,其自回归动作生成对于高频控制(25-50+Hz)来说仍然太慢(3-5Hz),并且LoRA和VLAs的全参数微调在双臂操作任务中通常表现不佳。尽管最近的方法通过更好的动作标记化方案提高了效率,实现了2到13倍的速度提升,但动作块之间的显著延迟(例如,最近FAST方法的750ms)仍然限制了高频双臂机器人的实时部署。探索实现令人满意的速度和质量的替代VLA适应方法仍然是一个研究不足的领域。
这项工作中,我们使用OpenVLA(一个代表性的自回归VLA)作为基础模型,研究了将VLAs适应到新型机器人和任务的关键设计决策。
研究了三个关键设计选择:动作解码方案(自回归与并行生成)、动作表示(离散与连续)和学习目标(下一个标记预测与L1回归与扩散)。
研究表明了几个相互关联的关键见解:(1)并行解码与动作分块不仅提高了推理效率,还提高了下游任务的成功率,同时使模型的输入输出规格更加灵活;(2)与离散表示相比,连续动作表示进一步提高了模型质量;(3)使用L1回归目标微调VLA与基于扩散的微调在性能上相当,但训练收敛和推理速度更快。基于这些见解,我们引入了OpenVLA-OFT:一个优化的微调(OFT)方案的实例化,该方案集成了并行解码和动作分块、连续动作表示和L1回归目标,以增强推理效率、任务性能和模型输入输出灵活性,同时保持算法简单性。在标准化的LIBERO仿真基准测试和双臂ALOHA机器人上的灵巧任务上进行了实验。在LIBERO中,OpenVLA-OFT通过建立97.1%的平均成功率树立了新的最先进水平,超过了微调后的OpenVLA策略(76.5%)和π0策略(94.2%),同时使用8步动作块将动作生成速度提高了26倍。对于现实世界中的ALOHA任务,通过添加特征线性调制(FiLM)来增强方案(表示为OFT+),以在需要准确语言理解的任务中加强语言接地。OpenVLA-OFT+成功执行了基于用户提示的灵巧双臂任务,如折叠衣服和操作目标食品项目(见图1),在平均成功率上比微调后的VLA(π0和RDT-1B)以及从头开始训练的突出模仿学习策略(Diffusion Policy和ACT)高出多达15%(绝对值)。使用25步动作块,OpenVLA-OFT+实现了比基础OpenVLA快43倍的吞吐量,表明我们的新微调方案能够实现实时机器人控制,同时具有强大的任务性能和语言跟随能力。
相关工作一览
先前的工作已利用语言和视觉基础模型来增强机器人能力,将它们用作加速机器人策略学习的预训练视觉表示,用于机器人任务中的物体定位,以及用于高级规划和推理。最近,研究人员探索了对视觉-语言模型(VLMs)进行微调以直接预测低级机器人控制动作,从而产生了“视觉-语言-动作”模型(VLAs),这些模型已证明对分布外测试条件和未见过的语义概念具有有效的泛化能力。这些工作主要侧重于模型开发,而我们则侧重于开发微调此类模型的方案,并通过我们的实证分析来证明各个设计决策。
尽管微调对于现实世界中VLA的部署至关重要,但对有效微调方案的实证分析仍然有限。虽然一些研究,展示了各种参数更新策略,并从其发现中表明LoRA微调能够有效适应操作频率低于10Hz的单臂机器人,但他们的分析并未扩展到具有高频控制(25-50+Hz)的双臂机器人,这是一个更复杂的控制场景。我们通过探索VLA适应设计决策来弥补这一差距,以在真实世界的双臂操纵器上实现快速推理和可靠任务执行,该操纵器具有25Hz的控制器。
最近的工作通过新的动作tokenlize方案提高了VLA效率,使用矢量量化或基于离散余弦变换的压缩来表示动作块(动作序列),所使用的标记比简单逐维分箱(如RT-2和OpenVLA中使用的)更少。虽然这些方法使自回归VLA的速度提高了2到13倍,但我们探索了自回归建模之外的设计决策,因为自回归建模仍然受到迭代生成的固有限制。我们的并行解码方法,当与动作分块结合时,实现了显著更高的速度提升:在单臂任务中(具有单个输入图像)吞吐量为0.07ms,在双臂任务中(具有三个输入图像)吞吐量为0.321 ms。
另一项研究证明了在高频双臂操纵中使用生成方法(如扩散或流匹配)对VLA进行微调的有效性。尽管这些基于扩散的VLA通过同时生成多时间步动作块而比自回归VLA具有更高的动作吞吐量,但它们在训练和推理时引入了计算权衡,因为训练速度较慢,并且在推理时存在多个去噪或集成步骤。此外,这些基于扩散的VLA在架构、学习算法、视觉-语言融合方法和输入输出规格方面存在显著差异,哪些设计元素对性能影响最大仍不清楚。通过受控实验,我们表明,使用更简单的L1回归目标进行微调的策略在任务性能上可以与更复杂的方法相媲美,同时实现显著更高的推理效率。
预备知识回顾
原始OpenVLA公式
使用OpenVLA作为我们的代表性基础VLA,这是一个通过对Prismatic VLM在Open X-Embodiment数据集的100万个片段上进行微调而创建的70亿参数操纵策略。OpenVLA的原始训练公式使用每时间步7个离散机器人动作标记的自回归预测:3个用于位置控制,3个用于方向控制,1个用于夹持器控制。它采用下一个标记预测和交叉熵损失作为学习目标,类似于语言模型。
动作分块
先前的工作表明,动作分块(即预测和执行一系列未来动作而不进行中间重新规划)提高了许多操纵任务上的策略成功率。然而,OpenVLA的自回归生成方案使得动作分块不切实际,因为即使在NVIDIA A100 GPU上生成单个时间步的动作也需要0.33秒。对于大小为K的时间步和动作维度D,OpenVLA需要KD个顺序解码器前向传递,而没有分块则只需要D个传递。这种K倍增加的延迟使得动作分块对于高频机器人来说在原始公式下不切实际。
研究VLA微调关键设计决策
VLA微调设计决策
使用基础模型的自回归训练配方对VLAs进行微调的方法面临两个主要限制:推理速度慢(3-5Hz),不适合高频控制;在双臂操纵器上任务执行不可靠。
为了解决这些挑战,我们研究了VLA微调的三个关键设计组件:
(a)动作生成策略(图2,左):我们将自回归生成(需要顺序逐标记处理)与并行解码(能够同时生成所有动作并启用高效动作分块)进行比较。
(b)动作表示(图2,右):检查离散动作(归一化动作的256箱离散化),这些动作通过基于softmax的标记预测进行处理,与通过MLP动作头直接生成的连续动作进行比较。对于离散动作,语言模型解码器的最终隐藏状态被线性投影到logits中,这些logits通过softmax操作形成动作标记的概率分布。对于连续动作,最终隐藏状态而是被映射到归一化连续动作,由一个单独的动作头MLP完成。
(c)学习目标(图2,右):将使用下一个标记预测进行离散动作微调的策略与使用L1回归进行连续动作微调的策略以及使用条件去噪扩散进行比较。
我们使用OpenVLA作为基础模型进行研究,通过LoRA微调对其进行适应,因为训练数据集相对较小(500个演示,而预训练为100万个演示)。
实现替代设计组件
基础OpenVLA模型最初采用离散动作标记的自回归生成,通过下一个标记预测进行优化。我们在实现微调替代设计决策的同时保持原始预训练不变。
1)并行解码和动作分块
与需要顺序标记预测的自回归生成不同,并行解码使模型能够在单个前向传递中将输入嵌入映射到预测的输出序列。修改模型以接收空动作嵌入作为输入,并用双向注意力替换因果注意力掩码,允许解码器同时预测所有动作。这将动作生成从D个顺序传递减少到单个传递,其中D是动作维度。
并行解码自然地扩展到动作分块:为了预测多个未来时间步的动作,只需在解码器的输入中插入额外的空动作嵌入,这些嵌入随后被映射到动作块。对于大小为K的块,模型在单个前向传递中预测KD个动作,将吞吐量提高K倍,对延迟影响最小。虽然并行解码在理论上可能不如自回归方法具有表现力,但实验表明,在各种任务上性能没有下降。
2)连续动作表示
OpenVLA最初使用离散动作标记,其中每个动作维度被归一化到[-1,+1]并均匀离散化为256个箱。虽然这种方法很方便,因为它不需要对底层VLM进行架构修改,但离散化过程可能会牺牲精细的动作细节。我们研究了连续动作表示,并借鉴了两种来自主流模仿学习方法的学习目标:
首先,通过用MLP动作头替换解码器的输出嵌入层来实现L1回归,该动作头直接将最终解码器层隐藏状态映射到连续动作值。该模型被训练以最小化预测动作和真实动作之间的平均L1差异,同时保持并行解码的效率优势,并可能提高动作精度。
其次,实现了条件去噪扩散建模,其中模型学习预测在正向扩散过程中添加到动作样本中的噪声。在推理期间,策略通过反向扩散逐渐对嘈杂的动作样本进行去噪以产生真实动作。虽然这种方法提供了可能更具表现力的动作建模,但它要求在推理期间进行多次前向传递(在我们的实现中为50个扩散步骤),从而影响部署延迟,即使使用并行解码也是如此。
3)附加模型输入和输出
虽然原始OpenVLA处理单个相机视图,但一些机器人设置包括多个视角和附加的机器人状态信息。我们实现了一个灵活的输入处理管道:对于相机图像,使用OpenVLA的双视觉编码器从每个视图提取256个patch embedding,这些embedding通过共享投影仪网络投影到语言嵌入空间中。对于低维机器人状态输入(例如,关节角度和夹持器状态),使用单独的投影网络将其映射到与语言embedding相同的embedding空间作为附加输入embedding。
所有输入embedding(视觉特征、机器人状态和语言标记)在序列维度上连接,然后传递给解码器。这种统一的潜在表示使模型能够在生成动作时关注所有可用信息。结合并行解码和动作分块,该架构可以高效地处理丰富的多模态输入,同时生成多个时间步的动作,如图1所示。
通过FiLM增强OpenVLA-OFT以实现增强的语言接地
1)语言跟随的挑战
在部署到具有多个视角(包括腕部安装相机)的ALOHA机器人设置时,我们观察到策略可能会因视觉输入中的虚假相关性而难以跟随语言。在训练期间,策略可能会在学习预测动作时学会关注这些虚假相关性,而不是适当地关注语言指令,从而在测试时导致对用户命令的遵守情况不佳。此外,语言输入可能仅在任务中的特定时刻至关重要——例如,在用勺子舀取食材后决定舀取哪种食材的“将X舀入碗中”任务中。因此,如果没有特殊技术,训练模型以适当关注语言输入可能特别具有挑战性。
2)FiLM
为了增强语言跟随,采用特征线性调制(FiLM),它将语言embedding注入视觉表示中,以便模型更关注语言输入。计算任务描述语言embedding x的平均值,并将其投影以获得缩放和移位向量γ和β。这些向量通过仿射变换调制视觉特征F:
一个重要的实现细节是选择视觉transformer中要进行调制的“特征”。虽然人们可能会自然地考虑将每个patch embedding视为要调制的特征,但我们发现这种方法会导致较差的语言跟随。相反,从FiLM在卷积网络中的操作方式中汲取灵感,其中调制以空间无关的方式应用于整个特征图的缩放和移位,我们将γ和β的每个元素应用于跨所有视觉patch embedding的相应隐藏单元,以便γ和β影响所有patch embedding。这使得γ和β成为DViT维向量,其中DViT是视觉patch embedding中的隐藏维度数。
在每个视觉transformer block的自注意力层之后和前馈层之前应用FiLM,每个块使用单独的投影仪(见图8)。
实验:评估VLA微调设计决策
LIBERO实验设置
在LIBERO仿真基准上进行了评估,该基准以Franka Emika Panda机器人为特征,包含相机图像、机器人状态、任务注释和末端执行器姿态动作增量的演示。使用了四个任务套件:LIBERO-Spatial、LIBERO-Object、LIBERO-Goal和LIBERO-Long,每个套件提供500个专家演示,涵盖10项任务,以评估策略对不同空间布局、对象、目标和长期任务的泛化能力。遵循Kim等人的方法,过滤掉不成功的演示,并通过LoRA对每个任务套件独立微调OpenVLA。我们训练了50,000到150,000个梯度步骤(非扩散方法)和100,000到250,000个梯度步骤(扩散方法),使用64到128的批量大小,跨越8个A100/H100 GPU。每50,000步测试一次模型,并报告每次运行的最佳性能。除非另有说明,否则策略接收一张第三人称图像和语言指令作为输入。对于使用动作分块的方法,将分块大小设置为K=8,以匹配Diffusion Policy基线,并在重新规划之前执行完整的分块,我们发现这可以提高速度和性能。
LIBERO任务性能比较
对于令人满意的部署,机器人策略必须展示可靠的任务执行。我们首先评估不同的VLA微调设计决策对LIBERO基准上成功率的影响。
效率分析表明,并行解码(PD)和动作分块(AC)一起对于高频控制(25-50+Hz)是必要的,特别是对于具有两倍动作维度的双臂机器人。因此,我们评估了同时使用这两种技术的OpenVLA策略,比较了使用离散动作、连续动作(使用L1回归)和连续动作(使用扩散)的变体。
表I中的结果显示,并行解码和动作分块不仅提高了吞吐量,还显著提高了下游任务的成功率,与自回归OpenVLA策略相比,平均成功率提高了14%(绝对值)。这种改进在LIBERO-Long中尤为明显,表明动作分块有助于捕捉时间依赖性并减少累积误差,从而导致更平滑和更可靠的任务执行。
此外发现使用连续动作变体比离散动作变体进一步提高了5%(绝对值)的成功率,这可能是由于动作预测的精度更高。L1回归和扩散变体实现了可比的性能,表明高容量的OpenVLA模型可以有效地建模多任务动作分布,即使使用简单的L1回归也是如此。
LIBERO推理效率比较
高效推理对于在高频控制机器人上部署VLA至关重要。现在评估并行解码(PD)、动作分块(AC)和连续动作表示如何影响模型的推理速度。我们通过在一个NVIDIA A100 GPU上对每个模型变体进行100次查询来测量平均延迟(生成一个机器人动作或动作分块所需的时间)和吞吐量(每秒生成的总动作数)。每个查询处理一张224x224像素的图像和一个LIBERO语言指令(“拿起字母汤并放入篮子”)。
表II中的结果显示,并行解码通过将解码器部分的策略中的7个连续前向传递替换为单次传递,将延迟降低了4倍,吞吐量提高了4倍。添加动作分块(K=8)由于解码器中更长的注意力序列而增加了17%的延迟,但与并行解码结合使用时,它显著提高了吞吐量,实现了比基线OpenVLA快26倍的加速。使用L1回归的连续动作变体在效率方面与基线模型相差无几,因为额外的MLP动作头增加的计算成本可忽略不计。而扩散变体需要50个去噪步骤,因此延迟是基线模型的3倍。然而,由于并行解码和分块,它仍然比原始自回归变体快2倍的吞吐量。这意味着尽管动作分块之间存在显著的延迟,但扩散变体仍然比原始自回归变体更快地完成机器人情节。
模型输入输出灵活性
并行解码使OpenVLA能够以最小的延迟增加生成动作分块,从而增强了模型输出的灵活性。并行解码和动作分块实现的显著加速为处理额外的模型输入提供了空间。我们通过微调OpenVLA以包括额外的输入(如机器人本体感觉状态和手腕安装相机图像),验证了这一点,这将传递给语言模型解码器的视觉patch embedding数量从256增加到512。尽管输入序列长度显著增加,但微调后的OpenVLA策略仍保持了高吞吐量(71.4Hz)和低延迟(0.112秒),如表II所示。
在LIBERO基准上评估这些具有额外输入的策略,结果显示在所有任务套件上的平均成功率进一步提高。值得注意的是,我们增强的微调OpenVLA策略甚至超过了表现最好的π0策略(通过更大规模的预训练和更复杂的学习目标(流匹配)受益),以及多模态扩散转换器(MDT)。即使我们的基础模型预训练数据较少,但发现替代的VLA适应设计决策使微调后的OpenVLA策略能够在LIBERO基准上建立新的最先进的性能。
优化微调配方
基于在任务性能、推理效率和模型输入输出灵活性方面的改进,提出了一种优化微调(OFT)配方,用于VLA适应,该配方结合了三个关键组件:
- 并行解码与动作分块
- 连续动作表示
- L1回归目标
这些设计选择协同工作,产生强大的策略,可以在高频下部署,同时保持算法的简单性。我们将使用OFT配方从OpenVLA基础模型微调的策略称为OpenVLA-OFT。
将OpenVLA适应到现实世界中的ALOHA机器人
虽然前面的实验结果证明了OpenVLA-OFT在仿真中的有效性,但在机器人平台上成功部署,这些平台与预训练期间看到的平台有很大不同,对于展示广泛的适用性至关重要。因此,我们评估了优化微调配方在ALOHA机器人设置上的效果,这是一个操作频率为25Hz的真实双臂操作平台。在OpenVLA预训练期间从未遇到过的新颖灵巧操作任务上进行了评估(其预训练仅涉及单臂机器人数据)。
先前的工作表明,使用自回归VLAs的LoRA微调对于此类任务是不切实际的,因为其吞吐量(对于单臂机器人为3-5Hz,对于双臂任务甚至更低)远低于实时部署所需的25-50Hz。因此,在实验中排除了这个基线,并比较了更有效的方法。
ALOHA实验设置
ALOHA平台由两个ViperX300S机械臂、三个相机视角(一个俯视图,两个手腕安装)和机器人状态输入(14维关节角度)组成。它以25Hz(从原始的50Hz降低,以加快训练速度,同时仍保持平滑的机器人控制)运行,动作表示目标绝对关节角度。该设置与OpenVLA的预训练存在显著差异,后者的预训练包括仅单臂机器人数据、来自第三人称相机的单个相机视角、无机器人状态输入、低频控制(3-10Hz)和相对末端执行器姿态动作。这种分布偏移对模型的适应构成了挑战。
我们设计了四个代表性任务,测试可变形物体操作、长期技能、工具使用和语言驱动控制:
- “折叠短裤”:在桌子上用两次连续的双臂折叠折叠白色短裤。训练:20次演示。评估:10次试验。
- “折叠衬衫”:通过多次同步双臂折叠折叠白色T恤,测试接触丰富的长期操作。训练:30次演示。评估:10次试验。
- “用勺子舀X到碗里”:用左手臂将碗移到桌子中央,用右手臂用金属勺子舀指定的配料(“葡萄干”、“杏仁和绿色M&M”或“椒盐脆饼”)。训练:45次演示(每种配料15次)。评估:12次试验(每种配料4次)。
- “把X放进锅里”:用左手臂打开锅,用右手臂放入指定物品(“青椒”、“红椒”或“黄玉米”),然后盖上锅盖。训练:300次演示(每种物品100次)。评估:24次试验(12次在分布内,12次在分布外)。
使用OFT+在每个任务上独立微调OpenVLA,进行50,000到150,000个梯度步骤(总批量大小为32,使用8个A100/H100-80GB GPU),动作分块大小为K=25。在推理时,在重新查询模型以获取下一个分块之前执行完整的动作分块。
比较方法
ALOHA任务对OpenVLA构成了显著的适应挑战,因为基础模型在控制频率、动作空间和输入模式方面与其预训练平台存在显著差异。出于这个原因,我们将OpenVLA-OFT+与最近的VLA(RDT-1B和π0)进行比较,这些VLA在双臂操作数据上进行了预训练,并可能合理地预期在这些下游任务上表现更好。在作者推荐的配方下对这些模型进行微调,并将这些方法作为重要的比较点。此外,为了提供与计算上有效的替代方案的比较,评估了两种流行的模仿学习基线:ACT和Diffusion Policy,这些基线是从头开始在每个任务上训练的。
为了使这些基线方法能够进行语言跟随,我们使用语言条件实现。对于ACT,修改EfficientNet-B0以处理通过FiLM的CLIP语言嵌入。对于Diffusion Policy,使用DROID数据集的实现,该实现根据DistilBERT语言嵌入对动作去噪进行条件设置,并修改为支持双臂控制和多个图像输入。
仅对语言依赖任务(“用勺子舀X到碗里”和“把X放进锅里”)使用此FiLM-EfficientNet实现。对于衣服折叠任务,我们使用原始的ResNet-18骨干网络。
ALOHA任务性能结果
在所有方法(ACT、Diffusion Policy、RDT-1B、π0和OpenVLA-OFT+)上评估了我们的四个ALOHA任务。为了提供细致的评估,我们使用一个预定义的评分细则,该细则对部分任务完成分配分数。图4显示了汇总性能分数,而图5特别跟踪了语言依赖任务的语言跟随能力。
非VLA基线的性能。从头开始训练的基线方法显示出不同程度的成功。ACT虽然能够完成基本任务,但产生的动作不够精确,整体性能最低。Diffusion Policy表现出更强的能力,在衣服折叠和舀取任务上的可靠性匹配或超过RDT-1B。然而,它在“把X放进锅里”任务上表现挣扎,该任务拥有更大的训练数据集,这表明与基于VLA的方法相比,其可扩展性有限。
微调VLAs的性能。微调VLA策略在任务执行和语言跟随方面普遍优于从头开始训练的基线,这与先前的研究结果一致。在VLAs中,我们观察到不同的特性:RDT-1B通过其“交替条件注入”方案实现了良好的语言跟随,但在处理闭环反馈方面存在局限。如图7所示,它经常在“用勺子舀X到碗里”任务中犯错——例如,在错过实际碗后继续将配料倒入想象中的碗,这表明过度依赖本体感觉状态而非视觉反馈。另一方面,π0展示了更稳健的执行,动作更平滑,对反馈的反应更好,经常能够从初始失败中成功恢复(如图7所示)。虽然其语言跟随能力略逊于RDT-1B,但π0在整体任务完成方面表现更好,成为最强的基线。最后,OpenVLA-OFT+在任务执行和语言跟随方面实现了最高性能(图6显示了OpenVLA-OFT+成功任务展开的示例)。这尤其值得注意,因为基础OpenVLA模型仅在单臂数据上进行了预训练,而RDT-1B和π0分别在大量双臂数据集(6000个情节和8000小时双臂数据)上进行了预训练。这表明微调技术在下游性能方面可能比预训练数据覆盖范围更重要。
FiLM的消融研究。通过消融FiLM并评估策略在语言依赖任务上的语言跟随能力,来评估FiLM在我们OpenVLA-OFT+方法中的重要性。如图5所示,去除FiLM后,语言跟随能力下降到33%,这相当于随机选择正确指令的成功率。这表明FiLM对于防止模型过度拟合到虚假视觉特征并确保对语言输入的适当关注至关重要。
ALOHA推理效率比较
通过测量每个方法100次查询的动作生成吞吐量和延迟来评估推理效率。我们在表III中报告了结果。即使仅添加了手腕相机输入,原始OpenVLA公式也显示出较差的效率,吞吐量为1.8Hz,延迟为0.543秒。相比之下,OpenVLA-OFT+实现了77.9Hz的吞吐量,尽管其延迟与先前LIBERO实验中的方法相比更高,因为它必须处理两个额外的输入图像。
其他方法由于架构较小,显示出比OpenVLA-OFT+更高的吞吐量:ACT(84M参数)、Diffusion Policy(157M)、RDT-1B(12亿参数)和π0(33亿参数)。而OpenVLA有75亿参数。ACT通过结合基于L1回归的单通道动作生成(如OpenVLA-OFT+)与其紧凑架构,实现了最高速度。此外,尽管规模更大,但π0由于其优化的JAX实现(所有其他方法均使用PyTorch),在速度上超过了RDT-1B和Diffusion Policy。
值得注意的是,OpenVLA-OFT+的吞吐量(77.9Hz)接近RDT-1B的吞吐量(84.1Hz),尽管其规模大了7倍,因为它在单次前向传递中生成动作,而不需要像RDT-1B那样进行多次去噪步骤。