Efficient Self-Supervised Data Collection for Offline Robot Learning

论文信息

  • 作者:Shadi Endrawis, Gal Leibovich, Guy Jacob, Gal Novik, Aviv Tamar
  • 机构:Technion - 以色列理工学院 & Intel Labs
  • 发表:arXiv:2105.04607 (2021), ICRA 2021
  • 关键词:离线强化学习、探索策略、内在动机、目标条件策略、数据收集

📖 TL;DR(一句话总结)

问题:机器人学复杂任务需要大量高质量数据,但手动设计数据收集策略很难,随机探索又效率低下。

解决方案:训练一个"好奇心驱动"的机器人——用 RND 识别新奇状态 + 目标条件策略快速抵达,自动收集覆盖面广、分布均匀的离线数据集,让后续任务学习效果大幅提升。


🎯 问题背景:为什么数据收集这么重要?

graph TD
    A[机器人学习流程] --> B[在线强化学习\nOnline RL]
    A --> C[离线强化学习\nOffline RL]
    
    B --> B1[实时交互环境\n边收集边学习]
    B1 --> B2[❌ 危险:真实机器人可能损坏\n❌ 慢:只能串行收集]
    
    C --> C1[先收集数据集\n再从数据中学习]
    C1 --> C2[✓ 安全:离线处理\n✓ 快:可并行收集]
    C1 --> C3[❗ 关键:数据质量决定学习效果]
    
    C3 --> D{数据如何收集?}
    D --> D1[随机策略\n覆盖面窄、有偏]
    D --> D2[手动设计\n复杂任务很难设计]
    D --> D3[本文方法\n自动主动探索]

核心洞察:对于复杂任务(如叠积木),如果数据收集策略只是随机乱抓,几乎不会遇到"积木叠起来"这样的关键状态,学出来的策略就很差。


💡 核心思路:目标条件 + 新奇性驱动

本文提出 三个关键"成分" 的组合:

graph LR
    A[RND\n随机网络蒸馏] -->|识别哪些状态是新奇的| B[新奇性分数]
    B -->|选最新奇的状态作为目标| C[目标条件策略\nGoal-Conditioned Policy]
    C -->|快速导航到目标| D[访问新奇状态]
    D -->|更新RND| A

成分1:RND(Random Network Distillation,随机网络蒸馏)

目的:判断一个状态有多"新奇"(从未访问过 → 新奇;反复访问 → 不新奇)

原理

  1. 随机初始化一个固定的"目标网络" (f: S \rightarrow \mathbb{R}^k)
  2. 训练一个"预测网络" (\hat{f}: S \rightarrow \mathbb{R}^k) 来预测目标网络的输出
  3. 预测误差 (|\hat{f}(s) - f(s)|^2) 代表新奇性:
    • 见过很多次的状态 → 预测准确 → 误差小 → 不新奇
    • 从没见过的状态 → 预测不准 → 误差大 → 很新奇

比喻:就像一个学生做题,反复做过的题型很熟练(误差小),遇到新题型就会出错(误差大)。误差大的题 = 新奇的状态。

成分2:目标条件策略(Goal-Conditioned Policy)

目的:快速"导航"到指定的目标状态

关键区别

  • 普通RL探索:靠奖励信号慢慢调整,遇到新奇区域要花很久才能"学会去那里"
  • 目标条件策略:直接把目标作为输入,训练"给定目标,如何以最少步骤到达"

训练方式:HER(Hindsight Experience Replay,事后经验回放)

  • 即使没有达到原来的目标,也可以把轨迹中经过的任意状态作为"虚假目标"重新使用
  • 这样每条轨迹都能产生大量训练样本,极大提高数据利用率

成分3:主动目标选择

每个 episode 开始时:

  1. 从回放缓冲区(replay buffer)中采样一批状态
  2. 选择其中 新奇性分数最高 的那个作为当前 episode 的目标
  3. 用目标条件策略快速导航到这个目标
  4. 把访问过的轨迹加入数据集

📝 算法详解

算法1:目标条件 + RND 数据集收集

初始化:RND 网络 f, f^, 回放缓冲区 R, 离策略RL算法 A

