具身智能综述和应用(Embodied AI)

2023-10-26

什么是具身智能?
目前人工智能的进展,在诸多数据源和数据集(Youtube、Flickr、Facebook)、机器计算能力(CPU、GPU、TPU)的加持下,已经在CV、NLP上取得了许多任务(如目标检测、语义分割等)的重大进展。

但目前大部分深度学习模型训练时使用的数据来自于互联网(Internet AI),而并非来自现实世界的第一人称人类视角,这样训练得到的模型是旁观型的,它只能学习到数据中的固定模式并将其映射到标签层,并不能在真实世界中直接进行学习,也不能对真实世界作出直接影响。

而在自然界中,动物为了适应环境会不断地进化以更好的生存和生活。对于人类来说,从婴儿开始就扎根于真实世界,通过观察、移动、互动和与他人交谈来学习,因此人脑中的很多认知都依赖于主体物理身体特征与世界的连续型交互,而不是从混乱和随机的经验中学习,这才是人类感知世界的方式!智能体是在主体与环境的相互作用中出现的,并且是感觉活动的结果。

因此为了满足AI机器人能够像人类一样在真实世界中实践型学习,具身智能(Embodied AI)逐渐成为一个热门的讨论点,或许它就是通往通用人工智能的关键钥匙。具身的含义不是身体本身,而是与环境交互以及在环境中做事的整体需求和功能,这意味着机器人应该像人类一样通过观察、移动、说话和与世界互动来学习。

在这里插入图片描述

Internet AI和Embodied AI的区别?
旁观型标签学习方式 v.s. 实践性概念学习方法

  • Internet AI从互联网收集到的图像、视频或文本数据集中学习,这些数据集往往制作精良,其与真实世界脱节、难以泛化和迁移。1)数据到标签的映射。2)无法在真实世界进行体验学习。3)无法在真实世界做出影响。
  • Embodied AI通过与环境的互动,虽然以第一视角得到的数据不够稳定,但这种类似于人类的自我中心感知中学习,从而从视觉、语言和推理到一个人工具象( artificial embodiment),可以帮助解决更多真实问题。

Embodied AI的挑战
一个Embodied AI中的经典任务如上图所示,智能体必须先理解问题“汽车的颜色是什么”,然后找到汽车,再回答问题是“橙色”。因此智能体必须根据其对世界的感知、潜在的物理约束以及对问题的理解,学习将其视觉输入映射到正确的动作。

  • 主动感知。智能体收集的数据是在环境中采取的行动的结果,因此某种程度上它可以控制它想看到的像素。这与Internet AI中的静态数据集不同。
  • 稀疏奖励。与监督学习不同,智能体会为每个动作收集即时奖励,但它们通常是稀疏的,大多数情况下,仅当它完成目标(例如“步行到汽车”)时才会提供正向奖励,但这会导致奖励稀疏。

Embodied AI的所需能力
一般需要测量、定位、导航、理解、实施、回答。主要有以下子任务:

  • Visual Odometry。使用视觉来传感器测量来智能体(比如无人机)的特定自由度下的姿态、速度等物理量,一般作为 GPS、惯性导航系统 (INS)、轮式里程计等的补充,它已被广泛应用于各种机器人。
  • Global Localization。给定环境地图和环境观察的情况下进行定位。
  • Visual Navigation。在三维环境中导航是在物理世界中运行的机器人的基本能力之一。
  • Grounded Language Learning。人类语言是这种交流最引人注目的方式,因此机器人必须要能够将语言、世界和行动联系起来。
  • Instruction Guided Visual Navigation。向机器人发出口头指令,然后希望它会执行和指令语义相关的任务,这也是多模态领域一个很重要的方向,视觉和语言导航 (VLN)。
  • Embodied Question Answering。即上图所示的例子,为了回答汽车的颜色是“橙色!”,它必须首先智能导航以探索环境,通过第一人称视觉收集信息,然后回答问题。因此它需要先主动感知、语言理解、目标驱动的导航、常识推理(如汽车通常位于房子的什么位置?),以及将语言转化为动作的基础(如将文本中的实体与相应的图像像素或动作序列相关联)。

