World Model
概念
为了让AI能够理解世界,甚至于“预判”世界,我们有必要对真实世界进行建模模拟,因此就形成了世界模型(World Model)。它指的是一个能够对环境或世界的状态进行表征,并预测状态之间转移的模型。
比方说,针对搭载传统AI的自动驾驶系统,遇到雨天的潮湿路面时,能够根据数据库或者已训练知识中的**“雨天路滑,小心慢行”来减速行驶。然而具体如何减速是安全、经济的,AI无法判断。然而,若使用World Model的自动驾驶系统,可以通过AI进行摩擦力、重力等世界环境状态、物理规律进行模拟,能够更精确地预测状态,从而实现更安全、经济地减速。World Model赋予了AI对物理世界的直观认知**。
核心思想
World Model的核心思想和目标是赋予AI以人类的想象力和规划能力。由于World Model能对真实世界的状况进行模拟,因此AI能够更清楚地认知真实世界的变化,从而获得所谓“想象力”。换句话说,AI能够在思考过程中模拟真实世界的下一步发展,评估它的行为在真实世界中带来的影响,这种“思想实验”能够增加AI在真实世界应用中的安全性和鲁棒性。
构建方式
World Model的构建显然也需要数据来支撑。它需要大量的来自真实世界的交互反馈数据。智能体在环境中执行各种动作,并观察这些动作带来的结果。通过这些观察,模型学习到如何根据当前的世界状态和智能体采取的行动来预测下一个状态。训练的目标是最小化对现实情况的预测误差,即模型预测的状态与实际发生的状态之间的差异要尽可能小。
时间线
奠基
David Ha, Jürgen Schmidhuber在2018年的《World Models》一文中首次提出了World Model的概念。这篇文章显然也是World Model的开山之作。文中指出了最基础的World Model架构:
该智能体分为 **V(视觉模型),M(RNN记忆),C(控制器)**三个部分。视觉模型通过VAE(变分自编码器),将输入的2D图像压缩为一个较小的向量。RNN记忆通过训练,输出针对于的对预测的概率密度函数。因此,输入RNN记忆后,将得到下一个可能的图像的概率密度函数,从而实现对下一时刻可能发生的情况的预测。
而控制器需要针对RNN记忆给出的预测情况,操纵智能体做出合理的响应,它的目标是做出最佳的操纵以最大化智能体的预期累计奖励。需要注意的是,控制器的设计被尽量简化,绝大多数的复杂性体现在世界模型部分(即视觉模型、RNN记忆)。如下图体现了该智能体是如何与世界进行持续交互的过程:
此后,文章指出了针对赛车比赛中的World Model的实际应用,即训练出一个能初步根据图像进行赛车导航的智能体。接着通过这一训练过程,文章提出了**“梦境训练”**的可行性,即在初步训练后,通过RNN记忆直接虚拟生成赛车场景,进行进一步地学习。
接着,对于复杂问题的训练,文章提出了迭代训练方法,即:
用随机模型参数初始化 M 和 C。
在实际环境中进行多次部署。在将内容部署到存储过程中,请保存所有相关操作以及观察到的信息 at 和 xt 。
让模型 M 进行训练,同时让模型 C 进行训练,以优化在 M 环境中的预期奖励。
如果任务尚未完成,请返回到(2)步。
在此循环过程中,可以实现复杂问题的模型训练。
Ha和Schmidhuber的这项工作在强化学习领域引起了广泛关注,因为它展示了世界模型在提高学习效率和解决复杂任务方面的巨大潜力。他们的实验表明,通过在“梦境”中训练智能体,可以使其在赛车游戏和Doom游戏中取得超越传统强化学习算法的表现 。这个定义强调了世界模型的生成能力,即它不仅能预测未来,还能生成新的、合理的未来场景,这为智能体的规划和探索提供了丰富的素材。
发展
此后,Danijar Hafner和Timothy Lillicrap 针对梦境展开了更多研究。在《Dream to Control: Learning Behaviors by Latent Imagination》一文中,他们强化了梦境学习的可能性,他们提出了在梦境中使用RSSM(循环状态空间模型),仅在梦境的想象空间中进行Model-Based RL,取得了很好的效果。这也奠定了Dreamer系列模型的基础。
同样是Danijar Hafner和Timothy Lillicrap ,他们在《Mastering Atari with Discrete World Models》 一文中,提出了梯度直通的想法。即使用分类潜在状态,在世界模型中采用直接梯度更新方法,而非使用带有重新参数化的梯度的高斯潜在变量。在此文中的 DreamerV2是首个能够在 Atari 游戏库上实现人类水平的性能增强学习智能体。该智能体通过仅在单独训练的世界模型中学习行为来实现这一目标。
Michael Ahn, Anthony Brohan 在《Do As I Can, Not As I Say: Grounding Language in Robotic Affordances》 文中初步地将大语言模型和World Model结合。主要的操作流程是,将一系列文本给出的高级指令先拆解成低级技能,再根据机器人的能力评估此操作是否可能完成。例如,用户提出高层次指令(例如:“你怎么帮我拿一个可乐罐?”),然后语言模型会给出具体的执行步骤序列(例如:“我会这样做:1. 找到可乐罐,2. 拿起可乐罐,3. 把它递给你”)。接着由模型评估各个操作的可能性概率密度。文章的贡献是通过价值函数来为大型语言模型提供基础,这些价值函数能够捕捉到某种技能在当前状态下成功实施的概率。

