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

介绍

论文地址: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中,如果向某对象传递消息,就会使用动态绑定机制来决定需要调用那个方法。调…

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

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

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数据结构】初识线性表之一:顺序表-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…

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年代开…

云监控(华为) | 实训学习day1(10)

云监控&#xff1a;确保服务器高效运行 在当今的数字化时代&#xff0c;服务器的稳定运行对于任何企业都至关重要。为了确保服务器的 CPU、内存和硬盘等资源的合理运行&#xff0c;云监控成为了一项不可或缺的技术。本文将详细介绍云监控的基本概念、所需软件、配置方法以及如何…

JDBC 技术 | Java连接MySQL数据库(四万字零基础保姆级超全详解)

文章目录 前言一. JDBC概述1. JDBC 概念2. JDBC 本质3. JDBC 的好处 二. JDBC 快速入门1. 编写Java 程序步骤2. 在IDEA 中的操作流程3. 正式编写 Java程序 三. JDBC API详解1. DriverManager 类2. Connection 接口2.1 获取执行SQL语句的对象 3 .ResultSet 类3.1 概述3.2 代码实…

Cadence23学习笔记(四)

这个人讲cadence也很不错&#xff1a; 73、创建Power NetClass[Cadence Allegro132讲视频教程字幕版]_哔哩哔哩_bilibili 上位机开发&#xff1a; MFC 最详细入门教程-CSDN博客 Board Geometry — Design_Outline 板框 Etch — Top 走线 Pin — Top 焊盘 …

探索APP开发中的主流版式设计与应用实践

在当今移动互联网高速发展的时代&#xff0c;APP已成为人们日常生活中不可或缺的一部分。无论是社交娱乐、购物支付还是工作学习&#xff0c;各类APP都以其独特的界面设计和用户体验赢得了用户的青睐。而APP开发的版式设计和页面规范&#xff0c;则是决定用户体验好坏的关键因素…

记录些MySQL题集(6)

MySQL 单表为什么不要超过 2000W 行&#xff1f; 数据持久化在磁盘中&#xff0c;磁盘的最小单元是扇区&#xff0c;一个扇区 0.5 KB&#xff0c;而由 8 个扇区可以构成一个文件系统块&#xff08;4K&#xff09;&#xff0c;以 InnoDB 存储引擎为例&#xff0c;一个数据页的大…

打卡第15天------二叉树

最近公司给我派活儿太多了,要干好多活儿,好多工作任务要处理,我都没时间刷题了。leetcode上的题目通过数量一直停留在原地不动,我真的很着急呀,我现在每天过的都有一种紧迫感,很着急,有一种与时间赛跑的感觉,真的时间过的太快了,没有任何人能够阻挡住时间的年轮向前推…

【异步爬虫:利用异步协程抓取一部电影】

利用异步协程抓取一部电影 我们把目光转向wbdy. 目前该案例还是可以用的. 我们想要抓取网上的视频资源就必须要了解我们的视频网站是如何工作的. 这里我用91看剧来做举例. 其他网站的原理是一样的. 1.视频网站是如何工作的 假设, 你现在想要做一个视频网站. 也有很多的UP猪…