cloudinwind's blog
Paper Reading: Embodied AI 1Blur image
评分准则
平平无奇的论文
正常的论文
广受认可或者让我眼前一亮的论文
奠基性的论文或者我非常喜欢的论文
毋庸置疑的最棒的论文

前言#

RL菜鸡开始进军Embodied AI,慢慢积累,提升自己。

ACT#

Arxiv ID 2304.13705
幻觉翻译 2304.13705

ACT采用了CVAE架构,使用了BERT风格的编码器以及Transformer风格的解码器,在高频机器人Manipulation任务上表现出优异的性能。

ACT是一种经典的机器人Manipulation方法,采用了CVAE架构,上图展示了ACT的模型架构。 ACT的输入是机器人Joint position以及多视角下的观测图像,输出是未来一系列的Action。 CVAE-Encoder采用了BERT-like的结构,以机器人Joint position和专家Action chunking(加上了position embedding)为输入,并将[CLS]经过投影后得出隐向量zz。 CVAE-Decoder采用Transformer-like的结构,输入是经过特征提取后的多视角Image token、机器人Joint position以及经过CVAE-Encoder编码后的隐向量 zz(在测试阶段, zz是0),输出是Action chunking。 在训练过程中,使用了L1损失而非L2损失,这里文章里有详细的解释。 ACT使用了Temperal ensembling来提高输出动作哦的平滑性,其实就是针对多个Action chunking同个时间步下的Action进行加权,具体见图。 ACT在文章的最后给出了详细的流程图,非常清晰,这点很值得点赞!

推荐指数:

DP#

Arxiv ID 2303.04137
幻觉翻译 2303.04137

DP使用历史观测作为Condition的Diffusion模型来生成Action Chunk。具有更快的推理速度以及更多的动作模态

Diffusion Policy是非常经典的工作。 简单来说,就是使用Diffusion模型来进行Action的预测,输入是Noise,输出是Action Chunk。文中给出了CNN-based和Transformer-based的两种变体。 不同于DDPM,除了去噪step kk,DP还将历史观测 ot,ot1,ot2o_t,o_{t-1},o_{t-2} 作为Condition。 DP直接输出Action Chunk,加快推理速度的同时也提高了Action的一致性和多样性。 在实际执行过程中,采用了保守策略,只执行Action Chunk的前几步Action,这样会更加稳定。

推荐指数:

RT-1#

Arxiv ID 2212.06817
幻觉翻译 2212.06817

RT-1采用FiLM结构处理Image观测以及Language指令得出Token,并使用Transformer-Decoder来解码Action

RT-1是Google于22年提出的工作,是一种王源(传统)VLA模型。 VLA模型其实就以视觉图像、语言指令等为输入,输出智能体的Action。 为什么这么说它是王源(传统)呢?因为它没有使用经过大规模预训练的LLM或是VLM作为Fusion模型。 RT-1旨在实现泛化性能,使用了大规模的Multi-task Dataset进行训练,能够完成少量的Unseen Task。 文中给出了详细的架构图,下面我来分块讲解。 从整体上来看RT-1,它以历史图像(文中是6个图像)和语言指令为输入,以Action为输出。 首先,它使用了FiLM架构来融合Image和Language的信息。 视觉主干网络是EfficientNet-3B(经过ImageNet预训练),语言特征提取使用了Universal Sentence Encoder,这些网络的参数能从网上下载。 然后,得出了Image Token,并进一步使用TokenLearner进行降维处理。 最后,将Token拼接起来,并使用位置编码,经过一个Transformer-Decoder风格的解码器,最终得出Action。 值得注意的是,RT-1将连续动作进行了离散化,文中具体离散为256个区间。 在结构上可以看到,RT-1采用了许多推理加速的方法,比如减少输入的Token或是采用高效的模型(EfficientNet-3B)。 RT-1虽然能够做到一定程度的泛化,但是也有一定的局限性。 为什么说具有局限性?首先,RT-1只使用了具身Dataset直接拟合Action,优质的具身Dataset本来就少,而且难以获取。 再来就是,RT-1也很容易摆烂,也是因为Dataset不够全面,遇到一些没有见过的物体,可能就无法work了。 RT-1早期的贡献还是值得肯定的,并且在后续的工作RT-2中解决了这些问题。

推荐指数:

RT-2#

Arxiv ID 2307.15818
幻觉翻译 2307.15818

RT-2加入了VLM进行Fusion,是现有比较规范的VLA架构。

RT-2是Google继RT-1后于2023年提出的一种VLA模型。 RT-2抛弃了RT-1的FiLM结构,使用了预训练的VLM来处理Image观测与Language指令(本质是Image经过ViT映射为Language Token并与指令Token一同输入到LLM中)。 RT-2采用了PaLI-X 和 PaLM-E 作为主干,这两个模型都进行了大规模VQA预训练。 和RT-1一样,RT-2也对连续动作进行了离散化处理(256个区间),但RT-2将离散动作映射到了LLM Token中,因此需要保留256个词元作为动作词元。 对PaLI-X,将动作词元对应到整数词元。对PaLM-E,则采用频率最低的256词元作为动作词元。 同时,RT-2对训练数据进行了处理,转为了适合VLM训练的VQA格式。 RT-2使用了协同微调,也就是将网络数据与机器人数据混合起来微调,这样可以提高泛化能力。 因为使用LLM进行Action的输出,所以需要限制其输出动作词元,RT-2使用了Prompt进行限制。 RT-2发布了不同参数规模的模型,如5B和55B。5B可以部署在本地,55B需要使用云服务进行部署。 RT-2还可以结合CoT的架构进行推理,如SayCan这类方法,以处理更加复杂的指令。 RT-2在Unseen限制下表现出一定的泛化能力,但还是具有局限性。 比如,它不能处理一些没有经验的新动作,且无法完成一些Unseen Object的动力学任务(如移动马克笔到指定位置)。 它使用离散化的动作,可能难以处理一些高精度的任务。 而且使用低频词元去学习高频输出的动作词元,会出现双峰学习的问题(学习VLM降低这些词元的输出频率,而学习VLA却要提高,属于是左右脑互博)。

推荐指数:

OpenVLA#

Arxiv ID 2406.09246
幻觉翻译 2406.09246

OpenVLA-like的奠基工作

OpenVLA基本继承了RT-2的思想,形成了OpenVLA-like的VLA范式。 简单来说,就是使用LLM对Image观测以及Language指令进行Fusion,输出Action Token,最后再Detokenizer成机器人可执行的Action。 OpenVLA使用Prismatic-7B VLM作为主干,文中详细解释了为什么采用Prismatic-7B VLM。 和RT-2一样,使用256个频率最低的词元作为Action Token。 训练数据主要使用了OXE Dataset,并对数据进行了处理,以便于训练。 最终,OpenVLA展示了在不同消费级和服务级的GPU上的运行效果。 然而,OpenVLA也有着诸多Limitation。 首先,它只接受单图像预测,无法处理异构的机器人设置。 其次,它的吞吐量不够,无法实现高频率的控制。 最后,同时也是最大的硬伤,和RT-2一样,在面对Co-Training时,选择频率最低的256个Token作为Action Token,会出现双峰学习问题。 但不可否认的是,OpenVLA还是一份伟大的工作,开创了OpenVLA-like的VLA学习范式。

推荐指数:

OXE | RT-X#

Arxiv ID 2310.08864
幻觉翻译 2310.08864

Embodied AI领域的大规模Dataset

Open X-Embodiment数据集包含超过100万个真实机器人轨迹,涵盖22种机器人实体,从单机械臂机器人到双臂机器人和四足机器人。 该数据集是通过汇集来自全球 34 个机器人研究实验室的 60 个现有机器人数据集,并将它们转换为一致的数据格式以便于下载和使用而构建的。 该团队还使用OXE训练了RT-1和RT-2,展现出泛化性能。 工作量如此之大,伟大无需多言。

推荐指数:

Unified Video Action Model#

Arxiv ID 2503.00200
幻觉翻译 2503.00200

UVA使用掩码学习了通用的多任务模型

从数据流上看,UVA首先学习了Image与Action Chunk的Joint Latent,然后使用Diffusion模型解码出未来的Action Chunk以及观测Image。 为了兼容多种类型的输入,并解耦出对应的Action Chunk以及Image,UVA采用了掩码学习。 下面讲解学习Joint Latent的流程。 对于每张历史Image使用预训练的VAE编码器进行编码,得出NNdd维的Image Token。 对于每个历史Action Chunk,为了对齐Image Token的维度,采用重复MM次拼接的方式对齐到NN维度,并经过一个MLP投影到N×dN\times d。 对于要预测的Image,处理方式与历史Image一样,但加上了定义好的掩码。 最终,将三类Token拼接在一起,输入到Transformer中进行编码,得出Joint Latent。 接下来讲解预测流程。 对于预测Image,将每个Token作为Image Diffusion的Condition,经过去噪还原出局部的VAE的Latent,最后拼接经过VAE的解码器还原出Image。 对于预测Action Chunk,则将所有的Token作为Action Diffusion的Condition,经过去噪得出Future Action Chunk。 UVA使用了灵活目标的掩码训练方法,有助于防止模型对特定任务产生过拟合,从而提升模型的整体通用性和鲁棒性。

推荐指数:

Genie Envisioner#

Arxiv ID 2508.05635
幻觉翻译 2508.05635

推荐指数:

TinyVLA#

Arxiv ID 2409.12514
幻觉翻译 2409.12514

TinyVLA是一种早期的PI-like VLA

TinyVLA首次提出了VLM+DP的VLA范式,这个范式后续被应用到了 π\pi 系列。 在这个范式下,Action不再由LLM的Token Detokenize出来,而是直接由一个Action Expert(DP或是ACT)输出。 这样做,可以避免RT-2以及OpenVLA中的双峰学习问题,能够避免灾难性遗忘,使得VLM和Action Expert各司其职。 在TinyVLA中,选用了Pythia作为VLM主干,选用DP作为Action Expert。 Action Expert以VLM主干输出的信息为Condition,输出Action Chunk。 在训练过程中,使用LoRA微调VLM,防止了VLM的灾难性遗忘,且可以进行高效的微调。 在实验部分,TinyVLA超越了OpenVLA,且可以在OOD的场景下完成一些任务。 TinyVLA应该是最早提出PI-like架构的工作,算是祖师爷。

推荐指数:

CogACT#

Arxiv ID 2411.19650
幻觉翻译 2411.19650

CogACT使用BERT-like的VLM进行Fusion,使用DP输出Action Chunk

CogACT也是一种PI-like的VLA,分为VLM Fusion和Action Expert模块。 在VLM Fusion模块中,CogACT采用了一种BERT-like的方式进行Fusion,输入Image观测以及Language指令,输出类似于[CLS]的Cognition Feature。 在Action Expert模块中,以Cognition Feature为Condition,经过一个DiT得出Action Chunk。 CogACT和ACT一样,使用了类似的Action Ensembling,但CogACT中的权重是自适应的,避免了不同模式中不合理地聚合Action。

推荐指数:

PI-0#

Arxiv ID 2410.24164
幻觉翻译 2410.24164

PI-like系列奠基之作

简单说一下 π0\pi_0 的两个结构,对Image观测与Language指令进行Fusion的VLM以及基于FLow Matching的Action Expert。在Fusion模块,考虑到实时控制的需求,采用了规模小便利性高的 PaliGemma。Image观测被ViT映射到语义空间,与Language指令一同进入PaliGemma,得出上下文Token。Action Expert采用Flow Matching结构建模Action连续分布。其输入为随机化的Action Chunk,以上下文Token的cross attention以及机器人的Joint Position作为Condition,使用Flow Matching Loss进行训练,输出真实的Action Chunk。 在训练数据上,π0\pi_0 使用了长达10000小时的真机数据,以及开源数据OXE等。在多种任务上表现出强大的性能,非常牛逼。

推荐指数:

PI-0.5#

Arxiv ID 2504.16054
幻觉翻译 2504.16054

推荐指数:

GR-3#

Arxiv ID 2507.15493
幻觉翻译 2507.15493

推荐指数:

InstrucVLA#

Arxiv ID 2507.17520
幻觉翻译 2507.17520

推荐指数:

DinoV3#

Arxiv ID 2508.10104
幻觉翻译 2508.10104

推荐指数:

FiS-VLA#

Arxiv ID 2506.01953
幻觉翻译 2506.01953

推荐指数:

VIMA#

Arxiv ID 2210.03094
幻觉翻译 2210.03094

VIMA 采用 Multi-Modal Prompt 来完成一系列的 Robotic Manipulation 任务

VIMA 的具体做法就是将 Robotic Manipulation 任务规范为 Multi-Modal Prompt。 Multi-Modal Prompt 具体实现为 Vision 与 Text 的排列组合,文中考虑了6种任务类别。 由于时代的局限,当时没有 Multi-Modal 的 Robotic Task 的 Benchmark。 于是,该团队提出了VIMA-Bench,可以通过脚本化的 Oracle 智能体生成大量的模仿学习数据。

