大模型时代的具身智能系列专题(五)

news2024/11/15 7:01:51

stanford宋舒然团队

宋舒然是斯坦福大学的助理教授。在此之前,他曾是哥伦比亚大学的助理教授,是Columbia Artificial Intelligence and Robotics Lab的负责人。他的研究聚焦于计算机视觉和机器人技术。本科毕业于香港科技大学。

主题相关作品

  • diffusion policy

diffusion policy

扩散策略是一种生成机器人行为的新方法,它将机器人的视觉运动策略(visuomotor policy)表示为条件去噪扩散过程(conditional denoising diffusion process)。在 4 个不同的机器人操纵基准中的 15 个不同任务中对 Diffusion Policy 进行了基准测试,发现它平均提高了 46.9%。Diffusion Policy 可以学习动作分布得分函数的梯度(gradient of the action-distribution score),并在推理过程中通过一系列随机Langevin动力学步骤对该梯度场进行迭代优化。扩散公式在用于机器人策略时具有强大的优势,包括可以优雅地处理多模态动作分布、适用于高维动作空间,以及表现出令人印象深刻的训练稳定性。本文提出了一系列关键技术贡献,包括递减视界控制receding horizon control(MPC控制)、视觉调节(visual conditioning)和时间序列扩散transformer。
fig1

之前的研究试图通过图 1 a)显示策略(高斯混合、量化动作的分类表示法)或者图 1 b)从显式转换为隐式,以更好地捕捉多模态分布。本方法通过引入一种新形式的机器人视觉运动策略来应对这一挑战,即通过 “机器人动作空间上的条件去噪扩散过程”(Diffusion Policy)来生成行为。在这种方法中,策略不是直接输出动作,而是根据视觉观察结果,在 K 次去噪迭代中推导出动作分数梯度(图 1 c)。

扩散模型的几个关键特性:

  • Expressing multimodal action distributions。通过学习动作得分函数的梯度,并在此梯度场上执行随机Langevin动力学采样,扩散策略可以表达任意可归一化分布,其中包括多模态动作分布。

  • High-dimensional output space。扩散模型在高维输出空间中具有卓越的可扩展性。这一特性允许策略联合推断一系列未来行动,而不是单步行动,这对于鼓励时间行动一致性和避免短视的规划至关重要。

  • 稳定的训练。训练基于能量的策略通常需要负采样来估计一个难以处理的归一化常数,而这会导致训练的不稳定性。扩散策略通过学习能量函数的梯度绕过了这一要求,从而在保持分布表达性的同时实现了稳定的训练。

Method

将视觉运动机器人策略制定为去噪扩散概率模型(DDPMs)。关键是,扩散策略能够表达复杂的多模态动作分布,并具有稳定的训练行为–几乎不需要针对特定任务进行超参数调整。

Denoising Diffusion Probabilistic Models

DDPM 是一类生成模型,其输出生成被模拟为一个去噪过程,通常称为随机Langevin动力学。

从高斯噪声采样的 x K x^K xK开始,DDPM 执行 K 次迭代去噪,产生一系列噪声水平递减的中间动作 x k , x k − 1 . . . x 0 x^k,x^{k-1}...x^0 xk,xk1...x0,直到形成所需的无噪声输出 x 0 x^0 x0。该过程遵循公式:
eq1
其中, ε θ ε_θ εθ 是噪声预测网络,将通过学习进行优化, N ( 0 , σ 2 ) N(0, σ^2) N(0,σ2)是每次迭代时添加的高斯噪声。上述公式 1 也可以解释为一个单一的噪声梯度下降步骤:
eq2
其中噪声预测网络 ε θ ( x , k ) ε_θ (x, k) εθ(x,k) 有效地预测了梯度场 ∇E(x),γ 是学习率。作为迭代步数 k 的函数,α、γ、σ 的选择也称为噪声调度(noise schedule),可以解释为梯度赋值过程中的学习率调度。事实证明,α 略小于 1 可以提高稳定性。

DDPM Training

