Mastering Diverse Domains through World Models

通过世界模型掌握多样化领域

https://arxiv.org/pdf/2301.04104

摘要
开发一种能够学习解决广泛应用场景任务的通用算法,一直是人工智能领域的根本性挑战。尽管当前的强化学习算法可轻松应用于与其设计目标相似的任务,但为新应用领域配置这些算法仍需要大量的人类专业知识和实验调试。本文提出了 DreamerV3—— 一种通用算法,其在 150 多个不同任务上以单一配置超越了专用方法。Dreamer 通过学习环境模型并想象未来场景来优化行为策略。基于标准化、平衡化和变换的鲁棒性技术使其能够在跨领域任务中实现稳定学习。无需额外调整,Dreamer 成为首个从零开始在《我的世界》(Minecraft)中收集钻石的算法,且不依赖人类数据或预设课程。这一成就解决了人工智能领域的重大挑战 —— 即在开放世界中基于像素输入和稀疏奖励探索具有远见的策略。我们的工作使得强化学习无需大量实验即可解决复杂控制问题,从而推动其广泛应用。

引言
强化学习已使计算机能够通过交互解决任务,例如在围棋和 Dota 等游戏中超越人类水平 [1,2]。它也是提升大型语言模型能力(使其超越预训练数据表现)的关键组件 [3,4]。尽管近端策略优化(PPO)[5] 已成为强化学习领域的标准算法,但为实现更高性能,往往需要采用更专业化的算法。这些专用算法针对不同应用领域的独特挑战设计,例如连续控制 [6]、离散动作 [7,8]、稀疏奖励 [9]、图像输入 [10]、空间环境 [11] 和棋盘游戏 [12] 等场景。然而,将强化学习算法应用于全新任务(如从电子游戏转向机器人控制)时,需要大量精力、专业知识和计算资源来调整算法超参数 [13]。这种脆弱性不仅成为强化学习应用于新问题的瓶颈,还限制了其在计算成本高昂的模型或调优难度极大的任务中的适用性。因此,开发一种无需重新配置即可自主掌握新领域的通用算法,一直是人工智能领域的核心挑战,也是推动强化学习走向广泛实际应用的关键。

本文提出 Dreamer 算法 —— 一种通用算法,其在广泛领域中以固定超参数超越了专业专家算法,使强化学习能便捷地应用于新问题。该算法基于学习世界模型的理念,赋予智能体丰富的感知能力和未来场景想象能力 [14,15,16]。世界模型预测潜在动作的结果,评论家神经网络评估每个结果的价值,而行动者神经网络则选择动作以达成最优结果。尽管这一思路在直觉上具有吸引力,但如何稳健地学习和利用世界模型以实现强任务表现仍是一个开放性问题 [17]。Dreamer 通过一系列基于标准化、平衡化和变换的鲁棒性技术克服了这一挑战。我们观察到,该算法不仅在图 2 总结的 150 多个任务中实现了稳健学习,还在不同模型规模和训练预算下表现出一致性,为提升性能提供了可预测的路径。值得注意的是,更大的模型规模不仅能获得更高分数,还能以更少的交互次数解决任务。

为拓展强化学习的边界,我们选择近年来成为研究焦点的热门电子游戏《我的世界》(Minecraft)作为测试场景 [18,19,20]。该领域已举办国际竞赛,目标是开发能自主学习在游戏中收集钻石的算法 *。由于该开放世界游戏存在奖励稀疏、探索困难、时间跨度长以及程序生成环境多样性等特点,不依赖人类数据解决这一问题已被公认为人工智能的重大挑战 [18]。受限于这些障碍,以往方法不得不依赖人类专家数据和领域特定训练课程 [19,20]。而 Dreamer 无需任何调整,成为首个从零开始在《我的世界》中自主收集钻石的算法。

学习算法

我们提出了第三代 Dreamer 算法 [21,22]。该算法由三个神经网络组成:世界模型预测潜在动作的结果,评论家评估每个结果的价值,行动者选择动作以达成最高价值的结果。当智能体与环境交互时,这些组件通过重放经验进行联合训练。为了在跨领域任务中取得成功,三个组件均需适应不同规模的信号,并在目标函数中稳健地平衡各项参数。这一挑战不仅在于处理同一领域内的相似任务,更在于以固定超参数实现跨多样领域的学习。本节将介绍世界模型、评论家、行动者及其鲁棒损失函数,以及用于稳健预测未知数量级的工具。

