介绍终身机器人学习的数据集LIBERO

介绍终身机器人学习的数据集LIBERO
在这里插入图片描述

1 LIBERO的作用

在这里插入图片描述

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. 拾取烧烤酱并放入篮子
  5. 拾取番茄酱并放入篮子
  6. 拾取番茄酱罐并放入篮子
  7. 拾取黄油并放入篮子
  8. 拾取牛奶并放入篮子
  9. 拾取巧克力布丁并放入篮子
  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.3 数据集下载

(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 (推荐)
HuggingFace仓库地址: download_utils.py:108
仓库ID: yifengzhu-hf/LIBERO-datasets
完整地址: https://huggingface.co/datasets/yifengzhu-hf/LIBERO-datasets
下载方法
使用下载脚本: download_libero_datasets.py:1-27

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

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

Read more

本地部署LLaMA-Factory全指南

本地部署LLaMA-Factory全指南 在大模型技术飞速发展的今天,如何让普通人也能轻松定制属于自己的AI助手?这曾是一个遥不可及的梦想。但随着 LLaMA-Factory 这类开源项目的出现,微调一个大语言模型不再只是顶级实验室的专利。它把复杂的训练流程封装成可点击的操作,甚至不需要写一行代码,就能完成从数据准备到模型部署的全过程。 如果你有一块消费级显卡,比如 RTX 3060 或更高,那么你已经具备了动手实践的基础条件。本文将带你一步步搭建环境、加载模型、配置训练参数,并最终生成一个能理解中文指令的个性化 Qwen 模型——整个过程就像使用图形化软件一样自然流畅。 硬件与环境检查:你的设备准备好了吗? 再强大的框架也离不开硬件支撑。虽然 LLaMA-Factory 支持 CPU 推理,但真正想跑通一次像样的微调任务,GPU 是必不可少的。 打开终端,先执行这条命令: nvidia-smi 如果能看到类似下面的信息,说明你的 NVIDIA 显卡驱动和 CUDA 环境基本正常: +-----------------------------------------

N46Whisper:革命性AI日语字幕制作方案

N46Whisper:革命性AI日语字幕制作方案 【免费下载链接】N46WhisperWhisper based Japanese subtitle generator 项目地址: https://gitcode.com/gh_mirrors/n4/N46Whisper N46Whisper是一款基于云端AI技术的日语语音转字幕工具,让字幕制作变得前所未有的高效智能。这款基于Whisper模型的创新应用,专为日语视频字幕制作而生,彻底改变了传统手动打字的繁琐流程。 🚀 极速启动:零配置云端体验 一键开启云端工作环境 无需安装任何软件,只需在浏览器中打开N46Whisper.ipynb文件,即可立即开始使用。云端处理能力让传统本地软件望尘莫及。 智能模型选择策略 * 标准模式:平衡精度与速度,适合日常制作 * 轻量模式:快速处理,满足即时需求 * 高精度模式:专业级识别,适合正式发布内容 💡 核心技术创新亮点 AI语音识别引擎 采用业界领先的Whisper技术,日语语音识别准确率突破95%。无论是综艺节目的快节奏对话,还是访谈内容的专业术语,都能精准捕捉。

低成本运行 Claude Code:通过 LiteLLM 接入 GitHub Copilot Chat API 的完整指南

低成本运行 Claude Code:通过 LiteLLM 接入 GitHub Copilot Chat API 的完整指南

阅读原文 一、背景与动机 Claude Code 是 Anthropic 推出的编程 Agent 工具,很多人会用它做 “vibe coding”:一边写代码一边提问,在对话中重构、重组、查 bug,体验非常接近“和聪明同事结对编程”。 但在实际使用中,它有两个比较现实的问题: 1. 成本高:频繁的对话请求,会很快消耗你的 Anthropic API 配额; 2. 网络不稳:在一些网络环境下,直接请求 Anthropic API 可能经常超时或失败。 与此同时,很多开发者已经在使用 GitHub Copilot。GitHub 在 Copilot 背后接入了包括 Claude 在内的多种大模型(具体组合会随时间调整),而你已经为这部分算力付过费了。 于是,一个很自然的问题出现了:

一次性搞懂什么是AIGC!(一篇文章22个基本概念)

一次性搞懂什么是AIGC!(一篇文章22个基本概念)

全新的时代,AIGC(Artificial Intelligence Generative Content,即人工智能生成内容)正在重新塑造着内容创作生态。当常识能被机器识别,当艺术被重新定义,当创意不再需要人工,广告营销行业将迎来一场生产变革巨浪。数英将持续聚焦AIGC领域,通过资讯分享、认知科普、方法总结、深度访谈等,带领大家多方位了解AIGC。 本期内容,我们将梳理22个AI基础概念,带你搞清楚。 以ChatGPT、Midjourney为首的AIGC软件出现至今,不过短短半年时间,已经从方方面面浸入到人们的生活里,与此同时,大量专业术语涌入我们视野。 AI、AIGC、AGI、Bing AI,ChatGPT……这些字母缩写到底是什么?有什么区别?和广告营销有什么关系? 本文将尽可能用最直白通俗的语言,结合广告营销案例,帮你搞清楚互联网上常见的AI术语。 一、基本概念/理论 1、AI 工作原理 AI,全称Artificial Intelligence,人工智能。顾名思义,