训练过程的第一步是从数据集中随机抽取未经修改的样本 x 0 x^0 x0。对于每个样本,我们随机选择一个去噪迭代 k,然后为迭代 k 采样一个具有适当方差的随机噪声 ε k ε^k εk。噪声预测网络需要从添加了噪声的数据样本中预测噪声。
eq3
使用均方误差(MSE, Mean Squared Error)作为损失函数,来衡量网络的预测值 ε θ ( x 0 + ε k , k ) ε_θ(x^0+ε^k, k) εθ(x0+εk,k) 和实际噪声 ε k ε^k εk之间的差异。

Diffusion for Visuomotor Policy Learning

fig2

DDPM 通常用于生成图像(x 是一幅图像),使用 DDPM 来学习机器人视觉运动策略需要对公式进行两大修改: 1. 将输出 x 改为代表机器人动作。2. 使去噪过程以输入观测 O t O_t Ot 为条件。图 2 显示了相关概述。

闭环行动序列预测:有效的行动表述应鼓励长视距规划的时间一致性和平稳性,同时允许对意外观察做出迅速反应。为此,在重新规划之前,会在固定时间内使用扩散模型生成的行动序列预测。具体来说,在时间步长 t 处,策略将最新的 T o T_o To 步观测数据 O t O_t Ot 作为输入,并预测出 T p T_p Tp步行动,其中 T a T_a Ta 步行动将在机器人身上执行,无需重新规划。在这里,我们将 T o T_o To 定义为观察期, T p T_p Tp 定义为行动预测期, T a T_a Ta 定义为行动执行期。这样既能保证行动的时间一致性,又能保持反应灵敏。我们还使用receding horizon control通过使用之前的行动序列预测来warm-starting下一个推理设置,从而进一步提高行动的平滑性。

视觉观测条件:我们使用 DDPM 来近似条件分布 p ( A t ∣ O t ) p(A_t |O_t ) p(AtOt) 而不是 联合分布 p ( A t , O t ) p(A_t , O_t ) p(At,Ot) 。这种表述方式使模型能够根据观察结果预测行动,而无需付出推断未来状态的代价,从而加快了扩散过程,提高了生成行动的准确性。为了捕捉条件分布 p ( A t ∣ O t ) p(A_t |O_t ) p(AtOt),我们将公式 1 修改为:
eq4
将公式 3 中的训练损失修改为:
eq5
从去噪过程的输出中排除观测特征 Ot 能显著提高推理速度,更好地适应实时控制。这也有助于使视觉编码器的端到端训练。

Key Design Decisions

Network Architecture Options

第一个设计决策是 ε θ ε_θ εθ 的神经网络架构选择。研究了两种常见的网络架构类型:CNNs和Transformers,并比较它们的性能和训练特性。
CNN-based Diffusion Policy。采用Janner et al. 的1D temporal CNN,并做了一些修改:首先,我们只对条件分布 p ( A t ∣ O t ) p(A_t |O_t) p(AtOt)进行建模,通过FiLM(Feature-wise Linear Modulation) 和去噪迭代k来调节观察特征 O t O_t Ot上的动作生成过程,如图2 (b)所示。其次,我们只预测动作轨迹,而不预测concat的观察动作轨迹。第三,我们删除了基于绘画的目标状态条件作用,因为它与我们利用超前预测视界的框架不兼容。然而,目标条件作用仍然可能与用于观察的相同的FiLM条件作用方法共用。实际上,基于 CNN 的骨干网络在大多数任务中都能很好地运行,无需进行过多的超参数调整。然而,当所需的动作序列随时间发生快速而剧烈的变化时(如速度指令动作空间),它的表现就会很差,这可能是由于时间卷积偏好低频信号的归纳偏差

Time-series diffusion transformer。为了减少CNN模型Tancik et al.中的过平滑效应,我们引入了一种新的基于transformer的DDPM,该模型采用minGPT Shafiullah et al.的变压器架构进行动作预测。带有噪声 A t k A^k_t Atk的动作作为transformer解码器块的输入tokens传入,扩散迭代k的正弦嵌入作为第一个token。通过共享MLP将观测值 O t O_t Ot转化为观测值嵌入序列,作为输入特征传递到transformer解码器堆栈中。“梯度” ε θ ( O t , A t k , k ) ε_θ (O_t,A_t^k,k) εθ(Ot,Atk,k)由解码器堆栈的每个相应输出tokens预测。在基于状态的实验中,大多数表现最佳的策略都是通过transformer主干实现的,尤其是在任务复杂度和行动变化率较高的情况下。然而,我们发现transformer对超参数更为敏感。未来有可能通过改进transformer训练技术或扩大数据规模来解决。

