“模型”通常指与智能体交互的环境模型—对环境的状态转移概率和奖励函数进行建模。
根据是否有环境模型,分为两种强化学习算法:
<aside> 💡
无模型的强化学习根据智能体与环境交互采样到的数据直接进行策略提升或者价值估计
第 5 章讨论的两种时序差分算法,即 Sarsa 和 Q-learning 算法,便是两种无模型的强化学习方法。
</aside>
<aside> 📎
在基于模型的强化学习中,模型可以是事先知道的,也可以是根据智能体与环境交互采样到的数据学习得到的,然后用这个模型帮助策略提升或者价值估计。
第 4 章讨论的两种动态规划算法,即策略迭代和价值迭代,则是基于模型的强化学习方法,在这两种算法中环境模型是事先已知的。
</aside>
Dyna-Q 算法也是基于模型的强化学习算法,不过它的环境模型是通过采样数据估计得到的。
<aside> 📎
基于模型的强化学习算法由于具有一个环境模型,智能体可以额外和环境模型进行交互,对真实环境中样本的需求量往往就会减少,因此通常会比无模型的强化学习算法具有更低的样本复杂度。
但环境模型可能并不准确,不能完全代替真实环境,因此基于模型的强化学习算法收敛后其策略的期望回报可能不如无模型的强化学习算法。
</aside>
Dyna-Q 使用Q-planning 的方法来基于模型生成一些模拟数据,然后用模拟数据和真实数据一起改进策略。
Q-planning 每次选取一个曾经访问过的状态$s$,
采取一个曾经在该状态下执行过的动作$a$,
通过模型得到转移后的状态$s’$以及奖励$r$,
并根据这个模拟数据$(s,a,r,s’)$,用 Q-learning 的更新方式来更新动作价值函数。
