谷歌推出通用AI代理:能自动执行600多种动作,游玩复杂3D游戏

谷歌DeepMind的研究人员推出了一种面向3D环境的通用AI代理——SIMA。

SIMA无需访问游戏的源代码,也不需要定制的API。只需要输入图像和用户提供的简单自然语言文本指令,SIMA就能像人类玩家一样执行走路、跑步、建造、打开地图等各种游戏中的操作。

为了测试、训练SIMA的性能,研究人员与8个游戏工作室合作,在《无人深空》、《模拟山羊3》、《Teardown》、《挖矿模拟器》等知名复杂3D游戏上进行了综合测试。

结果显示,用户只需要在游戏中提供简单的文本、图像提示,SIMA就能执行挖矿、开飞船、制作装备、打开外骨骼、搜集任务、爬楼梯等600多种基本操作,每个动作可以在大约10秒内完成。

技术报告:https://storage.googleapis.com/deepmind-media/DeepMind.com/Blog/sima-generalist-ai-agent-for-3d-virtual-environments/Scaling%20Instructable%20Agents%20Across%20Many%20Simulated%20Worlds.pdf

图片

在游戏场景中测试AI代理是一个重要课题,与传统的沙盒2D方法不同的是,SIMA选择了操作、环境、视觉难度更高的3D游戏。

SIMA使用了大模型的训练方法,通过广泛的数据分布来识别那些复杂的动作,同时无需为每个新游戏设计特定的控制、观察模块,就能理解人类的文本指令,并将其转化为具体的行动。

多种大模型组成的“人体”

从SIMA的总体架构来看,由多种大模型组合而成像是在模仿人体。视觉感知模型充当“眼睛”、大语言模型充当“大脑”、建模规划模型充当“思维”、控制和执行模型充当“四肢”。

也就是说SIMA在接收到指令后,会用人的方式去思考、规划接收到的任务,然后再去执行

图片

视觉感知模型:视觉感知模块负责处理AI代理的图像观察,并提取关键信息以辅助语言指令的理解和环境的交互。该模块使用卷积神经网络(CNN)等深度学习技术对输入的图像数据进行处理和特征提取。

使得SIMA能够识别和分析图像中的物体、场景和空间位置等重要信息,以帮助AI代理更好地理解语言指令,并在虚拟世界中进行准确的交互和操作。

图片

大语言模型:主要负责解析和理解输入的自然语言指令。使用了NLP、词嵌入、序列模型和注意力机制等技术,将语言指令转化为机器可理解的表示。

使得AI代理能够准确地理解和解释指令中的动作和目标,为后续的建模和规划提供基础。

建模规划模型:通过强化学习和规划算法,与环境的交互和反馈来学习最佳的行动策略。AI代理通过不断尝试和优化,逐渐掌握了在不同环境下执行任务的能力。

可根据语言指令、视觉感知信息和当前环境状态,生成有效的动作序列,以实现任务的完成。

图片

控制和执行模型:主要负责将生成的动作序列转化为实际的动作控制指令,并映射到键盘、鼠标上,以驱动AI代理在3D游戏中执行任务,例如,移动、跳跃、奔跑、挖矿等,同时可根据环境的反馈进行自适应调整和优化。

数据收集和预处理

数据收集和预处理是SIMA的核心模块之一,主要获取、准备和处理用于训练和评估AI代理的数据。

研究人员从商业游戏等环境搜集了海量数据,搜集完成后对数据进行了清洗、转换和标准化数据操作,方便后续的训练和分析。

图片

数据清洗:对原始数据进行去噪和异常值处理,可能会存在一些噪声或异常数据,例如,图像中的视觉干扰或语言指令中的错误字符。研究人员通过采用图像去噪和文本纠错的方式,来消除这些干扰因素。

数据转换:在进行训练之前,需要将原始数据转换为机器可处理的格式。图像数据,可以使用图像处理技术进行特征提取或缩放操作,以便于模型的训练和推理;

文本数据,可以进行词汇化、分词和编码等处理,将其转换为数值表示形式输入到深度学习模型中。

数据标准化:为了确保数据的一致性和可比性,需要对数据进行标准化处理。包括对图像进行归一化或标准化,以使其具有相似的亮度、对比度和颜色分布。对于文本数据,可以进行词干化、停用词移除和词向量化等操作。

图片

经过一系列数据清洗、转换、标准化后,可以帮助SIMA更好地去学习游戏中的物体、动作、交互等,从而提升整体的动作指令准确率。

研究人员表示,未来,会持续迭代SIMA的通用代理能力,希望可以在实际生活中帮助用户做更多的事情。

本文素材来源谷歌SIMA论文,如有侵权请联系删除

END

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

市场复盘总结 20240322

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率中 36% 最常用…

C++初阶:vector的使用与自实现

目录 1. vector与顺序表2. vector的使用2.1 默认成员函数2.2 vector的迭代器2.3 容量相关成员函数2.4 遍历访问方式2.5 vector的修改操作 3. vector的自实现3.1 自实现功能3.2 vector的结构与自实现的逻辑3.3 自实现vector功能接口 1. vector与顺序表 我们在初阶数据结构中学习…

34 | 到底可不可以使用join?

在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类: 1. 我们 DBA 不让使用 join,使用 join 有什么问题呢? 2. 如果有两个大小不同的表做 join,应该用哪个表做驱动表呢? 今天这篇文…

【进程和线程】操作系统中的并发执行机制