Recommendations。一般建议从基于 CNN 的扩散策略实施开始,作为新任务的首次尝试。如果由于任务复杂或动作变化率高而导致性能低下,则可以使用Time-series diffusion transformer来提高性能,但需要付出额外的tuning代价。

Visual Encoder

视觉编码器将原始图像序列映射为潜在嵌入 O t O_t Ot,并使用扩散策略进行端到端训练。不同的摄像机视角使用不同的编码器,每个时间步中的图像独立编码,然后串联形成 O t O_t Ot。我们使用标准 ResNet-18(无预训练)作为编码器,并做了以下修改: 1) 用spatial softmax pooling取代全局平均池化(global average pooling),以保持空间信息。2) 用 GroupNorm 取代 BatchNorm ,以获得稳定的训练。当归一化层与指数移动平均(Exponential Moving Average)结合使用时,这一点非常重要 (常用于 DDPMs)。

Noise Schedule

噪声表由 σ、α、γ 和加性高斯噪声 ε k ε^k εk 定义,是 k 的函数,Ho 等人(2020 年)、Nichol 和 Dhariwal(2021 年)对噪声表进行了积极研究。基本噪声表控制着扩散策略捕捉动作信号高频和低频特征的程度。在我们的控制任务中,我们根据经验发现,iDDPM中提出的平方余弦时间表(Square Cosine Schedule)最适合我们的任务。

Accelerating Inference for Real-time Control

我们使用扩散过程作为机器人的策略;因此,对于闭环实时控制来说,拥有快速的推理速度至关重要。Song 等人(2021 年)提出的去噪扩散隐含模型(DDIM)方法将训练和推理中的去噪迭代次数分离开来,从而允许算法使用较少的推理迭代次数来加快推理过程。在我们的实际实验中,使用 100 次训练迭代和 10 次推理迭代的 DDIM,可以在 Nvidia 3080 GPU 上实现 0.1 秒的推理延迟。

Intriguing Properties of Diffusion Policy

Model Multi-Modal Action Distributions

扩散策略的多模态行为产生有两个来源——潜在的随机抽样过程和随机初始化。在随机朗之万动力学中,在每个采样过程开始时从标准高斯中提取初始样本 A t K A^K_t AtK,这有助于为最终动作预测 A t 0 A^0_t At0指定不同可能的收敛盆地。然后,该动作进一步随机优化,在大量迭代中添加高斯扰动,这使得单个动作样本能够收敛并在不同的多模态动作盆地之间移动。图3显示了平面推送任务(Push T)中扩散策略的多模态行为示例,没有对测试场景进行明确演示。

fig3

Synergy with Position Control

我们发现具有位置控制动作空间的扩散策略始终优于具有速度控制的扩散策略,如图4所示。这一令人惊讶的结果与最近大多数依赖于速度控制的行为克隆工作形成了鲜明对比。
fig4
我们推测这种差异有两个主要原因:首先,动作多模态在位置控制模式下比在使用速度控制模式下更为明显。由于扩散策略比现有方法更好地表达了行动多模态,我们推测它本质上比现有方法受这一缺陷的影响更小。此外,位置控制比速度控制受复合误差效应的影响更小,因此更适合于动作序列预测(如下节所述)。因此,扩散策略既不受位置控制的主要缺点的影响,又能更好地利用位置控制的优点。

Benefits of Action-Sequence Prediction

由于难以从高维输出空间中有效采样,大多数策略学习方法往往避免了序列预测。例如,IBC在对具有非平滑能量landscape的高维动作空间进行有效采样时会遇到困难。类似地,BCRNNand和BET也难以指定动作分布中存在的模式数(需要gmm或k-means步长)。相反,DDPM可以很好地扩展输出维度,而不会牺牲模型的表达性,这在许多图像生成应用程序中得到了证明。利用这种能力,扩散策略以高维动作序列的形式表示动作,它自然地解决了以下问题:

  • 时间动作一致性:以图3为例。为了将T块从底部推入目标,策略可以从左侧或右侧绕过T块。然而,假设序列中的每个动作都被预测为独立的多模态分布(如在BCRNNand BET中所做的那样)。在这种情况下,连续的动作可以从不同的模式中绘制出来,导致在两个有效轨迹之间交替的抖动动作。
  • 对空闲动作的鲁棒性:当演示暂停时,会发生空闲动作,并导致一系列相同的位置动作或接近零速度的动作。它在远程操作中很常见,像液体倾倒这样的任务有时就需要。然而,单步策略很容易过度适应这种暂停行为。例如,BC-RNN和IBC经常在现实世界的实验中陷入困境,因为没有明确地从训练中移除空闲动作。

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

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

