具身智能(Embodied AI)
前言
图灵奖得主、上海期智研究院院长姚期智认为,人工智能领域下一个挑战将是实现“具身通用人工智能”,即如何构建能够通过自我学习掌握各种技能并执行现实生活中的种种通用任务的高端机器人。清华大学计算机系教授张钹院士,也在某产业智能论坛上提出,随着基础模型的突破,通用智能机器人(具身智能)是未来的发展方向。
模型的好坏取决于数据和算力,以及算法,我们目前的数据源主要来自于各大龙头公司(存储数据较多的),比方说国外的Youtube、Flickr、Facebook,国内的各个大厂,算力取决于(CPU、GPU、TPU),目前在目标检测,自然语言处理领域取得了突出进展。
但现在有一个很明显的问题,所有的训练数据全部来自于网络,而且这些数据被存储之后是固定的,也是鱼龙混杂的(各种数据夹杂其中,真真假假无法分辨,是否有用无法断定),在这样的数据集中,模型所学到的也是生硬的(甚至不那么合理的)规则,而且学习之后,难以主动和真实世界交互,从而继续完善本身,这样的模型,固然可以应用于真实世界,提升便利性,但从模型本身而言,它不具有进化能力。
我们所希望的模型,是一个和人类一样,可以在不同的环境下重新学习并适应,以及不断进化的智能体,而不是一具只能执行命令的行尸走肉。
对于人类来说,从婴儿开始就扎根于真实世界,通过观察、移动、互动和与他人交谈来学习,我们脑海中存储知识都是和环境交互后得到的适合自己的知识,而不是从混乱和随机的经验中学习的(它只能作为一种参考,绝不是主体),这才是人类感知世界的方式!
1.具身智能
具身智能(Embodied AI):希望智能体像人类一样在真实世界中通过实践(交互)来学习,它被认为是通往通用人工智能的关键钥匙。具身的含义不是身体本身,而是与环境交互以及在环境中做事的整体需求和功能,这意味着机器人应该像人类一样通过观察、移动、说话和与世界互动来学习。简单来说,就是让智能体从数字世界走向实体世界,让机器人,像机械臂、无人车、无人机等具有智能和进化能力,像人一样通过与环境交互感知,从小孩成长为大人,从大人变化为圣人(无所不能)。
但让一个智能体可以在真实环境下交互,需要集成多种技术。
假设一个场景:让现在最火的机器狗去买菜,那么对于这个机器狗而言,首先它要理解人类的命令(自然语言处理,像Chatgpt),在买菜的路上,他要能识别路上的障碍(避障)和需要买的菜(目标检测),同时他要明确自己的位置(定位),找到合适的路线(决策),并在路线上准确移动(导航)。而且一般来讲,为了安全性考虑,机器人在路上行动时我们需要同时用视觉和雷达等技术去判断机器和人的安全距离,再加上自然语言处理等技术,不同技术之间的交互和协作也是重中之重(多模态融合)。
2.发展
从上面例子中,我们能发现,首先从第一步,让机器人可以完全理解人类的命令就是一个很困难的事,也因此,这个概念尽管早在上世纪就已经被提出,但却一直停滞不前。
幸运的是,Chatgpt横空出世,以大语言模型为中心的技术突破让人们看到了具身智能(通用智能基石)的希望,简单归为以下几类。
2.1 大模型
目前最典型的是语言大模型Chatgpt,现在各大厂也在加班研究视觉大模型。
以语言大模型为例。
语言大模型相对于传统机器学习在复杂任务理解、连续对话、零样本推理等方向有了突破进展。这让解决机器人的理解力、连续决策力、人机交互能力有了可能。
微软研究院发布“ChatGPT for Robotics” 文章中提到,大型语言模型 (LLM) 将人的语言快速转换为机器人的高层控制代码,从而控制机械臂、无人机等机器人。
以前,由于传统AI不具备先验知识,理解力和泛化能力不足,机器人就无法像人一样拥有常识,必须要将一个指令由人类工程师分解成一连串简短的程式化程序,然后机器人(机械臂)再一步一步去完成每个动作(本质上是一个人类主导的过程)。这表明机器人并不具备思考能力。
而大语言模型赋予了机器人思考能力,可以帮助机器人更好理解运用到高级语义知识,自动化地分析自己的任务并拆分成具体的动作(理解力)。
例子,让机器人拿一个苹果,对于人类而言,他们会绕开室内的障碍物,但传统方式下,机器人并不具备“遇到障碍物要躲开”这样的常识,经常会做错事,而且不会自动纠错,而大模型驱动的具身智能,就可以更好地理解这些知识,自动分解任务。
总结而言,语言大模型让智能体真正有了能够理解人类的能力,并赋予了智能体思考能力,相应智能体就具备了决策能力。而未来的视觉大模型,可以让机器人准确分辨(识别)这个世界的一切。
2.2 多模态
人类观察和理解这个世界,依赖于眼耳鼻舌身意。同样对于机器人而言它也要有这些能力,对于一个苹果,机器人要像人一样,可以从视觉上看出它的特征(形状,颜色),味觉上品出味道,听觉上听出苹果从高空触地时和其他东西的声音差别,从嗅觉上闻出气味,从苹果的含义上,理解它的代表意义。这样智能体才算真正的了解了这个苹果,而这些感知对于机器人而言,是各自独立的,我们需要借助多模态融合,让机器人全方位理解一个东西,这才具有和真实世界交互的基础。
2.3 决策
传统人类将在仿真环境训练模型的能力,再移植运用到现实世界中后,发现机器人无法解决仿真环境未出现的情况,而再次训练又费时费力。
大模型时代,具身智能模型的训练与测试,与云服务相结合,可以在云上虚拟仿真场景下(数字孪生),进行端到端的实时训练与测试,快速完成端侧迭代与开发,这就大大加速了具身智能体的进化速度。
具身智能体在模拟出来的场景中无数次地尝试、学习、反馈、迭代,积累对物理世界的深度理解,产生大量交互数据,再通过与真实环境的不断交互积累经验,全面提升在复杂世界的自动移动、复杂任务的泛化能力(强化学习),展现在具身载体上,就是机器人可以更好地适应环境,更灵活地运用机械“躯干”来进行人机交互。
写在最后:尽管人工智能被吹嘘的很美丽,但我们现在所使用的基于人工智能的机器人,是先在仿真环境中学习,再应用于真是世界,尽管它具有很强的能力,但在真实世界中它并没有重新学习的能力,现实世界中新出现的,在仿真环境中没有被训练的状况,它不能解决。但具身智能让机器人有了在真实世界中学习的能力。
往期文章
1.zore-shot,迁移学习和多模态学习-CSDN博客
参考文献
1.具身智能综述和应用(Embodied AI)_上杉翔二的博客-CSDN博客
2.具身智能,是机器人的“冷饭热炒”吗?-CSDN博客
相关文章:

具身智能(Embodied AI)
前言 图灵奖得主、上海期智研究院院长姚期智认为,人工智能领域下一个挑战将是实现“具身通用人工智能”,即如何构建能够通过自我学习掌握各种技能并执行现实生活中的种种通用任务的高端机器人。清华大学计算机系教授张钹院士,也在某产业智能论…...

C语言的文件写入、读取
目标1:使用C语言的文件操作来实现一次性将输入的数据转换为字符串写入文件,然后逐行读取并进行操作。 模板 #include <stdio.h>int main() {// 打开文件以写入数据FILE *file fopen("data.txt", "w");if (file NULL) {pri…...

CART 算法——决策树
目录 1.CART的生成: (1)回归树的生成 (2)分类树的生成 ①基尼指数 ②算法步骤 2.CART剪枝: (1)损失函数 (2)算法步骤: CART是英文“class…...

CF1877A Goals of Victory
题目是说,有n个队伍进行足球赛,两两之间进行一场足球赛,会有一个积分,a:b,题目所说的efficiency表示的是一个队伍的得分减去对手队伍的得分 #include<bits/stdc.h> using namespace std;int num[110];int main(…...

018-第三代软件开发-整体介绍
第三代软件开发-整体介绍 文章目录 第三代软件开发-整体介绍项目介绍整体介绍Qt 属性系统QML 最新软件技术框架 关键字: Qt、 Qml、 属性、 Qml 软件架构 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object …...