对每个训练循环(N次):
  对每个 episode(M次):
    1. 从 R 中采样子集 R'
    2. 目标 g = argmax_{R'} ||f^(s) - f(s)||²  ← 选最新奇的状态为目标
    3. 对每步 t = 0 ... T:
       a. 执行动作 at = π(st, g)  ← 用目标条件策略
       b. 观察新状态 st+1
       c. 将 (st, at, st+1) 存入 R
    4. 从 R 采样 mini-batch:
       - 动态采样目标 gτ(从轨迹中随机选)
       - 奖励:到达目标为 0,否则为 -1
       - 用 HER 方式训练
  更新 RND 的预测网络 f^(仅用最近的 M 个 episode)

返回数据集 R

💡 动态目标采样 vs 静态(HER)的区别:HER 在状态存入缓冲区时就固定了目标;本文每次从缓冲区采样时才分配目标,同一个状态可以配对不同的目标,样本利用率更高


🔬 实验设置

环境:Franka Panda 机械臂 + 彩色方块

仿真环境示意

  • 机器人:7 自由度 Franka Panda 机械臂,末端执行器位置控制
  • 场景:桌面上有一个六面不同颜色的方块
  • 观测:俯视摄像头图像(84×84 像素)
  • 动作:末端执行器的笛卡尔位置移动
  • 每个 episode:200 步,方块每次重置到初始位置(黄色面朝上)

对比基线

方法描述
随机策略完全随机动作
纯 RND(Vanilla RND)仅用内在奖励训练 RL,不使用目标条件
本文(Goal-Conditioned + RND)目标条件策略 + RND 新奇性选目标

📊 实验结果

实验1:玩具域——覆盖度测试

对象(白色方块)在 84×84 格子中移动,测量收集的状态有多少覆盖了整个状态空间:

方法覆盖的独特状态数(500 episodes)
随机策略~10,000 → 平台期
纯 RND更多,但效率低
本文(Goal-Conditioned Max Novelty)最多,持续增长
目标条件(最小新奇性)最差(反向选目标)
目标条件(随机目标)比随机策略还差

关键发现:随机策略会陷入"平台期",增加样本量也无法改善;本文方法持续发现新状态

实验2:数据集可视化

三种方法收集的数据分布

可视化方块在桌面上的位置和朝向:

  • 随机策略:方块位置集中在初始位置附近,朝向单一(几乎全是黄色面朝上)
  • 纯 RND:稍好,但仍有很大空白区域
  • 本文方法:方块位置遍布整个桌面,六个面颜色分布均匀

实验3:下游任务——监督学习

基于收集的数据训练分类/回归模型:

下游任务随机策略纯 RND本文方法
预测方块上表面颜色(分类准确率)最高
预测方块位置(回归 MSE)最低

实验4:下游任务——离线强化学习(BCQ)

基于收集的数据训练 BCQ 策略,成功率(%):

任务随机策略纯 RND本文方法
翻转方块(指定颜色朝上)
推方块到右侧区域
翻转 + 推(组合任务)

🧠 关键技术解释

什么是"离线强化学习(Offline RL)"?

graph LR
    A[已有数据集\n事先收集好的] -->|BCQ/CQL等算法| B[学习策略]
    B -->|不再与环境交互| C[直接部署使用]

与在线 RL 的对比:

方面在线 RL离线 RL
与环境交互是,持续交互否,只用固定数据
数据来源自己收集事先给定
安全性低(可能损坏机器人)
数据质量依赖高(核心挑战)

什么是"HER(Hindsight Experience Replay,事后经验回放)"?

比喻:假设你想练习"把杯子放到指定位置",但每次都失败了。

普通训练:这条失败的轨迹没有用。

HER训练:把"轨迹中最后杯子真正在的位置"作为目标,这条轨迹就变成了"成功到达目标 X"的训练样本!

就像事后总结:"虽然没到达原定目标,但我成功到达了另一个地方,这也算学到了导航能力。"

什么是"目标条件策略(Goal-Conditioned Policy)"?

策略输入 = 当前状态 + 目标状态,输出动作:

$$ a_t = \pi(s_t, g) $$

价值函数变成"从 (s_t) 出发,以 (a_t) 动作,到达目标 (g) 的期望折扣奖励":

$$ Q^\pi(s, a, g) = \mathbb{E}\left[\sum_{k=t+1}^{\infty} \gamma^{k-t-1} r_k \mid s_t = s, a_t = a, g\right] $$

用 -1 奖励(未到达)和 0 奖励(到达),该值函数实际上代表了"从 s 到 g 的负距离"。


🔑 创新点总结

graph TD
    A[本文创新点] --> B[新奇性驱动的主动探索]
    A --> C[目标条件策略替代慢速RL探索]
    A --> D[动态目标采样提高利用率]
    A --> E[首次在图像输入上实现\n目标条件+内在动机结合]
    
    B --> B1[用RND量化新奇性\n无需手工设计奖励]
    C --> C1[直接导航到新奇区域\n不需要反复试错]
    D --> D1[每个状态可配多目标\n比静态HER更高效]
    E --> E1[证明对高维视觉状态有效]

⚠️ 局限性与未来工作

  1. 仅在仿真中验证:真实机器人的 sim-to-real 迁移未测试
  2. 固定 episode 长度:真实场景中 episode 长度可能不固定
  3. 单任务场景:更复杂的多任务场景未评估
  4. 计算开销:每个 episode 需要查询新奇性 → 大型数据集时可能慢

未来方向:在真实机器人上测试,结合 sim-to-real 方法,探索组合仿真和真实数据的方案。


📝 总结

要素内容
问题离线RL的数据质量瓶颈
方法RND新奇性 + 目标条件策略
优势比随机/纯RND更广、更均匀的状态覆盖
验证监督学习+离线RL多种下游任务均有提升
局限仅在仿真验证,计算有额外开销