相关文章

代码随想录-Day23

669. 修剪二叉搜索树 方法一&#xff1a;递归 class Solution {public TreeNode trimBST(TreeNode root, int low, int high) {if (root null) {return null;}if (root.val < low) {return trimBST(root.right, low, high);} else if (root.val > high) {return trimBS…

爪哇,我初学乍道

>>上一篇&#xff08;学校上课&#xff0c;是耽误我学习了。。&#xff09; 2016年9月&#xff0c;我大二了。 自从我发现上课会耽误我学习&#xff0c;只要我认为不影响我期末学分的&#xff0c;我就逃课了。 绝大多数课都是要签到的&#xff0c;有的是老师突击喊名字…

YOLO-10更快、更强

YOLO-10简介 主要贡献&#xff1a; 无NMS的一致双分配 YOLOv10提出了一种通过双标签分配而不用非极大值抑制NMS的策略。这种方法结合了一对多和一对一分配策略的优势&#xff0c;提高了效率并保持了性能。 高效的网络设计 轻量化分类头&#xff1a;在不显著影响性能的情况下&a…

618数码产品怎么选?四大必看推荐,自费无广测评

6.18盛宴即将开启&#xff0c;你是否已摩拳擦掌&#xff0c;准备在电商海洋中乘风破浪&#xff1f;然而&#xff0c;在繁多的商品和错综复杂的优惠面前&#xff0c;你是否感到些许迷茫&#xff1f;团团这位网购小能手&#xff0c;特地为大家梳理了一份精选购物清单。这些宝贝不…

搭建YOLOv10环境 训练+推理+模型评估

文章目录 前言一、环境搭建必要环境1. 创建yolov10虚拟环境2. 下载pytorch (pytorch版本>1.8)3. 下载YOLOv10源码4. 安装所需要的依赖包 二、推理测试1. 将如下代码复制到ultralytics文件夹同级目录下并运行 即可得到推理结果2. 关键参数 三、训练及评估1. 数据结构介绍2. 配…

2024.05.29学习记录

1、css面经复习 2、代码随想录二刷 3、rosebush upload组件初步完成

【芯片验证方法】

术语——中文术语 大陆与台湾的一些术语存在差别&#xff1a; 验证常用的英语术语&#xff1a; 验证&#xff1a;尽量模拟实际应用场景&#xff0c;比对芯片的所需要的目标功能和实现的功能 影响验证的要素&#xff1a;应用场景、目标功能、比对应用场景、目标功能&#xff…

OpenAI新模型开始训练!GPT6?

国内可用潘多拉镜像站GPT-4o、GPT-4&#xff08;更多信息请加Q群865143845&#xff09;: 站点&#xff1a;https://xgpt4.ai0.cn/ OpenAI 官网 28 日发文称&#xff0c;新模型已经开始训练&#xff01; 一、新模型开始训练 原话&#xff1a;OpenAI has recently begun training…

性能大爆炸!为你的Matomo换一个高性能的环境!

随着我的 Matomo 越来越大&#xff0c;功能需求的增多&#xff0c;插件也变得越来越多&#xff0c;使用传统的LNMP架构或者LAMP架构都会发现性能正在急剧下级&#xff0c;为此&#xff0c;我们发现了使用FrankenPHP&#xff08;以下简称FPHP&#xff09;的方案 首先&#xff0…

【本地运行chatgpt-web】启动前端项目和service服务端项目,也是使用nodejs进行开发的。两个都运行成功才可以使用!

1&#xff0c;启动web界面 https://github.com/Chanzhaoyu/chatgpt-web#node https://nodejs.org/en/download/package-manager # 使用nvm 安装最新的 20 版本。 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source /root/.bashrc n…