目录 一、什么是进程(Process)? 进程的管理 进程调度(重点) 二、什么是线程(Thread)? 三、进程和线程的区别与联系 进程(Process) 线程(Thread) 总结比较 一、什么是进程(Process)? 进程和线程是操作系统中一个非常核心的话题&#…

鸿蒙Harmony应用开发—ArkTS-@Provide装饰器和@Consume装饰器:与后代组件双向同步

Provide和Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景。不同于上文提到的父子组件之间通过命名参数机制传递,Provide和Consume摆脱参数传递机制的束缚,实现跨层级传递。 其中Provide装饰的变…

随笔】Git -- 常用命令(四)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

OpenHarmony实现一次开发多端部署分布式新闻客户端页面

分布式新闻客户端(ArkTS) 介绍 本篇Codelab基于栅格布局、设备管理和多端协同,实现一次开发,多端部署的分布式新闻客户端页面。主要包含以下功能: 展示新闻列表以及左右滑动切换新闻Tab。点击新闻展示新闻详情页。点…

产生死锁的四大条件

死锁 由于两个或两个以上的线程相互争夺对方的资源,而同时不释放自己的资源,导致所有线程同时被阻塞 产生死锁的四大条件 互斥条件:一个资源在同一时刻只能由一个运算单元(进程、线程或协程)占用(排它性&…

停车场引导与道闸系统工程解析

停车场引导和道闸系统工程是一个综合性的智能车辆管理系统,它结合了现代电子信息技术,旨在实现安全、高效、自动化的停车管理。以下是该系统的主要组成部分及其功能: 1. 车牌识别技术:这是现代停车场管理的核心,能够自…

华清远见作业第五十三天——ARM(第七天)

代码 key_inc.h #ifndef __KEY_INC_H__ #define __KEY_INC_H__ #include "stm32mp1xx_gic.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h"void key1_it_config();void key2_it_config(…

C++概述

目录 一、C关键字(63个) 二、C几个关键点: 三、C语言缺陷一:命名冲突 四、C新概念:命名空间(namespace) 五、命名空间的嵌套: 六、展开命名空间:(using …

【收藏】什么是API测试?这是我见过的最全的测试指南!

在最近的部署中,当我被问到“什么是API测试?”时,我正与客户一起制定API测试策略。那时我突然意识到,要描述API测试居然是一件如此具有挑战性的事情,即使你如实地描述了它,也往往听起来很无聊和复杂。 好吧…

FloodFill算法——岛屿数量

文章目录 题目解析算法解析代码解析 题目解析 岛屿数量 题目依旧是熟悉的配方,熟悉的味道,还是那个0还是那个1还是那个二维矩阵,这时候BFS和DFS闻着味就来了,我们来看一下这个题目,这个题目也很容易理解如下图有一个…

【No.14】蓝桥杯贪心法|最少硬币问题|活动安排问题(4)|翻硬币|快乐司机|防御力|答疑(C++)

算法优点 容易理解:生活常见 操作简单:在每一步都选局部最优 效率高:复杂度常常是O(1)的 算法缺点 局部最优不一定是全局最优 贪心算法(Greedy algorithm),又称贪婪算法。是一种在每一步选择中都采取在…

教你在PC客户端中集成镭速高速传输插件

企业一直以来对文件传输的速度和安全性都有着严苛的要求,传统的FTP/HTTP传输方式因速度慢、易受网络延迟影响、数据包丢失等问题而不再适应现代企业的需求。镭速高速传输插件应运而生,为企业提供了一个快速、安全的文件传输新选择。本文将详细介绍如何在…

代码随想录算法训练营第day54|392.判断子序列 、 115.不同的子序列

目录 392.判断子序列 115.不同的子序列 392.判断子序列 力扣题目链接(opens new window) 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字…

【WEEK4】 【DAY3】整合SSM框架之功能实现—修改、删除数据【中文版】

2024.3.20 Wednesday 接上文【WEEK4】 【DAY2】整合SSM框架之功能实现—总览、添加数据【中文版】 目录 7.6.修改功能7.6.1.修改BookController.java7.6.2.修改allBook.jsp7.6.3.新建updateBook.jsp7.6.4.修改MyBatis-config.xml7.6.5.运行 7.7.删除功能7.7.1.修改BookContro…

unicloud快速上手,unicloud项目创建以及项目创建注意事项

uniCloud快速上手 本项目地址https://gitee.com/qayrup/unicloud-demo 创建unicloud项目 新建一个uni项目,并选择启用unicloud,选择阿里云或腾讯云 阿里云和支付宝云都支持一个月免费的云,如果只想体验啥的,可以选择这两个, 但是需要注意,支付宝云需要配置跨域,否则很多云函…

ModuleNotFoundError: No module named ‘Crypto‘的解决办法

Crypto模块是什么 在Python中,Crypto模块(有时也被称为pycrypto)是一个强大的加密库,它提供了各种加密算法的实现,包括AES、DES、RSA等。 在Python 3中,由于pycrypto库与新版本的Python3不兼容&#xff0…

DES加密原理及python脚本

一、加密 1、秘钥处理 ​ DES算法会先对64位密钥进行处理生成48位子密钥后再参与到算法的轮操作中,在每一轮的迭代过程中,使用不同的子密钥。其中的处理包括置换选择、循环左移、压缩置换。 1.1 置换选择 DES秘钥有64位,其中每8位有一个校…