接下来我们回顾一下动态规划算法(DP)和蒙特卡罗方法(MC)的特点,对于动态规划算法有如下特性:
- 需要环境模型,即状态转移概率
- 状态值函数的估计是自举的(bootstrapping),即当前状态值函数的更新依赖于已知的其他状态值函数。
相对的,蒙特卡罗方法的特点则有:
- 可以从经验中学习不需要环境模型
- 状态值函数的估计是相互独立的
- 只能用于episode tasks
而我们希望的算法是这样的:
- 不需要环境模型
- 它不局限于episode task,可以用于连续的任务
本文介绍的时间差分学习(Temporal-Difference learning, TD learning)正是具备了上述特性的算法,它结合了DP和MC,并兼具两种算法的优点。
TD Learing思想
在介绍TD learning之前,我们先引入如下简单的蒙特卡罗算法,我们称为constant- MC,它的状态值函数更新公式如下:
其中 是每个episode结束后获得的实际累积回报, 是学习率,这个式子的直观的理解就是 用实际累积回报 作为状态值函数 的估计值。具体做法是对每个episode,考察实验中 的实际累积回报 和当前估计 的偏差值,并用该偏差值乘以学习率来更新得到 的新估值。
现在我们将公式修改如下,把 换成 ,就得到了TD(0)的状态值函数更新公式: