One-Shot Imitation Learning

news2024/9/22 17:21:42

发表时间:NIPS2017

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

作者单位:Berkeley AI Research Lab, Work done while at OpenAI Yan Duan†§ , Marcin Andrychowicz ‡ , Bradly Stadie†‡ , Jonathan Ho†§ , Jonas Schneider‡ , Ilya Sutskever‡ , Pieter Abbeel†§ , Wojciech Zaremba‡

Motivation:模仿学习通常用于孤立地解决不同的任务。这通常需要仔细的特征工程,或者需要大量的样本。这远非我们希望:理想情况下,机器人应该能够从任何给定任务的极少数演示中学习,并立即推广到同一任务的新情况,而不需要特定于任务的工程

  • (a)之前的方法都是针对特定的方法有不同的policy.

  • (b)本文想学习一个通用的policy,并通过当前任务的single demonstration,适用于不同的任务。

  • (c)训练的时候是使用的同一任务的两个demonstration,先学一个,然后再去预测第二个demonstration的action,利用第二个demonstration的action的ground truth去进行有监督的学习(即元学习训练方法)

解决方法:在本文中,我们提出了一个元学习框架来实现这种能力,我们称之为one-shot模仿学习。

具体来说,我们考虑任务集非常大(可能是无限的)的设置,每个任务都有许多实例化。例如,一个任务可能是将桌子上的所有块堆叠成一个塔,另一个任务是将桌子上的所有块放入两块塔等。在每种情况下,任务的不同实例将由具有不同初始状态的不同块集组成。

  • 训练时,我们的算法会看到所有任务的子集的演示对。训练神经网络,以便在将第一个演示和从第二个演示中采样的状态作为输入时,它应该预测与采样状态相对应的动作。训练时候,也是一对样本pairs of demonstrations。训练时候同一任务的两个demonstrations作为输入去有监督的训练网络。(实际上并不是pairs of demonstrations,而是一个demonstration+很多个observation-action pairs)

  • 测试时,输入新任务的单个实例的完整演示和当前观察,神经网络有望在这个新任务的新实例上表现良好。因为训练的时候就是这么训练的,看一遍演示,就进行动作的学习(这就是元学习)。 测试的时候输入包括一个新任务的成功的demonstrations和当前新任务的观察然后预测当前任务。所以one-shot Imitation Learning实际上是体现在测试上,训练的时候同一任务的两个demonstrations都是有action作为监督的。

实现方式

数据收集:我们首先为每个任务收集一组演示,我们将噪声添加到动作中,以便在轨迹空间中更广泛地覆盖。在每个训练迭代中,我们对一系列任务(带有替换)进行采样。对于每个采样任务,我们对演示以及小批量观察-动作对进行采样。该策略经过训练,可以根据当前观察和演示为条件,通过最小化基于动作是连续的还是离散的 l2损失 或交叉熵损失来回归所需的动作(若是离散的动作空间就是分类问题,要是连续的动作空间就是回归问题)

也就是说实际训练的过程,对于 each sampled task, we sample a demonstration as well as a small batch of observation-action pairs。并不需要两个完整的demonstration。

模型结构:(是有一定的合理性的)

  1. Demonstration Network:演示网络接收演示轨迹作为输入,并生成策略使用演示的嵌入。这种嵌入的大小随着演示的长度以及环境中块的数量的函数线性增长。 Temporal Dropout:randomly discard a subset of time steps during training, Neighborhood Attention:由于我们的神经网络需要处理可变数量的块的演示,它必须具有可以处理可变维度输入的模块。Soft attention是一种自然操作,它将变量维输入映射到固定维输出。因此,我们需要一个操作,可以将变量维输入映射到具有可比维度的输出(将变化的维度映射成一个固定的维度)。 直观地说,我们不是由于关注所有输入而使用单个输出,而是将尽可能多的输出作为输入,并且每个输出都关注与它自己的相应输入相关的所有其他输入。 Note that the output has the same dimension as a memory vector。

  2. Context network:上下文网络是我们模型的关键。它处理演示网络产生的当前状态和嵌入,并输出上下文嵌入,其维度不依赖于演示的长度,或环境中的块数量。因此,它被迫只捕获相关信息,这些信息将被操作网络使用。 Attention over demonstration:上下文网络首先计算query向量作为当前状态的函数,然后用于关注演示嵌入中的不同时间步长。produce a single weight per time step(是一个向量),这种时间注意的结果是一个向量,其大小与环境中的blocks数量成正比(每个blocks可以理解为每个帧的特征)。 Attention over current state :前面的操作生成一个embedding,其大小与演示的长度无关,但仍然依赖于块的数量。然后,我们对当前状态应用标准软注意力来生成固定维向量,其中memory内容仅由每个块的位置组成,连同机器人的状态,形成上下文嵌入,然后将其传递给操作网络。 直观地说,尽管环境中的对象数量可能会有所不同,但在操作操作的每个阶段,相关对象的数量很小,通常是固定的。具体来说,对于块堆叠环境,机器人只需要关注它试图拾取的块的位置(源块),以及它试图在(目标块)之上放置的块的位置。因此,经过适当训练的网络可以学习将当前状态与演示中的相应阶段进行匹配,并推断源块和目标块的身份,表示为不同块上的软注意力权重,然后用于提取相应的位置传递给操作网络。

  3. Manipulation network:操作网络是最简单的组件。在提取源块和目标块的信息后,使用简单的 MLP 网络计算完成在另一个块之上堆叠一个块的当前阶段所需的动作(MLP输出动作)。

