⏱ ~31 min
里程碑
⭐ 为何重要

大规模离线 RL 抓取的代表(580k 抓取尝试),是 Google 真机抓取工业级里程碑。它是『大规模分布式 RL + 真机抓取』的奠基性工作,OpenAI Hand 同期引用,启发了后续大规模 robot RL 工作。

建立在
  • Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and La…
  • Dex-Net 2.0
  • PPO
催生
机器人Kuka
上真机
实时
输入模态vision

QT-Opt: Scalable Deep Reinforcement Learning for Vision-Based Robotic Grasping

作者 / 机构:Dmitry Kalashnikov, Alex Irpan, Peter Pastor, Julian Ibarz, Alexander Herzog, Eric Jang, Deirdre Quillen, Ethan Holly, Mrinal Kalakrishnan, Vincent Vanhoucke, Sergey Levine(Google Brain + Google X + UC Berkeley)
发表:CoRL 2018(arXiv 2018.06)
arxiv1806.10293 · 代码/数据:闭源 · 项目页ai.googleblog.com/2018/06/scalable-deep-reinforcement-learning.html
在线索中的位置:属于 T14「抓取」转折 2,真机大规模 RL 抓取的开山
一句话定位:Google 用 off-policy Q-learning (QT-Opt) + CEM + 58 万次真机抓取,让 7-DoF KUKA 夹爪仅凭单目 RGB 从乱堆物体里抓取,96% 成功率——第一次证明真机大规模 RL 抓取可行,且自动涌现 regrasping / pre-grasp manipulation / 多目标 singulation 等闭环策略。和 Dex-Net 的「规划式」形成对偶路线。


动机

抓取的两条传统路线:

  1. 分析式(Dex-Net):点云 → force-closure metric → 选最佳抓取。需要精确点云,open-loop(抓之前决策一次)。
  2. 行为克隆:从人类演示学。但人类演示贵且不一致。

Google 的 question:能不能直接用 RL + 大规模真机试错?机器人自己抓几十万次,从失败里学,做 closed-loop dynamic grasping(机器人基于最新观测持续更新策略,优化 long-horizon 抓取成功)。这绕过了精确建模,但要求真机能承受大量试错 + 算法能稳定 scale 到大数据集。


方法核心

1. QT-Opt 算法:off-policy continuous-action Q-learning + CEM(Sec.4)

Bellman 目标(Eq.1)

$$E(\theta) = \mathbb{E}_{(s,a,s')\sim p}\big[D\big(Q_\theta(s,a),\ Q_T(s,a,s')\big)\big]$$

其中 target $Q_T(s,a,s') = r(s,a) + \gamma V(s')$。关键选择

  • D 用 cross-entropy 而非 MSE——因为 total returns 有界 $[0,1]$,作者发现 cross-entropy 更稳(Appendix C)。
  • target network $\bar\theta_1, \bar\theta_2$Polyak averaging + clipped double Q-learning 的组合):
  • $\bar\theta_1$:$\theta$ 的 exponential moving average,averaging constant 0.9999
  • $\bar\theta_2$:$\bar\theta_1$ 的 lagged 版本,lag ~6000 gradient steps
  • target value:$V(s') = \min_{i=1,2} Q_{\bar\theta_i}(s', \arg\max_{a'} Q_{\bar\theta_1}(s', a'))$——clipped double Q 防 overestimation。

为何不用 actor-criticDDPG/TD3 风格)? 论文明确:actor-critic 在 large-scale RL 任务里notoriously unstable(Henderson 2017 [18]),跑 hyperparameter sweep 太贵。QT-Opt dispenses with the need to train an explicit actor——只训 Q-function,policy 由 Q 隐式诱导。

CEM(Cross-Entropy Method)做 arg max(Sec.4.2,核心):连续动作空间下 $\arg\max_a Q_{\bar\theta_1}(s,a)$ 不可解析,DDPG 用 amortized actor network(不稳),NAF 要求 Q 凸(grasping 任务远非凸——「抓物体方向 Q 高,物体间隙方向 Q 低」)。QT-Opt 用 CEM 随机优化直接最大化 $Q_{\bar\theta_1}(s,a)$:

  • 每 iter 采 N 个样本 → 选 top-M → fit Gaussian → 下一 iter 从该 Gaussian 采 N 个。
  • 配置:$N=64$, $M=6$, 2 iterations——简单、易并行、对低维问题抗局部最优。
  • 同时用于 训练时算 target + 真机部署时选 action。

恢复的 policy:$\pi(s) = \arg\max_a Q_{\bar\theta_1}(s,a)$(CEM 实现)。

2. MDP for grasping:精确 state/action/reward(Sec.5)

State $s$

  • RGB image 472×472(over-the-shoulder monocular RGB,无 depth)。
  • gripper 二值状态(open/closed)。
  • gripper 离地高度(height to bottom of bin)。
  • 附录 A ablation:image only 53% / +gripper status 58% / +height 70%——height 最关键(+12 个点),证明 low-dim state feature 关键。

Action $a = (t, r, g_\text{open}, g_\text{close}, e)$

  • $t \in \mathbb{R}^3$:Cartesian 夹爪位置增量(desired change)。
  • $r \in \mathbb{R}^2$:方位角变化的 sine-cosine 编码。
  • $g_\text{open}, g_\text{close}$:二值开/关夹爪命令。
  • $e$:终止 episode 命令。

Reward:episode 末「夹爪含物体 + 高于阈值」→ $r=1$,否则 $0$(稀疏 + delayed)。成功判定用 background subtraction(扔下被抓物体后比对,Appendix D.4)。另加 per-step penalty $r=-0.05$(鼓励快速抓取),最多 20 步。

Q-network:1.2M 参数 large CNN,image 进 conv stack 底部,action+gripper status+height 喂进 stack 中间层(mid-stack fusion,不是简单 concatenate)。

3. 大规模真机训练:工程细节(Sec.5 + Fig.1/3)

  • 7 个 KUKA LBR IIWA + 二指夹爪,7×24 不间断;每个 cell 头顶 over-the-shoulder RGB 相机。
  • 训练 bin 4–10 个物体;物体每 4 小时(营业时间)人工替换,夜间/周末不动
  • 数据规模:4 个月,~800 robot hours,累计 580k+ grasps(off-policy 全保留)+ 28k on-policy(joint finetune 阶段新采)。
  • Bootstrap:完全随机策略在 unconstrained action space 下成功率太低,用一个 weak scripted exploration policy(偏向好抓姿,~15–30% 成功率)启动;当学到的 QT-Opt 策略达 50% 成功率 时切换。
  • 测试物体与训练物体严格分离

4. Distributed Asynchronous QT-Opt(Sec.4.3 + Fig.3,工程关键)

数据量大(580k+ grasps)→ 单机训不动 → 分布式异步系统:

  • Distributed replay buffer database:load 历史 disk 数据 + 接收 7 个真机在线数据。
  • 1000 个 "Bellman updater" jobs:从 replay buffer 抽 transition,跑 CEM 算 target Q,存进第二个 training ring buffer。→ 异步副作用:部分样本是 lagged Q 网络标的(Appendix F.4 讨论)。
  • 10 个 training worker:从 ring buffer 随机抽 labeled transition,算 gradient,异步发给 parameter server。
  • 训练步数:经验上需 最多 15M gradient steps(任务复杂 + 数据/模型大)。

5. 关键 trick:off-policy 数据重用 + joint finetune

所有 580k grasps(含早期失败策略产生的)进 replay buffer,QT-Opt 持续重用。Joint finetune = 在 off-policy 训练后期,同时用最新 policy 在真机采 on-policy 数据(28k grasps)联合训练——作者认为这提供「hard negative mining」机制,让 policy 快速纠正错误的乐观外推。off-policy 单独 87% → +on-policy 28k 后 96%(Tab.1)。


实验结果(Sec.6,PDF Tab.1 关键数字)

评估协议:(1) test 协议——每 robot 102 次抓取,物体扔回 bin;(2) bin emptying 协议——单 robot 清空含 28 物体的 bin,最多 30 次抓取,报前 10/20/30 成功率。

MethodDatasetTestBin empty 10Bin empty 20Bin empty 30
QT-Opt(off + on-policy)580k off + 28k on96%88%88%76%
Levine et al. 2016 [27]Levine 原数据 900k78%76%72%72%
QT-Opt(off-policy only)580k off87%
Levine et al. 2016 [27]改用 QT-Opt 数据 400k67%

关键结论

  • 96% vs 78%:QT-Opt(on-policy finetune 版)比 Levine 2016(同类 self-supervised)failure rate 降 4 倍,且用更少数据。
  • off-policy 87% > Levine 78%:连纯 off-policy(无新数据采集)都超 Levine——off-policy 重用是核心价值,能快速 iter 超参/架构无需重采数据。
  • bin emptying:30 步内清空 bin,QT-Opt 5 次试验中成功 2 次;Levine 仅 1 次。失败多在最后几个小物体卡在 bin 角落。

Ablation(Appendix A,关键 state representation 实验,off-policy 2.5M steps)

  • image only:53%
  • +gripper status:58%
  • +gripper status + height:70%——height 最关键 +12 个点。

自动涌现的高阶策略(Sec.6.2,论文最 qualitative impressive 部分)

所有以下行为都自动从「优化抓取成功」涌现,无任何 reward shaping

  1. Singulation & pre-grasp manipulation:把物体从堆里拨出来再抓;推倒番茄酱瓶再抓。
  2. Regrasping:检测到 grasp 不稳就松开重抓;物体滑出就 reposition 再抓。
  3. Handling dynamic objects & perturbations:球滚出夹爪就跟;故意推走被抓物体,policy 立即转向抓别的。
  4. Grasping in clutter:训练时 ≤10 物体,部署能抓密集杂乱堆(>10)。
  5. Failure mode:极密集时会在杂物里反复 regrasp(耗时但最终常成功)。

为什么重要

1. 真机大规模 RL 抓取的开山(最关键)

之前 RL 抓取只在仿真。QT-Opt 第一次证明:真机大规模 RL(58 万次)+ off-policy 重用 + on-policy finetune 能学到 96% 成功率,超过规划式方法(Dex-Net 类)和 prior self-supervised(Levine 2016)。

2. 确立「真机试错 + off-policy」范式

之后 Google 后续 grasping 工作、RT-1(大规模真机 IL)都建立在这个范式上。证明了「数据 > 算法」——足够多的真机数据,简单算法(CEM-based Q-learning)也能超越复杂规划。

3. closed-loop dynamic grasping > open-loop planning

论文最强论点:传统「看一眼选 grasp → open-loop 执行」无法做 pre-grasp manipulation / regrasp / 响应扰动。RL closed-loop 自动学到这些,且这些行为不可从静态 grasp selection 涌现

4. 揭示 scaling 在机器人上有效

58 万次不是终点,证明了「抓取任务吃 scale」。后续 GraspNet-1Billion、AnyGrasp 把数据规模推到 10 亿+。

5. 分布式 RL 系统范式

1000 Bellman updater + 10 training worker + replay buffer + 异步 parameter server,是后续大规模机器人 RL 的工程模板。

局限

  1. 数据成本极高:58 万次真机抓取 = 7 机械臂 × 4 个月 × 24/7。磨损、电力、人工重置,只有 Google 这种大公司做得到。
  2. 只针对 parallel-jaw:没扩展到灵巧手(24 DoF 抓取空间太大)。
  3. 闭源:数据、模型、代码都没公开。学术复现困难。
  4. 物体多样性受限:bin 里是预设物体,未见物体泛化有限(虽然 test 集分离,但仍属「google 物体分布」)。
  5. 单臂、固定 bin:没扩展到 mobile manipulator / 人形。

复现要点

  • 复现门槛:⭐⭐⭐⭐⭐(几乎不可复现,需要 7 机械臂农场)
  • 闭源。学术替代:用 RLExT、GraspNet-1Billion 的 RL 部分、或 sim-to-real RL 抓取(如 Oracle Grasping)。
  • 想理解 QT-Opt 算法本身:读论文 + 跑 sim 版(PyBullet + 简化 QT-Opt,CEM N=64/M=6/2 iter 是关键超参)。
  • 关键算法细节:cross-entropy loss(非 MSE)、双 target network(EMA 0.9999 + lag 6000 step)、CEM 2 iter、off-policy + 少量 on-policy finetune。

与 Dex-Net 的对偶关系

维度Dex-Net(规划式)QT-Opt(RL 式)
思路点云 → 物理 metric → 选最佳试错学 Q
数据合成(上亿)真机(58 万)
感知depth cameramonocular RGB
控制模式open-loop(一次决策)closed-loop dynamic(持续更新)
涌现能力无(只选 grasp)regrasp / pre-grasp / singulation / 抗扰
泛化依赖点云精度学到真机分布
优势不用试错抓真实物体分布
劣势sim-real gap数据贵

现代抓取系统常结合两者:用 Dex-Net/AnyGrasp 出候选姿态(规划),用 RL/IL 微调(学习)。

相关

  • 建立在:Q-learning、CEM(Rubinstein & Kroese)、double Q-learning(van Hasselt)、Polyak averaging、Levine 2016 hand-eye coordination [27](QT-Opt 前作,直接对比 baseline)。
  • 同期/前作:Pinto 2016(50K tries grasping)、Zeng 2018(push+grasp Q-learning)。
  • 引出:RT-1(Google 大规模真机 IL)、GraspNet-1Billion(数据 benchmark)、AnyGrasp(工业化)、QT-Opt 的 distributed 系统范式被 IMPALA/Seed RL 继承。
  • 本仓库线索:T14 抓取 转折 2
  • 本仓库概念:C-sim2real-methods.md(真机 vs 合成数据的 trade-off)
  • 本仓库笔记:P-GraspNet-2020.mdP-AnyGrasp-2023.md(数据/工业化继承)