储存数据文本json的读写
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、json文本介绍二、json文本的应用三、json文本的操作1、环境配置2、写入文件3、读取文件4、文件格式解析注意的点参考链接前言 认知有限,望大家…...

Java之动态代理的详细解析
2. 动态代理 2.1 好处: 无侵入式的给方法增强功能 2.2 动态代理三要素: 1,真正干活的对象 2,代理对象 3,利用代理调用方法 切记一点:代理可以增强或者拦截的方法都在接口中,接口需要写在…...

github Release 下载加速,绿色合法,遥遥领先
你有没有这样一个困惑,当你寻找了很久终于找到一个解决问题的方案,发现这个工具在 GitHub 上,接下来等待我们的就是遥遥无期的龟速下载。 文章目录 前言下载测试加速下载操作 视频讲解 遥遥领先 前言 GitHub 作为程序员的知识宝库ÿ…...

RabbitMQ消息中间件概述
1.什么是RabbitMQ RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等&…...

12V手电钻保护板如何接线演示
爱做手工的小伙伴们肯定会用到手电钻,那么电池消耗完了,或要换的,或要自己动手做几个备用电源,关键点就是电路保护板的接线。废话不多说,直接上板子看实操。 文章目录 一、线路板图1、输入接线2、输出接线 二、接线方法…...

基于SpringBoot的教学辅助平台
目录 前言 一、技术栈 二、系统功能介绍 学生信息管理 教师信息管理 课程信息管理 科目分类管理 班级分类管理 课程作业管理 交流论坛管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理…...