世界模型学习

世界模型通过自动编码 [23] 学习感官输入的紧凑表示,并通过预测潜在动作的未来表征和奖励实现规划能力。我们将世界模型实现为循环状态空间模型(RSSM)[24],如图 3 所示。首先,编码器将感官输入 xₜ映射为随机表征 zₜ;然后,带有循环状态 hₜ的序列模型根据历史动作 aₜ₋₁预测这些表征的序列。hₜ与 zₜ的拼接构成模型状态,用于预测奖励 rₜ和情节延续标志 cₜ∈{0,1},并重构输入以确保表征的信息丰富性:

图 4 可视化了世界模型的长期视频预测结果。对于图像输入,编码器和解码器使用卷积神经网络(CNN);对于向量输入,则使用多层感知机(MLP)。动态模型、奖励预测器和延续标志预测器同样采用 MLP 结构。表征从 softmax 分布向量中采样,并通过采样步骤传递直通梯度 [25,22]。给定输入序列批次 x₁:ₜ、动作序列 a₁:ₜ、奖励序列 r₁:ₜ和延续标志序列 c₁:ₜ,世界模型参数 φ 通过端到端优化以最小化预测损失 Lpred、动态损失 Ldyn 和表征损失 Lrep,对应损失权重分别为 :

预测损失通过后文所述的对称对数平方损失(symlog squared loss)训练解码器和奖励预测器,并通过逻辑回归训练延续标志预测器。动态损失通过最小化预测器 pφ(zt | ht) 与下一随机表征 qφ(zt | ht, xt) 之间的 KL 散度,训练序列模型预测下一表征。表征损失则用于训练表征使其更具可预测性,从而让我们能在想象训练期间使用因子化动态预测器进行快速采样。这两种损失在停止梯度算子 sg (・) 和损失尺度上有所不同。为避免出现动态易于预测但未能包含足够输入信息的退化解,我们采用 “自由比特”(free bits)方法 [26],将动态损失和表征损失裁剪至 1 nat(约 1.44 比特)以下。当这些损失已被充分最小化时,该操作会使其失效,从而将学习重点聚焦于预测损失:

先前的世界模型需要根据环境的视觉复杂性对表征损失进行不同的缩放处理 [21]。复杂的 3D 环境包含对控制而言不必要的细节,因此需要更强的正则化来简化表征并使其更具可预测性。而在具有静态背景且单个像素可能对任务至关重要的游戏中,则需要弱正则化以提取精细细节。我们发现,将自由比特与小幅度的表征损失相结合可以解决这一矛盾,从而实现跨领域的固定超参数设置。此外,我们使用后文所述的对称对数(symlog)函数对向量观测值进行变换,以避免输入值过大和重建梯度激增,进一步稳定表征损失与其他损失之间的平衡关系。

在早期实验中,我们偶尔观察到 KL 损失出现尖峰,这与深度变分自编码器的相关报告一致 [27]。为解决这一问题,我们将编码器和动态预测器的分类分布参数化为 1% 均匀分布与 99% 神经网络输出的混合,使其无法变为确定性分布,从而确保 KL 损失表现良好。更多模型细节和超参数见补充材料。

评论家学习

行动者和评论家神经网络仅从世界模型预测的抽象表征轨迹中学习行为策略 [14]。在与环境交互时,我们直接从行动者网络中采样动作,无需前瞻规划。行动者和评论家基于模型状态 sₜ = {hₜ, zₜ} 运行,因此受益于循环世界模型学习到的马尔可夫表征。对于每个模型状态,行动者的目标是最大化回报 ,其中折扣因子 γ=0.997。为考虑超过预测时域 T=16 的奖励,评论家学习近似当前行动者策略下每个状态的回报分布 [28]:

尽管将评论家参数化为正态分布是一种简单选择,但回报分布可能存在多模态特征,且在不同环境中数值范围差异可达数个数量级。为在这些条件下稳定并加速学习,我们将评论家参数化为具有指数间隔分箱的分类分布,如后文所述,这种方式可将梯度尺度与预测目标解耦。为在奖励难以预测的环境中提升价值预测能力,我们对想象轨迹应用评论家损失(损失尺度 βval=1),同时对从重放缓冲区采样的轨迹应用损失(损失尺度 βrepval=0.3)。评论家重放损失将想象展开轨迹起始状态的想象回报 Rλₜ作为重放轨迹的策略内价值标注,进而基于重放奖励计算 λ- 回报。

