1 LIBERO 的作用
LIBERO 是一个用于研究多任务和终身机器人学习中知识迁移的综合基准测试平台,基于 robosuite 框架构建。它专注于机器人操作任务,需要两类知识:
- 陈述性知识:关于物体和空间关系的知识
- 程序性知识:关于运动和行为的知识
2 核心原理
任务生成与基准设计
LIBERO 提供了一个程序化生成管道,原则上可以生成无限数量的操作任务。系统包含 130 个任务,分为四个任务套件,每个套件都有受控的分布偏移:
- LIBERO-Spatial/Object/Goal:专注于特定类型知识的迁移
- LIBERO-100:包含需要迁移纠缠知识的 100 个操作任务
学习框架
系统采用模仿学习作为主要学习方法,因为任务使用稀疏奖励函数(任务完成时获得 +1 奖励)。LIBERO 提供高质量的人类遥操作演示数据集用于训练。
算法与策略架构
LIBERO 实现了三种视觉运动策略网络:
bc_rnn_policy:基于 RNN 的行为克隆策略bc_transformer_policy:基于 Transformer 的行为克隆策略bc_vilt_policy:基于视觉 - 语言 Transformer 的行为克隆策略
以及五种终身学习算法:
base:顺序微调(基线)er:经验回放(Experience Replay)ewc:弹性权重巩固(Elastic Weight Consolidation)packnet:渐进式网络架构方法multitask:多任务学习(基线)
3 任务套件概览
LIBERO 包含 130 个任务,分为四个主要任务套件:
- LIBERO-Spatial(10 个任务)
- LIBERO-Object(10 个任务)
- LIBERO-Goal(10 个任务)
- LIBERO-100(100 个任务)
LIBERO-100 进一步分为 LIBERO-90(90 个任务,用于预训练)和 LIBERO-10(10 个任务,用于测试下游持续学习性能)。
3.1 LIBERO-Spatial(空间关系迁移)
这 10 个任务都涉及将黑碗放到盘子上,但黑碗的初始位置不同:
- 拾取盘子和小碗之间的黑碗并放到盘子上
- 拾取小碗旁边的黑碗并放到盘子上
- 拾取桌子中央的黑碗并放到盘子上
- 拾取饼干盒上的黑碗并放到盘子上
- 拾取木柜顶部抽屉中的黑碗并放到盘子上
- 拾取小碗上的黑碗并放到盘子上
- 拾取饼干盒旁边的黑碗并放到盘子上
- 拾取炉子上的黑碗并放到盘子上
- 拾取盘子旁边的黑碗并放到盘子上
- 拾取木柜上的黑碗并放到盘子上
3.2 LIBERO-Object(物体知识迁移)
这 10 个任务都是将不同物体放入篮子:
- 拾取字母汤罐头并放入篮子
- 拾取奶油奶酪并放入篮子
- 拾取沙拉酱并放入篮子
- 拾取烧烤酱并放入篮子
- 拾取番茄酱并放入篮子
- 拾取番茄酱罐并放入篮子
- 拾取黄油并放入篮子


