SOE: Sample-Efficient Robot Policy Self-Improvement via On-Manifold Exploration
核心思想
机器人从少量演示学到的策略通常不完美——在某些初始位置或物体摆放下会失败。解决方法是自我探索改进:让机器人自己尝试不同的动作变体,成功的纳入训练、失败的丢弃。
问题:直接在动作空间加随机噪声会导致不安全的、抖动的运动——因为随机噪声很容易将动作推出”合理动作”的流形。
SOE 提出流形上探索:
- 用变分信息瓶颈(VIB)学习动作的紧凑潜在表示
- 在潜在空间加噪声 → 生成的动作变体保持在合理流形上
- 双路径架构:基线路径(稳定执行)+ 探索路径(多样提议)
- 支持用户引导:通过高 SNR 维度进行直觉性引导
结果:真实世界 3 个任务平均提升 50.8%。
背景知识
动作模式坍缩问题
| 概念 | 说明 |
|---|---|
| 行为克隆 | 从人类演示学习 → 学到的是演示的”平均行为” |
| 模式坍缩 | 多种成功方式被压缩成一种平均方式 → 可能哪种都做不好 |
| 探索需求 | 需要发现演示之外的新的成功方式 |
为什么直接加噪声不行
想象你学会了一个”拿杯子”的动作轨迹。在动作上加随机噪声:
- 好的情况:手稍微偏左/右一点抓 → 仍然有效
- 坏的情况:手突然向上抖动 → 打翻杯子 → 不安全
- 更坏的情况:力度突然变大 → 压碎杯子
问题在于:动作空间的大部分方向都是”坏的”,只有一小部分方向是”有意义的变化”。
流形的直觉
“合理动作”不是充满整个高维动作空间的,而是集中在一个低维流形上:
\[\text{有效动作维度} \ll \text{动作空间维度}\]例如:22 维动作空间中,有效变化可能只有 8-16 维 → 在这个低维流形上探索才有意义。
方法详解
1. 变分信息瓶颈(VIB)
核心目标:学习一个压缩但保留动作信息的潜在表示。
优化目标:
\[\max_\theta I(Z; A) - \beta I(Z; O)\]- $I(Z; A)$:潜在表示 $Z$ 和动作 $A$ 的互信息 → 最大化(保留动作信息)
- $I(Z; O)$:潜在表示 $Z$ 和观察 $O$ 的互信息 → 最小化(压缩,去除冗余)
- $\beta$:权衡系数
VIB 损失:
\[\mathcal{L}_{\text{IB}}(\theta, \phi) = \mathbb{E}_{(o,a) \sim D}\left[-\mathbb{E}_{z \sim p_\theta(z|o)} \log q_\phi(a|z) + \beta \text{KL}[p_\theta(Z|o) \| r(Z)]\right]\]- 第一项:动作重建损失(解码器 $q_\phi$ 从 $z$ 重建 $a$)
- 第二项:KL 正则化(编码器 $p_\theta$ 输出的分布要接近标准正态 $r(Z)$)
- $p_\theta$:编码器(对角高斯)
- $q_\phi$:动作解码器
- $r(Z)$:各向同性高斯先验
2. 探索采样
在潜在空间加噪声(而非动作空间):
\[\mu_t, \sigma_t \sim p_\theta(Z | O = o_t)\] \[z_t \sim \mathcal{N}(\mu_t, (\alpha \sigma_t)^2)\] \[a_t \sim q_\phi(A | Z = z_t)\]参数 $\alpha$ 控制探索尺度:
- $\alpha = 1$:标准采样
- $\alpha > 1$:更广泛的探索
- $\alpha < 1$:更保守
关键:因为 $z$ 在流形上,放大 $\sigma$ 后采样到的 $z$ 仍然在流形附近 → 解码出的动作仍然合理。
3. 双路径架构
基线路径(稳定执行)
\[c_t = E(o_t), \quad a_{t:t+H} = D(c_t)\]标准的扩散策略:编码器 $E$ 提取观察特征 $c_t$,解码器 $D$(扩散模型)预测 $H$ 步动作。
探索路径(多样提议)
\[c_t = E(o_t)\] \[\mu_t, \sigma_t = p_\theta(c_t)\] \[z_t \sim \mathcal{N}(\mu_t, (\alpha \sigma_t)^2)\] \[\tilde{c}_t = q_\phi(z_t)\] \[\tilde{a}_{t:t+H} = D(\tilde{c}_t)\]VIB 编码器将观察特征压缩到潜在空间 → 加噪采样 → VIB 解码器重建变体特征 → 用同一个扩散解码器生成探索动作。
联合训练损失
\[\mathcal{L}(\theta, \phi, \psi) = \mathcal{L}_{\text{IL}}(\psi) + \mathcal{L}_{\text{IB}}(\theta, \phi)\]- $\mathcal{L}_{\text{IL}}$:标准扩散策略的模仿学习损失(训练基线路径)
- $\mathcal{L}_{\text{IB}}$:VIB 损失(仅训练编码器/解码器,不影响基线路径)
4. 扩散策略集成
模仿学习损失:
\[\mathcal{L}_{\text{IL}}(\psi) = \mathbb{E}_{(o,a) \sim D, \epsilon \sim \mathcal{N}(0,I), k \sim \text{Uniform}\{1,...,K\}} \left[\|\epsilon - \epsilon_\psi(a^k_{t:t+H}, c_t, k)\|^2\right]\]VIB 损失(扩散版本):
\[\mathcal{L}_{\text{IB}}(\theta, \phi) = \mathbb{E}_{(o,a) \sim D}\left[\mathbb{E}_{\epsilon, k}\left[\|\epsilon - \epsilon_\psi(a^k_{t:t+H}, \tilde{c}_t, k)\|^2\right] + \beta \text{KL}[p_\theta(Z|o) \| r(Z)]\right]\]5. 用户引导转向
通过信噪比(SNR)识别潜在空间中有意义的维度:
\[\text{SNR}_i = \frac{\text{Var}(\mu_i)}{\mathbb{E}[\sigma_i^2]}\]- 高 SNR 维度:编码了有意义的动作变化(如抓取角度)→ 用户可以直觉性地调整
- 低 SNR 维度:主要是噪声 → 不需要人工干预
用户通过调整高 SNR 维度的值来引导探索方向,最远点采样提供多样性。
实验结果
真实世界设置
| 配置 | 值 |
|---|---|
| 机器人 | Flexiv Rizon4 |
| 夹爪 | Robotiq 2F-85 |
| 控制频率 | 10 Hz |
| 动作维度 | 10D(3D 平移 + 6D 旋转 + 1D 夹爪) |
| 预测步数 | $H = 20$ |
| 相机 | 2 个 RGB(216×288×3)+ 本体感受 |
| 演示数 | 30-50 条/任务 |
| 遥操作设备 | sigma.7 触觉设备 |
真实世界结果
挂杯子
| 方法 | Pass@5 | 抖动 | 轨迹数 | 改进前 | 改进后 | 提升 |
|---|---|---|---|---|---|---|
| DP(基线) | 0.56 | 3.34 | 77 | 0.47 | 0.38 | -19.1% |
| SIME | 0.69 | 5.14 | 65 | 0.47 | 0.50 | +6.4% |
| SOE | 0.75 | 3.57 | 60 | 0.47 | 0.56 | +19.1% |
| SOE + 引导 | 0.81 | 3.68 | 53 | 0.47 | 0.66 | +40.4% |
装烤面包机
| 方法 | Pass@5 | 改进前 | 改进后 | 提升 |
|---|---|---|---|---|
| DP | 0.66 | 0.56 | 0.62 | +10.7% |
| SIME | 0.84 | 0.56 | 0.62 | +10.7% |
| SOE | 0.94 | 0.56 | 0.75 | +33.9% |
| SOE + 引导 | 1.00 | 0.56 | 0.84 | +50.0% |
灯罩盖
| 方法 | Pass@5 | 改进前 | 改进后 | 提升 |
|---|---|---|---|---|
| DP | 0.62 | 0.50 | 0.56 | +12.0% |
| SIME | 0.69 | 0.50 | 0.50 | 0.0% |
| SOE | 0.88 | 0.50 | 0.69 | +38.0% |
| SOE + 引导 | 0.94 | 0.50 | 0.81 | +62.0% |
三任务平均提升(含引导):50.8%。
注意:
- 基线 DP 在挂杯子任务上反而退化(-19.1%)→ 随机探索引入了错误轨迹
- SIME 抖动值高(5.14 vs SOE 3.57)→ 直接在动作空间加噪声导致不平滑
有效维度发现
| 任务 | Lift | Can | Square | Transport |
|---|---|---|---|---|
| 内在维度 | 8 | 8 | 10 | 16 |
任务复杂度与有效维度正相关 → VIB 自动发现了任务的最小自由度。
消融实验
| 变体 | 效果 |
|---|---|
| 去掉 KL 项 | 86.75% → 81.50%(-5.25%) |
| 噪声尺度 $\alpha$ | 最优 2.0;太小→改进慢,太大→不稳定 |
| KL 权重 $\beta$ | 最优 0.001;太低→纠缠,太高→坍缩 |
| 潜在维度 $d$ | 16-64 均鲁棒,有效维度不变 |
关键对比
| 特性 | 直接加噪声(DP) | SIME | SOE |
|---|---|---|---|
| 探索空间 | 动作空间 | 动作空间 | 潜在流形 |
| 运动平滑度 | 差 | 差(抖动高) | 好 |
| 安全性 | 低 | 中 | 高 |
| 可引导性 | 无 | 无 | 有(SNR 维度) |
| 平均提升 | 负/低 | 低 | 50.8% |
个人思考
- “在哪个空间探索” 比”探索多少”更重要:SOE 的核心贡献不是更多的探索,而是在正确的空间探索——潜在流形保证了安全性和有效性。
- VIB 的信息瓶颈原理完美匹配这个问题:压缩掉冗余信息(观察细节)→ 保留动作相关信息 → 在压缩空间中的扰动自然对应有意义的动作变化。
- 基线反而退化(挂杯子 -19.1%)是最有说服力的实验:说明在动作空间随机探索不仅无用,还会收集到有害数据污染策略。
- 用户引导的实用性:通过高 SNR 维度,用户只需调整 8-16 个有意义的参数 → 比在 22 维动作空间中引导直观得多。
- Pass@5 指标的意义:真实机器人不能无限尝试 → “5 次内至少成功 1 次”是实际部署中非常实用的指标,SOE 在这个指标上表现出色。