由于评论家回归的目标依赖于自身预测结果,我们通过正则化使其倾向于预测自身参数指数移动平均的输出来稳定学习过程。这与强化学习中先前使用的目标网络类似 [7],但允许我们使用当前评论家网络计算回报。此外我们注意到,训练初期随机初始化的奖励预测器和评论家网络可能产生较大的预测奖励值,从而延缓学习进程。因此,我们将奖励预测器和评论家的输出权重矩阵初始化为零,这一操作缓解了上述问题并加速了早期学习。

行动者学习

行动者通过熵正则化项 [30] 学习选择能最大化回报的动作,同时探索环境。然而,该正则化项的合适尺度既取决于环境中奖励的量级,也取决于奖励出现的频率。理想情况下,若奖励稀疏,智能体应增加探索;若奖励密集或近在咫尺,则应更多利用已知信息。同时,探索量不应受环境中奖励任意缩放的影响,这需要在归一化回报尺度的同时保留奖励频率信息。

为在跨领域任务中使用固定熵尺度 η=3×10⁻⁴,我们将回报归一化至近似 [0,1] 区间。实际上,从回报中减去偏移量不会改变行动者梯度,因此仅需除以范围 S 即可。此外,为避免在稀疏奖励下放大函数近似带来的噪声,我们仅缩小大回报的量级,而对低于阈值 L=1 的小回报不做处理。我们对离散和连续动作均使用 REINFORCE 估计器 [31],得到替代损失函数:

行动者学习

回报分布可能呈现多模态并包含异常值,尤其在随机环境中,部分情节可获得的回报会高于其他情节。若按观测到的最小和最大回报进行归一化,会过度缩小回报尺度,可能导致收敛至次优解。为增强对这些异常值的鲁棒性,我们通过计算回报批次中第 5 到第 95 百分位数的范围,并利用指数移动平均平滑该估计值:

先前研究通常对优势函数进行归一化 [5],而非回报本身。这种方式会固定最大化回报与熵正则化的权重,无论奖励是否易于获取。当奖励稀疏时,放大优势函数会加剧噪声,导致熵正则化失效并停滞探索。通过标准差对奖励或回报进行归一化,在奖励稀疏且标准差趋近于零时会失效 —— 此时无论奖励量级如何都会被剧烈放大。约束优化方法则针对状态平均熵设定固定目标 [32,33],虽具备鲁棒性,但在稀疏奖励下探索缓慢,在密集奖励下收敛性能也较低。我们发现这些方法无法在跨领域任务中找到稳定的超参数。而通过设置分母下限的回报归一化方法克服了上述挑战,既能在稀疏奖励下快速探索,又能在多样化领域中收敛至高性能表现。

输入重构与奖励 / 回报预测

由于这些量的尺度在不同领域间可能存在差异,输入重构以及奖励和回报的预测颇具挑战性。使用平方损失预测较大目标可能导致发散,而绝对值损失和 Huber 损失 [7] 则会使学习陷入停滞。另一方面,基于滑动统计量对目标进行归一化 [5] 会给优化过程引入非平稳性。我们提出将对称对数平方误差作为解决这一矛盾的简单方案。为此,输入为 x、参数为 θ 的神经网络 f (x, θ) 需学习预测目标 y 的变换版本。为读出网络的预测值y^,我们应用逆变换:

使用对数作为变换将不允许我们预测取负值的目标。因此,我们选择了一个来自双对称对数函数族的函数,我们将其命名为symlog作为变换,其逆函数为symexp:

Symlog函数会压缩大正数和大负数的幅度。与对数不同,它围绕原点对称,同时保留输入的符号。这使得优化过程能够在需要时快速将网络预测推向大值。Symlog函数在原点附近近似于恒等函数,因此它不会影响已经足够小的目标的学习。

对于可能是随机的目标,例如奖励或回报,我们引入了symexp两热损失。在这里,网络输出一个softmax分布在指数间隔的桶bi ∈ B上的logits。预测值是通过桶位置与其预测概率的加权平均值来读取的。重要的是,网络可以在区间内输出任何连续值,因为加权平均值可以落在桶之间:

网络采用双热编码目标进行训练 [8,28],这是将独热编码(onehot encoding)推广到连续值的方法。标量的双热编码是一个长度为 | B | 的向量,除了最接近该标量的两个分箱索引 k 和 k+1 外,其余元素均为 0。这两个元素的和为 1,且对更接近连续值的分箱赋予线性更高的权重。随后,网络通过最小化带软目标的分类交叉熵损失进行优化。值得注意的是,该损失仅依赖分箱的概率分配,而与分箱位置关联的连续值无关,从而实现了梯度尺度与目标大小的解耦:

应用这些原则,Dreamer 使用 symlog 函数对向量观测值进行变换,既用于编码器输入,也用于解码器目标,并采用 symexp 两热损失用于奖励预测器和评论家。我们发现这些技术能够实现在许多不同领域的稳健且快速的学习。对于评论家学习,之前曾提出过一种替代的非对称变换,但我们发现在多个领域中它平均来说效果较差。与替代方案不同,symlog 变换避免了截断大目标、通过归一化引入非平稳性,或者在检测到新的极端值时调整网络权重。

实验结果

我们在固定超参数条件下,跨 8 个领域(包含 150 + 任务)评估了 Dreamer 的通用性。实验设计旨在将 Dreamer 与文献中最佳方法进行对比 —— 这些方法通常针对特定基准任务设计和调优。我们还进一步对比了 PPO [5] 的高质量实现(PPO 是公认的稳健型强化学习标准算法)。运行 PPO 时,我们选择固定超参数以最大化跨领域性能,并复现了 PPO 在 ProcGen [37] 上的出色公开结果。为拓展强化学习边界,我们将 Dreamer 应用于极具挑战性的电子游戏《我的世界》,并与先前的先进算法对比。最后,我们分析了 Dreamer 各组件的重要性,及其在不同模型规模和计算预算下的稳健性。所有 Dreamer 智能体均在单块 Nvidia A100 GPU 上训练,这使多数研究实验室可复现实验。项目官网提供了可复现所有结果的 Dreamer 公开实现。

基准测试

我们对 8 个领域开展了广泛实证研究,涵盖连续与离散动作、视觉与低维输入、密集与稀疏奖励、不同奖励尺度、2D 与 3D 环境,以及程序生成场景。图 1 总结了基准结果,表明 Dreamer 在多样化领域中超越了大量先前的专家算法。关键在于,Dreamer 在所有领域中显著优于 PPO。

  • Atari:这一经典基准包含 57 款 Atari 2600 游戏,训练预算为 2 亿帧,构成多样化挑战 [38]。我们采用粘滞动作模拟器设置 [39]。Dreamer 仅用极少计算资源便超越了强大的 MuZero 算法 [8],同时也优于广泛使用的专家算法 Rainbow [40] 和 IQN [41]。

  • ProcGen:该基准包含 16 款游戏,以随机关卡和视觉干扰测试智能体的稳健性与泛化能力 [42]。在 5000 万帧预算内,Dreamer 与调优后的专家算法 PPG [37] 性能相当,并超越 Rainbow [42,40]。我们的固定超参数 PPO 智能体复现了高度调优的官方 PPO 实现 [37] 的公开分数。

  • DMLab:这套 30 项任务的合集以 3D 环境测试空间与时间推理能力 [43]。在 1 亿帧训练中,Dreamer 超越了需 10 亿环境步数的可扩展 IMPALA 和 R2D2 + 智能体 [35],数据效率提升超 1000%。值得注意的是,这些基线并非为数据效率设计,但作为此前大规模条件下的性能参照具有重要价值。

  • Atari100k:这个数据效率基准包含 26 款 Atari 游戏,训练预算仅 40 万帧(相当于 2 小时游戏时间)[17]。EfficientZero [44] 通过结合在线树搜索、优先重放和超参数调度保持着当前最优性能,但其通过提前重置关卡来增加数据多样性,这使得对比变得复杂。在不采用此类复杂策略的情况下,Dreamer 超越了包括基于 Transformer 的 IRIS 和 TWM 智能体、无模型方法 SPR 以及 SimPLe [45] 在内的所有其他先进方法。

    本体感觉控制:该基准包含 18 项连续动作控制任务,采用本体感觉向量输入,训练预算为 50 万环境步 [46]。任务范围从经典运动控制到机器人操作,涵盖密集与稀疏奖励场景。Dreamer 在此基准上创造了新的最优性能,超越了 D4PG、DMPO 和 MPO [33]。

    视觉控制:此基准由 20 项连续控制任务组成,智能体仅接收高维图像输入,训练预算为 100 万环境步 [46]。Dreamer 在此基准上刷新了最优性能,超越了 DrQ-v2 和 CURL [47]—— 后两者是专门针对视觉环境并利用数据增强的算法。

