时序差分学习(Temporal-Difference Learning)结合了动态规划和蒙特卡洛方法,是强化学习的核心思想。
蒙特卡洛的方法是模拟(或者经历)一段序列,在序列结束后,根据序列上各个状态的价值,来估计状态价值。
时序差分学习是模拟(或者经历)一段序列,每行动一步(或者几步),根据新状态的价值,然后估计执行前的状态价值。
可以认为蒙特卡洛的方法是最大步数的时序差分学习。
DP,MC和TD的区别
DP:已知转移概率 p(s′,r|s,a),Rt+1 是精确算出来的,用的 vπ(st+1) 是当前的估计值。
MC:用多个episode的 Gt˜ 近似 Gt
TD: Rt+1 和 vπ(st+1) 用的都是当前的估计值
本章介绍的是时序差分学习的单步学习方法。多步学习方法在下一章介绍。主要方法包括:
- 策略状态价值 vπ 的时序差分学习方法(单步\多步)
- 策略行动价值 qπ 的on-policy时序差分学习方法: Sarsa(单步\多步)
- 策略行动价值 qπ 的off-policy时序差分学习方法: Q-learning(单步)
- Double Q-learning(单步)
- 策略行动价值 qπ 的off-policy时序差分学习方法(带importance sampling): Sarsa(多步)
- 策略行动价值 qπ 的off-policy时序差分学习方法(不带importance sampling): Tree Backup Algorithm(多步)
- 策略行动价值 qπ 的off-policy时序差分学习方法: Q(σ) (多步)
策略状态价值 vπ 的时序差分学习方法(单步\多步)
单步时序差分学习方法
该算法就通过当前状态的估计与未来估计之间差值来更新状态价值函数的。即 R+γV(S′)−V