数据集和虚拟环境
虚拟环境模拟器将承担以前由监督数据集扮演的角色。数据集一般由房屋、实验室、房间或外部世界的 3D 场景组成,然后模拟器允许具身agent与环境进行物理交互,如观察、移动并与环境交互等等,甚至可以与其他agent或人类交谈。为了使虚拟环境更贴近现实,其一般需要构建以下特征,

  • Environment。构建具体化的人工智能模拟器环境的方法主要有两种:基于游戏的场景构建(G)和基于世界的场景构建(W)。如下图左侧为游戏的画面场景和世界的房间场景。
  • Physics。模拟真实的物理属性,分为基本物理特征(B,如碰撞、刚体动力学和重力建模)和高级物理特征(A,如流体和软体物理学)。如下图右侧。

在这里插入图片描述

  • Object Type。用于创建模拟器的对象有两个主要源:数据集驱动的环境和资产驱动的环境。
  • Object Property。具有基本交互性的对象如碰撞、状态更改(如苹果被切成苹果片),因此可分为:可交互对象(I)和多个状态对象(M)。
  • Controller。用户和模拟器之间存在不同类型的控制器接口。如下图的python接口、机器人接口或VR接口。

在这里插入图片描述

  • Action。通过虚拟现实界面进行人机操作,分为机器人操作三层:导航(N)、原子动作(A)和人机交互(H)。
  • Multi-Agent。多代理拥有更广泛的实用价值,但目前涉及多代理强化学习的研究很少。

在这里插入图片描述
Embodied AI主要任务
如上图所示,具身智能研究任务主要类型分别是视觉探索、视觉导航和具身QA。

  • Visual Exploration:收集关于3D环境的信息,通常通过运动和感知,以更新其内部环境模型。
  • Visual Navigation:在有无外部先验或自然语言指令的情况下,将三维环境导航到目标。可以分为Point Navigation、Object Navigation、Navigation with Priors、Vision-and-Language Navigation。
  • Embodied QA:最重要的任务,需要拥有广泛的人工智能能力,如视觉识别、语言理解、问题回答、常识推理、任务规划和行动驱动导航。Multi-target embodied QA、Interactive Question Answering。

Reference
Embodied Intelligence via Learning and Evolution
A Survey of Embodied AI: From Simulators to Research Tasks


接下来补一些2篇和大模型结合的论文,不太全,欢迎留言补充。


Do As I Can, Not As I Say: Grounding Language in Robotic Affordances
如题是Grounding Language任务,即按照人类口头指令执行任务。和语言模型结合的motivation在于,大语言模型可以编码关于世界的丰富语义知识,这些知识对于机器人能够执行高水平的指令可能非常有用。然而,语言模型的一个显著弱点是它们缺乏现实世界的经验,这使得很难利用它们来进行具象决策。

如下图所示,对于“我把饮料洒了出来,你能帮忙吗?” ,缺乏现实经验的语言模型可能会给出不现实的建议,如如果现场没有吸尘器等物品,机器人是无法帮忙清除饮料的。因此,相结合之下,机器人可以作为语言模型的“手和眼睛”,而语言模型则提供关于任务的高级语义知识,从而将低级别技能与大型语言模型结合起来。
在这里插入图片描述

本文主要提出了一种将语言模型转化为机器指令的方法,如上图右侧,大规模语言模型的能力可以帮助分解语义从而得到足够的可能,然后通过强化学习训练一个价值函数来判断可能的价值,最终指导机器人去找到海绵、拿起海绵、找到你、放下海绵、结束。具体的模型结构如下图所示,

在这里插入图片描述

给定一个高级指令,SayCan结合了来自LLM的概率(一个技能对指令有用的概率)和来自一个值函数的概率(为的概率 成功地执行上述技能)来选择要执行的技能。

  • LLM。先把指令变成Prompt形式,再利用LLM把指令分解成多个动作,如拿起或放下苹果。
  • VF。通过训练好的价值函数,联合LLM给出动作的概率分布,并使机器人执行概率最大的动作,如找到苹果。
  • 重复。执行完第一个动作之后,再拼接成新的prompt以生成第二个动作。

code:https://github.com/google-research/google-research/tree/master/saycan
paper:https://arxiv.org/pdf/2204.01691
demo:https://sites.research.google/palm-saycan

在这里插入图片描述

A Generalist Agent
同样受大规模语言建模的启发,Deepmind提出的Gato模型的关键词是通用智能体、多模态、多任务。如上图所示,同一个网络可以玩游戏、生成caption、控制机器人等等,参数量为12亿。模型结构如下,各个模态的数据被分别编码,如图像用ViT等,然后输入Gato.
在这里插入图片描述
Gato的主框架是一个24层decoder-only transformer,基于自回归生成(用前t时间步去预测t+1的表征)后再和环境进行交互。 L ( θ , B ) = − ∑ h = 1 ∣ B ∣ ∑ l = 1 L m ( b , t ) l o g p θ ( s l ( b ) ∣ s 1 ( b ) , … , s l − 1 ( b ) ) L(\theta,B)=-\sum^{|B|}_{h=1}\sum^L_{l=1} m(b,t)log p_{\theta}(s^{(b)}_l|s^{(b)}_1,…,s^{(b)}_{l-1}) L(θ,B)=h=1Bl=1Lm(b,t)logpθ(sl(b)s1(b),,sl1(b))

paper

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具身智能综述和应用(Embodied AI) 的相关文章

  • 简谈拉电阻

    简谈拉电阻 前言 拉电阻 弱拉和强拉 上拉和下拉 前言 电路设计中经常设计到拉电阻的概念 与常用的GPIO口的配置也息息相关 网上也有很多的总结 不多累述 简单的总结拉电阻相关的一些概念 拉电阻 拉电阻分为上拉电阻 pull up 和下拉电
  • powerdesigner常用配置-修改外键设置

    文章目录 取消自动生成外键列 PowerDesigner给两个表添加reference 中间显示外键信息步骤 取消自动生成外键列 PowerDesigner给两个表添加reference 中间显示外键信息步骤
  • Floyd算法(三)之 Java详解

    前面分别通过C和C 实现了弗洛伊德算法 本文介绍弗洛伊德算法的Java实现 目录 1 弗洛伊德算法介绍 2 弗洛伊德算法图解 3 弗洛伊德算法的代码说明 4 弗洛伊德算法的源码 转载请注明出处 http www cnblogs com sk
  • 记一次XFS文件系统崩溃的处理

    1 问题出现 当使用rpm安装服务时 出现如下问题 当使用yum时也是一样 查了 var log messages发现以下错误 看起来是XFS的问题 可以发现dm 0实际是bel root的问题 查了网上很多解决方法都是说要使用xfs re
  • TCP/IP 报文格式(IP数据包、TCP报头、UDP报头)

    TCP IP 报文格式 IP数据包 TCP报头 UDP报头 一 IP包格式 IP数据包 是一种可以变长的分组 由首部与数据负载组成 首部长度为20 60字节 Byte 后40字节是可选的 但长度不固定 前20字节格式为固定 数据负载部分的长

随机推荐

  • 医疗器械维修工程师好做吗?赚钱吗?

    彩虹医疗器械维修培训第二期长期班安排 学技术 考证书 工作技术支持 彩虹介绍 彩虹医械维修培训中心成立于2003年 至今已有十余年的时间 为满足社会需求 推进医疗器械维修技术发展 开展医疗器械的维修技术培训 在社会上取得了良好的反应和口碑
  • 嵌入式Linux驱动开发(I2C专题)(四)

    编写APP直接访问EEPROM 参考资料 Linux驱动程序 drivers i2c i2c dev c I2C Tools 4 2 https mirrors edge kernel org pub software utils i2c
  • 在 Kubernetes 上体验 EMQX 5.0 的 MQTT over QUIC 特性

    引言 作为全球领先的开源分布式 MQTT Broker EMQX 在 5 0 版本中引入了 MQTT over QUIC 将 MQTT 协议的优势与 QUIC 的特性相结合 通过充分利用 QUIC 协议低连接开销和多路复用的特点 MQTT
  • 入职避坑指南(杭州)

    前言 求职都说金三银四 今天和大家分享一个亲身经历的事情 今天讲的是杭州 群电商公司 规模500人左右 说说我被公司白瞟的亲身经历 希望看到这篇文章的同学能避开这些坑 面试过程 公司比较远 附近没有地铁 大概坐了一个多小时的公交车去面试 到
  • CompletableFuture使用详解

    https blog csdn net admin123404 article details 111168902
  • Centos7.9搭建kafka-3.2.0集群,三台机器组成,并安装安装eagle 监控

    目录 1 准备工作 2 搭建zookeeper集群 3 搭建kafka集群 4 测试kafka集群 4 1 命令测试 4 2 java代码测试 5 安装eagle 监控 1 准备工作 kafka 3 2 0的单机安装教程如下 CentOS7
  • MySQL的全连接

    从这篇博客开始 从高端大气的计算机视觉方向转行做JAVA开发了 接下来的博客就是JavaJavaJava了没有世界上最好用的pythonpythonpython 由于MySQL不支持FULL JOIN 所以 需要使用UNION来实现全连接
  • 一、多路复用

    1 什么是多路复用 数据通信系统或计算机网络系统中 传输媒体的带宽或容量往往会大于传输单一信号的需求 为了有效地利用通信线路 希望一个信道同时传输多路信号 这就是所谓的多路复用技术 Multiplexing 采用多路复用技术能把多个信号组合
  • 第三章 Jinja2模板

    第三章 Jinja2模板 在前面的实例中 视图函数的主要作用是生成请求的响应 这是最简单请求 实际上 视图函数有两个作用 处理业务逻辑 返回响应内容 在大型应用中 把业务逻辑和表现内容放在一起 会增加代码的复杂度和维护成本 模板其实是一个包
  • 因误删文件导致CentOS7开机卡死无法进入图形登录界面

    目录 1 背景 2 解决步骤 1 背景 这几天在清理电脑 需要删除虚拟机 为此写下了Linux系统下卸载VMware Workstation软件 nanke yh的博客 CSDN博客 但是同时怕有残留 自己全局搜索了vm 删除了部分带有vm
  • SpringBoot之整合Shiro(最详细)

    1 SpringBoot整合Shiro思路 2 环境搭建 2 1 创建项目 2 2 引入依赖 pom xml
  • 微信小程序html2canvas,微信小程序之Canvas填坑

    1用能境战求道 重件开又是正易里是了些之框 WXML CANVAS隐藏问求圈分件圈浏第用代是水刚道 的它还题 2需朋者说上事是础一发一开程和开数的目前间 JS CANVAS 新直能分支调二浏页器朋代说 事刚绘制图片 这里要注意的遇新是直朋能
  • [npm] npx 介绍与使用说明

    npm npx 介绍与使用说明 npm 的由来 npx 是什么 npx 特点 npx 的特点 项目安装包的使用 全局安装包的避免 指定工具包版本 no install 参数和 ignore existing 参数 使用不同版本的 node
  • linux开启vt虚拟化,VT虚拟化如何开启

    VT虚拟化如何开启 VT是什么意思 VT虚拟化怎么开启呢 下面小编为大家分享VT虚拟化开启技巧 欢迎大家参考 VT是什么意思 VT是英文virtualizationtechnology的缩写 其意思是CPU虚拟化技术 我们安装的手游助手就是
  • 【机器学习】如何根据数据集选择适合的模型

    Is it because we have many features in our data sheet 因为我们的数据表中有很多特征吗 Or is it because the feature list does not only co
  • SpringBoot(四)SpringBoot搭建简单服务端

    通过之前的几篇文章相信大家已经对SpringBoot项目开发有了一个基本的了解 本篇 介绍下如何使用SpringBoot搭建一个简单的服务端 实现一个新用户注册的场景 供前端和移动端去使用 本篇需要你对SpringBoot的starter
  • Windows常用命令整理

    之前写了一篇关于Windows快速打开服务 陌客依天涯的博客 CSDN博客 服务快捷键 的文章 有表示windows还有很多常用的 那就整理一下 分享跟多点 希望对大家有用 1 mstsc 快速开启远程连接客户端 2 regedit 快速打
  • 节流防抖详解及代码实现

    防抖 原理 在事件被触发n秒后再执行回调 如果在这n秒内又被触发 则重新计时 适用场景 按钮提交 防止多次提交按钮 只执行最后提交的一次 搜索框联想 防止联想发送请求 只发送最后一次输入 防抖小例子
  • C++打开特定编码格式的文件(utf-8)

    FileEncoding cpp 定义控制台应用程序的入口点 include stdafx h include
  • 具身智能综述和应用(Embodied AI)

    什么是具身智能 目前人工智能的进展 在诸多数据源和数据集 Youtube Flickr Facebook 机器计算能力 CPU GPU TPU 的加持下 已经在CV NLP上取得了许多任务 如目标检测 语义分割等 的重大进展 但目前大部分深