BSuite:该基准包含 23 个环境及 468 种配置,专门用于测试信用分配、对奖励尺度和随机性的鲁棒性、记忆能力、泛化性和探索能力 [48]。Dreamer 在此基准上创造了新的最优性能,超越了 Boot DQN 等方法 [49],尤其在尺度鲁棒性类别中显著优于先前算法。

我的世界(Minecraft)

在热门游戏《我的世界》中收集钻石长期以来一直是人工智能领域的挑战 [18,19,20]。游戏中每局场景均生成于独特的随机无限 3D 世界,单局持续至玩家死亡或达到 36000 步(30 分钟),期间玩家需通过采集资源和制作工具,从稀疏奖励中逐步获取 12 件物品。资深玩家约需 20 分钟获得钻石 [20]。我们沿用先前研究的方块破坏设定 [19],因为给定的动作空间使得随机策略难以长时间按住按键。

由于该复杂领域的训练耗时较长,针对 Minecraft 进行大量调优极具挑战。因此,我们直接应用默认超参数的 Dreamer。如图 1 和图 5 所示,Dreamer 是首个无需使用 VPT [20] 所需的人类数据或自适应训练课程 [19],从零开始在 Minecraft 中收集钻石的算法。所有在 Minecraft 上训练的 Dreamer 智能体均在 1 亿环境步内发现钻石。尽管若干强基线能进展到铁镐等高级物品,但无一能发现钻石。

消融实验

为理解各组件的重要性,我们在 14 项多样化任务上对鲁棒性技术和学习信号进行消融实验(单个任务的训练曲线见补充材料)。观察发现,所有鲁棒性技术均对性能有贡献,其中世界模型的 KL 目标影响最显著,其次是回报归一化和用于奖励与价值预测的 symexp 双热回归。总体而言,每项技术在部分任务中至关重要,但对其他任务可能无影响。

为探究世界模型的作用,我们通过停止特定任务的奖励 / 价值预测梯度或与任务无关的重构梯度(用于塑造表征),对 Dreamer 的学习信号进行消融。与以往仅依赖特定任务学习信号的强化学习算法 [7,8] 不同,Dreamer 主要依赖世界模型的无监督目标。这一发现为未来利用无监督数据预训练的算法变体提供了可能。

规模扩展特性

为研究 Dreamer 的稳健扩展能力,我们在 Crafter [50] 和一项 DMLab 任务 [43] 上训练了 6 种模型规模(参数从 12M 到 400M)及不同重放比例。重放比例影响智能体执行的梯度更新次数。图 6 显示,在不同模型规模和重放比例下,固定超参数的 Dreamer 均实现稳健学习。此外,增大模型规模直接提升任务性能并降低数据需求,增加梯度步数进一步减少学习成功行为所需的交互次数。结果表明,Dreamer 在跨模型规模和重放比例时学习稳健,其性能随计算资源增加呈现可预测的提升趋势。

相关研究背景 通用强化学习算法发展

开发通用算法长期以来是强化学习研究的目标。PPO [5] 是应用最广泛的算法之一,具有较强稳健性,但需要大量经验数据,且性能通常低于针对特定任务优化的算法。SAC [32] 是连续控制领域的常用选择,通过经验重放提升数据效率,但实际应用中需精细调优(尤其是熵尺度参数),在高维输入场景下表现受限 [51]。MuZero [8] 通过价值预测模型进行规划,已应用于棋盘游戏和 Atari 任务,但其作者未开源实现且算法包含复杂组件,复现难度较大。Gato [52] 通过单一大型模型拟合多任务专家演示,但仅适用于具备专家数据的场景。相比之下,Dreamer 以固定超参数征服多样化环境,无需专家数据且提供开源实现。

Minecraft 领域研究进展

