0

0

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

WBOY

WBOY

发布时间:2024-02-27 19:50:44

|

1188人浏览过

|

来源于51CTO.COM

转载

随着媒体狂炒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。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

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

该论文中并没有定义什么是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.

PPT.AI
PPT.AI

AI PPT制作工具

下载

到这里还是说得云雾缭绕,那么论文中的结构图一目了然的说明了什么是一个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的路线,但看起来简单的堆砌数据并不是通向更高级智能技术的道路。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

847

2023.08.22

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

443

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

605

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

443

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

605

2023.08.10

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

25

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

44

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

174

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

50

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.6万人学习

Django 教程
Django 教程

共28课时 | 5万人学习

Excel 教程
Excel 教程

共162课时 | 21.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号