跳转至

多任务与泛化

概述

当前机器人学习的主要局限之一是泛化能力不足:在实验室中训练的策略通常只能完成特定物体、特定环境下的特定任务。面对真实世界的无限多样性——不同的物体形状、材质、布局、光照、任务描述——单任务策略远远不够。

本文讨论机器人学习中实现多任务能力和泛化的核心方法与挑战。


泛化的维度

机器人泛化需要在多个维度上同时应对变化:

泛化维度 变化来源 难度
物体内泛化 同类物体的不同实例(不同杯子)
物体间泛化 不同类别物体(杯子 vs 碗)
场景泛化 不同桌面布局、背景
光照泛化 不同光源方向、强度 低-中
任务泛化 不同技能(抓取 vs 放置 vs 倒水)
指令泛化 不同语言表述描述同一任务
机器人泛化 不同机器人形态和传感器 极高

组合爆炸

设有 \(N_o\) 种物体、\(N_e\) 种环境、\(N_t\) 种任务,则需要泛化的组合数为 \(O(N_o \times N_e \times N_t)\)。即使每个维度只有 100 种变化,总组合已达 \(10^6\)——远超人工逐一收集数据的能力。


多任务学习

问题公式

多任务学习的目标是训练单一策略 \(\pi_\theta\) 同时完成 \(M\) 个任务 \(\{\mathcal{T}_1, \ldots, \mathcal{T}_M\}\)。每个任务由奖励函数 \(r_m\) 或演示数据集 \(\mathcal{D}_m\) 定义。

目标函数

\[ \min_\theta \sum_{m=1}^M w_m \mathbb{E}_{(o, a) \sim \mathcal{D}_m} \left[ \mathcal{L}(\pi_\theta(o, c_m), a) \right] \]

其中 \(c_m\) 是任务条件(如语言指令、one-hot 编码、目标图像),\(w_m\) 是任务权重。

任务条件化方式

语言条件(最常用):

\[ \pi_\theta(a | o, l), \quad l = \text{``pick up the red cup''} \]

语言指令通过预训练语言模型(如 CLIP、T5)编码为向量 \(e_l \in \mathbb{R}^d\)

目标图像条件

\[ \pi_\theta(a | o_t, o_{\text{goal}}) \]

提供任务完成后的目标图像,避免语言歧义。

任务嵌入条件

\[ \pi_\theta(a | o, z_m), \quad z_m \in \mathbb{R}^d \]

学习可训练的任务嵌入向量。

共享表征

多任务学习的核心挑战是负迁移(Negative Transfer):不同任务可能需要相互冲突的特征,共享参数反而降低每个任务的性能。

共享编码器 + 任务特定头

\[ h = f_{\text{shared}}(o), \quad a_m = g_m(h, c_m) \]

渐进网络:为每个新任务添加列,通过侧向连接复用已有知识。

Soft Modular Networks:学习每个任务的模块选择权重 \(w_{m,i}\)

\[ h = \sum_{i=1}^K w_{m,i} \cdot \text{Module}_i(o) \]

任务平衡

不同任务的难度和数据量差异大,直接均匀采样会导致简单任务过拟合、困难任务欠拟合。

动态权重调整(Uncertainty Weighting, Kendall et al., 2018):

\[ \mathcal{L}_{\text{total}} = \sum_m \frac{1}{2\sigma_m^2} \mathcal{L}_m + \log \sigma_m \]

其中 \(\sigma_m\) 是可学习的任务不确定性参数。不确定性高的任务自动获得较低权重。


Few-Shot 适应

问题设定

给定预训练策略 \(\pi_\theta\) 和新任务的少量演示 \(\mathcal{D}_{\text{new}} = \{(o_i, a_i)\}_{i=1}^K\)\(K = 1\text{-}10\)),快速适应到新任务。

微调方法

全参数微调

\[ \theta_{\text{new}} = \theta - \eta \nabla_\theta \mathcal{L}(\pi_\theta; \mathcal{D}_{\text{new}}) \]