攀爬二叉树,发现新的美

二叉树 什么是二叉树? 二叉树的基础概念? 性质? 问题? 文章目录 二叉树一、二叉树的概念(一)认识二叉树(二)二叉树的性质 二、遍历二叉树1.前序遍历2.中序遍历3.后序遍历4.层序遍历 三丶创建二叉树总结 一、二叉树的概念 (一)认识二叉树 二叉树是一种非线性的数据结构,…

一篇文章讲透排序算法之快速排序

前言 本篇博客难度较高&#xff0c;建议在学习过程中先阅读一遍思路、浏览一遍动图&#xff0c;之后研究代码&#xff0c;之后仔细体会思路、体会动图。之后再自己进行实现。 一.快排介绍与思想 快速排序相当于一个对冒泡排序的优化&#xff0c;其大体思路是先在文中选取一个…

鸿蒙课程培训 | 讯方技术与鸿蒙生态服务公司签约,成为鸿蒙钻石服务商

3月15日&#xff0c;深圳市讯方技术股份有限公司与鸿蒙生态服务公司签署合作协议&#xff0c;讯方技术成为鸿蒙钻石服务商&#xff0c;正式进军鸿蒙原生应用培训开发领域。讯方技术总裁刘国锋、副总经理刘铭皓、深圳区域总经理张松柏、深圳区域交付总监张梁出席签约仪式。 作…

基于51单片机的交通灯设计

一.硬件方案 本设计能模拟基本的交通控制系统&#xff0c;用红绿黄灯表示禁行&#xff0c;通行和等待的信号发生&#xff0c;还能进行倒计时显示。按键可以控制禁行、深夜模式、复位、东西通行、南北通行、时间加、时间减、切换等功能。共四个二位阴极数码管&#xff0c;东南西…

【busybox记录】【shell指令】unlink

目录 内容来源&#xff1a; 【GUN】【unlink】指令介绍 【busybox】【unlink】指令介绍 【linux】【unlink】指令介绍 使用示例&#xff1a; 删除文件 - 默认 常用组合指令&#xff1a; 指令不常用/组合用法还需继续挖掘&#xff1a; 内容来源&#xff1a; GUN &#x…

SpringCloud系列(31)--使用Hystrix进行服务降级

前言&#xff1a;在上一章节中我们创建了服务消费者模块&#xff0c;而本节内容则是使用Hystrix对服务进行服务降级处理。 1、首先我们先对服务提供者的服务进行服务降级处理 (1)修改cloud-provider-hystrix-payment8001子模块的PaymentServiceImpl类 注&#xff1a;HystrixP…

Hadoop3:MapReduce之简介、WordCount案例源码阅读、简单功能开发

一、概念 MapReduce是一个 分布式运算程序 的编程框架&#xff0c;是用户开发“基于 Hadoop的数据分析 应用”的核心框架。 MapReduce核心功能是将 用户编写的业务逻辑代码 和 自带默认组件 整合成一个完整的 分布式运算程序 &#xff0c;并发运行在一个 Hadoop集群上。 1、M…

软件架构设计属性之一:功能性属性浅析

引言 软件架构设计属性中的功能性属性是评估软件架构是否满足其预定功能需求的关键指标。功能性属性确保软件能够执行其设计中的任务&#xff0c;并提供所需的服务。以下是对软件架构设计中功能性属性的浅析&#xff1a; 一、定义 功能性属性是指软件系统所具备的功能特性&a…

怎么将3D模型转换立面图---模大狮模型网

在建筑设计、室内设计以及产品建模等领域&#xff0c;经常需要将3D模型转换为立面图以进行展示、分析或交流。立面图能够清晰地呈现物体的外观和结构&#xff0c;是设计和施工中不可或缺的一部分。 一、导出3D模型 首先&#xff0c;需要将3D模型导出为CAD软件能够识别的格式。…

如何配置才能连接远程服务器上的 redis server ?

文章目录 Intro修改点 Intro 以阿里云服为例。 首先&#xff0c;我在我买的阿里云服务器中以下载源码、手动编译的方式安装了 redis-server&#xff0c;操作流程见&#xff1a;Ubuntu redis 下载解压配置使用及密码管理 && 包管理工具联网安装。 接着&#xff0c;我…