R3M: A Universal Visual Representation for Robot Manipulation

news2024/11/15 13:34:20

R3M [25] explores how visual representations obtained by training on diverse human video data using time-contrastive learning and video-language can enable data-efficient learning(实际上就是小样本学习) of downstream robotic manipulation tasks.

发表时间:CoRL 2022

论文链接:https://readpaper.com/pdf-annotate/note?pdfId=4692250363701493761&noteId=2398886211885348608

作者单位:Stanford University, Meta AI

Motivation:我们研究了在不同人类视频数据上预训练的视觉表示如何使下游机器人操作任务的数据高效学习。

解决方法:具体来说,我们使用时间对比学习、视频语言对齐 和 L1 惩罚的组合(这三个技术是本文的核心)使用 Ego4D 人类视频数据集(全球超过70个地点,总共包含超过3500小时的数据)预训练视觉表示,以鼓励稀疏和紧凑的表示。生成的表示 R3M 可以当作冻结感知模块用于下游任务的策略学习。

我们假设基于视觉的机器人操作的良好表示由三个组件组成:

  1. 首先,它应该包含物理交互所需的信息,因此应该捕获场景的时间动态(即状态如何过渡到其他状态)。

  2. 其次,它应该优先于语义相关性,应该专注于与任务相关的特征,如对象及其关系。

  3. 最后,它应该紧凑,不包括与上述标准(例如背景)无关的特征。

针对上述a good representation for vision-based robotic manipulation的三点要求,提出以下三个方法:

  1. 时间对比学习来学习捕获时间动态的表示.

  2. 视频语言对齐以捕获场景的语义相关的特征.

  3. L1 和 L2 惩罚以鼓励稀疏性。

具体来说,我们为机器人操作 (R3M) 预训练可重用的表示,可用作模拟和真实机器人操作任务中下游策略学习的冻结感知模块。

本文方法的特点:

  • 在大量数据中训练,并利用少量数据迁移 。

  • 之前的用作学习机器人表征的数据都比较少,本文利用的数集据很大。

  • 相比之下,我们使用不同的人类视频数据和语言注释来学习可重用的visual representations来实现控制(位姿的输出)。

  • 虽然我们的目标是通过从不同数据中学习来实现泛化,但我们的重点是(1)从人类视频数据中学习,因此环境和任务的分布更大,以及(2)预训练视觉表示,而不是策略或模型。

  • 至关重要的是,与所有这些工作不同,这项工作的主要贡献不是提出一种新的表示学习方法,而是研究在不同视频和人机交互语言上训练的表示是否可以更有效地学习机器人操作

实现方式:Our goal is to use diverse human video data to pre-train a single reusable visual representation for motor control, particularly robotic manipulation, that can enable efficient downstream learning in previously unseen environments and tasks.

输入:each video consists of a sequence of RGB frames [I0, I1, ..., IT ]

Time Contrastive Learning:我们用时间对比学习训练 R3M,鼓励状态在时间上更接近嵌入空间和视频语言对齐,以鼓励嵌入捕获语义相关的特征。给定一批视频,我们训练编码器产生一个表示,这样在时间上更接近的图像之间的距离小于时间或不同视频的图像。(也就是把同一视频的相近时间步的帧当作正类,其他的帧和其他的视频的图像当作负类。)

Video-Language Alignment:同一视频中的帧以及这一视频对应的语言是正样本,其他视频的帧是负样本。

Regularization:存在问题:状态分布偏移是模仿学习被广泛研究的失败的模式,其中行为克隆训练的策略偏离专家状态分布。解决方法:降低状态空间的有效维数(我们用简单的L1和L2惩罚实现)可以帮助缓解这个问题。

R3M Summary & Implementation:联合优化上述三个目标,image encoder是resnet,policy是MLP

实验:12 simulated robot manipulation tasks(these environments and tasks are never seen during R3M training.);a Franka Emika Panda arm to learn a range of manipulation tasks in a realgiven just 20 demonstrations)。evaluated across 12 tasks, 9 viewpoints, and 3 different simulation environments。

