一、核心思想:“从显式标注” 到 “隐式倒逼”

1. 发现痛点:论文首先指出了现有的VLA(视觉-语言-动作)的模型一般有一个通病:视觉注意力分散。当机器人需要执行“把西瓜放进黄碗”时,现有模型的注意力可能散落在桌面、其他杂物上,导致抓错对象,或在长任务中无法按顺序操作不同目标:

2. 人类启发:作者借鉴人类的“凝视”机制,即人眼在观察的时候,只有中央的凹区域是清晰的,周边是模糊的,这种机制让人能够精准聚焦于当前的操作目标。

3. 传统做法可以分为两类:

(1)显式输入:用外部模型将目标物体裁剪出来,和原图一起输入。但是这会增加推理的负担,并且没有改善模型本身的注意力。

我当时产生的疑惑:为什么裁剪出了目标,还要输入原图,是为了让机器人知道这个物体周围的环境吗?

回答:由于检测只是机器人的手段,动作才是机器人的目的。由于裁剪图通常被Resize为正方形,这会彻底破坏物体的绝对坐标和尺度。机器人需要知道目标物体是在自己的哪个方位上,比如是在桌子的左前方还是右后方,以及距离机械臂底座有多远,如果丢掉了原图,就只知道要检测该物体,但是不知道该物体处于哪里,就失去“往哪一个方向伸手”的几何基准。还有一个很重要的点是,原图可以提供机器人路径规划的基础,原图中会包含有障碍物,桌子边缘等,都是规划无碰撞轨迹的必要条件,所以原图不可以去掉,也不可以统一编码。

(2)CoT输出:让模型先输出边界框坐标,再来输出动作,会导致模型的性能下降。主要因为它会引发模态鸿沟、训练冲突和能力错位三个层面的问题。VLA的本质是三种不同模态的信息之间建立联系:视觉模态用于处理高维、连续的像素信息;语言模态用于处理离散的、符号化的语义信息;动作模态用于处理低维、具体的物理控制信号。比如,一开始强制模型生成边界框坐标,那么就只是在视觉空间内完成对于目标的定位,接下来就是映射到动作空间的物理控制指令上,去输出关节角度应该怎么移动之类的。但是这个“视觉-动作”的映射是远比“视觉-语言”和“语言-动作”的映射更加复杂和直接。图像中的位置往往存在有缩放,并不能等同于真实世界的坐标位置,将图像中的像素坐标和机器人的动作坐标“硬对齐”,容易导致模型过拟合。

4. 该篇作者提出的创新:ReconVLA 不直接要求模型输出坐标或输入裁剪图,而是将“目标操作区域(Gaze Region)”的图像特征重建作为辅助监督信号。这迫使VLA的视觉编码器在内部学习到细粒度的、区域专一的表征,从而在推理时自发地将视觉注意力聚焦到正确目标上(类似人类的“凝视”行为)。

那为什么可以构建“自发地”视觉注意力机制?怎么进行图像特征重建的?那么接下来就和大家详细的讲述这个方法的构建流程:

模型的输入是RGB图像,但是被分成两条完全独立的路径:

(1)VLA主路径(用于理解和行动):输入原始完整的RGB图像I。经过VLA自己的视觉编码器Si gLIP来提取图像特征,标记为h_i, 然后输入到LLM大模型中;

(2)重建辅助路径(用于提供监督信号):输入裁剪出的目标区域的RGB图像I'(Gaze region),将其单独送入到VAE编码器F,提取潜空间特征z_{0}

第二步中修改的点在于将“直接输入裁剪的目标区域图像给VLA主网络”,更改为“专门喂给VAE编码器用于生成重建的真值标签”。

5. 实现流程

实现流程分为数据准备、模型架构设计和两阶段训练这三大部分:

Stage1: 自动化数据构建(数据的预处理)

输入:开源机器人数据,包括图像I、文本指令S和动作A;

处理:利用微调后的Grounding DINO (开放词汇目标检测器),根据文本指令在图像中检测出“待操作的目标区域——Gaze Region I' ”

输出:构建成对的数据集(原始图像和裁剪后的目标区域的图像),并提供对应的动作标签。动作标签代表机器人关节或者末端执行器的物理控制信号,类似于[0.12, -0.34, 0.56, 0.78, -0.21, 0.45, 0.98]这样的7维向量。其中前三维度代表机器人手臂末端(夹爪中心)在三维空间中的XYZ坐标。表示要去哪里;中间三个维度表示末端执行器的旋转姿态(roll、pitch、yaw);最后一个维度表示夹爪的开合程度(0是完全闭合,1是完全张开),这个动作标签,是在机器人成功抓取对应物体时记录下来的关节角度和末端位置。

Stage2: 模型架构与前向计算

模型中包含有两条并行的计算分支:

输入:多视角图像I(一个是原始图,一个是裁剪图)和文本指令S;

接着:通过视觉编码器(SigLIP)和分词器得到图像标记hI和文本标记hs;

接着:输入到大语言模型(LLM-基于Qwen2-7B),自回归输出动作标记a(也就是输出动作 token),经过动作分词器映射为机器人执行的动作编码(也就是数字,抓夹的xyz还有姿态的移动与抓夹的开闭程度);

最后:再来计算输出的动作和真实获得的反馈之间的交叉熵损失:

Stage3: 重建分支(核心创新)

利用VLA内部的视觉输出作为“条件”,将裁剪出来的目标区域I‘送入冻结的VAE编码器F中,提取真实潜空间特征z0;

接着:对VAE提取的潜空间特征z0进行噪声加入,得到zt;轻量级扩散Transformer接收条件hR和时间步t,预测加入的噪声ϵ;加入的hR这个条件的目的是为了去反向更新VLA模型。举一个例子:比如一开始LLM模型中输出的hR里是只包含有“香蕉”的特征,但是轻量级的Diffusion收到的是hR和带有噪声的zt(带有噪声的苹果),那么diffusion这个模块就会试图根据hR(香蕉信息)来去计算“苹果应该长什么样”,并推算噪音,那么这样子就是牛头不对马嘴,DiT预测出来的噪音ϵ_pred,和真实的噪声有很大的差别,梯度回传的时候会大力惩罚VLA的注意力模块,迫使VLA修改内部权重,知道它输出的hR能够包含有苹果的特征,让噪声预测正确。

最后:构建重建损失(这一部分作为视觉损失,因为是图像特征的提取)

Stage3: 两阶段训练策略(目标是精确度+泛化性能的保障)

Step1: 大规模视觉预训练

在构建好的大规模数据集上先去预训练轻量级diffusion和微调LLM的视觉Projector层,使其学会“根据指令重新构建特定区域的能力”,相当于使用diffusion来去训练;

Step2: 下游任务微调

在具体的仿真中进行数据微调,由于经过了预训练,模型是具备了“看清目标”的视觉表征(能够将目标物体的特征构建正确),只需要将这类精细的表征与特定动作空间对齐。在测试的时候,取出掉扩散重建模块,只保留训练好的VLA模型(因为VLA此时具备了正确提取目标物体特征的能力)。

6. 总结

不同于显示建模和CoT,不是让模型先“说出”或者“看到”框选的目标,而是强制VLA生成的视觉特征hR要能够包含有目标区域的内容(比如目标区域中有苹果,构建的hR就要包含有苹果的信息而不是香蕉的)。利用辅助任务来迫使注意力精准聚焦,再配合大规模的预训练,去解决VLA无法生成图像的问题。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