Minecraft 近期成为研究热点。微软通过 MALMO [53] 发布该游戏的免费研究版本,MineRL [18] 则提供多个竞赛环境(本实验以此为基础)。MineRL 竞赛支持智能体通过多样化人类数据集探索和学习实用技能 [18]。Voyager 利用语言模型 API 调用获取与 Dreamer 相当的技术树进度,但其依赖专门针对游戏设计的 MineFlayer 机器人脚本层,且暴露高层动作 [54]。VPT [20] 通过行为克隆(基于承包商收集的键鼠操作专家数据)和强化学习微调训练智能体,使用 720 块 GPU 耗时 9 天获得钻石。相比之下,Dreamer 采用 MineRL 竞赛动作空间,仅用 1 块 GPU 耗时 9 天,从稀疏奖励中自主学习收集钻石,且不依赖人类数据。

结论

我们提出了第三代 Dreamer 算法,这是一种通用强化学习算法,能够以固定超参数征服广泛领域。Dreamer 不仅在超过 150 项任务中表现优异,还能在不同数据规模和计算预算下稳健学习,推动强化学习向更广泛的实际应用迈进。直接应用时,Dreamer 是首个从零开始在《我的世界》中收集钻石的算法,实现了人工智能领域的重要里程碑。作为基于学习型世界模型的高性能算法,Dreamer 为未来研究方向铺平了道路,包括通过互联网视频向智能体传授世界知识,以及跨领域学习单一世界模型,使人工智能体能够积累日益通用的知识和能力。

方法 基线算法

我们采用近端策略优化(PPO)算法 [5] 作为基线,该算法已成为领域内的标准选择,用于在所有基准测试中对比固定超参数下的 Dreamer 性能。公开的 PPO 实现数量众多,且其任务性能存在显著差异 [55]。为确保对比结果能代表 PPO 在跨领域固定超参数下的最高性能,我们选择 Acme 框架中高质量的 PPO 实现 [56],并按文献建议 [55,13] 选取表 1 中的超参数,同时额外调整 epoch 批次大小(以适应复杂环境 [42])、学习率和熵尺度。我们将折扣因子与 Dreamer 保持一致,因其在跨领域任务中表现良好且是文献常用设置 [35,8]。网络架构选用 IMPALA(经测试其性能优于其他架构 [42]),并将小批量大小设为单块 A100 GPU 的最大可行值。我们在 ProcGen 基准上验证了 PPO 实现和超参数的性能 ——PPO 作者曾在此报告过高调优版本的结果 [37]。结果表明,我们的实现性能与该参考结果相当或略优。

针对 Minecraft 的基线调整

由于文献中尚未有从零基础成功完成 Minecraft 端到端学习的报告 [18],我们额外对 IMPALA 和 Rainbow 算法进行调优并运行。我们采用 Acme 框架中的这些算法实现 [56],使用与 PPO 相同的 IMPALA 网络架构,并调优学习率和熵正则化参数。对于其他所有基准测试,我们对比结果部分引用的文献中已调优的专家算法。

实现细节 经验重放

我们使用含在线队列的均匀重放缓冲区实现 Dreamer [57]。具体而言,每个小批量首先由不重叠的在线轨迹构成,再用从重放缓冲区均匀采样的轨迹填充。数据收集时将潜在状态存入重放缓冲区,以便在重放轨迹上初始化世界模型,并将训练展开的新潜在状态写回缓冲区。尽管部分对比的专家算法使用优先重放 [58] 且我们发现其也能提升 Dreamer 性能,但为简化实现,实验中采用均匀重放。

我们通过重放比例参数化训练量 —— 即每从环境收集 1 时间步(不考虑动作重复)对应的训练时间步比例。将重放比例除以小批量时间步长和动作重复次数,可得梯度步数与环境步数的比率。例如,Atari 上重放比例 32、动作重复 4、批量形状 16×64,相当于每 128 环境步执行 1 次梯度更新,2 亿环境步对应 150 万次梯度更新。

优化器

双热分布输出权重初始化

双热分布的输出权重初始化为零,以确保智能体在初始化时不会产生虚假的奖励和价值预测。对于跨越多个数量级分箱的 softmax 分布期望计算,求和顺序至关重要:需将正负分箱分别按从小到大顺序累加,再合并结果(具体实现可参考源代码)。

