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

终身机器人学习基准测试平台 LIBERO 详解

LIBERO 是一个基于 robosuite 构建的终身机器人学习基准测试平台,专注于多任务与知识迁移研究。它包含 130 个操作任务,分为空间、物体、目标导向及综合测试套件。系统支持模仿学习框架,提供三种视觉运动策略网络(RNN、Transformer、ViLT)及五种终身学习算法(顺序微调、经验回放、EWC、PackNet、多任务)。通过混淆矩阵和学习曲线评估灾难性遗忘与迁移效果。项目使用 Python 实现,支持从 HuggingFace 或 Box 下载数据集进行实验。

刀狂发布于 2026/4/5更新于 2026/5/2335 浏览
终身机器人学习基准测试平台 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 个任务都是将不同物体放入篮子:

  • 拾取字母汤罐头并放入篮子
  • 拾取奶油奶酪并放入篮子
  • 拾取沙拉酱并放入篮子
  • 拾取烧烤酱并放入篮子
  • 拾取番茄酱并放入篮子
  • 拾取番茄酱罐并放入篮子
  • 拾取黄油并放入篮子
  • 拾取牛奶并放入篮子
  • 拾取巧克力布丁并放入篮子
  • 拾取橙汁并放入篮子
  • 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 数据集下载

    (1)直接下载链接

    • libero_object: https://utexas.box.com/shared/static/avkklgeq0e1dgzxz52x488whpu8mgspk.zip
    • libero_goal: https://utexas.box.com/shared/static/iv5e4dos8yy2b212pkzkpxu9wbdgjfeg.zip
    • libero_spatial: https://utexas.box.com/shared/static/04k94hyizn4huhbv5sz4ev9p2h1p6s7f.zip
    • libero_100: https://utexas.box.com/shared/static/cv73j8zschq8auh9npzt876fdc1akvmk.zip

    (2)HuggingFace (推荐) 仓库 ID: yifengzhu-hf/LIBERO-datasets 完整地址:https://huggingface.co/datasets/yifengzhu-hf/LIBERO-datasets

    下载方法:使用下载脚本

    # 使用 HuggingFace 下载 (推荐)
    python benchmark_scripts/download_libero_datasets.py --use-huggingface
    
    # 下载特定数据集
    python benchmark_scripts/download_libero_datasets.py --datasets libero_spatial --use-huggingface
    

    脚本会提示原始链接可能失效,建议使用 HuggingFace 源。

    目录

    1. 1 LIBERO 的作用
    2. 2 核心原理
    3. 任务生成与基准设计
    4. 学习框架
    5. 算法与策略架构
    6. 3 任务套件概览
    7. 3.1 LIBERO-Spatial(空间关系迁移)
    8. 3.2 LIBERO-Object(物体知识迁移)
    9. 3.3 LIBERO-Goal(目标导向迁移)
    10. 3.4 LIBERO-10(综合测试套件)
    11. 3.5 LIBERO-90
    12. 4 框架算法详解
    13. 4.1 终身学习算法
    14. 1. Sequential (base)
    15. 2. Experience Replay (ER)
    16. 3. Elastic Weight Consolidation (EWC)
    17. 4. PackNet
    18. 5. Multitask
    19. 4.2 神经网络架构
    20. 1. BCRNNPolicy
    21. 2. BCTransformerPolicy
    22. 3. BCViLTPolicy
    23. 5 待解决的问题
    24. 5.1. 知识迁移评估
    25. 5.2. 灾难性遗忘
    26. 5.3. 前向和后向迁移
    27. 6 实验评估方法
    28. 6.1 评估指标
    29. 6.2 实验流程
    30. 6.3 计算效率
    31. 7 下载及安装
    32. 7.1 项目下载
    33. 安装
    34. 下载示范数据与套件
    35. 顺序微调实验(以 bc_transformer 为例)
    36. 7.2 数据集下载
    37. 使用 HuggingFace 下载 (推荐)
    38. 下载特定数据集
    • 💰 8折买阿里云服务器限时8折了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 🤖 一键搭建Deepseek满血版了解详情
    • 一键打造专属AI 智能体了解详情
    极客日志微信公众号二维码

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

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

    更多推荐文章

    查看全部
    • Llama-3.2-3B 本地部署实战:基于 Ollama 的快速上手指南
    • Python 函数闭包概念详解与应用实例
    • C# 扩展 Dynamics 365 Copilot:自定义插件与场景实战
    • SeargeSDXL AI 绘画工作流使用指南
    • Trae IDE 运行 SpringBoot 项目配置教程
    • 设计支持万人并发抢购的秒杀系统架构方案
    • 模拟算法:核心概念与经典例题实践
    • 2026 年 AI 测试用例生成工具 TOP5 深度解析
    • OpenClaw + Ollama 双系统部署教程(Windows/Linux)
    • OpenAI o1 模型解析:推理能力突破与人类水平对比
    • 开源绘图工具 draw.io 自托管部署与应用指南
    • YOLOv8 模型移植到高通机器人 RB5 平台详细指南
    • Altera USB-Blaster 驱动安装:FPGA 下载基础指南
    • C++ 结构体基础用法与排序实现
    • 基于 WebGIS 与百度天气接口构建复古天气预报系统
    • Agent Skills 设计详解:大模型开发中的技能封装与复用
    • 5 款网文创作 AI 工具横评:DeepSeek、Kimi、笔灵等
    • 计算机视觉:语义分割之 FCN-8s 算法
    • 使用 Java 客户端调用 Elasticsearch API 实战指南
    • 使用 Higress 将 REST API 转换为 MCP Server 工具

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如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