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

news2024/9/22 13:41:08

介绍

论文地址: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.coloradmin.cn/o/1932868.html

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

相关文章

JavaEE初阶 - IO、存储、硬盘、文件系统相关常识 (二)

🎇🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 人生格言: 当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友…

appium2.0 执行脚本遇到的问题

遇到的问题: appium 上的日志信息: 配置信息 方法一 之前用1.0的时候 地址默认加的 /wd/hub 在appium2.0上, 服务器默认路径是 / 如果要用/wd/hub 需要通过启动服务时设置基本路径 appium --base-path/wd/hub 这样就能正常执行了 方法二…

HarmonyOS NEXT学习——@BuilderParam装饰器

初步理解,相当于VUE的插槽slot Builder function overBuilder() {}Component struct Child {label: string ChildBuilder customBuilder() {}Builder customChangeThisBuilder() {}BuilderParam customBuilderParam: () > void this.customBuilder; // 使用自定…

【TDA4板端部署】基于 Pytorch 训练并部署 ONNX 模型在 TDA4

1 将torch模型转onnx模型 Ti转换工具只支持以下格式: Caffe - 0.17 (caffe-jacinto in gitHub) Tensorflow - 1.12 ONNX - 1.3.0 (opset 9 and 11) TFLite - Tensorflow 2.0-Alpha 基于 Tensorflow、Pytorch、Caffe 等训练框架,训练模型:选择…

Hadoop3:HDFS存储优化之小文件归档

一、情景说明 我们知道,NameNode存储一个文件元数据,默认是150byte大小的内存空间。 那么,如果出现很多的小文件,就会导致NameNode的内存占用。 但注意,存储小文件所需要的磁盘容量和数据块的大小无关。 例如&#x…

【5G Sub-6GHz模块】专为IoT/eMBB应用而设计的RG520NNA、RG520FEB、RG530FNA、RG500LEU 5G模组

推出全新的5G系列模组: RG520NNADB-M28-SGASA RG520NNADA-M20-SGASA RG520FEBDE-M28-TA0AA RG530FNAEA-M28-SGASA RG530FNAEA-M28-TA0AA RG500LEUAA-M28-TA0AA ——明佳达 1、5G RG520N 系列——专为IoT/eMBB应用而设计的LGA封装模块 RG520N 系列是一款专为 IoT…

Kafka Producer发送消息流程之Sender发送线程和在途请求缓存区

文章目录 1. Sender发送数据1. 发送数据的详细过程:2. 关键参数配置 2. 在途请求缓存区 1. Sender发送数据 Sender线程负责将已经在RecordAccumulator中准备好的消息批次发送到Kafka集群。虽然消息在RecordAccumulator中是按照分区组织的,但Sender线程在…

百日筑基第二十三天-23种设计模式-创建型总汇

百日筑基第二十三天-23种设计模式-创建型总汇 前言 设计模式可以说是对于七大设计原则的实现。 总体来说设计模式分为三大类: 创建型模式,共五种:单例模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式。结构型模式,共…

【JavaEE】synchronized原理详解

本文使用的是JDK1.8 目录 引言 Java对象在JVM的结构 对象头 Mark Word Monitor Owner EntryList WaitSet 加锁过程 锁消除 偏向锁 偏向锁使用 重偏向 撤销偏向 轻量级锁 重量级锁 自旋优化 引言 对于synchronized原理讲解之前,我们需要知道Java对象…

如何通过DBC文件看懂CAN通信矩阵

实现汽车CAN通信开发,必不可少要用到DBC文件和CAN通信矩阵。 CAN通信矩阵是指用于描述 CAN 网络中各个节点之间通信关系的表格或矩阵。它通常记录了每个节点能够发送和接收的消息标识符(ID)以及与其他节点之间的通信权限。 通信矩阵在 CAN 网…

Redis中数据分片与分片策略

概述 数据分片是一种将数据分割并存储在多个节点上的技术,可以有效提高系统的扩展性和性能。在Redis中,数据分片主要用于解决单个实例存储容量和性能瓶颈的问题。通过将数据分散存储到多个Redis节点中,可以将负载均衡到不同的服务器上&#…

防火墙之双机热备篇

为什么要在防火墙上配置双机热备技术呢? 相信大家都知道,为了提高可靠性,避免单点故障 肯定有聪明的小伙伴会想到那为什么不直接多配置两台防火墙,然后再将他们进行线路冗余,不就完成备份了吗? 答案是不…

UDP客户端、服务端及简易聊天室实现 —— Java

UDP 协议(用户数据包协议) UDP 是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接,简单来说,当客户端向接收端发送数据时,客户端不会确认接收端是否存在,就会发出…

【深度学习教程】

文章目录 pytorch官方教程知识蒸馏:https://pytorch.org/tutorials/beginner/knowledge_distillation_tutorial.html 李宏毅-机器学习/深度学习https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.phphttps://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.phphttp…

深入解析公有IP与私有IP:地址分配与使用限制

IP地址在网络基础设施的建设和维护过程中起着至关重要的作用。作为IP地址的两大类型,公有IP和私有IP各自具有独特的分配机制和使用限制。本文将详细分析两者之间的区别,以帮助读者更好地理解和使用IP地址。 1. 公有IP与私有IP概述 IP地址是网络中的唯一…

Spring Boot 中使用 Resilience4j 实现弹性微服务的简单了解

1. 引言 在微服务架构中,服务的弹性是非常重要的。Resilience4j 是一个轻量级的容错库,专为函数式编程设计,提供了断路器、重试、舱壁、限流器和限时器等功能。 这里不做过多演示,只是查看一下官方案例并换成maven构建相关展示&…

hexo搭建博客(github node git )(失败版本)

HexoGitHub搭建个人博客教程(2023最新版) 搭建失败了 是因为git命令一直报错 打算明天把git和node版本全部重新安装后再弄 同时回顾一下github git 和 node的基础知识 Github新手之路(全过程)(站在前辈的肩膀上的总…

使用 ABBYY FineReader PDF 15 在创建或转换 PDF 时自动生成书签

使用 ABBYY 为 PDF 文件添加书签,可以帮助快速定位文档中的主要内容,也能更方便的梳理出一份文档大纲。 有很多 PDF 文件在创建时并没有编辑书签,这里介绍使用 ABBYY FineReader PDF 15(Win 系统)在 PDF 中自动添加书…

两大国产多模态大模型推荐

GLM-4V 智谱AI 开放平台提供一系列具有不同功能和定价的大模型,包括通用大模型、超拟人大模型、图像大模型、向量大模型等,并且支持使用您的私有数据对模型进行微调。GLM-4V 就是在不牺牲任何NLP任务性能的情况下,实现了视觉语言特征的深度融…

网络编程-TCP/IP

网络概述 网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。 每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务 网络体系结构…