时序差分学习(temporary learning, TD)

蒙特卡罗方法在没有环境模型的基础上,直接从经验中学习,无需获知环境的全部信息。动态规划从其它的已经学习到的估计值去更新估计值。TD则结合了这两种方法的优点,且不需要等到片段结束。
对于控制问题,也就是寻找一个最优策略,DP、TD和蒙特卡罗方法都是用一些GPI的变量。不同之处在于它们对于预测问题的求解方法不同。

蒙特卡罗要等到整个片段结束之后才可以更新估计值。TD结合了下一状态的信息,只要有下一状态就可以对当前的估计值进行更新。TD通过在线的、完全实时的方式来进行增量更新。如果一次任务结束周期太长,或者面对连续型任务,MC方法可能会有很严重的延迟问题,TD方法则很好地避免了这种问题。

当然,在实际中还可以采用批量更新的方法,每一步都按照原来的步骤计算,求出增量,先不执行更新,而是将增量累积起来。当一整批训练数据都处理完毕后,将增量统一更新到目标值上。

帮助理解内容

从之前提到的公式中可以看出,蒙特卡罗和TD本质上都是估计某状态下 某动作的奖励,得到准确的估计方便后来进行决策规划。修正过程中使用的就是我们常说的修正公式 不断叠加误差来进行修正。
在将这些方法应用在策略构造中时,只有状态值函数是不够的【因为对环境的理解不足,即使知道哪个状态好也没法选择动作】,所以在修正过程中一直使用的是动作 状态 值函数。
通过在递推公式中对动作-状态值函数估计值的不同,也给算法起了不同的名字。当然,算法区别不止这些

Sarsa是同轨策略下的时序差分控制,Q-learning是离轨策略下的时序差分控制,期望Sarsa是在Q-learning的基础上将求最值转化为了求期望。

posted @ 2021-05-25 10:46  芋圆院长  阅读(182)  评论(0编辑  收藏  举报