实验:没说具体的模拟环境是什么,只说明了任务的形式。

We evaluate the policy on tasks seen during training, as well as tasks unseen during training. Concretely, we collect 140 training tasks, and 43 test tasks,The number of blocks in each task can vary between 2 and 10。

The particle reaching problem is a very simple family of tasks. In fact, even our scripted policy frequently fails on the hardest tasks。(只能做简单的任务)

The robot is a point mass controlled with 2-dimensional force.

结论与语言相比,使用演示有两个基本优势:首先,它不需要语言知识,因为可以将复杂的任务传达给不说一种语言的人。其次,有很多任务很难用词来解释,即使我们假设完美的语言能力:例如,解释如何在没有演示和经验的情况下游泳似乎至少是一项极具挑战性的任务。

未来:我们计划以图像数据的形式将框架扩展到演示,这将允许更多的端到端学习,而不需要单独的感知模块。

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

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

相关文章

上门家政系统小程序开发产品类目分析

在当今数字化时代,上门家政服务系统作为连接用户与家政服务供应商的重要桥梁,正逐步渗透到人们的日常生活中,为繁忙的现代人提供了极大的便利。作为一名程序员,我将从产品类目、技术实现及市场影响等角度,对上门家政系…

AI写的论文查重率高吗?分享6款实测AI论文生成免费网站

在当今学术研究和论文写作领域,AI技术的迅猛发展为研究人员提供了极大的便利。特别是AI论文自动生成助手,它们不仅能够提高写作效率,还能帮助生成高质量的论文内容。以下是六款经过实测且免费的AI论文生成网站推荐: 一、千笔-AIP…

linux离线安装nacos

1、打开 Nacos-GitHub ,点击 Release 可以看到 Nacos 的各版本跟新信息和安装包之类的 点击下载nacos-server-2.4.1.tar.gz,在linux创建nacos文件夹,把下载好的文件上传到nacos文件夹,并通过命令解压:tar -zxvf nacos-server-2.4.…

CUDA统一内存:简化GPU编程的内存管理

CUDA统一内存:简化GPU编程的内存管理 在现代GPU编程中,内存管理一直是开发者面临的一个重要挑战。特别是在使用NVIDIA CUDA进行高性能计算时,如何在CPU和GPU之间高效地传输数据、以及如何管理这些数据的生命周期,都是影响程序性能…

ABAP 调试宏DEFINE

文章目录 调试过程完整程序 调试过程 完整程序 REPORT Z_TEST_DEFINE.TYPES: BEGIN OF GTY_DATA,NAME TYPE STRING,AGE TYPE I,END OF GTY_DATA. DATA: GS_DATA TYPE GTY_DATA,GT_DATA TYPE TABLE OF GTY_DATA. DEFINE D_TEST.GS_DATA-NAME &1.GS_DATA-AGE &2.APPE…

Linux基础网络编程-Socket通信

