首页 科技周边 人工智能 南大俞扬深度解读:什么是「世界模型」?

南大俞扬深度解读:什么是「世界模型」?

Feb 27, 2024 pm 07:50 PM
ai 数据

随着媒体狂炒Sora,OpenAI的介绍材料中称Sora是「world simulator」,世界模型这个词又进入视野,但很少有文章来介绍世界模型。

这里回顾一下什么是世界模型,以及讨论Sora是不是world simulator。

什么是world models/世界模型

当AI领域中讲到世界/world、环境/environment这个词的时候,通常是为了与智能体/agent加以区分。

研究智能体最多的领域,一个是强化学习,一个是机器人领域。

因此可以看到,world models、world modeling最早也最常出现在机器人领域的论文中。

而今天world models这个词影响最大的,可能是Jurgen 2018年放到arxiv的这篇以「world models」命名的文章,该文章最终以 「Recurrent World Models Facilitate Policy Evolution」的title发表在NeurIPS‘18。

南大俞扬深度解读:什么是「世界模型」?

该论文中并没有定义什么是World models,而是类比了认知科学中人脑的mental model,引用了1971年的文献。

南大俞扬深度解读:什么是「世界模型」?

mental model是人脑对周边世界的镜像

Wikipedia中介绍的mental model,很明确的指出其可能参与认知、推理、决策过程。并且说到mental model主要包含mental representations和mental simulation两部分。

an internal representation of external reality, hypothesized to play a major role in cognition, reasoning and decision-making. The term was coined by Kenneth Craik in 1943 who suggested that the mind constructs "small-scale models" of reality that it uses to anticipate events.

到这里还是说得云雾缭绕,那么论文中的结构图一目了然的说明了什么是一个world model。

南大俞扬深度解读:什么是「世界模型」?

图中纵向V->z是观测的低维表征,用VAE实现,水平的M->h->M->h是序列的预测下一个时刻的表征,用RNN实现,这两部分加起来就是World Model。

也就是说,World model的主要包含状态表征和转移模型,这也正好对应mental representations和mental simulation。

看到上面这张图可能会想,这不是所有的序列预测都是world model了?

其实熟悉强化学习的同学能一眼看出来,这张图的结构是错误(不完整)的,而真正的结构是下面这张图,RNN的输入不仅是z,还有动作action,这就不是通常的序列预测了(加一个动作会很不一样吗?是的,加入动作可以让数据分布自由变化,带来巨大的挑战)。

南大俞扬深度解读:什么是「世界模型」?

Jurgen的这篇论文属于强化学习领域。

那么,强化学习里不是有很多model-based RL吗,其中的model跟world model有什么区别?答案是没有区别,就是同一个东西。Jurgen先说了一段

南大俞扬深度解读:什么是「世界模型」?

基本意思就是,不管有多少model-based RL工作,我是RNN先驱,RNN来做model是我发明的,我就是要搞。

在Jurgen文章的早期版本中,还说到很多model-based RL,虽然学了model,但并没有完全在model中训练RL。

南大俞扬深度解读:什么是「世界模型」?

没有完全在model中训练RL,实际上并不是model-based RL的model有什么区别,而是model-based RL这个方向长久以来的无奈:model不够准确,完全在model里训练的RL效果很差。这一问题直到近几年才得到解决。

聪明的Sutton在很久以前就意识到model不够准确的问题。在1990年提出Dyna框架的论文Integrated Architectures for Learning, Planning and Reacting based on Dynamic Programming(发表在第一次从workshop变成conference的ICML上),管这个model叫action model,强调预测action执行的结果。

RL一边从真实数据中学习(第3行),一边从model中学习(第5行),以防model不准确造成策略学不好。

南大俞扬深度解读:什么是「世界模型」?

可以看到,world model对于决策十分重要。如果能获得准确的world model,那就可以通过在world model中就反复试错,找到现实最优决策。

这就是world model的核心作用:反事实推理/Counterfactual reasoning , 也就是说,即便对于数据中没有见过的决策,在world model中都能推理出决策的结果。

了解因果推理的同学会很熟悉反事实推理这个词,在图灵奖得主Judea Pearl的科普读物The book of why中绘制了一副因果阶梯,最下层是「关联」,也就是今天大部分预测模型主要在做的事;中间层是「干预」,强化学习中的探索就是典型的干预;最上层是反事实,通过想象回答what if问题。Judea为反事实推理绘制的示意图,是科学家在大脑中想象,这与Jurgen在论文中用的示意图异曲同工。

南大俞扬深度解读:什么是「世界模型」?

左:Jurgen论文中的世界模型示意图。右:Judea书中的因果阶梯。

到这里我们可以总结,AI研究人员对world model的追求,是试图超越数据,进行反事实推理,回答what if问题能力的追求。这是一种人类天然具备,而当前的AI还做得很差的能力。一旦产生突破,AI决策能力会大幅提升,实现全自动驾驶等场景应用。

Sora是不是world simulator

