Nathan Lambert - 2021年6月29日
我看到过一个范例讨论无模型强化学习的调试经验,觉得有必要为基于模型的强化学习(MBRL)也写一篇类似的内容。毕竟,MBRL 还很年轻、不够普及,如果希望它继续成长,就需要为大家投入这些时间。
以这两个 SOTA 代码库为例:
单看标题可能觉得复杂度差不多,但对于无模型算法,改动仅需几行代码;而在 MBRL 中,几乎需要构建全新的工程系统。PETS 代码的部件远多于 TD3。本文结构如下:
一起来深入探索吧!这是我实现模型驱动 RL 算法和应用过程中学习与卡壳点的脑海记录。点击此处直达实用技巧。
代码学习推荐:MBRL-Lib
模型驱动强化学习(MBRL)是一种在部分可知环境下解决任务的迭代框架。智能体通过不断尝试解决问题,积累状态和动作数据。利用这些数据,智能体创建一个结构化的学习工具——动力学模型——对环境进行推理。然后基于这个模型预测未来并决策行动,进而搜集更多数据,改善模型,再优化今后的行为。
近期很多 MBRL 进展都以模型预测控制(MPC)为核心框架。MPC 本质上是利用结构化动力学理解,通过优化选择动作。其一个关键要素是预测很远的未来,并以递归地平线的方式决策。然而,由于模型预测有指数级增长的误差,长期规划需格外小心。许多调试工具也是针对这类长期规划提出的,但也可用于基于价值函数和无模型控制的方法。
本文不会讨论数值细节(深度学习方面的研究问题),而更关注于容易出问题的怪异点和权衡。
