Transformer 基础架构

1. Transformer 相比 RNN/CNN,核心优势是什么?
答:Transformer 相比 RNN/CNN 的核心优势是 self-attention。RNN 需要按时间递归传递信息,长距离依赖路径长且难以并行;
CNN 依赖局部卷积,建立全局 attention 关系需要堆叠很多层。
而 Transformer 中任意两个 token 可以通过 attention 直接交互,因此更擅长长距离依赖,并且训练时可以并行计算整段序列。更重要的是,Transformer 提供了统一的 token 接口,文本、图像 patch、机器人 state 等多样化信息都可以放在同一序列里建模,这就是它在VLA 里面适合处理视觉-语言-动作融合的原因。
代价是 self-attention 的 O (n²) 复杂度,需要在长序列场景下做效率优化。
2. Self-Attention 里的 Q/K/V 分别代表什么?
答:Self-Attention 里,每个 token 的输入向量 x 会经过三个不同的线性层,变成
Q = query
K = key
V = value
它们不是三个不同的 token, 而是同一个 token 的三种投影表示。
可以把 attention 理解成"检索信息"。
Q:我想找什么信息?
K:一个标记索引:我这里有什么信息,可以被别人匹配?
V:如果别人关注我,我真正提供给别人的内容是什么?
例如句子:
The robot picks up the red cup.
当 picks 这个 token 要理解自己该关注谁时:
Q_picks: 我在找动作对象
K_cup: 我是一个可能的物体对象
V_cup: cup 这个 token 的语义内容
如果如果 Q_picks 和 K_cup 匹配度高,那么 picks 就会更多 attend 到 cup,然后把 V_cup 的信息聚合进来。
计算流程
假设有 3 个 token:
x1, x2, x3
每个 token 都生成自己的:
q_i, k_i, v_i
对第 i 个 token 来说,它会用自己的 q_i 去和所有 token 的 key 做相似度:
score_i1 = q_i · k_1
score_i2 = q_i · k_2
score_i3 = q_i · k_3
这些 score 经过 softmax 变成权重:
attention weights = [0.1, 0.7, 0.2]
然后用这些权重加权所有 value:
output_i = 0.1 * v_1 + 0.7 * v_2 + 0.2 * v_3
所以第 i 个 token 的新表示,就是"它根据自己的 query,从所有 value 里取回来的信息"。
为什么不直接用 x 做匹配
因为模型需要学习不同的角色:
Q 空间:当前 token 想找什么
K 空间:当前 token 如何被别人找到
V 空间:当前 token 提供什么内容
用三个不同线性层,模型表达力更强。
VLA 里的例子
语言指令:
"pick up the red cup"
图像 patch 里有:
红杯子 patch
蓝碗 patch
机械臂夹爪 patch
桌面 patch
当 action query 要生成动作时:
Q_action: 我需要知道目标物体和夹爪在哪里
K_red_cup_patch: 我是红杯子相关视觉信息
V_red_cup_patch: 红杯子的位置、形状、视觉特征
K_gripper_patch: 我是夹爪位置
V_gripper_patch: 夹爪姿态信息
如果 action query 的 Q 和红杯子/夹爪的 K 匹配高,它就会把这些 V 聚合过来,用于输出动作。
3. Attention 计算公式是什么?为什么要除以 sqrt(d_k)?
答:Attention 的公式是 softmax(QK^T / sqrt(d_k))V。其中 QK^T 计算 query 和 key 的相似度,softmax 得到 attention 权重,再对 value 加权求和。除以 sqrt(d_k) 是为了缩放点积大小,把点积的尺度拉回稳定范围。因为 q 和 k 的维度越高,点积分数方差越大,softmax 容易饱和很尖锐的分布,导致梯度变小和训练不稳定。
用 sqrt(d_k) 缩放后,attention score 的尺度更稳定。
4. Multi-Head Attention 为什么要分多个 head,而不是只用一个大的 attention?
答:让模型用多组不同的"注意力视角"同时看同一段 token。
如果只有一个 head, 模型只能学习一套 attention。多个 head 则可以让不同 head 关注不同关系。
每个 head 有独立的 Q/K/V 投影。
在 VLA 中,不同 head 可以分别关注语言目标、图像物体、夹爪位置、机器人 state 和 action query, 因此更适合多模态融合。
5. 在 VLA/机器人任务里,Transformer 为什么适合处理图像 token、语言 token、state token、action token?
答:Transformer 适合 VLA, 是因为它提供了统一的 token 接口,可以把图像 patch、语言指令、机器人 state、action query 都表示称 token 序列
Self-attention 能让这些 token 之间进行跨模态交互,比如语言目标对齐图像物体,action query 关注目标物体和夹爪状态,从而生成动作。同时 Transformer 能建模全局关系和长距离依赖,
并且通过不同 attention mask 支持自回归生成、并行 action chunking 或 flow matching 等不同动作生成方式。