风险:\(K\) 很小时容易过拟合。

LoRA 适应:仅训练低秩增量矩阵:

\[ W_{\text{new}} = W_0 + \Delta W, \quad \Delta W = BA, \quad B \in \mathbb{R}^{d \times r}, A \in \mathbb{R}^{r \times d}, r \ll d \]

参数量减少为原来的 \(\frac{2r}{d+d}\) 倍,有效防止过拟合。

Adapter 微调:在冻结的预训练网络中插入小型可训练模块。

元学习(Meta-Learning)

MAML(Model-Agnostic Meta-Learning):学习一个好的初始化 \(\theta_0\),使得从该初始化出发,几步梯度下降即可适应新任务。

外层优化

\[ \theta_0^* = \arg\min_{\theta_0} \sum_{m=1}^M \mathcal{L}_m \left( \theta_0 - \alpha \nabla_{\theta_0} \mathcal{L}_m^{\text{support}}(\theta_0) \right) \]

内层适应(对新任务 \(m\)):

\[ \theta_m = \theta_0^* - \alpha \nabla_{\theta_0^*} \mathcal{L}_m^{\text{support}}(\theta_0^*) \]

其中 support set 是少量演示,query set 用于评估适应效果。

In-Context Learning

受 LLM 的 in-context learning 启发,将少量演示作为上下文直接输入策略网络,无需梯度更新:

\[ a_t = \pi_\theta(o_t | \text{demo}_1, \text{demo}_2, \ldots, \text{demo}_K) \]

代表工作:In-Context Robot Transformer(Zitkovich et al., 2023)。


零样本迁移

基础模型驱动的零样本能力

利用在海量数据上预训练的基础模型,实现无需目标任务数据的直接迁移。

视觉-语言-动作模型(VLA)

VLA 模型(如 RT-2、OpenVLA)通过在大规模机器人数据和互联网数据上联合训练,获得了一定的零样本泛化能力:

  • 新物体(训练中未见过的物体类别)
  • 新指令(训练中未见过的语言表述)
  • 一定程度的新技能组合

语义迁移路径

graph LR
    A[互联网知识<br/>十亿级图文数据] --> B[视觉-语义理解<br/>物体识别/空间关系/常识]
    B --> C[VLA模型<br/>RT-2 / OpenVLA]
    D[机器人数据<br/>百万级轨迹] --> C
    C --> E[零样本执行<br/>新物体/新指令]

    style A fill:#e1f5fe
    style B fill:#fff3e0
    style C fill:#e8f5e9
    style D fill:#e1f5fe
    style E fill:#fce4ec

语言引导的技能组合

通过 LLM 的规划能力,将新任务分解为已有技能的组合:

  1. 任务描述:"整理桌子" → LLM 分解为:

    • 找到所有物品
    • 逐一放入收纳盒
    • 擦拭桌面
  2. 技能库匹配:将子任务映射到已训练的原子技能

  3. 顺序执行:按序调用各原子策略

代表工作:SayCan(Ahn et al., 2022)将 LLM 的语义知识与机器人的可行性评估结合:

\[ \pi_{\text{skill}}^* = \arg\max_{\text{skill}} \underbrace{P_{\text{LLM}}(\text{skill} | \text{context})}_{\text{语义相关性}} \cdot \underbrace{P_{\text{affordance}}(\text{skill} | o_t)}_{\text{物理可行性}} \]

基准测试

SIMPLER

SIMPLER(Li et al., 2024)是一个基于仿真的机器人策略评估基准:

  • 设计目标:提供与真实世界高度相关的仿真评估
  • 任务:Google Robot 和 WidowX 平台的操作任务
  • 评估协议:标准化的成功率、泛化性指标

LIBERO

