22年7月来自UCSD的论文“Temporal Difference Learning for Model Predictive Control”。
与无模型方法相比,数据驱动的模型预测控制(MPC)具有两个关键优势:通过模型学习可以提高样本效率,并且随规划计算预算的增加,性能会更好。但是,长期规划成本高昂,而且很难获得准确的环境模型。这项工作结合无模型方法和基于模型的方法的优势。用学习的面向任务潜在动态模型进行短期局部轨迹优化,并使用学习的终端价值函数来估计长期回报,这两者通过时间差分(TD)学习方法联合学习。该方法 TD-MPC 在基于状态和图像的连续控制任务上实现优于先前工作 DMControl(DeepMind Control Suite)和 Meta-World。
代码和视频开源在 https://nicklashansen.github.io/td-mpc 。
关于基于模型方法的工作大致可以分为两个方向,每个方向都利用基于模型学习的关键优势:(i)规划,这比学习的策略更有优势,但长期规划的成本可能过高(Janner,2019;Lowrey,2019;Hafner,2019;Argenson & Dulac-Arnold,2021);(ii)使用学习的模型来提高无模型方法的样本效率,例如从生成的 rollouts 中学习,但这也使得模型偏差可能传播到策略中(Ha & Schmidhuber,2018;Hafner,2020b;Clavera,2020)。因此,在连续控制任务中,基于模型的方法一直难以胜过更简单的无模型方法(Srinivas,2020;Kostrikov,2020)。
能否利用无模型学习的优势来增强基于模型的规划?由于长期规划的成本巨大,模型预测控制 (MPC) 会在较短的有限时间内优化轨迹,这只会产生暂时的局部最优解。MPC 可以扩展到近似全局最优解,方法是使用终端价值函数来估计规划范围之外的折现回报。然而,获得准确的模型和价值函数可能具有挑战性。
TD-MPC,是一个将 MPC 与一个在线 RL 设置中使用 TD 学习方法联合学习一个任务导向潜动态模型和终端价值函数相结合的框架。具体而言,TD-MPC 利用模型预测路径积分(MPPI)控制方法(Williams 2015) 进行规划(表示为 Πθ)、分别学习 (潜)动态和奖励信号的模型 dθ、Rθ、终端状态-动作价值函数 Qθ 和有助于指导规划的参数化策略 πθ。其框架如下图所示:(顶部)该框架使用面向任务的潜动态模型和通过时间差异学习方法共同学习的价值函数;对模型部署执行轨迹优化,并使用价值函数进行长期回报估计;(底部)方法、SAC 和 MPC 与真值模拟器在具有挑战性的高维人形机器人和狗任务(Tassa,2018)上的情节回报;5 次运行的平均值;阴影区域为 95% 置信区间。
MPPI 是一种 MPC 算法,它使用估计的前 k 个采样轨迹(就预期回报而言)的重要性加权平均值来迭代更新分布族的参数;实际上,拟合对角协方差的时间-相关多元高斯参数。
无模型强化学习算法,例如 DDPG(Lillicrap,2016)通过在训练期间将动作噪声(例如高斯或 Ornstein-Uhlenbeck 噪声)注入学习的策略 πθ 来鼓励探索,可选地遵循一个线性退火程序。虽然轨迹优化程序由于轨迹采样而本质上是随机的,但 σ 衰减的速率在不同任务之间差异很大,导致(可能很差的)小 σ 的局部最优解。
与 (Schrittwieser 2020);(Sikchi 2022) 类似,TD-MPC 除了规划程序 Πθ 之外,还学习策略 πθ,并使用来自 πθ 的额外样本增强采样程序。这会导致以下两种情况之一:策略轨迹估计为 (i) 较差,可能被排除在前 k 条轨迹之外;或 (ii) 良好,可能被纳入其中,其影响力与其估计回报 φΓ 成比例。
虽然 LOOP 依赖于软扮演-批评方法 SAC (Haarnoja,2018) 的最大熵目标进行探索,但 TD-MPC 学习的是确定性策略。为了使采样随机化,将线性退火(高斯)噪声应用于 πθ 动作,就像在 DDPG (Lillicrap,2016) 中一样。
整个算法总结如下:
其中μj , σj的估计和更新公式:
为了与 TD-MPC 结合使用,提出一种面向任务的潜动态 (TOLD) 模型,该模型是使用 TD 学习与终端价值函数共同学习的。TOLD 模型不是尝试对环境本身进行建模,而是学习仅对环境中可以预测奖励的元素进行建模,这是一个容易得多的问题。在推理过程中, TD-MPC 框架利用学习的 TOLD 模型进行轨迹优化,使用模型部署估计短期奖励,使用终端价值函数估计长期回报。TD-MPC 和 TOLD 支持连续动作空间、任意输入模态和稀疏奖励信号。如图概述了 TOLD 训练过程:从重放缓冲中采样长度为 H 的轨迹 Γ0:H,并将第一个观测 s0 由 hθ 编码为潜表示 z0;然后,TOLD 循环预测以下潜状态 z1、z2、…、zH,以及每个潜状态的值 qˆ、奖励 rˆ 和动作 aˆ,用一个时域加权目标函数优化 TOLD;后续观测使用目标网络 hθ-(θ-:θ 的慢速移动平均)进行编码,并仅在训练期间用作潜目标(图中以灰色表示)。
在整个训练过程中,智体会迭代地执行以下两个操作:(i)使用从先前环境交互中收集的数据来改进学习的 TOLD 模型;(ii)通过使用 TD-MPC 在线规划动作序列从环境中收集新数据,并使用 TOLD 生成想象的部署。
TOLD构成如下:
给定在时间 t 观测 st,表征网络 hθ 将 st 编码为潜表示 zt。根据 zt 和时间 t 采取的动作 at,TOLD 随后预测 (i) 潜动态(下一个时间步的潜表示 zt+1);(ii) 收到的单步奖励;(iii) 其状态动作 (Q) 值;以及 (iv) 使 Q 函数 (近似) 最大化的动作。为了使 TOLD 不易受到“复合误差”的影响,根据预测的未来潜状态反复预测未来多个步骤中的上述数量,并随时间反向传播梯度。与之前的研究(Ha & Schmidhuber,2018;Janner,2019;Hafner,2019;2020b;Sikchi,2022)不同,将 TOLD 的所有组件实现为纯确定性 MLP 就足够了,即不需要 RNN 门控机制或概率模型。
目标函数定义如下:
其中单步损失为
其中 TD 目标需要估计 Qθ−(zt,at) ,其使用规划的计算成本极高(Lowrey,2019)。因此,改为学习一个策略 πθ,通过最小化以下目标来最大化 Qθ:
为了给模型学习提供丰富的学习信号,先前基于模型的强化学习工作通常学习直接预测未来状态或像素(Ha & Schmidhuber,2018;Janner,2019;Lowrey,2019;Kaiser,2020;Sikchi,2022)。然而,学习预测未来的观测是一个极其困难的问题,因为它迫使网络对环境中的一切进行建模,包括与任务无关的数量和阴影等细节。相反,用潜状态一致性损失(如公式 10 所示)对 TOLD 进行正则化,迫使时间 t + 1 时的未来潜在状态预测 zt+1 =dθ(zt,at) 类似于相应地面真实观察 hθ− (st+1) 的潜在表示,完全绕过对观察的预测。此外,这种设计选择有效地使得模型学习与观察方式无关。
整个训练算法总结如下: