无模型强化学习方法直接从交互中学习策略或值函数,而基于模型的强化学习则选择不同方式。如前所述,其核心思路是首先构建环境的内部模型。这通常需要从经验中学习两个组成部分:状态转移模型:状态转移函数的近似,常表示为 $P(s'|s, a)$,它预测给定当前状态 $s$ 和动作 $a$ 时,转移到下一个状态 $s'$ 的概率。奖励模型:奖励函数的近似,例如 $R(s, a)$ 或 $R(s, a, s')$,它预测预期的即时奖励。但为何要费力构建这个中间模型,而不是直接学习策略或值函数呢?这有几个令人信服的理由,主要围绕效率和规划能力。提高样本效率也许最重要的动机是基于模型的强化学习显著提高样本效率的可能性。与真实环境交互可能成本高昂、耗时,甚至危险。设想训练机械臂组装物体;每次实际尝试都需要时间并有损坏风险。同样,在医疗或金融等方面收集数据可能费用高昂且缓慢。"无模型算法通常需要大量环境交互才能收敛,因为它们完全通过试错来学习。如果一个智能体能学到环境动态的合理准确模型,它就能在内部生成模拟经验,而无需进一步交互。智能体可以有效地“设想”在不同状态下采取行动,并根据其学习到的模型观察预测的结果。"模型基强化学习会建立一个环境模型,并用它来生成模拟数据。这些模拟数据随后可以通过规划来更新智能体的策略或值函数,或者将其视为真实经验来处理。例如,Dyna-Q 等算法明确采用了这种方法:它们使用真实交互来更新策略/值函数和模型,然后使用从模型中抽取的模拟转移进行额外更新。这种通过“重放”和从模拟轨迹中学习的能力,使得智能体能从每次真实交互中获取更多价值,与纯无模型方法相比,通常能以更少的数据实现更快学习。digraph G { rankdir=LR; node [shape=box, style=filled, fillcolor="#e9ecef", fontname="Helvetica"]; edge [fontname="Helvetica"]; subgraph cluster_mf { label = "无模型循环"; style=dashed; color="#adb5bd"; mf_act [label="行动 (a)", fillcolor="#a5d8ff"]; mf_observe [label="观察 (s', r)", fillcolor="#ffd8a8"]; mf_update [label="更新策略/值\nπ(a|s) 或 Q(s,a)", fillcolor="#b2f2bb"]; mf_act -> mf_observe [label="环境"]; mf_observe -> mf_update [label="真实经验\n(s, a, r, s')"]; mf_update -> mf_act [label="选择下一步行动"]; } subgraph cluster_mb { label = "基于模型的循环 (例如 Dyna)"; style=dashed; color="#adb5bd"; mb_act [label="行动 (a)", fillcolor="#a5d8ff"]; mb_observe [label="观察 (s', r)", fillcolor="#ffd8a8"]; mb_learn_model [label="学习模型\nP(s'|s,a), R(s,a,s')", fillcolor="#ffec99"]; mb_plan [label="规划 / 模拟\n(使用模型)", fillcolor="#d0bfff"]; mb_update [label="更新策略/值\nπ(a|s) 或 Q(s,a)", fillcolor="#b2f2bb"]; mb_act -> mb_observe [label="环境"]; mb_observe -> mb_learn_model [label="真实经验\n(s, a, r, s')"]; mb_learn_model -> mb_plan [label="模型"]; mb_plan -> mb_update [label="模拟经验\n或规划结果"]; mb_observe -> mb_update [label="直接强化学习更新\n(可选)", style=dotted]; mb_update -> mb_act [label="选择下一步行动"]; } }无模型强化学习与 Dyna-Q 等基于模型的方法的典型交互循环比较。基于模型的循环包含学习环境模型并使用它进行规划或从该模型生成模拟经验的明确步骤。明确的规划能力拥有明确的模型能够进行规划。尽管无模型方法学习反应性策略 ($s \rightarrow a$) 或值函数 ($s \rightarrow V(s)$ 或 $(s,a) \rightarrow Q(s,a)$),但它们缺乏明确推断未来行动序列的机制。有了模型,智能体可以进行前瞻搜索。它可以模拟从当前状态开始的多个可能的行动序列,使用其学习到的模型预测结果状态和奖励,并评估这些序列的长期结果。这使得智能体能够根据对其未来后果的预判来选择行动。严重依赖此能力的策略包括:轨迹采样:在不同行动序列下模拟完整轨迹并选择最佳起始行动。蒙特卡洛树搜索 (MCTS):一种强大的启发式搜索算法,它在模拟未来中平衡了探索与利用,著名地用于 AlphaGo/AlphaZero 等游戏智能体。这种规划能力在需要仔细思考并预测对手行动(在多智能体设置中)或复杂环境动态的问题中可能特别有利。更好的泛化和适应潜力学习环境的底层动态可能导致在某些情况下比纯无模型方法泛化能力更强的表征。例如,如果核心状态转移动态 $P(s'|s, a)$ 保持不变,但奖励函数 $R(s, a, s')$ 发生变化(例如,目标位置移动),拥有已学习模型的智能体可能适应得更快。它已经“明白”事物如何运作;它只需使用现有模型和新的奖励信息重新规划。无模型智能体可能需要大量新的交互数据,才能从头或几乎从头重新学习其策略或值函数。然而,这种益处在很大程度上取决于所学习模型的准确性以及变化的性质。现在为何要考虑基于模型的强化学习?DQN 和 PPO 等无模型深度强化学习算法已取得显著成就。然而,它们通常显著的样本复杂度仍然是一个实际瓶颈。基于模型的方法提供了一套互补的工具。通过明确地对环境进行建模,它们旨在更高效地使用收集到的数据,并实现精细规划,可能在某些类型的问题中带来更快的学习和更佳的性能,特别是在交互成本高昂或前瞻推理有利的情况下。当然,基于模型的强化学习并非没有挑战。其性能严重依赖于所学习模型的准确性。如果模型不佳(模型偏差高),基于它进行的规划可能导致次优甚至灾难性的策略。此外,学习一个准确的模型,尤其对于复杂、高维的环境来说,可能很困难,而且规划过程本身可能计算量大。我们将在本章后续部分考察这些挑战以及为减轻它们而开发的策略。