跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

终身机器人学习数据集 LIBERO 详解

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

热情发布于 2026/4/6更新于 2026/7/2453 浏览
终身机器人学习数据集 LIBERO 详解

终身机器人学习数据集 LIBERO

1. LIBERO 的作用

LIBERO 是一个用于研究多任务和终身机器人学习中知识迁移的综合基准测试平台,基于 robosuite 框架构建。它专注于机器人操作任务,需要两类知识:

  1. 陈述性知识:关于物体和空间关系的知识
  2. 程序性知识:关于运动和行为的知识

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 个任务,分为四个主要任务套件:

  1. LIBERO-Spatial(10 个任务)
  2. LIBERO-Object(10 个任务)
  3. LIBERO-Goal(10 个任务)
  4. LIBERO-100(100 个任务)

LIBERO-100 进一步分为 LIBERO-90(90 个任务,用于预训练)和 LIBERO-10(10 个任务,用于测试下游持续学习性能)。

3.1 LIBERO-Spatial(空间关系迁移)

这 10 个任务都涉及将黑碗放到盘子上,但黑碗的初始位置不同:

  1. 拾取盘子和小碗之间的黑碗并放到盘子上
  2. 拾取小碗旁边的黑碗并放到盘子上
  3. 拾取桌子中央的黑碗并放到盘子上
  4. 拾取饼干盒上的黑碗并放到盘子上
  5. 拾取木柜顶部抽屉中的黑碗并放到盘子上
  6. 拾取小碗上的黑碗并放到盘子上
  7. 拾取饼干盒旁边的黑碗并放到盘子上
  8. 拾取炉子上的黑碗并放到盘子上
  9. 拾取盘子旁边的黑碗并放到盘子上
  10. 拾取木柜上的黑碗并放到盘子上

3.2 LIBERO-Object(物体知识迁移)