VIMA 这个工作比较早期,所以只使用了 T5 进行 Vision 与 Text 的 Fusion。 对于 Text,采用预训练的 T5 词嵌入获取 Text Token。 对于 Scene Vision,首先使用领域微调的 Mask R-CNN 来提取物体,然后经过 ViT 编码成 Scene Token。 对于 Object Vision,和 Scene Vision一样的方式,编码为 Object Token。 经过 T5 模型,可以得出 Prompt Tokens。

VIMA 控制器采用了 Decoder-Only 的架构,于 Decision Transformer 类似,采用序列建模的方式。 VIMA 控制器以 History 为输入,输出 Action。 这部分与 Fusion 相似,被处理成了若干的 Vision Token,然后与机器人的 Joint Position 以及 Action 拼接,形成 History Token。 在推理过程中,经过了多层的 Self-Attention 与 Cross-Attention 结构,自回归产生下一步的 Action。 在 Cross-Attention 模块中,Prompt Tokens 被投影至 KPK_{\mathcal{P}}VPV_{\mathcal{P}},并使用 History 投影的 QHQ_{\mathcal{H}}查询。

推荐指数:

SayCan#

Arxiv ID 2204.01691
幻觉翻译 2204.01691

SayCan 引入 RL 中的 Value Function 来纠正 LLM 的幻觉问题

SayCan 是任务规划的早期工作。任务规划就是给一个高级任务指令,分解为一系列机器人可执行的下游任务。 很显然,具有强泛化能力的 LLM 非常适合做这个任务,但也有一些问题。 最主要的问题就是 LLM 无法识别到物理世界,从而产生一些机器人无法执行的任务,也就是幻觉问题。

为了解决这个问题,SayCan 引入了 RL 中的 Value Function,表示为在当前状态下执行成功某个 skill 的成功率。 在 SayCan设置的场景中,机器人有固定的 skill 集合,每次从里面选择一个 skill 执行。 直接让 LLM 输出需要执行的 skill 是不保险的,因为可能输出 skill 集合中没有的 skill。 所以,SayCan 不再让 LLM 去输出下一步执行的 skill,而是让 LLM 给所有的 skill 进行评分。 同时,SayCan 会给 LLM 一些 Example Prompt,让 LLM 能够更加有效地提取知识。 最后将两者结合,去选择机器人应该执行的 skill。

推荐指数:

PaLM-E#

Arxiv ID 2303.03378
幻觉翻译 2303.03378

基于 PaLM 训练的通用机器人场景 VLM

PaLM-E 做的事情很简单,就是在 PaLM 的基础上添加若干的视觉编码组件,如 ViT、OSRT等。 然后,使用 VQA 与机器人场景数据进行 Co-Training,这样就得到了一个通用的 VLM,可以处理多种任务。 在机器人场景下,PaLM-E 可以发挥 Planning 的作用。

PaLM-E 其实没有多少的 insight,主要是在输入上做处理,具体可以去看原文。 但 PaLM-E 的效果很好,在 Planning 任务中薄纱了当时的 SayCan,且有跨任务的能力。

推荐指数:

ViLA#

Arxiv ID 2311.17842
幻觉翻译 2311.17842

对 VLM 使用 Prompt 进行 Planning

ViLA 的思路非常简单,就是告诉 VLM 当前要执行的 Task 以及 Obs,然后使用 Prompt 输出 CoT 形成 Task Planning, 然后维护 TODO List,每次执行 TODO List 中的第一条 Low-level Task,不断循环直到任务结束。

ViLA 的思路虽然简单,但是有用且本质,非常具有启发性。

推荐指数:

CoPa#

Arxiv ID 2403.08248
幻觉翻译 2403.08248

结合 VLM、SoM、GraspNet、SE(3)等方法形成完整的操作流程

CoPa 结合了许多种方法,让机器人直接输出 Action 去完成 high-level 任务。 CoPa 将大多数操作任务分为任务导向抓取和运动规划两个阶段。

在”任务导向抓取”中,分为粗粒度 Object 锚定和细粒度 Grasp 锚定。 在粗粒度 Object 锚定中,先使用 SoM 去分割出 Obs 中的可抓取 Object,然后再使用 GPT-4V 去筛选最终抓取 Object。 在细粒度 Grasp 锚定中,使用同样的方式去筛选最终 Grasp 的位置。

进一步,CoPa 使用 GraspNet 去生成机器人的候选抓取姿态,并使用 Grasp 锚定进行筛选。

在”任务运动规划”中,首先采用同样的锚定方式识别多个任务相关的部件。 然后,使用 GPT-4V 生成操作约束限制。 最后,可以得出一系列的 SE(3) 的矩阵,求可以得出抓取姿态。