网络架构

  • 图像编码 / 解码:通过步长 2 的卷积将图像分辨率降至 6×6 或 4×4,展平后经转置步长 2 卷积解码,输出层使用 sigmoid 激活。
  • 向量输入处理:先对向量输入进行 symlog 变换,再通过 3 层 MLP 完成编码与解码。
  • 行动者与评论家网络:均采用 3 层 MLP 结构,奖励与延续性预测器为 1 层 MLP。
  • 序列模型:使用 GRU [63],配备 8 块块对角循环权重 [64],在避免参数和计算量二次增长的前提下支持大量记忆单元。GRU 每个时间步的输入包括采样潜在状态 zt、动作 at 和循环状态的线性嵌入,以实现块间信息混合。

基准测试 评估协议

如表 2 所示,我们对已有标准的基准测试遵循其常规评估协议:

  • Atari [38]:包含 57 项带粘滞动作的任务 [65]。用于分数归一化的随机基线和人类参考分数在文献中存在差异,我们选取最常用的参考值(详见表 6)。
  • DMLab [43]:包含 30 项任务 [66],采用固定动作空间设置 [36,35]。由于按先前研究运行 100 亿步不现实,我们在 1 亿步时评估 —— 尽管现有公开基线在 1 亿步表现不佳,但为对比,我们采用其 10 亿步时的性能数据(使其具备 10 倍数据优势)。
  • ProcGen :使用困难难度和无限关卡集 [42]。鉴于先前研究在不同步数预算下对比 [42,37],考虑计算成本(无动作重复),我们在 5000 万步时评估。
  • Minecraft 钻石收集(纯稀疏奖励):评估协议为报告 1 亿环境步时的单局回报,约对应游戏内 100 天时间。
  • Atari100k [17]:包含 26 项任务,预算 40 万环境步(动作重复后为 10 万步)。先前研究使用多种环境设置(见表 10 汇总),我们按原始定义选取环境。
  • 视觉控制 [46,21]:涵盖 20 项任务,动作重复次数为 2。
  • 本体感觉控制 :遵循相同协议,但因先前工作基线限制 [47],排除两项四足动物任务。

环境实例

在前期实验中,我们发现 Dreamer 和 PPO 的性能对环境实例数量具有鲁棒性。基于训练机器的 CPU 资源,默认使用 16 个环境实例:

  • BSuite:基准要求使用单个环境实例。
  • Atari100K:同样使用单个实例,因该基准预算为 40 万环境步,而 Atari 单局最大长度理论上为 43.2 万步。
  • Minecraft:为加速实验,通过远程 CPU 工作节点使用 64 个环境实例(该环境单步耗时较长)。
随机种子与误差范围
  • 种子设置:每个基准下的 Dreamer 和 PPO 均运行 5 次独立种子,例外情况包括:
    • ProcGen 因计算限制仅 1 次种子

    • BSuite 按基准要求运行 10 次种子

    • Minecraft 运行 10 次种子以可靠统计成功收集钻石的比例

  • 结果呈现:所有曲线均显示种子均值,阴影区域为 1 倍标准差。
计算资源选择
  • 硬件配置:本文中所有 Dreamer 和 PPO 智能体均在单块 Nvidia A100 GPU 上训练。
  • 模型规模:Dreamer 默认使用 200M 参数模型,但在两类控制基准中,12M 参数模型可实现相同性能且训练更快,更便于研究人员使用。
  • 重放比例:用于平衡计算成本与数据效率(如图 6 分析),根据各基准的步数预算定制。

模型规模

为适应不同计算预算并分析对模型规模的鲁棒性,我们定义了参数规模从 12M 到 400M 的系列模型(见表 3)。模型尺寸由模型维度参数化,按约 1.5 倍倍数递增,在 2 的幂次与 1.5 倍缩放的 2 的幂次间交替,确保张量形状为 8 的倍数以优化硬件效率。不同网络组件的尺寸由模型维度推导:

  • MLP:隐藏单元数等于模型维度。
  • 序列模型:循环单元数为模型维度的 8 倍,拆分为 8 个与 MLP 同尺寸的块。
  • 卷积编解码器:靠近数据的层通道数为模型维度的 1/16。
  • 潜在变量:编码数量为模型维度的 1/16。

所有模型规模的隐藏层数和潜在变量数量固定,超参数(包括学习率和批量大小)保持一致。