Qt 读写数据流文件(转 CppGuiProgrammingWithQt4)
读取文件: update 20140525:添加线程处理,在读取大文件时优化,防止 app 出现 application 假死状态。 bool SpreadSheet::readFile(const QString &filePath){QFile file(filePath);if ( !file.open(QIODevice::ReadOnly)) …...

Pygame中将鼠标形状设置为图片2-2
3 编写主程序 在主程序中,首先创建屏幕并且完成一些准备工作,之后在while循环中不断更新sprite实例即可。 3.1 创建屏幕及准备工作 创建屏幕及准备工作的代码如图5所示。 图5 创建屏幕及准备工作 其中,第20行代码调用pygame.mouse模块中的…...

GPU 基础知识整理
萌新: 在接触一款硬件时我会:基础硬件结构,线程结构,内存布局,数据吞吐量,等方面进行学习 首先GPU的特点: 并行性能:GPU 是专门设计用于并行计算的硬件,通常具有大量的处理单元&am…...

stable diffusion API接口 + 扩展接口
文章目录 概要流程页面接口调用展示txt2img接口AutoDL设置扩展接口 概要 调研Stable Diffusion二次开发,查看接口文档。 基于AutoDL算力服务器,直接安装部署,非常容易上手,部署教程放下面了。 部署教程 流程 页面接口调用 页面…...

MySQL数据库基本操作和完整性约束类型详解
目录 一、增删改查的sql语句二、表完整性约束1、表完整性约束的介绍2、常见的完整性约束类型3、表完整性约束实战操作3.1.主键primary key3.2.自增键auto_increment3.3.唯一键UNIQUE3.4.null与not null3.5.默认约束 一、增删改查的sql语句 SQL(Structured Query Lan…...

unity2022版本 实现加减进度条
简介 在现代游戏开发中,用户界面 (UI) 扮演着至关重要的角色,它不仅为玩家提供信息,还增强了游戏的可玩性。加减进度条是一种常见的UI元素,它可以用于显示游戏中的进度、倒计时、资源管理和其他关键信息。在这篇博客中࿰…...

COCO数据集中图像的caption读取到txt文件
annotations_trainval2017.zip import os import shutil import jsoncaptions_path r"G:\SketchDiffusion\Sketchycoco\Dataset\annotations\captions_train2017.json" # 读取json文件 with open(captions_path, r) as f1:dictortary json.load(f1)# 得到images和…...

再谈Java泛型
一.类型参数的约束 我们可以对泛型传进来的参数做一些约束,比如说 用extends表明传进来的参数类型必须是必须是某个类型的子类型或者本身 当然也可以用接口约束,也是用extends表明传进来的参数类型必须实现某个接口。用&连接,注意class…...

scss使用自定义函数实现单位像素随屏幕比例动态缩放
vue中通过变量和scss函数来动态实现动态缩放像素 简单来说就是比例缩小时,像素单位变大,从而字体大小相对不变,以下仅处理比例缩小的状况 自定义一个属性–size,初始值为1px template <template><div class"hom…...

Django 静态自定义化配置
STATIC # APP本地静态资源目录(就APP对应的) STATIC_URL "/static/"# 远程静态文件URL(少用) REMOTE_STATIC_URL# 外部引用静态文件目录(外层的) STATICFILES_DIRS [os.path.join(BASE_DIR, &…...

TensorFlow入门(十四、数据读取机制(1))
TensorFlow的数据读取方式 TensorFlow的数据读取方式共有三种,分别是: ①预加载数据(Preloaded data) 预加载数据的方式,其实就是静态图(Graph)的模式。即将数据直接内嵌到Graph中,再把Graph传入Session中运行。 示例代码如下: import tensorflow.compat.v1 as tf tf.disabl…...

hyperf框架WebSocket 服务
1:安装 composer require hyperf/websocket-server2:配置 Server 修改 config/autoload/server.php,增加以下配置。 return [servers > [[name > ws,type > Server::SERVER_WEBSOCKET,host > 0.0.0.0,port > 9502,sock_typ…...

前端模块化
当我们从公司招聘上看到要求模块化的内容。 能从这几个角度回答,就说明我们是懂模块化的。 1. 模块化的本意,是当遇到一个复杂项目的时候(简单的不建议用),把这个复杂的问题拆分成相对独立的模块,降低程序…...

如何使用Docker轻松构建和管理应用程序(一)
如今Docker的使用已经非常普遍,特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力。在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如今在微服务架构越来越流行的情况下&a…...

uniapp 获取地理位置(uni#getLocation和高德sdk获取中文地址)
参考 https://uniapp.dcloud.net.cn/api/location/location.html https://ask.dcloud.net.cn/article/35070 1. uniapp api获取经纬度 uni.getLocation({type: wgs84,success: function (res) {console.log(当前位置的经度: res.longitude);console.log(当前位…...

openmp 通用核心 学习 2 数据环境—任务-内存模型
目录 openmp 数据环境 子句: 在上述三个子句中也可以传入指针和数组 openmp 任务: openmp内存模型: openmp 数据环境 子句: shared(list) private(list)//默认构造 值未被初始化 对于图6-5: //File #1 int tm…...

Linux有哪些指令
Linux操作系统提供了许多指令,可以帮助用户进行各种操作。以下是一些常见的Linux指令: ls:列出当前目录下的文件和目录。cd:改变当前工作目录。pwd:显示当前工作目录。mkdir:创建新的目录。rm:…...

图扑 HT for Web 风格属性手册教程
图扑软件明星产品 HT for Web 是一套纯国产化独立自主研发的 2D 和 3D 图形界面可视化引擎。HT for Web(以下简称 HT)图元的样式由其 Style 属性控制,并且不同类型图元的 Style 属性各不相同。为了方便查询和理解图元的 Style 属性࿰…...

oracle 数据库删除序列
oracle 数据库删除序列 要删除 Oracle 数据库中的序列,你可以使用以下的 SQL 命令: DROP SEQUENCE sequence_name;其中,sequence_name 是你想删除的序列的名称。你需要确保当前用户对序列拥有适当的权限。 请注意,删除序列将永…...