当前位置: 首页 > article >正文

【论文阅读】skill code 和 one-shot manipulate

文章目录

  • 1. Interpretable Robotic Manipulation from Language
    • 针对痛点和贡献
    • 摘要和结论
    • 引言
    • 模型框架
    • 实验
    • 思考不足之处
  • 2. One-Shot Imitation Learning with Invariance Matching for Robotic Manipulation
    • 针对痛点和贡献
    • 摘要和结论
    • 引言
    • 模型框架
    • 实验

1. Interpretable Robotic Manipulation from Language

针对痛点和贡献

痛点:

  • 人类自然地使用语言指令来传递知识,这一过程对于机器来说证明更为复杂,尤其是在多任务机器人操控环境的背景下。

贡献:

  • 我们提出了Ex-PerAct,这是一种分层模仿学习方法,有效地整合了包括3D体素和语言指令在内的多种模态,从而在任务中实现了竞争性的性能。
  • 我们的方法展示了Ex-PerAct在跨任务中提取可重用技能的能力,为多任务机器人操控领域提供了显著的优势。
  • Ex-PerAct在人类可理解的自然语言和机器可用向量之间建立了关键的联系,增强了行为模式和语言指令的可解释性。

摘要和结论

  • 自然语言,作为人类获取新知识的首要媒介,为将人类理解的概念转化为机器可学习格式提供了潜在的直观桥梁。
  • 在顶层,模型的任务是学习离散的技能代码;而在底层,策略网络将问题转化为体素化网格,并将离散化的动作映射到体素网格上。

引言

  • 自然语言的整合有望加强任务之间的联系,从而促进在类似任务中重用获得的技能。
  • 然而,训练一个语言条件的多任务模型面临着重大挑战。首先,语言指令由于常识推理的固有局限性,往往未能完全阐明任务。例如,“打开抽屉”的指令可能会忽略定位和抓取抽屉把手等关键步骤,从而阻碍了对类似活动中隐含子任务的总结和重用。
  • Ex-PerAct由两个顺序的基于transformer的模型组成。顶层模型将不同任务的技能凝聚成离散的技能代码,为分段演示片段提供全面的总结。该模型作为连接人类可理解的自然语言和数字技能向量的至关重要的桥梁,从而促进在类似任务中重用凝聚技能。为了以无监督的方式对这些技能向量进行聚类,我们采用了向量量化(VQ)。至于底层模型,我们利用了最先进的PerAct[29]

The top-level model condenses skills from diverse tasks into discrete skill codes, providing a comprehensive summary of segmented demonstration snippets.

模型框架

核心概念涉及在更高层次上提取离散技能代码以桥接自然语言指令与观察结果,同时在较低层次上学习策略网络,从提取的技能代码、语言嵌入和观察-动作对中学习。
技能代码是无监督学习得到的,并在自然语言和多任务学习方面增强了可解释性。

在顶层,一个变压器模型从单个语言指令和一系列观察中学习离散技能代码,表示为f(O, L) → C。与此同时,底层变压器以命令条件行为克隆方式学习策略,表示为π(O, C, L) → A

流程:
使用CLIP将自然语言指令转换成嵌入向量。
顶层模型处理这些嵌入向量,并生成一系列技能代码,比如“打开抽屉”、“抓取牛排”和“放置到盘子上”。
底层模型结合这些技能代码和观察到的3D环境状态,决定机器人每一步的具体动作。
动作通过体素化网格的形式表示,例如移动夹持器到牛排的位置、抓取牛排、然后移动到盘子上方并释放牛排。

在这里插入图片描述

实验

在这里插入图片描述

思考不足之处

鉴于 ExPERACT 能够容纳各种形式的语言指令,开发一个模型来分解各种语言指令以配合轨迹关键点,可能是进一步提高可解释性的一个有趣方向。

此外,ExPERACT 在长期任务和 high variability 的任务中也面临挑战。

2. One-Shot Imitation Learning with Invariance Matching for Robotic Manipulation

具有不变性匹配的一次性模仿学习,用于机器人操作

针对痛点和贡献

痛点:

  • 现有技术受限于只能学习在训练期间遇到的那些任务,并且需要大量的演示来学习新任务
  • 此外,在新任务上训练这些策略需要每个任务数百次演示,这导致了对旧任务的灾难性遗忘。

机器人能否学习一个操纵策略,该策略不仅在基础任务上表现良好,而且在使用单一演示且无需任何微调的情况下泛化到新的未见任务?

摘要和结论

  • 我们提出了一种名为不变匹配一次性策略学习(Invariance-Matching One-shot Policy Learning, IMOP)的算法。与直接学习末端执行器姿态的标准实践不同,IMOP首先学习给定任务状态空间的不变区域,然后通过匹配演示和测试场景之间的不变区域来计算末端执行器的姿态。

