google deepmind团队
谷歌旗下最大的两个 AI 研究机构——地处伦敦 DeepMind 与位于硅谷的 Google Brain 合并成立新部门 Google DeepMind。其将机器学习和系统神经科学的最先进技术结合起来,建立强大的通用学习算法。代表作有AlphaGo,AlphaStar,AlphaFold等。近期在具身智能方面诞生了RT系列的作品。
主题相关作品
- RT-1
- RT-2
- RT-H
- RT-Trajectory
RT-1
RT1的出现就是为了解决:
• 机器人学习中的泛化问题。尤其是在真实世界控制任务中,模型需要能够处理多样化的任务、环境和对象。
• 机器人数据收集的难度和成本较高问题。训练具有良好泛化能力的学习模型,解决了如何在机器人领域中利用大规模、多样化的任务无关数据集来训练模型的问题
使用Everyday robots的移动机械手,它有7个自由度的手臂,一个两指夹持器和一个移动底座
我们的训练数据由人类提供的演示组成,我们用机器人刚刚执行的指令的文本描述来标注每个片段。指令通常包含一个动词和一个或多个描述目标对象的名词。为了将这些指示组合在一起,我们将它们分成许多技能。
RT-1的Transformer架构模型通过开放式任务无关训练和高容量架构来吸收多样化的机器人数据。RT-1模型结合了FiLM(Feature-wise Linear Modulation)调节的EfficientNet、TokenLearner以及Transformer,以实现高效的推理速度和实时控制的可行性。RT-1 的输入由图片序列、自然语言指令构成,输出由机械臂运动的目标位姿( x, y, z, roll, pitch, yaw)、gripper stαtus 、模式转换指令构成。
robotics transformers
Instruction and image tokenization
使用预训练的EfficientNet和Universal Sentence Encoder来处理图像和文本指令,提取特征。通过FiLM层将图像特征和文本嵌入结合起来,以增强模型对任务相关特征的提取。
6张动作视频历史帧序列(分辨率300×300)输入到预训练的 ImageNet EfficientNet-B3 模型中得到 9×9×512 的 spatial feature map 然后flatten得到81个visual tokens
为了融合语言指令,RT-1 使用 Universal Sentence Encoder(USE)对指令进行 embedding,然后将这个 embedding 作为预训练的FiLM(Feature-wise Linear Modulation)层的输入
RT-1的图像和指令 tokenization 总共有16M的参数,包含26层 MBConv 块和FiLM层,输出 81个 vision-language tokens。
为了包含语言指令,我们以预训练语言嵌入的形式将image tokenizer设置在自然语言指令上,从而允许在早期提取与任务相关的图像特征并提高RT-1的性能。指令首先通过Universal Sentence Encoder(Cer et al., 2018)嵌入。然后将该嵌入用作输入,将identity初始化的FiLM层(Perez等人,2018)添加到预训练的EfficientNet中,以调节图像编码器。通常,将FiLM层插入预训练网络的内部会破坏中间激活,并抵消使用预训练权值的好处。为了克服这个问题,我们初始化稠密层(fc和hC)的权重,使FiLM仿射变换为零,允许FiLM层最初充当恒等并保留预训练权重的函数。我们发现,在没有ImageNet预训练的情况下,使用从头初始化的effentnet进行训练时,identity-initialized FiLM也会产生更好的结果,但它并没有超过上面描述的初始化。
TokenLearner
使用TokenLearner模块来减少Transformer需要处理的token数量,从而提高推理速度
为了进一步压缩需要处理的token数量并加快推理速度,RT-1采用了TokenLearner,这是一个element-wise attention module,它学习如何将大量token映射到更少的token集合中。
实现思路:
• 计算一个空间注意力图,突出显示重要区域(使用卷积层或 MLP)。
• 然后将这个空间自注意力图应用到输入中,来为每个区域进行不同的加权(忽略不必要的区域),并将结果空间池化,来生成最终学习的 token。
• TokenLearner将来自FiLM-EfficientNet层的81个视觉token降采样到8个最终token,这些token随后被传递给Transformer层。
Decoder-only Transformer
采用Transformer模型来学习图像、文本和动作之间的映射关系,并输出离散化的动作token。
实现思路:
• 将6张图的序列,每张图的8个token concat 成48个token
• 输入到一个decoder-only的Transformer里,包含有8个自注意力层和19M的参数,用于输出action token。
Action tokenization
action token在RT-1中被离散化为256个区间。这包括臂部运动的7个维度(x、y、z、滚转、俯仰、偏航、夹持器开度)和基座运动的3个维度(x、y、偏航)。
RT-系列训练中使用的动作字符串表示。这样一个字符串的例子可以是一系列机器人动作令牌号码,例如“1 128 91 241 5 101 127 217”,其中每个数字代表一个特定的动作区间(旋转、位置变化)。
对所有的 action 进行归一化,然后拼接,得到下面这个轨迹:
Loss
我们使用标准的分类交叉熵目标和因果mask(早先在基于transformer的controllers上用的)
Inference speed
与许多大型模型的应用(如自然语言或图像生成)相比,需要在真实机器人上实时运行的模型的独特要求之一是快速和一致的推理速度。考虑到执行本工作中所考虑的指令的人类速度(我们测量的速度在2 - 4秒范围内),我们希望模型不会明显慢于此。根据我们的实验,这一要求对应于至少3hz的控制频率和由此产生的模型推理时间预算,给定系统中的其他延迟,小于100ms。
Model selection
通过Real to sim来近似评估跨多任务的模型性能,训练一个retinaGAN将仿真图像转成真实图像:
RT-2
前作RT1的限制:
• RT1 是纯 low-level controller 的任务,训练的时候不会从互联网规模的丰富语义知识中受益
• 机器人控制数据成本高,数据集小(130k),模型泛化性能差
• 模型参数量少(35M),无法具有理解和推理能力
• PaLM-E 这些又是 high-level planning 的,训练的时候会从互联网规模的丰富语义知识中受益,但是本质上是充当状态机的角色,只是解释命令并将其解析为单个原语(例如拾取和放置对象)
解决思路:
• 利用好PaLM-E 这种预训练的能力来增强泛化能力
○ RT1 只是尽可能地拟合数据集的轨迹,泛化能力有限
○ RT1+PaLM-E 可以找一些更符合人的行为的轨迹
• 即训练一个单一的模型同时具有以下两种能力:
○ 将机器人的观察转换成动作的能力(RT1)
○ 多模态大模型的推理能力(PaLM-E 等)
方法
结合high-level planning 的VLM 和大规模网络数据,使用网络数据和机器人轨迹联合微调SOTA VLM 得到Vision-Language-Action Models,即将大型预训练VLM 的能力直接集成到机器人的low-level control中(或者反过来说),从而促进泛化并实现语义推理的涌现
Pre-Trained Vision-Language Models(high-level reasoning & planning)
利用预训练的视觉-语言大模型(PaLI-X(5B & 55B)和PaLM-E(12B)),输入图片序列和文本,产生一个 token序列
1. 大规模数据集:这些模型通常在包含数十亿图像-文本对的大规模数据集上进行预训练,这些数据集涵盖了多种语言和广泛的主题,从而使模型能够学习到丰富的视觉和语义知识。
2. 多模态学习:预训练视觉-语言模型通过同时处理视觉(图像)和文本(描述、问题等)输入,学习到跨模态的表示,这使得模型能够理解和生成与视觉内容相关的自然语言。
3. 强大的基础能力:通过在多样化的互联网数据上进行预训练,这些模型获得了强大的基础能力,包括对象识别、场景理解、属性抽取和复杂的推理任务。
4. 迁移学习:预训练模型的一个关键优势是它们可以通过迁移学习适应特定的下游任务。这意味着在预训练阶段学到的知识可以迁移到新的任务上,通常通过在特定任务的数据上进行微调来实现。
注意:
• PaLM-E 生成连续的是控制指令(high-level instruction),如上图所示,而不是 action,直接output action的工作比如Gato、VIMA、RT-1等
• 文章只是假定了存在一个low-level policy or planner(low-level controller),可以将这些instruction翻译成low-level actions
Robot-Action Fine-tuning
RT-2将预训练的视觉-语言模型(VLMs)进一步训练,使其能够直接控制机器人的动作。这个过程的目标是让模型学会将视觉输入和语言指令映射到具体的机器人动作上,从而实现对机器人的闭环控制。
• 为了使视觉语言模型能够控制机器人,就必须训练它们来输出动作(low-level controller 而不是high-level instruction)
• 7个tokens表示一个动作,同 RT1
• 既学习从state/observation -> action 的映射
• 也能够从互联网的语言、视觉语言数据的大规模预训练中获益(Internet-scale training)
实现
标准的VLM模型可以输出完整的自然语言token;VLA模型需要输出能够被机器人执行的token,因此RT-2限制输出词汇表,仅采样可用的action token来实现对齐
• action 来自于当前图像、语言命令和特定timestep的机器人动作
• 把 action 对齐成 action tokens(同 RT1),这些action tokens 在模型的训练集中被当作自然语言text toekn 一样处理。
• 即:VLM 输出 text token,但是机器人需要 action token
训练的时候,把 action token 对齐为 text token,变成multimodal sentences放到训练集中,微调(co-finetune) VLM 得到 VLA
• web data:1B图片文本对,包含109种语言
• 机器人数据和RT-1相同,130k条数据;“Pick Object”, “Move Object Near Object”, “Place Object Upright”, “Knock Object Over”, “Open Drawer”, “Close Drawer”, “Place Object into Receptacle”, and “Pick Object from Receptacle and place on the counter”
• 在共同微调阶段,模型被训练来理解和生成这种结合了自然语言和动作标记的序列。模型学习如何根据视觉输入和语言指令生成正确的动作标记序列。
• 与原始web data一起 co-finetune 机器人数据,增加机器人数据集上的采样权重来平衡每个训练批次中robotics data和web data的比率。
推理的时候,transformer自回归生成的tokens会被de-tokenize为action(每一个timestep的action,交由机器人去执行)
这种action tokens和文本tokens对齐的方式在机器人policy中利用了VLM的backbone和pretraining,一定程度转移了泛化性、语义理解、机器人控制方面的推理能力
实验
• 该工作中训练的最大模型有55B参数;
• 可以直接运行在用于实时机器人控制的GPU上;
• 这是到目前为止最大的模型,用于端到端的机器人控制;
• 模型部署在muti-TPU的云服务上,通过网络调用这个服务;
• 最大的模型,RT2-PaLI-X-55B,运行频率1-3Hz;
• 小点的模型,5B参数,可以运行5Hz;
实验目标
• 评估RT-2在已知任务上的表现。
• 测试RT-2对新对象、背景和环境的泛化能力。
• 观察和量化RT-2的新兴能力,包括语义理解和基本推理。
• 研究模型参数数量和其他设计决策对泛化能力的影响。
• 探索RT-2是否能够展示类似于视觉-语言模型的链式推理能力。
指标
• 在已知任务上,RT-2与其他基线模型相比没有显著差异。
• 在泛化到新对象、背景和环境的实验中,RT-2比基线模型表现出约2倍的改进。
• 在评估新兴能力的实验中,RT-2在符号理解、推理和人类识别任务上显著优于基线模型。
• 在模型大小和训练策略的消融实验中,发现更大的模型和共同微调策略能够带来更好的泛化性能。
总结
做的事情和大致的思路其实和以前的RT-1, VIMA等模型没啥区别,本质上就是一种将预训练的 PaLM-E 等预训练的 VLM 大模型如何加进这些模型中,不过从VLM finetune、action token对齐text token是比较新的点
限制:
• RT-2可以执行更加复杂的指令,这是因为从自然语言到动作能更容易被理解;但是不能泛化到新的行为上,因为网络上获取的数据只能帮助模型学会更多的视觉语义信息,无法学会新的行为
• 由于机器人数据集总体量级很少,并且无法搜集机器人没有做过的行为
• 可以从人类行为的视频中提取数据
无法实时推理:机器人控制模型需要模型能够实时推理,RT-2参数量太大,无法实时推理。后续工作的重点可以考虑模型量化和蒸馏,加快推理速度。