隐性行为克隆——机器人的复杂行为模仿学习的新表述

介绍

论文地址:https://arxiv.org/pdf/2109.00137.pdf
源码地址:https://github.com/opendilab/DI-engine.git

近年来,人们对机器人学习进行了大量研究,并取得了许多成果。其中,模仿学习法尤其受到关注。这是一种从人类等专家从实际机器人操作中获得的数据中学习策略的方法。模仿学习的优点包括:它不需要设计奖励函数,而且可以使用直接操作机器人的数据,无需考虑建模误差,而建模误差可能是模拟现实中的一个问题。由于这些优点,已经证实经过良好调整的基于模仿学习的措施可以在现实世界中取得成功,目前正在对其进行积极研究。

请观看这段视频,作者在视频中实际解释了这项研究的内容,以便更好地理解。

现有研究和问题

明确的政策

模仿学习中常用的一种方法叫做 “显式策略”。这是一种将根据观察结果生成机器人行为的策略建模为连续函数的方法,具体表示如下。
_θ_的获得是为了最小化人类给出的轨迹与策略轨迹之间的误差。

然而,众所周知,这一明确政策难以应对以下两个挑战

不连续性

这指的是包含离散情况(如动作序列)的任务的特点。下图显示的任务是将一个蓝色方块插入一个小盒子中,但要实现这一点,需要离散地切换操作顺序,即从左到右推一次,然后从后面推到盒子一侧。然而,这无法用连续建模的 "显式策略 "来表示。

多种模式

这是指实现一个目标有多种方法。在下图中,任务是将蓝色和黄色的积木分开并放入两个盒子中,但为了实现目标,需要移动的积木既可以来自蓝色,也可以来自黄色,这就使得任务具有了多模式性。这就给处理这种多模式任务带来了困难。

建议方法

为了应对现有研究的挑战,本文以另一种方式重新表述了模仿学习,这就是下文中的 “隐性政策”。

隐性政策

具体来说,它引入了基于能量的模型(EBM)。与前一个系统测量与目标轨迹的接近程度不同,"显式策略 "系统对观测和行动的 EBM 学习如下:
在 EBM 中,在给定状态下选择某种行动的概率可表示为可以表示为其中,z(x,θ) 为归一化常数。

然而,由于_很难计算所有y_的_z,因此_采用了_如下的抽样近似_方法:损失函数由该概率的负对数似然来计算。损失函数也是用这个概率的负对数似然来计算的,学习和推理都是通过这些来进行的。

特殊性

现在,我们来回顾一下上述表述所获得的特性。首先,以下结果表明,离散性问题得到了解决。问题集是将一个不连续的函数正确地表示为教师数据,而显式策略不可避免地会在两者之间完成,而隐式策略能够以不连续的形式表示。
下图显示了学习函数的问题设置,O 代表样本。在这个问题中,存在多值和多模态函数,以往的方法很难对其进行近似,但隐式策略将数值集中在样本附近,表明它比显式策略更好地表示了这一问题。

试验

隐式策略用于执行实际的机器人控制任务。观测内容包括图像输入、机器人关节角度、角速度和位置姿态,而关节角度的位置控制指令和速度控制指令则被设置为动作。
您可以在这里观看实验结果视频。

模拟实验

利用各种模拟环境和任务,与传统方法进行了比较。基本上,在几乎所有任务中,该方法的性能都明显优于传统方法。

所有这些任务都涉及离散性和多模态性,结果似乎证实了隐式政策在处理这些特征方面的优势。

野外实验

机械手用于执行多项任务,在实际机器上移动积木块。首先,如左图所示,将红色和绿色积木块放入任一目标的任务,我们的方法取得了约 90% 的成功率,而传统方法只有约 55% 的成功率。这项任务具有高度的多模态性,我们已经证实,我们的方法能够应对隐式规则中固有的多模态性。接下来,在插入需要调整 1 毫米的图块(如图像中央的图块)的任务中,需要离散地切换动作序列,如图所示。在这项任务中,系统的 "隐含策略 "特性也大大优于传统方法,成功率约为 80%。最后,我们还尝试了将大量蓝色和黄色图块分离并放置到目标中的任务,如右图所示。即使是这种离散任务和多模态任务的复杂组合,成功率也达到了约 50%,这证明系统能够将学习到的行为结合起来,并产生新的行为。此外,机器人还能对人类的干预(如移动木块)立即做出反应,并将其送回目标位置,这证明所获得的策略非常稳健。