引言

  • one shot 模仿学习旨在学习一组基本任务,并泛化到新任务,只给出每个新任务的单一演示,而无需重新训练。
  • 现有的方法依赖于强有力的假设,例如要求新任务是同一基础任务[42]的有限变化,要求基础和新任务具有相同的对象设置[11],只概括已知3D模型[2]的某些类别的对象的特定动作,或者在简单的2D平面环境中操作[13]。此外,最近的工作集中在将一般流行的技术(如transformer和扩散模型)应用于一次性模仿设置,而不利用机器人操作任务的特定结构。
  • 与直接学习期望的末端执行器姿态不同,IMOP学习每个任务的关键不变区域,并在一个一次性演示和一个给定测试场景之间找到不变区域之间的配对对应关系。配对对应关系用于通过点集配准问题的最小二乘解来解析计算测试场景中期望的末端执行器姿态。不变区域被定义为一组3D点,当在末端执行器框架中观察时,它们的坐标在共享相同语义动作的状态间保持不变。我们设计了一个基于图的不变区域匹配网络。不变区域是通过连接演示和测试场景的点云的KNN图上的邻域注意力[48]来定位的。

在这里插入图片描述
不变区域是:(1)杯子表面的一组 3D 点,与指尖接触,以及(2),来自碗点云的一组 3D 点,捕捉其球形凹形。三维点云的不变区域是从未注释的演示离线学习的,在各种对象和任务上。

模型框架

在这里插入图片描述

我们提出的不变区域预测和匹配网络的总体框架如图3所示。我们首先通过将每个点连接到同一场景内的k个最近点来为每个场景点云构建KNN图。接下来,我们在每个支持场景si内应用图自注意力,并在同一个支持演示中的连续帧si和s′ i之间的KNN图上应用图交叉注意力。与传统的全局计算所有点的注意力不同,图注意力在每个给定点的局部邻域内操作。我们使用点变换器层[40]作为图注意力算子。不变区域I(si)通过在si上应用逐点sigmoid被预测为一组激活点。然后,我们应用I(si)的KNN图和查询状态sj之间的图交叉注意力层来提取点特征hI(si) ∈ R|I(si)|×D和hsj ∈ R|sj|×D,其中D表示特征维度的大小。最后,我们通过hI(si)和hsj之间的双重softmax匹配[27]来获得对应矩阵C ∈ [0, 1]|I(si)|×|sj|:

    1. Correspondence-based Pose Regression:基于对应的姿势回归
      在这里插入图片描述
      其中Ti是支持状态si的演示动作姿态,PI(si)和Psj分别是I(si)和sj中的点,C是预测的对应矩阵。C可以被解释为一个分配矩阵,将I(si)中的每个点映射到sj中的一个点。根据定义III.1,当对应矩阵C中的点映射产生最小的整体成对距离时,最优动作姿态Tj是方程1的解。

在这里插入图片描述

    1. State Routing Network:

在这里插入图片描述

  • **训练:**为了训练IMOP,我们假设实例分割结果是可用的。我们使用RLBench[24]提供的分割掩码。请注意,在推理期间IMOP不需要任何分割。遵循RVT[17]和PerAct[38]的惯例,我们使用C2FARM[25]中的关键帧提取过程将每个状态表示为宏步骤。在每次训练迭代中,如果|τi| = |τj|,则采样两个轨迹τi和τj。状态路由网络使用焦点损失[30]进行训练,以预测si ≡ sj(即si和sj共享相同的操纵动作),如果si和sj具有相同的时间步,反之亦然。设{ci,n}N n=1表示N个实例片段,其中每个片段ci,n ∈ si是si中的一组3D点,表示对象实例。为了训练不变区域匹配网络,我们按以下方式估计方程2中的真值I(si),

实验

在这里插入图片描述

在这里插入图片描述


http://www.kler.cn/a/288478.html

相关文章:

  • Python——NumPy库的简单用法,超级详细教程使用
  • 为什么hbase在大数据领域渐渐消失
  • apache2配置多站点
  • WordPress HTTPS 配置问题解决方案
  • Qt 和 WPF(Windows Presentation Foundation)
  • C++,STL 054(24.11.13)
  • C++ 设计模式——职责链模式
  • Go父类调用子类方法(虚函数调用)
  • stm32之I2C通信外设
  • 提升RAG检索回答质量: Shortwave的 4 大优化指南
  • 使用 Milvus Lite、Llama3 和 LlamaIndex 搭建 RAG 应用
  • 住宅IP与机房IP:哪种更适合业务应用?
  • 51单片机-第十节-独立按键及数码管优化
  • shell脚本—————局域网IP扫描
  • 开放式耳机漏音有多大?五大超值爆款推荐!
  • 【数据可视化技术】使用Matplotlib、Seaborn进行数据可视化
  • 9、Django Admin优化查询
  • 【2025考研英语高分写作:写作核心词汇】三、人生哲理类
  • Django中的第一个自动化测试编写
  • VS Code CMake tool 配置
  • Apple LLM: 智能基础语言模型(AFM)
  • Apache Struts2开发模式漏洞解析与修复
  • 温湿度传感器和IOT网关的连接 485接口
  • 嵌入式OTG硬件电路分析
  • 矩阵性质简介
  • 51单片机波特率的计算方法