一、Model-based RL
Model-Free RL,从经验中学习价值函数(以及/或者策略)。
Model-based RL,从经验中直接学习环境的MDP模型。(状态转移概率P以及奖励矩阵R)从模型出发,规划价值函数(和/或策略)。能够更加有效的学习,减少模型的不确定性,但是缺点是会带来两个(学习模型,进行规划)过程的误差。
这里有一个重要的假设,就是R和P是互相独立的,也就是某一时刻的状态和行为 (s,a) 获得的下一时刻收益 r∼R 和下一时刻状态 s∼P 无关。
- 那么第一步,经验中学习模型就是两个监督学习问题:
回归问题: s,a→r
分类问题: s,a→s′
至于用什么来表示模型的P和R,高斯过程模型、线性高斯模型、神经网络模型都是可以的。
- 第二步,就是利用学习到的模型进行规划。
我们有价值迭代,策略迭代,树搜索等方法。此外,还可以直接对已知模型进行抽样,对抽样出的experience利用前几节的model-free方法如Q-learning、Sarsa、Monte-Carlo-Control等进行规划。
二、Integrated Arch
Dyna:从真实experience和simulated experience中学习和规划价值函数(策略)。其中后者是我们学习到的MDP(不精确的模型)产生的sample。
从算法过程上来看,就是在每一步,用真实环境的Sample数据学习一次Q,并学习一次Model,然后用Model产生的sample学习n次Q。
三、Simulation-based Search
关注当前状态,利用Forward Search算法,建立一个以当前状态 st 为root的搜索树。
基于模拟的搜索:从当前状态开始,利用我们的模型计算出k个episode;然后利用model-free的方法进行学习和规划。
模拟过程中采用的策略:如果当前需要的状态和动作已经包含在构造的树中,那么最大化Q;否则随机选择Action(exploration)。
Dyna-2,利用real experience学习long-term memory,利用simulated experience 学习 short-term memory。