Q-Transformer:把 Q-learning 的「取 max」塞进 Transformer
🎯 为什么重要: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%。
💡 核心思想:把「动作维度」当作「序列时间步」
核心巧思只有一句:动作 $\mathbf{a} = (a^1, a^2, \ldots, a^{d_A})$ 有多个维度,把每一维当成序列里的一个 token,自回归地预测它的 Q 值。这样原来的「在多维连续动作上取 max」变成「在每一维的离散 bin 上取 max」——指数爆炸的 curse of dimensionality 没了。
对应的 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-step | Transformer 容量大,纯 TD 反传到 $(s_1, a_1)$ 要好多步梯度;MC 是 $Q^*$ 的下界,取 max 不改收敛性但大幅加速(论文 §4.3) |
奖励是稀疏的 {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% |
🌐 在领域中的位置
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 仍能再提升——证明它能突破模仿学习的上限。