ViNT: A Foundation Model for Visual Navigation

news2024/7/4 4:34:26

介绍

现存的问题:预训练的方式在很多领域取得了成功,但是由于环境、平台和应用程序的绝对多样性,因此很难应用在机器人领域。

那么想要做移动机器人的基础模型需要什么?

本文定义了一个机器人领域的基础模型,可以实现(1)在新的、有用的环境里进行零样本学习;(2)适应所选择的下游任务。

在视觉导航中,机器人必须完全使用以自我为中心的视觉观察来导航环境。一个通用的预先训练的机器人导航模型应该能够实现广泛的导航应用,容易地对下游任务进行微调,并推广到广泛的环境和机器人平台。

解决方案:本文提出ViNT(visual navigation transformer):一个跨具身的视觉导航基础模型,有很强的泛化能力。(1)训练了一个目标导航智能体,提供了一个能够适应在任意智能体数据集的预训练目标;(2)使用diffusion模型去搜索短视的目标,并且可以在新的环境下进行导航;(3)执行室内的mapping,可以在无干预的情况下在千米范围的室外环境中进行导航;(4)在少量数据集上微调,然后迁移到新的任务中,并且实现很高的性能;(5)定性分许了ViNT的一些突发行为,如隐含偏好和围绕动态行人的导航。

相关工作

在现有的工作中,相似机器人之间的数据共享可以为更通用的模型提供更大的训练集;但是对于不相似的机器人,只能从单个针对的小的真实数据集或者虚拟环境中进行训练。本文从收集的多个数据集上训练导航智能体,专注于训练一个基础模型,可以适应于零样本或者少量数据的各种下游任务。

我们使用组合的拓扑图来表示维护环境的空间表示,并且对low-level控制学习策略。但是与以往工作不同,我们的目标时训练一个单个的通用模型,并不针对具体的问题进行解决,而是让单一的模型适应于不同的任务。

与ViNT相关的工作有RT-1、I2O和GNM。RT-1在遵循不同指令方面表现出令人印象深刻的性能,但我们的重点是通过使用少量数据进行微调,使单一模型在许多机器人上适应不同的任务。I2O显示了从模拟到真实世界环境的令人印象深刻的转变,但我们强调,我们的目标与具体的算法选择是正交的:我们专注于学习能够有效适应于解决不同下游任务的有能力的导航策略。GNM演示了从异类RGB数据集进行策略学习,但重点关注在零镜头设置中实现图像目标的单一任务。相反,ViNT训练了一个通用模型,重点是适应下游应用中的新的任务。

ViNT模型

我们的模型针对图像的目标导航进行训练。在图像目标导航中,机器人的任务是导航到图像所表示的目标位置。可以利用包含视频和动作的任何数据,不需要ground-truth定位、语义标签或者其他元数据,以最小的假设训练模型用于图像目标导航。这使得在来自许多不同机器人的大型且多样化的数据集上进行训练是可行的,从而促进了广泛的泛化。

模型输入:当前和过去的视觉观测o_{t-P:t},目标图像o_s

模型预测:(1)到达目标所需的时间步数(动态距离);(2)到达目标的长度为H的动作序列。

我们的模型建立在Transformer架构上,有31M的参数,可以实现:(1)对资源受限的机器人进行快速高效的推理;(2)针对下游任务进行提示和微调的能力。

我们从头开始训练网络,并且根据Eqn 1中的训练目标对它们进行端到端的训练。

图2为模型框架图

Tokenization

观测图像:5个过去观测+1个当前观测,p*3*85*64

目标图像:目标图像+当前观测,6*85*64

EfficientNet-B0卷积编码器:18层,从头开始初始化,将观测的图像和目标图像都token化为512维。VINT通过用EfficientNet-B0[34]模型对当前和P=5个过去的视觉观测进行编码来独立地对它们进行标记化,该模型将85×64×3图像作为输入,并从最终卷积层输出拉平的特征向量\psi (o_i)

拼接后的维度是(P+2,512)

Goal Fusion

仅用编码器\phi提取目标图像的特征,会导致性能较差,通常会完全的忽略目标。

我们假设,基于图像的目标导航任务的有效特征通常是相对的,编码当前观察和目标之间的差异,而不是目标本身的绝对表征。因此,我们使用单独的目标融合编码器\phi =(o_t,o_s)来联合编码当前观测和目标观测。我们沿着通道维度堆叠两个图像,将它们通过第二个EfficientNet-B0编码器,然后展开以获得目标token。

late fusion:独立的抽取观测特征和目标特征,并将它们融合在多头注意力层中。为了达到这种效果,我们在将观察图像和目标图像输入到模型中之前,避免了它们之间的任何通道级联。

early fusion:联合提取每一步的观测特征和目标特征,并在token之前对观测和目标特征进行融合。我们通过将目标图像与沿通道维度的每个观测图像连接来实现这一点。我们在此设置中删除了目标token,因为有关目标的信息已经存在于每个观察token中。

film(RT-1):先分别对每个观测图像进行编码。为了以视觉目标为条件,我们用EfficientNet编码器取代了“通用句子编码器”。我们在此设置中删除了目标token,因为有关目标的信息已经存在于每个观察token中。

early fusion:适合核心的导航任务,但是不支持下游适应。

late fusion:适合适应,但是在我们的任务表现不好

表5总结了我们的观察结果。虽然film对语言很有效,但我们发现,对于基于图像的导航任务,训练是不稳定的。相反,我们直接独立地对每个观察结果进行编码,并将它们传递给Transformer。理想情况下,目标将被单独编码,然后与Transformer层中的观察结果相结合,从而允许稍后将整个目标编码器替换为不同的目标模式。不幸的是,我们发现这种方法(即late fusion,因为目标和观测直到编码后才被融合)表现不佳:在基于图像的导航中,重要的是观测图像和目标图像之间的相对特征,而不是绝对目标特征。“early fusion” 结构将目标图像与所有过去和当前的观测图像立即融合,这允许学习目标图像和当前状态之间的联合特征。然而,这种体系结构是不灵活的,因为在适应新的目标模式时,观察编码器必须完全从头开始学习。ViNT通过使用两种不同类型的编码器来避免这个问题:仅用于标记每个观测图像的观测编码器,以及应该提取相对目标特征的联合观测/目标编码器。这样的设计可以替换后一种编码器,以允许在下游任务中使用替代目标规格。具体地说,我们通过学习以新任务目标信息为条件的最终token来适应新任务,而不是联合观测/目标编码器。

Transformer

transformer的输入:[(P+2),512]的token,位置编码

这里的transformer仅仅使用transformer的解码器部分,多头注意力块为4个头,2048个隐藏单元。

 Training objective

在训练过程中,从数据集中采样一小部分轨迹\tau。然后选择P个连续的观测形成时间上下文o_{t:t-P},并且随机的选择一个未来的观测o_s:=o_{t+d},其中d为从\left [ l_{min}, l_{max} \right ]均匀采样得到的,作为最后的目标。

对应未来的H个动作:\hat{a}:=a_{t:t+H}和距离d用作标签,并用最大似然目标进行训练:

Embodiment-agnostic action space

为了有效地在不同大小、速度和动力学的机器人之间训练单一模型,我们遵循了Shah等人的做法[19]并为Vint选择一个与具体情况无关的动作空间。为了抽象出底层控制,VINT使用相对路点作为其动作空间aˆ;为了解决机器人速度和大小的巨大差异,我们根据机器人的最高速度对这些路点进行归一化。在部署过程中,机器人专用控制器被用来通过低级控制对这些路点进行非标准化和跟踪。

Training data

我们使用来自不同环境和机器人平台的不同导航轨迹的大规模数据集来训练Vint,这些环境和机器人平台具有不同的动力学、相机参数和行为。训练数据集包含100多个小时的真实世界轨迹,完全来自现有的数据集,跨越8个不同的机器人平台,具有不同的速度和动力学。

Deployment

ViNT可以在任何配备了机载摄像头和低速跟踪控制器的机器人上运行。在给定时间t的子目标图像S的情况下,我们以4 Hz的频率运行模型,并使用PD控制器以滚动的方式跟踪预测的路点ˆa。

ViNT的长视导航

很多的实际任务本身并不是由目标图像定义的,或者需要比Vint直接支持的范围长得多的视野。我们将VINT与由拓扑图形成的情节记忆相结合,将ViNT应用于几个下游应用,该记忆为到达遥远位置提供了短期子目标。

在以前未见过的环境中,我们可以用探索性的子目标proposal进一步增强这个基于图的规划器,这可以驱动ViNT探索新的环境并发现一条通向目标的道路。我们考虑了多个proposal机制,并发现图像扩散模型可以获得最大性能,该模型以当前观测为条件对不同的未来子目标候选进行采样。

这些子目标使用目标导向的启发式方法进行评分,以确定哪个子目标能够最有效地向最终目标前进。这一过程类似于物理上的A*搜索算法。(子目标评分)

环境中的历史观察和未探索的前沿被存储为拓扑图中的节点,这些节点的连接性由ViNT预测的距离决定。在探索过程中,当机器人探索环境时,我们实时构建这个拓扑图。(动态构建拓扑图)

在后续的部署中,我们使用构建好的拓扑图来发现环境中的捷径,从而提高导航效率。(后续优化)

