[RL Notes] 不正确的模型
规划依赖于模型生成模拟经验,如果模型不正确,规划就可能得到次优的策略。不正确的模型指的是模型中保存的状态转移与实际环境中的状态转移不符。如果在学习过程中环境发生了改变,而这些改变还没有被观察到,模型会给出错误的状态转移。在学习刚开始的时候,智能体只尝试过有限的动作,模型中还没有保存未选择过的动作的状态转移,此时称模型是不完整的。
1. 不完整的模型
对于模型不完整的问题,Dyna-Q 算法的解决方法是,在规划阶段只随机选择之前观察到的状态来模拟经验,在学习的初始阶段,可供规划选择的状态较少,可能会对同一个状态转移进行多次更新;随着学习的进行,智能体在各个状态下尝试过越来越多的动作,规划阶段的更新就会更加均匀。
2. 不正确的模型
通过错误的模型进行规划,可能会让策略在真实环境中变得更差。如果环境在不断变化,那么模型错误可能发生在任意时刻,直到智能体再次访问到环境中发生变化的部分并更新模型时,错误才会被纠正。这时智能体就面临两个选择:进行试探来确认模型的正确性,或者假设模型正确的并进行开发来计算最优策略。一个直观的判断是,智能体应该选择重新探索已经很久没有访问的地方——模型在这些地方很可能存在错误。
为了让智能体定期重新访问各个状态,可以为规划过程中的收益添加一个额外奖励,此时的收益为
\begin{equation}
r + \kappa\sqrt{\tau} \tag{1}
\end{equation}
其中 $r$ 是模型给出的实际收益,$\tau$ 是距离上一次在实际环境中访问该“状态-动作”二元组的时间(规划期间的访问不计在内),$\kappa$ 是控制规划期间奖励影响的小常数。
在 Dyna-Q 的规划中使用式 $(1)$ 所示的收益,就得到 Dyna-Q+ 算法。实际环境中长时间未访问到的“状态-动作”二元组在规划期间具有更大的收益,规划会更新策略去访问这些地方,即鼓励智能体去探索,从而更新模型。