通用智能需要解决多个领域的任务。人们认为强化学习算法具有这种潜力,但它一直受到为新任务调整所需资源和知识的阻碍。在 DeepMind 的一项新研究中,研究人员展示了基于世界模型的通用可扩展的算法 DreamerV3,它在具有固定超参数的广泛领域中优于以前的方法。
DreamerV3 符合的领域包括连续和离散动作、视觉和低维输入、2D 和 3D 世界、不同的数据量、奖励频率和奖励等级。值得一提的是,DreamerV3 是第一个在没有人类数据或主动教育的情况下从零开始在《我的世界》(Minecraft)中收集钻石的算法。研究人员表示,这样的通用算法可以使强化学习得到广泛应用,并有望扩展到硬决策问题。
钻石是《我的世界》游戏中最受欢迎的物品之一,它是游戏中最稀有的物品之一,可被用来制作游戏中绝大多数最强的工具、武器以及盔甲。因为只有在最深的岩石层中才能找到钻石,所以产量很低。
DreamerV3 是第一个在我的世界中收集钻石的算法,无需人工演示或手动制作课程。该视频显示了它收集的第一颗钻石,发生在 30M 环境步数 / 17 天游戏时间之内。
如果你对于 AI 玩我的世界没有什么概念,英伟达 AI 科学家 Jim Fan 表示,和 AlphaGo 下围棋比,我的世界任务数量是无限的,环境变化是无限的,知识也是有隐藏信息的。
对于人类来说,在我的世界里探索和构建是有趣的事,围棋则显得有些复杂,对于 AI 来说,情况刚好相反。AlphaGo 在 6 年前击败了人类冠军,但现在也没有可以和我的世界人类高手媲美的算法出现。
早在 2019 年夏天,我的世界的开发公司就提出了「钻石挑战」,悬赏可以在游戏里找钻石的 AI 算法,直到 NeurIPS 2019 上,在提交的 660 多份参赛作品中,没有一个 AI 能胜任这项任务。
但 DreamerV3 的出现改变了这一现状,钻石是一项高度组合和长期的任务,需要复杂的探索和规划,新算法能在没有任何人工数据辅助的情况下收集钻石。或许效率还有很大改进空间,但 AI 智能体现在可以从头开始学习收集钻石这一事实本身,是一个重要的里程碑。
DreamerV3 方法概述
论文《Mastering Diverse Domains through World Models》:
论文链接:https://arxiv.org/abs/2301.04104v1
DreamerV3 算法由三个神经网络组成,分别是世界模型(world model)、critic 和 actor。这三个神经网络在不共享梯度的情况下根据回放经验同时训练,下图 3(a)展示了世界模型学习,图(b)展示了 Actor Critic 学习。
为了取得跨域成功,这些组件需要适应不同的信号幅度,并在它们的目标中稳健地平衡项。这是具有挑战性的,因为不仅针对同一领域内的相似任务,而且还要使用固定超参数跨不同领域进行学习。
DeepMind 首先解释了用于预测未知数量级的简单变换,然后介绍了世界模型、critic、actor 以及它们的稳健学习目标。结果发现,结合 KL 平衡和自由位可以使世界模型无需调整学习,并且在不夸大小回报(small return)的情况下,缩小大回报实现了固定的策略熵正则化器。
Symlog 预测
重建输入以及预测奖励和价值具有挑战性,因为它们的规模可能因领域而异。使用平方损失预测大目标会导致发散,而绝对损失和 Huber 损失会使学习停滞。另一方面,基于运行统计数据的归一化目标将非平稳性引入优化。因此,DeepMind 提出将 symlog 预测作为解决这一难题的简单方法。
为此,具有输入 x 和参数 θ 的神经网络 f (x, θ) 学习预测其目标 y 的变换版本。为了读出该网络的预测 y^,DeepMind 使用了逆变换,如下公式(1)所示。
从下图 4 中可以看到,使用对数(logarithm)作为变换无法预测具有负值的目标。
因此,DeepMind 从双对称对数族中选择一个函数,命名为 symlog 并作为变换,同时将 symexp 函数作为逆函数。
symlog 函数压缩大的正值和负值的大小。DreamerV3 在解码器、奖励预测器和 critic 中使用 symlog 预测,还使用 symlog 函数压缩编码器的输入。
世界模型学习
世界模型通过自编码学习感官输入的紧凑表示,并通过预测未来的表示和潜在行为的奖励来实现规划。
如上图 3 所示,DeepMind 将世界模型实现为循环状态空间模型 (RSSM)。首先,编码器将感官输入 x_t 映射到随机表示 z_t,然后具有循环状态 h_t 的序列模型在给定过去动作 a_t−1 的情况下预测这些表示的序列。h_t 和 z_t 的串联形成模型状态,从中预测奖励 r_t 和 episode 连续标志 c_t ∈ {0, 1} 并重建输入以确保信息表示,具体如下公式(3)所示。
下图 5 可视化了 world world 的长期视频预测。编码器和解码器使用卷积神经网络 (CNN) 进行视觉输入,使用多层感知器 (MLP) 进行低维输入。动态、奖励和持续预测器也是 MLPs,这些表示从 softmax 分布的向量中采样而来。DeepMind 在采样步骤中使用了直通梯度。
Actor Critic 学习
Actor Critic 神经网络完全从世界模型预测的抽象序列中学习行为。在环境交互期间,DeepMind 通过从 actor 网络中采样来选择动作,无需进行前瞻性规划。
actor 和 critic 在模型状态下运行,进而可以从世界模型学得的马尔可夫表示中获益。actor 的目标是在每个模型状态的折扣因子 γ = 0.997 时最大化预期回报。为了考虑超出预测范围 T = 16 的奖励,critic 学习预测当前 actor 行为下每个状态的回报。
从重放输入的表示开始,动态预测器和 actor 产生一系列预期的模型状态 s_1:T 、动作 a_1:T 、奖励 r_1:T 和连续标志 c_1:T 。为了估计超出预测范围的奖励的回报,DeepMind 计算了自举的 λ 回报,它整合了预期回报和价值。
实验结果
DeepMind 进行了广泛的实证研究,以评估 DreamerV3 在固定超参数下跨不同领域(超过 150 个任务)的通用性和可扩展性,并与已有文献中 SOTA 方法进行比较。此外还将 DreamerV3 应用于具有挑战性的视频游戏《我的世界》。
对于 DreamerV3,DeepMind 直接报告随机训练策略的性能,并避免使用确定性策略进行单独评估运行,从而简化了设置。所有的 DreamerV3 智能体均在一个 Nvidia V100 GPU 上进行训练。下表 1 为基准概览。
为了评估 DreamerV3 的通用性,DeepMind 在七个领域进行了广泛的实证评估,包括连续和离散动作、视觉和低维输入、密集和稀疏奖励、不同奖励尺度、2D 和 3D 世界以及程序生成。下图 1 中的结果发现,DreamerV3 在所有领域都实现了强大的性能,并在其中 4 个领域的表现优于所有以前的算法,同时在所有基准测试中使用了固定超参数。
更多技术细节和实验结果请参阅原论文。