If one had to identify one idea as central and novel to reinforcement learning, it would undoubtedly be temporal-difference (TD) learning.
TD方法是蒙特卡洛方法和动态规划思想的结合。TD方法的特点:
- 一是可以直接从经验中学习,不需要环境模型
- 二是TD方法根据其他的估计来更新估计,也就是自举。
时序差分学习,蒙特卡洛方法和动态规划三者之间关系的比较是强化学习中贯穿始终的主题。
6.1 TD预测
MC公式
TD公式
TD(0) backup
TD伪代码
特点
- 可以一步一更新。
TD error
6.2 TD预测方法的优点
相对于DP方法来说,TD方法的优点是它不需要环境模型,不需要(回报和下一个状态)的可能性分配。
相对于蒙特卡罗方法,TD方法的优点是它能在线,以增量的方式学习。而蒙特卡洛方法只能等一个情节结束才能继续,而TD方法只需要等一个时间步。当一幕试验非常长或者情节是连续性的或者根本没有情节时,使用TD方法是合适的,因为它可以从每一个transition中学习,与接下来采取的动作无关。
给定一个具体的策略,当常量步进参数非常小,或者步进参数满足(2-7)收敛定理逐渐减小时,TD方法能证明是收敛的。TD方法和蒙特卡洛方法都能收敛到正确的预计,虽然在理论上还没有成功证明哪个收敛更快,在实际中,TD方法比常量α-MC方法收敛要快。
6.3 TD(0)的最优性
6.4 Sarsa:在线TD控制
Sarsa公式
sarsa backup
sarsa伪代码
6.5 Q-learning:离策略TD控制
Q-learning公式
目标Q直接估计行为值函数,行为策略决定哪些状态-行为对被访问和更新。
收敛需要满足的条件:1.所有的状态行为对都要被持续被访问到。2.满足步进参数的要求。Q-learning算法如下图所示:
Q-learning backup [s](Q-learning backup expected-sarsa sarsa)
6.6 期望Sarsa
Q-learning backup expected-sarsa sarsa
6.7 最大偏差和双学习
6.8 游戏,后状态和其他特殊情况
在本章中我们尽力去寻找广泛适用于一类问题的方法,但是当然特殊的问题适合用特殊的方法来解决。例如在第一章的tic-tac-toe例子中,利用了后状态值函数,之所以称为后状态值函数是因为它计算值函数时没有考虑动作,而是采取完动作后进行评定的。当知道环境的一部分动态性而没有必要全部的模型时,后状态值函数是十分有效的。像下棋这个例子,虽然我们知道自己如何下,但是无法对对方的动作行为进行估计。
对所有的特殊问题进行一一特殊解决是不可能的,在本书中的原理应该要广泛地被拓展应用。
6.9 总结
在这一章,我们介绍了TD学习方法,并展示了如何它被应用于解决强化学习问题。像往常一样,基于GPI,我们把控制问题分为预测问题和控制问题。
根据在控制问题中是在线还是离线,可以把TD方法分为Sarsa方法和Q-learning方法。Expected Sarsa也是一种离策略方法。
在接下来的两章我们把他们拓展到n-step形式,有环境模型的形式的强化学习方法。