第六章:Temporal-Difference Learning
TD-learning算法是强化学习中一个独具特色而又核心的想法,结合了蒙特卡洛算法和动态规划的想法。和MC一样不需要环境模型直接从sample里学习,也像DP一样使用bootstrap通过别的状态值的估计更新当前状态值。首先也关注的是给定策略进行prediction或者叫policy evaluation。对于control(找到最优策略)的问题,DP,TD和MC都用的是GPI的框架,主要的区别在prediction的时候。
6.1 TD Prediction
TD和MC算法都使用经验来解决prediction的问题。给定一个策略决策下的一些经验序列,两个方法都为出现在序列里的非中止状态更新值函数V。大致上说,MC方法需要等到一个状态后面所有的反馈都知道,把这个return作为值函数V的目标。简单的一个非稳态环境的every-visit方法的更新为
。这种方法叫做常数
MC。MC需要等待一个序列到达重点才能更新V,而TD方法只需要等待下一步完成。最简单的TD方法更新为
在MC方法中目标值是而这里是
,这种方法叫做TD(0),也叫一步TD法。
TD方法中的估计值在两个方面,一个是其是对期望值的一个采样,第二是它使用了当前的V值进行计算而不是
。所以TD结合了MC中的采样法和DP的boostrapping。表格型TD(0)算法的backup diagrams如右图。TD法和MC法被叫做sample updates是因为它们都往后进行了状态的采样,并且将后面状态的值函数和反馈用来更新当前值函数。sample updates和DP算法的期望更新不同,因为它基于对后面状态的单个采样而不是基于所有状态的分布。
最后要提到TD算法更新时括号里的部分可以被认为是一种用来评估当前状态值函数和更好的估计值