终身机器人学习数据集 LIBERO 详解
LIBERO 是一个基于 robosuite 框架的终身机器人学习基准测试平台,专注于多任务知识迁移。它包含 130 个操作任务,分为空间、物体、目标导向及综合测试套件。系统提供三种视觉运动策略网络(RNN、Transformer、ViLT)和五种终身学习算法(如经验回放、弹性权重巩固)。通过模仿学习和人类遥操作演示进行训练,旨在评估灾难性遗忘及前向后向迁移能力。支持通过 pip 安装及 HuggingFace 下载数据集。

LIBERO 是一个基于 robosuite 框架的终身机器人学习基准测试平台,专注于多任务知识迁移。它包含 130 个操作任务,分为空间、物体、目标导向及综合测试套件。系统提供三种视觉运动策略网络(RNN、Transformer、ViLT)和五种终身学习算法(如经验回放、弹性权重巩固)。通过模仿学习和人类遥操作演示进行训练,旨在评估灾难性遗忘及前向后向迁移能力。支持通过 pip 安装及 HuggingFace 下载数据集。

LIBERO 是一个用于研究多任务和终身机器人学习中知识迁移的综合基准测试平台,基于 robosuite 框架构建。它专注于机器人操作任务,需要两类知识:
LIBERO 提供程序化生成管道,原则上可生成无限数量的操作任务。系统包含 130 个任务,分为四个任务套件,每个套件都有受控的分布偏移:
系统采用模仿学习作为主要学习方法,因为任务使用稀疏奖励函数(任务完成时获得 +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:多任务学习(基线)LIBERO 包含 130 个任务,分为四个主要任务套件:
LIBERO-100 进一步分为 LIBERO-90(90 个任务,用于预训练)和 LIBERO-10(10 个任务,用于测试下游持续学习性能)。
这 10 个任务都涉及将黑碗放到盘子上,但黑碗的初始位置不同:
这 10 个任务都是将不同物体放入篮子:
这 10 个任务涉及不同的操作目标:
这 10 个任务来自不同场景,涉及复合操作:
包含 90 个任务用于预训练。
系统支持 21 种不同的任务顺序排列,用于评估持续学习算法在不同任务序列下的表现。
顺序微调基线,也是所有终身学习算法的父类。
原理:按顺序在每个任务上训练策略网络,不采用任何防止遗忘的机制。每个任务开始时初始化优化器和调度器,然后通过 observe() 方法学习数据点。
学习过程包括:
经验回放算法。
原理:维护一个包含之前任务数据的缓冲区。学习新任务时,从缓冲区采样旧任务数据与当前任务数据混合训练,防止灾难性遗忘。
每个任务结束后,将该任务的数据集截断并添加到缓冲区。学习时合并当前数据和缓冲区数据。
弹性权重巩固算法。
原理:通过添加正则化惩罚项来保护重要参数不被修改。计算 Fisher 信息矩阵来估计参数重要性,然后在损失函数中添加惩罚项,限制重要参数的变化。
每个任务结束后计算 Fisher 信息,学习时在损失中加入惩罚项。
渐进式网络剪枝算法。
原理:为每个任务分配网络的不同子集。学习新任务时,先将之前任务使用的权重冻结,然后在剩余可训练权重上学习。任务结束后进行剪枝,保留当前任务的重要权重。
学习时将固定参数的梯度置零,任务结束后进行剪枝并可选地进行微调。
多任务学习基线,所有任务同时训练。
基于 RNN 的行为克隆策略。
架构组成:
基于 Transformer 的行为克隆策略。
架构组成:
基于视觉 - 语言 Transformer 的行为克隆策略。
架构组成:
前向传播包括空间编码和时序编码两个阶段。
所有策略网络都继承自 BasePolicy 基类,实现了统一的接口。三种网络的主要区别在于时序建模方式:RNN 使用 LSTM,Transformer 使用自注意力机制,ViLT 则采用双层 Transformer 分别处理空间和时序信息。所有算法都基于行为克隆,通过模仿学习从人类演示中学习策略。
LIBERO 旨在解决终身机器人学习中的几个核心挑战:
通过受控的分布偏移,系统可以系统性地研究不同类型知识的迁移能力。前三个任务套件分别测试空间关系、物体知识和目标导向知识的迁移。
终身学习算法需要在学习新任务时保持对旧任务的性能。系统通过混淆矩阵跟踪这一问题,记录在学习任务 k 后对任务 p 的性能。
系统计算两个关键指标:
训练过程中系统跟踪多个指标:
对于顺序学习算法,系统按以下流程进行:
对于多任务学习基线,所有任务同时训练。
系统报告策略网络的计算复杂度,以 GFLOPs 和参数量(MParams)衡量。
# 安装 pip install libero
# 下载示范数据与套件
python -m libero.download_suite --suite libero_100
# 顺序微调实验(以 bc_transformer 为例)
python libero/lifelong_train.py \
--suite libero_100 \
--policy bc_transformer_policy \
--algo sequential
推荐使用 HuggingFace 源下载:
# 使用 HuggingFace 下载 (推荐)
python benchmark_scripts/download_libero_datasets.py --use-huggingface
# 下载特定数据集
python benchmark_scripts/download_libero_datasets.py --datasets libero_spatial --use-huggingface
HuggingFace 仓库地址:yifengzhu-hf/LIBERO-datasets 完整地址:https://huggingface.co/datasets/yifengzhu-hf/LIBERO-datasets

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online