simulator这个词更多出现在工程领域,起作用与world model一样,尝试那些难以在现实世界实施的高成本高风险试错。OpenAI似乎希望重新组成一个词组,但意思不变。

Sora生成的视频,仅能通过模糊的提示词引导,而难以进行准确的操控。因此它更多的是视频工具,而难以作为反事实推理的工具去准确的回答what if问题。

甚至难以评价Sora的生成能力有多强,因为完全不清楚demo的视频与训练数据的差异有多大。

更让人失望的是,这些demo呈现出Sora并没有准确的学到物理规律。已经看到有人指出了Sora生成视频中不符合物理规律之处 [ OpenAI 发布文生视频模型 Sora,AI 能理解运动中的物理世界,这是世界模型吗?意味着什么? ]

我猜测OpenAI放出这些demo,应该基于非常充足的训练数据,甚至包括CG生成的数据。然而即便如此那些用几个变量的方程就能描述的物理规律还是没有掌握。

OpenAI认为Sora证明了一条通往simulators of the physical world的路线,但看起来简单的堆砌数据并不是通向更高级智能技术的道路。

以上是南大俞扬深度解读:什么是「世界模型」?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SQL 如何添加新列 SQL 如何添加新列 Apr 09, 2025 pm 02:09 PM

SQL 中通过使用 ALTER TABLE 语句为现有表添加新列。具体步骤包括:确定表名称和列信息、编写 ALTER TABLE 语句、执行语句。例如,为 Customers 表添加 email 列(VARCHAR(50)):ALTER TABLE Customers ADD email VARCHAR(50);

SQL 添加列的语法是什么 SQL 添加列的语法是什么 Apr 09, 2025 pm 02:51 PM

SQL 中添加列的语法为 ALTER TABLE table_name ADD column_name data_type [NOT NULL] [DEFAULT default_value]; 其中,table_name 是表名,column_name 是新列名,data_type 是数据类型,NOT NULL 指定是否允许空值,DEFAULT default_value 指定默认值。

SQL 清空表:性能优化技巧 SQL 清空表:性能优化技巧 Apr 09, 2025 pm 02:54 PM

提高 SQL 清空表性能的技巧:使用 TRUNCATE TABLE 代替 DELETE,释放空间并重置标识列。禁用外键约束,防止级联删除。使用事务封装操作,保证数据一致性。批量删除大数据,通过 LIMIT 限制行数。清空后重建索引,提高查询效率。

SQL 添加列时如何设置默认值 SQL 添加列时如何设置默认值 Apr 09, 2025 pm 02:45 PM

为新添加的列设置默认值,使用 ALTER TABLE 语句:指定添加列并设置默认值:ALTER TABLE table_name ADD column_name data_type DEFAULT default_value;使用 CONSTRAINT 子句指定默认值:ALTER TABLE table_name ADD COLUMN column_name data_type CONSTRAINT default_constraint DEFAULT default_value;

使用 DELETE 语句清空 SQL 表 使用 DELETE 语句清空 SQL 表 Apr 09, 2025 pm 03:00 PM

是的,DELETE 语句可用于清空 SQL 表,步骤如下:使用 DELETE 语句:DELETE FROM table_name;替换 table_name 为要清空的表的名称。

Redis内存碎片如何处理? Redis内存碎片如何处理? Apr 10, 2025 pm 02:24 PM

Redis内存碎片是指分配的内存中存在无法再分配的小块空闲区域。应对策略包括:重启Redis:彻底清空内存,但会中断服务。优化数据结构:使用更适合Redis的结构,减少内存分配和释放次数。调整配置参数:使用策略淘汰最近最少使用的键值对。使用持久化机制:定期备份数据,重启Redis清理碎片。监控内存使用情况:及时发现问题并采取措施。

phpmyadmin建立数据表 phpmyadmin建立数据表 Apr 10, 2025 pm 11:00 PM

要使用 phpMyAdmin 创建数据表,以下步骤必不可少:连接到数据库并单击“新建”标签。为表命名并选择存储引擎(推荐 InnoDB)。通过单击“添加列”按钮添加列详细信息,包括列名、数据类型、是否允许空值以及其他属性。选择一个或多个列作为主键。单击“保存”按钮创建表和列。

怎么创建oracle数据库 oracle怎么创建数据库 怎么创建oracle数据库 oracle怎么创建数据库 Apr 11, 2025 pm 02:33 PM

创建Oracle数据库并非易事,需理解底层机制。1. 需了解数据库和Oracle DBMS的概念;2. 掌握SID、CDB(容器数据库)、PDB(可插拔数据库)等核心概念;3. 使用SQL*Plus创建CDB,再创建PDB,需指定大小、数据文件数、路径等参数;4. 高级应用需调整字符集、内存等参数,并进行性能调优;5. 需注意磁盘空间、权限和参数设置,并持续监控和优化数据库性能。 熟练掌握需不断实践,才能真正理解Oracle数据库的创建和管理。

See all articles