RT-1

希望能够找到一个泛化能力强, 能吸收大量知识的模型架构.

Intro

创建了新的数据集

Transformer模型: 高容量

对高维的input/output进行tokenize, 生成token用于transformer计算

Preliminaries

Robot learning

类似于RL目标是从视觉中学习解决language-conditioned任务的robot policies.

考虑顺序决策环境(sequential decision-making environment):

  • timestamp : policy receive language instruction and initial image observation .
    • policy generate a action distribution: from which the action is sampled, and applied to robot.
  • 过程持续进行, policy通过从 学习到的distribution: 中 采样action , 应用于robot
  • 到达终止条件时, 交互结束.

从starting step 开始到终止条件的完整交互称为一个episode. 结束时, 给一个reward 表示是否完成了.

target是 学一个能够maximize average reward, in expectation over distribution of instruction,starting step and transition dynamic

Transformer

Transformer

Imitation Learning

假设有一个可访问的dataset , 其中所有的episode都是success的().

Info

Behavioral Cloning

或者称作模仿学习(IL, Imitation Learning)

假设已经有了一个expert的动作, 我们需要通过最小化预测的动作和差异来进行学习

事实上, 这还是一个reinforcement learning, 只是结合了一下deep learning

我们可以使用Behavioral Cloning来学习, 通过minimize给定和图像的的negative log-likelihood进行对的优化

System Overview

使用了Everyday Robots的机械臂. 具有7 degree-of-freedom的机械臂,一个两指夹爪和一个移动底座.

Robot Transformer 1(RT-1), 将一系列的short sequence of images和自然语言instruction作为输入, 在每个time step输出robot action.

关于FiLM, 请参考这篇文章

graph TB
a[Textural Instruction]-->|Universal Sentence Encoder|b[word embedding vector]
c[images]-->|ImageNet|d[features]
b-->|FiLM|e(affine transform)
d-->e
e-->|Tokenizer|f[Token]
f-->|Transformer|g[output Tokens]
g-->|Tokenizer Decode|h[action]

action包含

  • 7个维度的机械臂运动
  • 三个底座运动的自由度()
  • 一个discrete的维度用于控制模式切换: 控制机械臂, 控制底座, 终止片段. RT-1执行闭环控制, 3 Hz的频率执行动作

RT-1

基于Transformer架构

Text and image tokenization

使用Universal Sentence Encoder将instruction转成embedding vector, 使用FiLM获取, 用于对image feature map进行约束.

6张的image经过EfficientNet-B3, 在每一层convolution(MBConv)之后使用FiLM得到的参数进行affine变换. 最终将images flatten成81个visual token.

Tip

通常, 直接使用进行仿射变换会破坏pretrained model weight. 因此最开始将FiLM的仿射变换的dense layer()的weight初始化成0(即恒等变换), 以保留原始的pretrained weight. 同时, 保持这个setting从头训练EfficientNet也能产生更好的结果, 但是还是pretrained最好.

为了进一步压缩token量来加速transformer推理速度, 使用TokenLearner将大量的tokens映射为更少的tokens. 因此可以将ImageNet得到的81 tokens采样为8 tokens, 然后给transformer

transformer

然后这8个tokens和history中的其他image的tokens连接, 形成48个tokens, 并添加Position Encoding, 然后给Transformer Block. Transformer是Decoder-only的, 有8-layer transformer block.

action tokenization

将每个动作维度离散化成256个bin. 一共有11个维度. 对于每一个变量, we map the target to one of the 256 bins, where the bins are uniformly distributed within the bounds of each variable. Have Question Here

Loss function

使用cross-entropy loss和causal mask

inference speed

给robot用的model需要 快速,一致 的inference speed. 期望3 Hz的控制频率, model的inference速度应小于100 ms.

加速: 使用TokenLearner, 使用cache记录之前的token