本文使用C语言,在Centos实现Socket两种通信类型(TCP和UDP) 文章目录 一、安装gcc二、使用TCP协议,实现Socket(SOCKE_STREAM)流式通信1. 编写TCP_server.c函数和参数解释 2.编写TCP_client.c函数和参数解释 3. 编译并运行上述两个文件3.1 编译3.2 运行(启…

TVS汽车级 二极管SZESD9B5.0ST5G你了解多少?专为汽车电子系统设计的瞬态电压抑制二极管

SZESD9B5.0ST5G功能特性分析: SZESD9B5.0ST5G用于保护电压敏感型ESD组件。优异的关断能力,低泄漏,快速响应时间为以下设计提供一流的 ESD 保护。由于体积小,适合在手机、MP3播放器、数码相机和许多其他便携式设备板空间非常宝贵的…

2024高教社杯数学建模竞赛解题思路

高教社杯数学建模竞赛解题思路:独家出版,思路解析模型代码结果可视化。 A题思路及程序链接:https://mbd.pub/o/bread/ZpqblJZs B题思路及程序链接:https://mbd.pub/o/bread/ZpqblJZx D题思路及程序链接:https://mbd.pu…

制造业中工艺路线(工序)与产线(工作中心)关系

一.工艺路线与生产线是数字孪生中的虚实关系: 1.工艺路线为虚,生产线体为实; 2.工艺路线指导生产线的生产组织,生产线承载工艺路线的能力,把虚拟的生产信息流变成真实的产流。 二.工艺路线与生产线是数字孪生中互为“…

nginx中如何设置gzip

前言 Nginx通过配置gzip压缩可以提升网站整体速度 Nginx的gzip功能是用于压缩HTTP响应内容的功能。当启用gzip时,在发送给客户端之前,Nginx会将响应内容压缩以减小其大小。这样可以减少数据传输的带宽消耗和响应时间,提高网站的性能和速度。…

2024 数学建模高教社杯 国赛(C题)| 农作物的种植策略 | 建模秘籍文章代码思路大全

铛铛!小秘籍来咯! 小秘籍团队独辟蹊径,运用等多目标规划等强大工具,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。 抓紧小秘籍,我们出发…

2024 年高教社杯全国大学生数学建模竞赛题目-A 题 “板凳龙” 闹元宵

“板凳龙”,又称“盘龙”,是浙闽地区的传统地方民俗文化活动。人们将少则几十条, 多则上百条的板凳首尾相连,形成蜿蜒曲折的板凳龙。盘龙时,龙头在前领头,龙身和龙尾 相随盘旋,整体呈圆盘状。一…

干货分享|分享一款免费开源的动态壁纸软件 Lively Wallpaper

1.软件特点: 1)这款软件拥有多种主题和风格的动态壁纸供你选择,包括自然风景、抽象艺术、动漫角色等。你可以根据个人喜好选择并自定义动态效果,如旋转、缩放、滚动等,让壁纸与你的电脑使用习惯相得益彰。 2&#xf…

【2024数模国赛赛题思路公开】国赛C题思路丨附可运行代码丨无偿自提

2024年国赛C题解题思路 C 题 农作物的种植策略 根据乡村的实际情况,充分利用有限的耕地资源,因地制宜,发展有机种植产业,对乡村经济的可持续发展具有重要的现实意义。选择适宜的农作物,优化种植策略,有利…

Word封面对齐技巧

文章目录 前言一、对齐封面1. 点击视图,添加标尺2. 选中文字,右击段落3. 点击制表符,设置制表位位置4. 鼠标点击“:”后面,点击“Tab”键5. 按住“Ctrl”键,选中没对齐的文字,点击“中文板式”,调整宽度6. 最终效果前言 本章使用的软件是WPS2019,简单介绍Word使用中封…

2024高教社杯全国大学生数学建模竞赛E题保姆级分析完整思路+代码+数据教学

2024高教社杯全国大学生数学建模竞赛E题保姆级分析完整思路代码数据教学 E题题目:交通流量管控 这道题目涉及一个拥有知名景区的小镇及其周边的道路交通管理问题。题目给出了一个现实中的交通场景,要求参赛者根据数据和交通模型,分析交通流量…

Axure制作圆球在区域范围内移动效果的案例

在Axure RP中,我们可以通过设置多个交互动作和动态面板来创建复杂的动画效果,比如实现一个圆球在指定区域内通过八个方向按钮控制移动的效果。以下是一个详细的步骤介绍,帮助你理解并制作这一效果。 预览: https://1zvcwx.axshare…

从被动防御到主动出击,揭秘云下一代防火墙的四大必杀技

在现代企业的网络架构中,边界防火墙作为第一道坚不可摧的防线,扮演着至关重要的角色。它不仅严格监控并过滤进出网络的数据流,有效阻止潜在的网络攻击、恶意软件和未经授权的访问,还根据企业安全策略智能地管理数据包的流向&#…

计算机毕设选题推荐-基于python的剧本杀预约服务平台【python-爬虫-大数据定制】

💖🔥作者主页:毕设木哥 精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻 实战项目 文章目录 实战项目 一、基于python的剧本杀预约服务…

如何撰写SCI作者同意发表函/版权转让协议

在发表SCI论文过程中,有些期刊需要作者提交稿件的时候提供作者同意发表函/版权转让协议。很多期刊是在投稿系统里面就可以选择同意发表,或者提供模板让作者填写。但是也有期刊没提供这些。如何撰写SCI作者同意发表函/版权转让协议呢?附件是Sp…