枢纽
机器人Google Robot
数据集RT-X / Google Robot
上真机
实时
输入模态vision,proprioception

Q-Transformer:把 Q-learning 的「取 max」塞进 Transformer

Yevgen Chebotar, Quan Vuong, Alex Irpan 等(Google DeepMind)。CoRL 2023。 项目页 · foundation_modelsoffline RL

🧠 一句话心智模型:Transformer 在监督学习里大杀四方,可一到 RL(尤其 Q-learning)就水土不服——因为 Q-learning 要在动作上「取 max」,而连续动作没法直接做 attention。Q-Transformer 的解法简单到巧妙:把每个动作维度离散成 bin,再把每个维度当成序列中的一个「时间步」自回归地预测。这样 Transformer 就能直接输出 Q 值,而 offline RL + 保守正则又能消化「人演示 + 机器人失败数据」这种混合质量数据。

🎯 为什么重要:Transformer × RL × 大规模真实机器人

三件事卡在一起:

核心矛盾
(1) RT-1 / Decision Transformer 都是监督学习——性能上限卡在人演示质量,机器人没法「比人更强」;
(2) RL 原则上能突破人,但把 Transformer 套进 Q-learning 极难——Q-learning 要在动作上取 max,连续动作做 attention 是个开放问题;
(3) 真实机器人数据是「混合质量」的——少量人演示 + 大量机器人自主采集的失败数据。一般 offline RL 在这上面会崩。

Q-Transformer 是第一个把「Transformer 高容量 + Q-learning 时序差分 + 真实大规模机器人数据」三者同时打通的工作。在 Google 13 台机器人、700+ 任务、38000 演示 + 20000 失败 episode 的真实数据上,平均成功率 56%,比次优(DT 33%)高 70%

RT-1(监督) 模仿学习 · Transformer ✓ · 但无法超越人 · 失败数据用不上 性能上限 = 演示质量 Decision Transformer 「条件」 imitation · Transformer ✓ · 用 reward 做条件 · 但无 TD / max 不会「重组」更优轨迹 Q-Transformer ✅ Transformer Q-learning · Transformer ✓ · TD + 取 max ✓ · 消化失败数据 ✓ 比人更稳
图 1:三条把 Transformer 用到机器人 RL 的路。Q-Transformer 是唯一同时拿到「Transformer 容量」和「TD 优化能力」的。

💡 核心思想:把「动作维度」当作「序列时间步」

核心巧思只有一句:动作 $\mathbf{a} = (a^1, a^2, \ldots, a^{d_A})$ 有多个维度,把每一维当成序列里的一个 token,自回归地预测它的 Q 值。这样原来的「在多维连续动作上取 max」变成「在每一维的离散 bin 上取 max」——指数爆炸的 curse of dimensionality 没了。

状态历史 s_{t-w:t}(图像+语言) Transformer 8× Self-Attention FiLM EfficientNet + Universal Sentence 输出 sigmoid → [0,1] 每维一个 token(自回归) dim 1: Q(s, a¹₁…B) 取 max → â¹ dim 2: Q(s, â¹, a²₁…B) dim 3: ... dim d_A: + reward 完整动作 â 每维都取了 max 的 bin
图 2:Q-Transformer 自回归 Q-learning。每个动作维度被当作序列里的一个 token;给定前面已选维度,预测当前维度各 bin 的 Q 值,取 argmax 作为该维动作,喂回去继续预测下一维。最后一维才加 reward 和 γ 折扣。

对应的 per-dimension Bellman update(论文 Eq.1):对前 $d_A-1$ 维,目标 $= \max_{a^{i+1}} Q(\ldots, a^{i+1})$;对最后一维,目标 $= R(s_t, a_t) + \gamma \max_{a^1_{t+1}} Q(\ldots)$。只有最后一维才发奖励、才打折——因为整支动作执行完才有 transition。

🛠️ 三个让 Transformer + offline RL 真跑通的设计

