Model-Based RL前沿追踪——以无法为有法,以无形为有形
The following article is from OpenDILab决策AI Author 湮释
关注公众号,发现CV技术之美
“
以无法为有法,以无形为有形
基于模型的强化学习算法 (Model-Based Reinforcement Learning, Model-Based RL) 就很好地体现了以上这句话的精神本质。该类算法一般先从数据中学习环境模型,然后基于学到的环境模型对策略进行优化,从而实现了“有法”和“有形”。
引言:强化学习面对实际落地场景急需解决的是样本效率低下的问题。基于模型的强化学习方法通过构建环境模型,从而减少与真实环境的交互次数,因此可以天然地提高样本利用效率。
我们说的环境模型,一般可以从数学上抽象为状态转移函数和奖励函数。一旦有了这两部分,理想情况下智能体就可以不需要与真实环境进行交互,通过在环境模型中最大化累积奖励回报,训练得到策略。图1就是机械臂在环境模型中学习策略,执行动作。
1. Model-Based RL简介
Model-Based RL算法门类众多,可以从状态表征、环境建模、理论推导以及与其他方向交叉结合等不同角度切入,因此很难通过较为清晰的树状结构进行归纳。因此本文通过“如何构建环境模型”和“如何利用环境模型”这两个角度,对Model-Based RL算法进行简单归类,如图2所示。
图2. Model-Based RL算法分类
1.1 模型学习 (Learn the Model) ——如何构建环境模型
模型学习主要突出的是Model-Based RL算法对环境模型的构建过程。下面简单介绍上面图2中所提到的四种相关算法。
World Model提出一种基于无监督学习的环境模型,并利用该模型实现从仿真到现实的任务迁移。
I2A提出一种基于想象力增强 (imagination-augmented) 的模型结构,通过对轨迹预测进行策略学习。
MBMF在一些标准基准任务上探索了具有学习环境模型的 MPC方法。
MBVE提出一种基于环境模型生成的模拟数据来改进对值估计的方法。
但天下没有免费的午餐 (There's No Free Lunch.),Model-Based RL在模型学习部分也存在若干问题:
环境建模存在误差,而且随着算法与环境模型的迭代交互,累积误差越来越大,使得算法难以收敛到最优解。
环境模型缺乏通用性,每次换一个问题,就要重新建模。
1.2 模型利用 (Given the Model) ——如何利用环境模型
模型利用主要强调Model-Based RL算法使用环境模型的辅助策略学习。下面简单介绍前面图2中所提到的四种相关算法。
ExIt和AlphaZero都是基于专家迭代 (Expert Iteration) 和 蒙特卡洛树搜索的方法学习策略。
POPLIN基于环境模型做在线规划,提出分别对动作空间和参数空间的优化思路。
M2AC提出一种基于模型不确定性的mask机制,增强了策略提升。
2. Model-Based RL 总结梳理
为了构建Model-Based RL社区,降低领域入门门槛,我们对Model-Based RL的一些经典论文和前沿进展进行梳理,主要侧重NeurIPS, ICLR, ICML三大顶会中的相关工作,相关论文列表已整理好放置于GitHub平台。
⭐️ Model-Based RL Paper List github链接:https://github.com/opendilab/awesome-model-based-RL
本项工作的贡献可以归纳以下几点:
追踪最新model-based RL前沿研究,同时给出领域内的经典论文;
内容清晰全面;
总结每篇论文的核心关键
包含论文里的实验环境
统计出现在openreview的论文审稿分数
通过对2021年Model-Based RL的顶会文章做简单分析,有以下三点共识:
对隐空间 (Latent Space) 建模和决策更加重视。
Model-Based RL和离线强化学习 (Offline RL) 联系较为紧密,未来潜力巨大。
学术界研究Model-Based RL的实验环境还都在活跃在仿真器中,多是mujoco, deepmind control suite, deepmind lab, atari和d4rl dataset。
3. 结语
我们将继续在 Model-Based RL Paper List 仓库中推进Model-Based RL的研究进展,包括一些算法文章解读,并结合DI-engine进行代码实现。
同时也欢迎志同道合的小伙伴Pull Request相关工作,共同营造健康、可持续的Model-Based RL学术生态。
⭐️ DI-engine github链接:
https://github.com/opendilab/DI-engine
📖 参考文献:[1]https://bair.berkeley.edu/blog/2019/12/12/mbpo/#fn:naming-conventions [2]https://spinningup.openai.com/en/latest/spinningup/rl_intro2.html#citations-below
💫 排版:羲歪