学到了比clip和moco更好的机器人的特征表示。

结论:我们当前的评估仅限于模仿学习,特别是行为克隆,具有少量任务演示。虽然我们希望看到 R3M 对其他机器人学习设置(如强化学习)同样有益,但 RL 的良好预训练表示与用于模仿的良好预训练表示不同的情况。 研究 R3M embedding 或语言接地模块是否可以提供有用的奖励信号是未来工作的一个有趣的方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【FreeRTOS】事件组实验-改进姿态控制

目录 0 前言1 事件组实验_改进姿态控制2 改进思路2.1 创建事件2.2 等待事件2.3 设置事件2.4 Debug2.5 设置MPU6050寄存器 3 总结 0 前言 学习视频: 【FreeRTOS 入门与工程实践 --由浅入深带你学习 FreeRTOS(FreeRTOS 教程 基于 STM32,以实际项…

pdf文件怎么编辑?6个pdf编辑方法学起来(图文教程)

pdf文件怎么编辑?现今的互联网时代,我们的办公也趋向于数字化办公。PDF文件已经成为我们日常工作和学习中不可或缺的格式文件。然而,编辑PDF文档不是一件容易的事。很多人会因为编辑pdf文档感到非常苦恼,尤其是当需要对PDF进行内容…

Linux内核编程(十五)网络设备驱动

本文目录 一、常见的网络协议二、传输介质三、RJ-45接口 对于网络知识不太熟悉的同学可以查看这篇文章:计算机网络知识点详情总结。 一、常见的网络协议 TCP、UDP协议:详情查看-TCP、UDP系统编程。DNS协议:是互联网中用于将域名&#xff08…

【刷题笔记】删除并获取最大点数粉刷房子

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 题目一 题目链接&#xff1a;删除并获取最大点数 思路&#xff1a; 预处理状态表示 状态转移方程 代码如下&#xff1a; class Solution { public:int deleteAndEarn(vector<int>& nums) {int N1…

八股(7)——Redis

八股&#xff08;7&#xff09;——Redis 4.3 RedisRedis 基础简单介绍一下 Redis!分布式缓存常见的技术选型方案有哪些&#xff1f;说一下 Redis 和 Memcached 的区别和共同点缓存数据的处理流程是怎样的&#xff1f;为什么要用 Redis/为什么要用缓存&#xff1f;Redis 除了做…

2024 年全国大学生数学建模竞赛(国赛)浅析

需要完整资料&#xff0c;请关注WX&#xff1a;“小何数模”&#xff01; &#xff08;需要完整B、C和E题资料请关注WX&#xff1a;“小何数模”&#xff0c;获取资料链接&#xff01;&#xff09; 本次万众瞩目的全国大学生数学建模赛题已正式出炉&#xff0c;无论是赛题难度…

Floorp Browser:开源自由,打造更个性化的浏览环境!

前言 "技术引领未来&#xff0c;创新改变世界。" 在这个日新月异的数字化时代&#xff0c;网络浏览器作为我们探索互联网世界的窗口&#xff0c;其重要性不言而喻。正是在这样的背景下&#xff0c;Floorp浏览器应运而生&#xff0c;它不仅继承了Mozilla Firefox的强…

基于SpringBoot的外卖点餐系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootJSP 工具&#xff1a;IDEA/Eclipse、Navicat、Maven、Tomcat 系统展示 首页 用户管理界…

超强台风“摩羯”来临:EasyCVR平台如何汇聚城市视频资源,构建应急监测网

一、背景概述 2024年第11号台风“摩羯”自生成以来&#xff0c;迅速加强为超强台风级别&#xff0c;预计将在海南琼海到广东电白一带沿海登陆&#xff0c;带来16-17级的强风和巨浪。我国作为自然灾害多发的国家&#xff0c;每年夏季都面临着山洪、泥石流、洪涝、飓风、地震等多…

摸鱼 | 图片转Excel单元格脚本

依赖安装 pip install Pillow tqdm源码&#xff1a; import argparse from PIL import Image import openpyxl from openpyxl.styles import PatternFill from tqdm import tqdmdef image_to_excel(image_path, excel_path, cell_size20, sample_ratio1, output_widthNone, o…

C++(十五)继承 part1

一、继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许我们在保持原有类特性的基础上进行扩展&#xff0c;增加方法(成员函数)和属性(成员变量)&#xff0c;这样产生新的类&#xff0c;称子类。继承呈现了面向对象程序设计的…

Restful风格接口开发

一、项目搭建 安装nestjs脚手架 // 安装nestjs脚手架 npm i nestjs/cli// 新建 nest new [名字]//选择要用的工具 npm / yarn / pnpm 文件信息&#xff1a; 【main.ts】&#xff1a; 入口文件&#xff0c;通过NestFactory&#xff08;由nestjs/core库抛出的对象&#x…

【深度学习】softmax 回归的从零开始实现与简洁实现

前言 小时候听过一个小孩练琴的故事&#xff0c;老师让他先弹最简单的第一小节&#xff0c;小孩练了两天后弹不出。接着&#xff0c;老师让他直接去练更难的第二小节&#xff0c;小孩练习了几天后还是弹不出&#xff0c;开始感觉到挫败和烦躁了。 小孩以为老师之后会让他从简…

数据链路层认识以太网

我们前面学习到的传输层&#xff0c;网络层&#xff0c;传输层是保证数据可靠传输。而网络层是实现在复杂的网络环境中确定一个合适的路径。我们接下来所说的数据链路层其实就是用于两个设备(同一种数据链路节点)之间进行传递。其实也就是如数次的局域网中设备之间的转发过程。…

Pytest-@pytest.fixture夹具篇(一)

一、定义 在Python的pytest测试框架中&#xff0c;pytest.fixture是一个&#xff08;不是唯一&#xff09;装饰器&#xff0c;用于定义一个测试夹具。 二、简单实例 使用参数autouserTrue pytest.fixture(autouseTrue) def my_fixture():print("Setup: 准备测试环境&q…

华为软件测试笔试真题,抓紧收藏不然就看不到了

软件测试工程师笔试题目 一&#xff0e;填空 1、 系统测试使用&#xff08; C &#xff09;技术, 主要测试被测应用的高级互操作性需求, 而无需考虑被测试应用的内部结构。 A、 单元测试 B、 集成测试 C、 黑盒测试 D、白盒测试 2、单元测试主要的测试技术不包括&#xff08…

11. GIS三维建模工程师岗位职责、技术要求和常见面试题

本系列文章目录&#xff1a; 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

CACTER直播预告:畅联海外,高效通邮——解锁海外通邮新路径

在全球化的今天&#xff0c;企业通信的无障碍至关重要。然而&#xff0c;随着企业业务的不断拓展&#xff0c;海外通信的挑战也随之增加。跨国邮件传输的延迟、丢件、甚至安全问题&#xff0c;都可能成为企业国际化道路上的绊脚石。如何确保邮件在全球范围内的高效、安全传输&a…

设计模式1:C#开发中使用创建型的工厂模式和行为型的策略模式

一、接口设计的好处 三大好处&#xff1a;解耦、可复用、可扩展。 二、简单工厂模式 【三要素】能创建具体产品的工厂、抽象产品&#xff08;接口&#xff09;、具体产品 【基本用法】字符串>创建对象>调用其方法 // 产品接口 public interface IProduct {void Opera…

【计组易混淆概念梳理助记】机器字长、指令字长、存储字长、数据通路宽度...各种字长大杂炖,应该如何区分?谁又应该等于谁?

苏泽 “弃工从研”的路上很孤独&#xff0c;于是我记下了些许笔记相伴&#xff0c;希望能够帮助到大家 所有学过计组的人几乎都有一个烦恼 就是里面的概念无法记住 经典“转头忘” 那究竟是为什么&#xff1f;很显然 因为名词之间没形成结构化 点与点之间无法建立联系 在…