总结

在本文中,我们重点讨论了模仿学习的传统方法(显式策略)无法处理的离散性和多模态问题,并提出了一种可以处理这些问题的新方法(隐式策略)。在模拟和真实机器上的实验表明,它的性能明显优于传统方法,而且在真实机器上非常稳健。

需要改进的一个方面是,与之前的 "显式政策 "相比,计算成本有所增加,因此如果能进一步降低计算成本,就有可能完成更多的动态任务。

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

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

相关文章

iOS ------ 消息传递和消息转发

一,消息传递 在OC中,传递消息就是在对象上调用方法。 相对于C语言的方法就“静态绑定”的函数,在编译器就决定了运行时所要调用的函数。在OC中,如果向某对象传递消息,就会使用动态绑定机制来决定需要调用那个方法。调…

全球风味:红酒中的地域风情与特色

在红酒的世界里,每一滴琼浆玉液都承载着地域的风情与特色。它们不仅仅是葡萄酒,更是大自然的恩赐,是时间的馈赠,是人类智慧的结晶。今天,就让我们一起走进红酒的世界,感受那些来自不同地域的风情与魅力。 …

前端面试题日常练-day91 【Less】

题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末 在Less中,以下哪种语法适用于创建混合器(Mixin)? a) mixin b) #mixin c) .mixin d) extend Less中的子元素选择器是用什么符号表示的? a) &…

【Vue】RouterLink的replace属性

1、作用:控制路由跳转时操作浏览器历史记录的模式; 2、浏览器的历史记录有两种写入方式:分别为push和replace,push是追加历史记录,replace是替换当前记录。路由跳转时候默认为push; 3、如何开启replace模式…

ROS2入门到精通—— 2-6 ROS2实战:可调节纯跟踪算法(局部规划)

1 Regulated Pure Pursuit 纯追踪算法变体:调节纯追踪算法 将自适应纯追踪(Adaptive Pure Pursuit)算法的特性与围绕线性速度的规则相结合,重点关注消费类、工业和服务型机器人的需求。我们还实现了几种常识性的安全机制&#xf…

业务终端动态分配IP-DHCP技术、DHCP中继技术

一、为什么需要DHCP? 1、许多设备(主机、无线WiFi终端等)需要动态地址的分配; 2、人工手工配置任务繁琐、容易出错,比如:IP地址冲突; 3、网络规模扩大、复杂度提高,网络配置越来越复杂,计算机的位置变化和数量超过可分配IP地址的数量,造成IP地址变法频繁以及IP地址…

Monaco 使用 DocumentHighlightProvider

Monaco 中有一个文字高亮的功能,就是选中一个单词,会高亮文字文档中所有出现该单词的位置,效果如下: Monaco 默认就有这个功能,可以根据具体需求进行定制。通过 registerDocumentHighlightProvider 进行注册 实现 pro…

java包装类 及其缓存

Java 包装类(Wrapper Class)是将基本数据类型转换为对象的方式,每个基本数据类型在 java.lang 包中都有一个相应的包装类: Boolean 对应基本类型 boolean Character 对应基本类型 char Integer 对应基本类型 int Float 对应基本…

Java时间练习(8) (2024.7.17)

Duration、Period、ChronoUnit类 package DurationPeriodChronoUnitExercise20240717; import java.time.*; import java.time.temporal.ChronoUnit;// ChronoUnit是用来得到时间间隔的类,涵盖了所有时间的单位,Duration和Period用法和其一致&#xff0…

【Java数据结构】初始线性表之一:链表