历代 Dreamer 算法演进

本文提出的是 Dreamer 系列的第三代算法,为便于区分,将其称为 DreamerV3。其中:

  • DreamerV1 算法 [21] 局限于连续控制任务;

  • DreamerV2 算法 [22] 在 Atari 任务上超越人类表现;

  • DreamerV3 算法实现了跨多样化基准的即插即用学习能力。

DreamerV3 的关键改进

以下总结 DreamerV3 引入的核心变化:

鲁棒性技术

  • 观测处理:采用 symlog 变换对观测值进行标准化;
  • 世界模型优化:通过 KL 平衡与自由比特(free bits)正则化潜在空间;
  • 分布建模:所有分类分布使用 1% 均匀混合(unimix)策略避免零概率;
  • 回报处理:基于百分位数的回报归一化;
  • 损失函数:奖励头与评论家采用 symexp 双热损失。
网络架构升级
  • 序列模型:使用块对角 GRU(Block GRU)提升长序列记忆效率;
  • 归一化与激活:引入 RMSNorm 归一化与 SiLu 激活函数。
优化器改进
  • 梯度裁剪:采用自适应梯度裁剪(AGC)防止梯度爆炸;
  • 优化算法:使用 LaProp 优化器(RMSProp 结合动量更新)。
经验重放机制
  • 缓冲区设计:增大缓冲区容量并引入在线队列;
  • 状态管理:存储并更新潜在状态以增强训练稳定性。

我的世界

  • 游戏描述:《我的世界》每月有 1 亿活跃用户,是全球最受欢迎的电子游戏之一。该游戏的特点是有一个由程序生成的 3D 世界,包含不同的生物群系,如平原、森林、丛林、山脉、沙漠、针叶林、积雪冻原、冰刺之地、沼泽、热带草原、恶地、海滩、石岸、河流和海洋。这个世界由 1 立方米大小的方块组成,玩家可以破坏和放置这些方块。游戏中大约有 30 种不同的生物,玩家可以与它们互动或战斗。玩家可以利用收集到的资源,通过 350 多种合成配方来制作新物品,并在科技树中进阶,同时还要确保自身安全和食物供应以生存下去。《我的世界》中有许多可以想象到的任务,而作为第一步,研究界主要关注获取钻石这一突出任务,钻石是一种深埋在地下的稀有物品,需要通过科技树的进阶才能获得。
  • 学习环境:我们在 MineRL 的基础上构建了 “我的世界钻石” 环境,以定义一个扁平的分类动作空间,并通过人类游戏测试修复了我们在原始环境中发现的问题。例如,在开采钻石矿石时,物品有时会直接跳入背包,有时则需要从地上拾取。原始环境在开采钻石矿石时会结束回合,这导致许多成功的回合在收集到物品之前就结束了,因此无法获得奖励。我们去除了这个提前结束的条件,改为当玩家死亡或达到 36000 步时结束回合,以 20Hz 的控制频率计算,这相当于 30 分钟。另一个问题是,跳跃动作需要按住超过一个控制步长才能触发跳跃,我们通过在后台将按键保持按下 200 毫秒来解决这个问题。我们是在 MineRL v0.4.418 的基础上构建的这个环境,它提供了抽象的合成动作。《我的世界》的版本为 1.11.2。
  • 观察与奖励:智能体观察到一个 64×64×3 的第一人称图像、一个包含 400 多种物品的背包数量向量、一个自回合开始以来的最大背包数量向量(用于告诉智能体它已经实现了哪些里程碑)、一个表示已装备物品的独热向量,以及生命值、饥饿值和呼吸值的标量输入。我们遵循 MineRL 竞赛环境的稀疏奖励结构,为获取钻石之前的 12 个里程碑提供奖励,这些里程碑对应的物品是原木、木板、木棍、工作台、木镐、圆石、石镐、铁矿石、熔炉、铁锭、铁镐和钻石。每个物品的奖励在每个回合中只给予一次,智能体必须学会多次收集某些物品才能实现下一个里程碑。为了使回报易于理解,我们为每个里程碑设置 + 1 的奖励,而不是根据每个物品的价值来调整奖励。此外,我们为每失去一颗心设置 - 0.01 的奖励,为每恢复一颗心设置 + 0.01 的奖励,但尚未研究这是否有帮助。

https://arxiv.org/pdf/2301.04104