推荐指数:

PointLLM#

Arxiv ID 2308.16911
幻觉翻译 2308.16911

3D 点云版本的 VLM

PointLLM 主要有两个贡献,第一个是提出了基于 Prompt 的 3D LLM 问答数据标注方法,第二点是训练一个 3D 点云版本的 VLM。 由于时代的局限性,当时没有用于 3D 点云用于 LLM 问答的数据集。 于是,这篇工作基于 Cap3D 数据集,基于 Prompt 使用 VLM 对数据进行标注。 随后,PointLLM 使用这份数据训练了一个 3D 点云版本的 VLM,如框架图所示。

推荐指数:

EmbodiedGPT#

Arxiv ID 2305.15021
幻觉翻译 2305.15021

借助 Q-Former 将 Planning 引入到 Action 决策中

EmbodiedGPT 是一个端到端的决策模型,并且具有跨任务的能力,如 TAMP、VQA 等。 下面简单描述一下 EmbodiedGPT 的工作流,可以分为 Planning 和 low-level 决策执行阶段。

对于 Planning 阶段,EmbodiedGPT 首先使用 ViT 对图像信息进行编码得出 Vision Token。 然后,Vision Token 与可学习的 Embodied Token 经过 Q-Former 进行 Fusion。 最后,Fusion 后的信息与 Text Prompt 一同输入到 LLaMA3 中得出 Planning Text。

对于 low-level 决策执行阶段,Planning Token、Embodied Token 以及 Vision Token 再次在 Q-Former 进行 Fusion,得出 Instance Information。 同时,为了捕获全局信息,图像信息经过 ImageNet 预训练的 ResNet50 进行全局平均池化特征提取,得出 Global Information。 最后,这两个 Information 拼接在一起,并输入到 low-level 的决策网络中,以输出 low-level action。

EmbodiedGPT 的亮点是借助 Q-Former 将 Planning 的信息融入了 low-level 的决策中。

推荐指数:

RT-Trajectory#

Arxiv ID 2311.01977
幻觉翻译 2311.01977

使用 Trajectory 代替 Instruction 的 RT-1

RT-Trajectory 做的事情很简单,就是使用运动 Trajectory 去代替了 RT-1 中的 Text Instruction。 在具体实现中,Trajectory 被表示为一张 轨迹图像。 在训练过程中,使用从数据集中标注的 Trajectory 图像,文中给出了详细的标注方法。 而在推理过程中,提供了三种方式去得出 Trajectory 图像,详细见图。

RT-Trajectory 这篇工作证明了,在 low-level 控制中使用 Text 进行引导可能不是最优的选择,这种 Trajectory 引导能够处理更加细粒度的控制。 同时,RT-Trajectory 缺点也很明显,在推理过程中,无法保证 Trajectory 是合理的,特别是将 3D Trajectory 映射为 2D 图像,会存在失真的现象。

推荐指数:

Im2Flow2Act#

Arxiv ID 2407.15208
幻觉翻译 2407.15208

首先基于 Object 生成 Flow,然后用于生成 low-level policy

Im2Flow2Act 是一个 End-to-End 的模型,其核心思想是基于 Object Flow 去生成 low-level policy。

Im2Flow2Act 首先基于 Task Description 以及 初始 Frame 去生成 Object Flow。对于初始 Frame,使用 DINO 去检测出 Object 的框图,然后在框图中均匀采样 Points ,作为 Object Flow 的初始 Points。之后,以初始 Frame、初始 Points 以及 Task Description 为 Condition,使用视频生成模型 AnimateDiff 去生成 Object Flow。

为了确保实时感知,Im2Flow2Act 首先根据初始 Frame 以及当前 Frame 使用点追踪算法 TAPIR 去捕获 Object 的当前的 Keypoints。随后,使用 BERT-like 的状态编码器将 Keypoints 压缩为 [CLS]。同时,为了进行时间对齐,也就是让机器人自己做到哪里了,Im2Flow2Act 使用了一个 Transformer 将 Object Flow、[CLS]以及机器人 Joint Position 编码成 Latent。最后,以 Latent、[CLS]以及 Joint Position 为 Condition,使用 DP 去生成 Action Chunk。

这篇工作比 RT-Trajectory 更加有细粒度,但还是存在 3D 歧义的问题。

推荐指数:
Paper Reading: Embodied AI 1
https://cloudflare.cloudinwind.top/blog/paper-reading-eba1
Author 云之痕
Published at December 26, 2025
Comment seems to stuck. Try to refresh?✨