这 10 个任务都是将不同物体放入篮子:

  1. 拾取字母汤罐头并放入篮子
  2. 拾取奶油奶酪并放入篮子
  3. 拾取沙拉酱并放入篮子
  4. 拾取烧烤酱并放入篮子
  • 拾取番茄酱并放入篮子
  • 拾取番茄酱罐并放入篮子
  • 拾取黄油并放入篮子
  • 拾取牛奶并放入篮子
  • 拾取巧克力布丁并放入篮子
  • 拾取橙汁并放入篮子
  • 3.3 LIBERO-Goal(目标导向迁移)

    这 10 个任务涉及不同的操作目标:

    1. 打开柜子的中间抽屉
    2. 将碗放到炉子上
    3. 将酒瓶放到柜子顶部
    4. 打开顶部抽屉并将碗放入
    5. 将碗放到柜子顶部
    6. 将盘子推到炉子前面
    7. 将奶油奶酪放入碗中
    8. 打开炉子
    9. 将碗放到盘子上
    10. 将酒瓶放到架子上

    3.4 LIBERO-10(综合测试套件)

    这 10 个任务来自不同场景,涉及复合操作:

    1. 客厅场景 2:将字母汤和番茄酱都放入篮子
    2. 客厅场景 2:将奶油奶酪盒和黄油都放入篮子
    3. 厨房场景 3:打开炉子并将摩卡壶放上去
    4. 厨房场景 4:将黑碗放入柜子底部抽屉并关闭
    5. 客厅场景 5:将白色杯子放到左边盘子上,黄白杯子放到右边盘子上
    6. 书房场景 1:拾取书并放入收纳盒后部隔间
    7. 客厅场景 6:将白色杯子放到盘子上,巧克力布丁放到盘子右边
    8. 客厅场景 1:将字母汤和奶油奶酪盒都放入篮子
    9. 厨房场景 8:将两个摩卡壶都放到炉子上
    10. 厨房场景 6:将黄白杯子放入微波炉并关闭

    3.5 LIBERO-90

    包含 90 个任务用于预训练。

    系统支持 21 种不同的任务顺序排列,用于评估持续学习算法在不同任务序列下的表现。

    4. 框架算法详解

    4.1 终身学习算法

    1. Sequential (base)

    顺序微调基线,也是所有终身学习算法的父类。

    原理:按顺序在每个任务上训练策略网络,不采用任何防止遗忘的机制。每个任务开始时初始化优化器和调度器,然后通过 observe() 方法学习数据点。

    学习过程包括:

    • 将数据移到设备上
    • 计算策略损失
    • 反向传播并应用梯度裁剪
    • 更新参数
    2. Experience Replay (ER)

    经验回放算法。

    原理:维护一个包含之前任务数据的缓冲区。学习新任务时,从缓冲区采样旧任务数据与当前任务数据混合训练,防止灾难性遗忘。

    每个任务结束后,将该任务的数据集截断并添加到缓冲区。学习时合并当前数据和缓冲区数据。

    3. Elastic Weight Consolidation (EWC)

    弹性权重巩固算法。

    原理:通过添加正则化惩罚项来保护重要参数不被修改。计算 Fisher 信息矩阵来估计参数重要性,然后在损失函数中添加惩罚项,限制重要参数的变化。

    每个任务结束后计算 Fisher 信息,学习时在损失中加入惩罚项。

    4. PackNet

    渐进式网络剪枝算法。

    原理:为每个任务分配网络的不同子集。学习新任务时,先将之前任务使用的权重冻结,然后在剩余可训练权重上学习。任务结束后进行剪枝,保留当前任务的重要权重。

    学习时将固定参数的梯度置零,任务结束后进行剪枝并可选地进行微调。

    5. Multitask

    多任务学习基线,所有任务同时训练。

    4.2 神经网络架构

    1. BCRNNPolicy

    基于 RNN 的行为克隆策略。

    架构组成:

    1. 图像编码器:处理 RGB/深度图像,输出固定维度的嵌入
    2. 语言编码器:编码任务描述
    3. 额外模态编码器:处理关节状态、夹爪状态、末端执行器位置等
    4. LSTM 网络:处理时序信息
    5. 策略头:输出动作分布
    2. BCTransformerPolicy

    基于 Transformer 的行为克隆策略。

    架构组成:

    1. 图像编码器:与 RNN 策略类似
    2. 语言编码器
    3. 额外模态 token 化:将额外模态转换为 token
    4. 时序 Transformer:处理时序依赖
    5. 策略头
    3. BCViLTPolicy

    基于视觉 - 语言 Transformer 的行为克隆策略。

    架构组成:

    1. 图像编码器:使用 patch embedding
    2. 空间语言编码器和时序语言编码器
    3. 位置嵌入和模态嵌入:用于区分不同输入
    4. 空间 Transformer:融合图像和语言信息
    5. 时序 Transformer和策略头

    前向传播包括空间编码和时序编码两个阶段。

    所有策略网络都继承自 BasePolicy 基类,实现了统一的接口。三种网络的主要区别在于时序建模方式:RNN 使用 LSTM,Transformer 使用自注意力机制,ViLT 则采用双层 Transformer 分别处理空间和时序信息。所有算法都基于行为克隆,通过模仿学习从人类演示中学习策略。

    5. 待解决的问题

    LIBERO 旨在解决终身机器人学习中的几个核心挑战:

    5.1. 知识迁移评估

    通过受控的分布偏移,系统可以系统性地研究不同类型知识的迁移能力。前三个任务套件分别测试空间关系、物体知识和目标导向知识的迁移。

    5.2. 灾难性遗忘

    终身学习算法需要在学习新任务时保持对旧任务的性能。系统通过混淆矩阵跟踪这一问题,记录在学习任务 k 后对任务 p 的性能。

    5.3. 前向和后向迁移

    系统计算两个关键指标:

    • 前向迁移:学习速度,通过成功率 AUC 衡量
    • 后向迁移:学习新任务后对旧任务性能的影响

    6. 实验评估方法

    6.1 评估指标

    训练过程中系统跟踪多个指标:

    1. 损失混淆矩阵:记录在不同训练阶段各任务的 BC 损失
    2. 成功率混淆矩阵:记录在不同训练阶段各任务的成功率
    3. 学习曲线 AUC:衡量智能体学习和成功的速度

    6.2 实验流程

    对于顺序学习算法,系统按以下流程进行:

    1. 对每个任务 i,训练智能体
    2. 在所有已见任务(0 到 i)上评估损失和成功率
    3. 更新混淆矩阵和前向迁移指标

    对于多任务学习基线,所有任务同时训练。

    6.3 计算效率

    系统报告策略网络的计算复杂度,以 GFLOPs 和参数量(MParams)衡量。

    7. 下载及安装

    7.1 项目下载

    # 安装 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
    

    7.2 数据集下载

    推荐使用 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

    目录

    1. 终身机器人学习数据集 LIBERO
    2. 1. LIBERO 的作用
    3. 2. 核心原理
    4. 任务生成与基准设计
    5. 学习框架
    6. 算法与策略架构
    7. 3. 任务套件概览
    8. 3.1 LIBERO-Spatial(空间关系迁移)
    9. 3.2 LIBERO-Object(物体知识迁移)
    10. 3.3 LIBERO-Goal(目标导向迁移)
    11. 3.4 LIBERO-10(综合测试套件)
    12. 3.5 LIBERO-90
    13. 4. 框架算法详解
    14. 4.1 终身学习算法
    15. 1. Sequential (base)
    16. 2. Experience Replay (ER)
    17. 3. Elastic Weight Consolidation (EWC)
    18. 4. PackNet
    19. 5. Multitask
    20. 4.2 神经网络架构
    21. 1. BCRNNPolicy
    22. 2. BCTransformerPolicy
    23. 3. BCViLTPolicy
    24. 5. 待解决的问题
    25. 5.1. 知识迁移评估
    26. 5.2. 灾难性遗忘
    27. 5.3. 前向和后向迁移
    28. 6. 实验评估方法
    29. 6.1 评估指标
    30. 6.2 实验流程
    31. 6.3 计算效率
    32. 7. 下载及安装
    33. 7.1 项目下载
    34. 安装 pip install libero
    35. 下载示范数据与套件
    36. 顺序微调实验(以 bc_transformer 为例)
    37. 7.2 数据集下载
    38. 使用 HuggingFace 下载 (推荐)
    39. 下载特定数据集
    • 免费图片AI生成工具免费生成了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
    • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
    • 100+免费在线小游戏爽一把
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • Python 调用大模型(LLM)的四种方式
    • 基于 Fofa 与 Rad 的自动化漏洞扫描实战流程
    • 码云(Gitee)代码推送全流程与实操指南
    • Android Studio 更改项目使用的 JDK
    • ωK 算法原理及推导
    • 医学影像到血流仿真全流程解析:SimVascular 开源工具
    • 网络安全 SRC 漏洞挖掘实战与入门指南
    • 知网 AIGC 检测原理与降低疑似度的实战策略
    • Apache IoTDB 时序数据库选型指南与核心功能解析
    • AI 绘画精讲与 AIGC 游戏美术设计
    • Llama-2-7B 在昇腾 NPU 上的性能测评与部署实践
    • 信息系统安全等级保护定级流程、方法及注意事项
    • AI 辅助前端逆向实践:Upwork 消息系统解析
    • 虚拟形象进化:AIGC 技术驱动多场景智能交互新范式
    • 大模型提示工程技术分类详解:单一、多重及外部工具应用
    • Highcharts Treegraph 树状图与结构树图使用指南
    • C++ STL 容器详解:序列、关联与适配器
    • GitHub 学生认证指南
    • Java 并发编程:synchronized 与 volatile 详解
    • C++ 最小生成树详解

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • Gemini 图片去水印

      基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

    • curl 转代码

      解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online