设计心智为什么必要
① Autoregressive Discrete Q-Learning每维动作离散成 B 个 bin;序列里每一步对应一维,自回归地取 max避免连续动作做 max 的难题;避免「整个动作空间联合离散」的指数爆炸(curse of dimensionality)
② 改造版 Conservative 正则未在数据里出现的动作的 Q 值压向 0(即 $R_{\min}\cdot T = 0$),而非标准 CQL 的 softmax稀疏 {0,1} reward 下,标准 CQL 会让 Q 取负值(论文 §4.2 关键洞察);改成「压向最小可能回报」,物理意义更清晰,训练更稳
③ MC + n-step returns把 Bellman target 和蒙特卡洛 return-to-go 取 max:$\max(MC_{t:T}, Q)$;并在动作维度间用 n-stepTransformer 容量大,纯 TD 反传到 $(s_1, a_1)$ 要好多步梯度;MC 是 $Q^*$ 的下界,取 max 不改收敛性但大幅加速(论文 §4.3)
🔮 直觉:为什么「未观测动作 Q 值压向 0」而不是压向 −∞?
奖励是稀疏的 {0, 1}——一条轨迹最少拿到 0(一直失败)。标准 CQL 用 softmax 把未观测动作的 Q 压下去的同时,会把已观测动作的 Q 抬上来,导致数据里的次优失败动作也被抬高。Q-Transformer 改成「未观测动作 → 0(即 $R_{\min}\cdot T$)」,让已观测的失败动作 Q 值也能合理地保持在 0 附近,不被错抬。消融显示用 softmax conservatism 性能会跌回 ~8%(=演示比例),等于「坍缩回行为策略」。

📊 结果:真实机器人平均 56%,比次优高 70%

维度数字(PDF 溯源)
数据规模13 台机器人采集;38,000 条人演示(700+ 任务,每任务 ≤100 demo) + 20,000 条自主失败 episode;平均 35 步/episode;共 ~58,000 条(§5.1)
主结果(72 真实任务平均)Q-Transformer 56% > Decision Transformer 33% > IQL 27% > RT-1 25%(Fig.4)
分项drawer pick-and-place(18 任务)64% vs DT 49% / RT-1 17%;open/close drawer 33% vs DT 11%;move near target(47 任务)71% vs IQL 60% / RT-1 58%
vs 次优平均成功率高出次优方法 约 70%
大规模扩展(§5.4)115k 成功 + 185k 失败 = 300k episode:Q-T 88% > RT-1 82% > DT 78%(Fig.6 右下)
消融(Fig.6 左)完整版正常;换 softmax conservatism → 跌到 ~8%(=demo 占比,坍缩);去 conservatism → 完全崩去 MC return → 完全崩
n-step 收益(Fig.6 右上)n-step 版用 1/4 的步数达到相同性能;长 horizon 任务(move object)88% vs 1-step 67%
关键洞察:消融是本文最值得读的部分——去 conservatism 直接崩(OOD 动作 Q 值被高估、反传污染整个 Q 函数),去 MC return 也直接崩(大 Transformer 纯 TD 学不动)。说明「Transformer 大容量」必须配上「保守正则 + MC 加速」才不崩,三者是一个不可拆分的整体。

🌐 在领域中的位置

QT-Opt(CNN Q-learning, grasping) RT-1 / Decision Transformer(Transformer + 监督) Q-Transformer(Transformer + offline Q-learning)⭐ RT-2 / VLA(语言知识进策略)+ 大规模 offline RL

Q-Transformer 是「Transformer 进 RL」路线的工程化里程碑。它没有提出全新算法原理(CQL + MC 都是已有),而是回答了一个工业级问题:「怎么把 Transformer 容量真正吃满,并在真实大规模混合质量数据上稳定训练」。它的 per-dimension 离散化 + 改造保守正则,成了后续多个工业级 robot RL 系统的标配组件。关联:Diffusion Policy(动作生成的另一条路)、ACT

❓ 常见误区

Q-Transformer 是个新 RL 算法吗?

不是。算法原理上它就是 Q-learning + CQL(conservative Q-learning)+ MC returns,这些都是已有组件。它的贡献是工程化:让这套东西能在 Transformer 架构上、在真实大规模机器人数据上稳定跑。作者明确说「我们的目标不是提出新的 offline RL 算法原理」(§2)。

「每维离散」在高维动作空间(比如人形机器人)还能用吗?

有困难,论文 §6 自己指出这是主要局限:动作维度越多,序列越长,推理越慢。虽然 n-step 能缓解,但人形那种几十维的动作空间会明显放大问题。作者建议未来用「离散自编码器」做自适应离散——把动作压到低维离散码再喂 Transformer。

它能用于在线 RL(online finetuning)吗?

论文只验证了 offline。作者把 online finetuning 列为 future work(§6)——offline 是它最自然的设定,因为真实机器人数据采集慢、offline 训练和采集解耦的 workflow 更现实。后续工作才把它扩展到 online。

它「超过人」的依据是什么?

两个证据:(1) 主实验里用「人演示 + 失败 episode」训出来的策略,在任务上 56% 成功率,而 RT-1 只用同一批人演示训只有 25%——说明它从失败数据里榨取了额外价值;(2) 大规模实验里 Q-T 88% > RT-1 82%,即使有 115k 演示、RT-1 已经很强,Q-Transformer 仍能再提升——证明它能突破模仿学习的上限