为什么要有链表 上一节我们描述了顺序表:【Java数据结构】初识线性表之一:顺序表-CSDN博客 并且进行了简单模拟实现。通过源码知道,ArrayList底层使用数组来存储元素。 由于其底层是一段连续空间,当在ArrayList任意位置插入或者…

代码随想录二刷复习(二分法)

二分法模板: 1:左闭右闭区间写法 第一种写法,我们定义 target 是在一个在左闭右闭的区间里,也就是[left, right] (这个很重要非常重要)。 区间的定义这就决定了二分法的代码应该如何写,因为定…

vue 给特定满足条件的表单数据添加背景颜色,组件的 row-class-name

1、:row-class-name"tableRowClassName" 可为表格每行根据后面的函数绑定class名 <!-- 列表框 --><div class"tableList"><el-table :data"teamModelListTable" style"width: 100%"selection-change"handleSele…

Java中的限定符和基本数据类型

限定符和数据类型 1、限定符 限定符一般指用于改变类、方法、变量等成员行为的关键字&#xff0c;这里分为访问限定符和非访问限定符。 访问限定符 访问范围privatedefaultprotectedpublic同一类1111同一包111&#xff08;其他包&#xff09;子类11全局1 非访问限定符 final&…

el-table表格操作列错行处理

解决方法&#xff1a; <style>::v-deep .el-table th.el-table__cell > .cell {white-space: nowrap !important;} </style>

不想填邀请码?Xinstall来帮你,一键安装无忧愁

在这个快节奏的时代&#xff0c;每一个点击都承载着用户的期待与耐心。然而&#xff0c;在下载App的过程中&#xff0c;繁琐的邀请码填写往往成为了用户体验的一大障碍。你是否也曾经因为不愿填写邀请码而放弃了一款心仪的App&#xff1f;今天&#xff0c;就让我们一起走进Xins…

镜像与容器

Docker Image (镜像) Docker 镜像概念 Docker iamge 本质上是一个 read-only 只读文件&#xff0c;这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必需的文件。 可以把 Docker image 理解成一个模板&#xff0c;可以通过这个模板实例化出来很多…

【Datawhale AI 夏令营】入门lightgbm及特征工程进行实践

文章目录 1. LightGBM简介2. 导入必要的库3. 加载数据集4. 数据可视化4.1 不同类型对应目标值的柱状图4.2 特定ID的目标值折线图 5. 特征工程5.1 合并训练集和测试集并进行排序5.2 历史平移5.3 窗口统计5.4 数据切分5.5 确定输入特征 6. 模型训练与评估7. 结果展示 1. LightGBM…

一文看懂JTAG基本知识

文章目录 1、JTAG是什么?1.1边界扫描2、JTAG如何起作用?2.1 PC控制JTAG2.2 并行端口2.3 JTAG TAP控制器2.4 计算JTAG链中元件个数2.5 获得JTAG链上芯片的ID3、边界扫描3.1、SAMPLE3.2、边界扫描寄存器3.3、JTAG还可以做什么?参考资料:1、JTAG是什么? JTAG是20世纪80年代开…

探索细胞秘密的“万能钥匙”:信号通路芯片大揭秘

亲爱的小伙伴们&#xff0c;今天&#xff0c;我们要揭开一项神奇技术的面纱&#xff0c;这项技术不仅能让你在科研的道路上如虎添翼&#xff0c;还能帮你快速成为细胞信号通路的“解密专家”。没错&#xff0c;这就是我们的主角——信号通路芯片&#xff08;Signaling Pathway …

Java对象复制系列五: 最快速度、方便的对象复制工具 Mapper Struct 的高阶应用

&#x1f446;&#x1f3fb;&#x1f446;&#x1f3fb;&#x1f446;&#x1f3fb;关注博主&#xff0c;让你的代码变得更加优雅。 前言 Mapper Struct 是目前最好的 Java 对象复制的工具之一。 上一节我们讲到了 Mapper Struct 的应用&#xff0c;以及测试了他的性能&…