RL论文阅读6 - MB-MPO2018
文章目录
Tittle
标签
- Meta-learning
- Model-based
总结
针对问题:
- data inefficient
- MB算法过于依赖模型的准确率,如果模型不够准确,就会产生Model-Bais。 之前解决Model-bias的一些工作在参考文献678910。通常使用ensembles(集成)的思想。
解决思路
传统的MB RL算法学习一个足够准确的动态模型,然后用这个模型去启发学习策略,从而这个策略在真实世界同样有效。这篇文章希望放弃对模型准确率的依赖,通过学习一个动态模型的集合(ensemble),并且把策略优化的步骤表述成meta-learning问题。
优化目标引导meta-policy去学习集合中的动态模型预测一致的部分,同时把模型差异的困扰转换到了优化步骤上。
没太理解上面这段翻译。
原理
1. 前序工作简介:Meta-Learning for RL
meta-RL 目的是学习一个算法,这个算法能够迅速的从一些服从KaTeX parse error: Undefined control sequence: \cal at position 6: \rho(\̲c̲a̲l̲ ̲M)分布的MDP集合中学习到最优的策略。这些MDP可能有不同的奖励函数和转换概率分布,但是有着共同的动作空间和状态空间。
这个文章利用了MAML的meta-learning框架。
具体MAML框架论文后续更新
2. MPO原理
把model-based RL问题转述成关于动态模型分布的元学习策略,在模型不一致时,提倡最大化策略的适应性,而不是策略的健壮性。
这样做好处
- 移除了优化一个策略,使这个策略在不同的动态模型都表现的好的任务(难以优化)
- 更好的探索性能
- 更高的采样多样性
(1)模型学习:
MPO的一个关键部分就是学习动态模型的分布(distribution of dynamics models),以ensemble的形式存在。
每个模型:
- 不同的初始化数值
- 不同的训练数据集,是以随机的方式从实际环境中采样而来的数据KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲D 的子集KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲D_k。
为了追踪在元学习优化过程中策略改变而引起的分布的转换,频繁的在当前策略下进行采样,并整合到KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲D 中
论文中使用的动力学模型的网络输出的是状态的该变量,而不是直接输出下一个状态
记是下一个状态的估计函数(其实就是网络的输出加上输入的状态)
那么这个网络的优化目标就是:
解释: 在训练结合 $ \cal D_k$ 下,最小化实际状态和估计状态差的平方 的和 ,这个就是KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲l_2 one-step prediction loss
这一步有可能引起overfitting。需要有处理方法。就那几个常用的
- 根据验证集损失提前结束训练
- 正则化输入输出
- 权重正则化
(2)Meta-RL 应用在学习的模型上
已知一个针对特定环境的学习好的动态模型集合,现在主要的思想就是学习一个策略,能过快速的适应这些模型中的任何一个。文章使用的是基于梯度的元学习算法MAML。
我们的环境模型集合,通过把这些模型嵌入到不同的MDPs KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲{M_k} = (S,A,\h…中,来构建统一的任务分配。
当动态环境模型改变时,奖励函数不变。
meta优化目标:
是在策略和估计动态模型下的return的期望。
轨迹是从想象的MDPs过程中采样的。
在实验中使用TPRO来优化meta-Object,在适应步骤中,应用了VPG(vanilla policy gradient)。
3. 算法
-
1行只执行一次,初始化参数、从真实世界中采样数据到KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲D
-
3行:通过调整后的策略(adapted policies)从真实世界采样并整合到KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲D
-
和是两组不同的参数。
-
在内层循环中(5-9): 对于每个模型,先用采样,计算,然后用采样。
-
10: 用每个模型的采样结果来更新