ground的含义:将探索目标与物理空间位置对齐或者关联,确保模型生成的目标不仅在概念上有意义,而且在实际操作中也能够被执行,即,确保机器人能够将生成的探索目标转换为实际的运动路径和位置。

High-level planning and exploration

这部分描述了如何在未知环境中使用拓扑图和启发式搜索策略来进行导航。

子目标候选集

首先假设有一组子目标候选集o_{s_i}\in S可供 ViNT 进行规划。通过这些子目标候选集,将它们整合到一个探索框架中,用于在新环境中的目标导向探索。用户提供一个高层次的目标G,该目标可以距离很远。

拓扑图构建

拓扑图M在线构建,作为情景记忆,每个节点代表一个独立的子目标观测,边代表两个子目标之间的路径。边的添加发生在机器人执行路径时,或者模型预测一个子目标可以从另一个节点到达。

搜索框架

将目标导向的探索框架转化为搜索问题,其中机器人在搜索目标的同时逐步构建拓扑图M。

启发式搜索

部署过程

Subgoal generation with diffusion

这一部分描述了如何使用扩散模型生成多样化的子目标候选,然后利用 ViNT 模型对这些子目标进行空间锚定,以便在物理搜索算法中应用。

diffusion的细节

在5-20个时间步之间选择子目标图像

通过使用图像到图像的扩散模型,可以有效生成多样化且可到达的子目标候选图像。结合连续时间扩散公式和 classifier-free guidance 技术,生成的子目标在视觉保真度上得到了显著提升。这些生成的子目标为进一步的导航和探索提供了多样化的候选,有助于提高物理搜索算法的整体性能。

ViNT:一个面向下游任务的基础模型

这一部分详细描述了如何对 ViNT 模型进行全模型微调和适应新模态,以增强其在不同任务和环境中的应用能力。

full model fine-tuning

使用相同的目标,但基于任务数据进行微调。这使得 ViNT 能够快速学习新技能,形成一个不断改进的模型。

Adapting to new modalities

修改目标部分的token类型

Real-world Evaluation

Q1:ViNT 能否有效探索之前未见过的环境并整合启发式方法?

Q2:ViNT 能否泛化到新的机器人、环境和障碍?

Q3:ViNT 能否通过微调来改善在分布外环境中的性能?

Q4:ViNT 策略能否适应新的任务规范和模态?

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

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

相关文章

Vue2动态代理无须重启项目解决方案

1、痛点 如果我们需要使用不同的环境地址的时候,就需要使用命令或者手动修改vue.config.js中配置来重新启动项目。当项目项目越来越大的时候,我们需要很长的时间来启动项目,如此反复,极大影响我们开发进度。 2、寻求解决方案 ● v…

九大步骤,带你了解典型的GIS开发流程!

GIS是一门强工具属性的交叉学科。强工具属性意味着GIS实际上更多的依附于其他应用场景而存在,而并非独立存在的,简单来说,GIS更多的是作为其他系统中的子系统而存在。 作为GIS从业人员,上限更多取决于所依附的行业,去…

单载波水声通信技术研究【附MATLAB代码】

文章来源:​微信公众号:EW Frontier 摘要 水下无线通信因其在海洋科研、国防、救援及资源开发等方面的关键作用而备受关注。声波作为水中信息传输的有效载体,推动了水声通信技术的发展,其中单载波调制技术由于其高频谱利用率、结…

计算机网络期末复习1(最后一天才开始学版)

1.一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是(用十六进制写出) 由于PPP帧的标志字段为7E,因此,为了区别标志字段和信息字段,将信息字段中出现的每一个0x7E转变成(0x7D,0x5E),0x7…

小程序的登录+发布流程

今天我们来将一下小程序的登录和发布流程!!! 小程序的登录流程 流程图 首先登录流程还是看官网说的:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 这是官网发布的一个流程图 认识cod…

DOOPRIME:日本央行7月加息与否取决于数据,购债规模调整无强烈信号

摘要 日本央行行长植田和男近日在议会发言中表示,7月份是否加息将取决于经济数据表现,而购买日本国债与加息是两个独立的问题,不会通过削减购债规模来释放强烈的政策信号。这一表态引发了市场的广泛关注,投资者和经济学家对此进行…

自动驾驶规划-RTT* 算法 【免费获取Matlab代码】

目录 1.算法原理3.结果展示4.参考文献5.代码获取 1.算法原理 RRT(Rapidly-Exploring Random Trees) 快速随机扩展树,是一种单一查询路径规划算法。RRT 将根节点作为搜索的起点,然后通过随机撒点采样增加叶子节点的方式,生成一个随机扩展树&a…

如何预防最新的Mallox变种hmallox勒索病毒感染您的计算机?