LIBERO(Liu et al., 2023)是一个多任务机器人学习基准:

  • 130 个任务:涵盖 5 个任务套件
  • 泛化测试
    • LIBERO-Spatial:空间关系泛化
    • LIBERO-Object:物体泛化
    • LIBERO-Goal:目标泛化
    • LIBERO-Long:长时序任务

典型结果

方法 LIBERO-Spatial LIBERO-Object LIBERO-Goal LIBERO-Long
BC (ResNet) 78.5 82.1 68.3 42.1
BC (ViT) 81.2 85.4 73.1 48.7
Diffusion Policy 86.3 89.1 80.2 56.4
ACT 84.1 87.2 77.8 52.3

RLBench

RLBench(James et al., 2020)是一个大规模仿真基准:

  • 100+ 任务:从简单到复杂
  • 多模态输入:RGB、深度、点云
  • 语言条件:每个任务配有自然语言描述

开放问题

长时序任务

当前方法在短时序任务(10-50 步)上表现良好,但长时序任务(100+ 步)仍然困难:

错误累积:在 \(T\) 步任务中,若每步成功率为 \(p\),则整体成功率为 \(p^T\)。当 \(p = 0.99, T = 100\) 时,成功率仅为 \(0.99^{100} \approx 0.37\)

分层方法

\[ \text{高层策略: } g_t = \pi_{\text{high}}(o_t, l) \quad \text{(子目标)} $$ $$ \text{低层策略: } a_t = \pi_{\text{low}}(o_t, g_t) \quad \text{(原子动作)} \]

高层策略以较低频率运行,低层策略以高频执行原子技能。

可变形物体

绳索、布料、液体等可变形物体的操作是巨大挑战:

  • 状态空间:可变形物体的状态维度理论上无穷大
  • 物理建模:仿真中的可变形体计算成本高、精度差
  • 表征学习:如何紧凑地表示可变形物体的状态

工具使用

工具使用要求理解工具的功能可供性(Affordance),包括:

  • 工具选择:根据任务选择合适的工具
  • 抓取规划:以功能性抓取方式持握工具
  • 技能迁移:将一种工具的使用经验迁移到另一种

这需要对物理世界有深层的因果理解,远超模式匹配。

安全约束下的泛化

泛化策略在新环境中行为不确定,安全保障更加困难:

  • 不确定性估计:策略何时"不确定"?
  • 安全回退:检测到异常时执行安全停止
  • 人机协作:在不确定的情况下请求人类帮助

标准化评估框架

为公平比较不同方法的泛化能力,社区正在建立标准化评估:

评估维度 指标 测量方式
训练效率 达到阈值性能所需数据量 数据缩放曲线
同分布性能 训练条件下的成功率 标准测试集
OOD 泛化 分布外条件下的成功率 系统化的环境变化
适应速度 few-shot 适应所需样本数 K-shot 曲线
迁移比 real/sim 成功率比 Sim2Real 评估

与其他章节的联系

  • 基础模型模型与算法 中的 VLA 和世界模型是实现零样本泛化的关键
  • 模仿学习模仿学习 中的 BC 和扩散策略是多任务学习的底层算法
  • 扩散策略扩散策略 的多模态建模能力对多任务学习尤为重要
  • 数据收集遥操作与数据收集 中的数据规模化直接影响泛化能力

参考文献

  1. Reed, S., et al. (2022). A Generalist Agent. TMLR (Gato).
  2. Brohan, A., et al. (2023). RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control. CoRL.
  3. Liu, B., et al. (2023). LIBERO: Benchmarking Knowledge Transfer for Lifelong Robot Learning. NeurIPS.
  4. James, S., et al. (2020). RLBench: The Robot Learning Benchmark. IEEE RA-L.
  5. Ahn, M., et al. (2022). Do As I Can, Not As I Say: Grounding Language in Robotic Affordances. CoRL.
  6. Li, X., et al. (2024). SIMPLER: Simulated Manipulation Policy Evaluation for Robot Learning. CoRL.
  7. Finn, C., Abbeel, P., & Levine, S. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. ICML.

评论 #