一、引言 近年来,网络安全问题日益严重,勒索病毒成为了其中的一大威胁。其中,.hmallox勒索病毒作为Malox勒索软件家族的新变种,凭借其高度的攻击性和隐蔽性,给全球用户的数据安全带来了严重威胁。本文将深入分析.hmal…

入门三.HTB--Dancing(6.18)

大佬 https://www.cnblogs.com/Hekeats-L/p/16535920.html 任务1 SMB 即Server Message Block(服务器消息块),是一种文件共享协议。当文件原件在你的A电脑上,而你想在局域网下用你的手机、iPad或是另一台电脑来访问A电脑上的该文…

分享三个仓库

Hello , 我是恒。大概有半个月没有发文章了,都写在文档里了 今天分享三个我开源的项目,比较小巧但是有用 主页 文档导航 Github地址: https://github.com/lmliheng/document 在线访问:http://document.liheng.work/ 里面有各种作者书写的文档&#xff…

ARM32开发——中断

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 中断概念中断分类中断触发条件 中断概念 中断是计算机系统中的一种机制,用于响应外部事件或内部事件,它可以使单片机暂…

红日靶场实战一 - 学习笔记

最近在学习红蓝对抗,如果有兴趣的可以多关注。 目录 环境搭建 靶场链接 配置网络 攻击机kali网络 配置win7 web服务器网络 配置winserver 2008网络(DC域控) 配置win2003/win2k3网路(域成员) IP配置情况 外网突破 信息收集 phpmya…

设计模式(五)创建者模式之工厂模式

工厂模式 工厂模式上面类图代码实现Coffee 抽象类AmericanCoffeeLatterCoffeeCoffeeStoreUser 简单工厂模式增加工厂方法更改CoffeeStore 类优缺点扩展静态工厂 工厂方法模式概念结构具体类图代码实现Coffee类AmericanCoffeeLatterCoffee抽象工厂CoffeeFactoryAmericanCoffeeFa…

[BJDCTF2020]ZJCTF,不过如此1

打开题目可以看到一段php文件包含&#xff0c;源码如下 <?phperror_reporting(0); $text $_GET["text"]; $file $_GET["file"]; if(isset($text)&&(file_get_contents($text,r)"I have a dream")){echo "<br><h1>…

windows系统上如何打开mobi格式的文件

mobi是亚马逊Kindle电子书的主要格式&#xff0c;拥有广泛的资源和应用场景。在windows上打开mobi格式文件&#xff0c;选择一款合适的电子书阅读器至关重要。而NeatReader&#xff0c;凭借其卓越的性能以及对各种电子书格式的强大支持&#xff0c;已然成为了众多电子书爱好者的…

拓普壹老阳分享的Temu选品师项目:赚钱之道?

在当今的电商潮流中&#xff0c;越来越多的人寻找着一条创业的新路径。而“选品师”这个名词&#xff0c;近年来逐渐进入了人们的视野。其中&#xff0c;拓普壹老阳分享的Temu选品师项目&#xff0c;深受关注。这究竟是一种怎样的项目?它是否真的能够成为赚钱的机会?让我们深…

【算法与设计】期末总结

文章目录 第一章 概述算法与程序时间复杂性求上界 第二章 递归与分治双递归函数——Ackerman函数分治策略大整数乘法两位两位四位x四位 三位x三位两位x六位 第三章 动态规划矩阵连乘基本要素最优子结构子问题重叠 备忘录 第四章 贪心算法活动安排问题基本要素贪心选择性质最优子…

上海AI Lab推出8B模型,奥数成绩媲美GPT-4

只用1/200的参数&#xff0c;就能让大模型拥有和GPT-4一样的数学能力&#xff1f; 复旦大学和上海AI实验室的研究团队刚刚研发出了一款具有超强数学能力的模型。 这款模型名为MCTSr&#xff0c;以Llama 3为基础&#xff0c;参数量只有8B&#xff0c;却在奥赛级别的题目上取得了…

栈帧浅析,堆栈漏洞概述——【太原理工大学软件安全期末补充】

在上一篇文章中我说实验一不重要&#xff0c;确实没必要完全按照实验内容逐字逐句理解&#xff0c;但是这里我们补充一个知识点 栈帧&#xff08;Stack Frame&#xff09;是计算机程序执行过程中&#xff0c;调用栈&#xff08;Call Stack&#xff09;中的一个单元&#xff0c;…

C++ 64 之 函数模版和普通函数调用规则

#include <iostream> #include <string> using namespace std;template<typename T> void myPrint(T a, T b){cout << "函数模板的调用" << endl; }void myPrint(int a, int b){cout << "普通函数调用" << endl…