强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction

2.1 What is Temporal Difference (TD) learning?

强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
TD学习是蒙特卡洛思想和动态编程(DP dynamic programming)思想的结合。

  • 像蒙特卡洛方法一样,TD方法可以直接从原始经验中学习,而不需要环境的动态模型。
  • 像DP一样,TD方法部分地根据其他学习到的估计值更新估计值,而不需要等待最终的结果(它们是自举bootstrap)。
  • TD、DP和蒙特卡洛方法之间的关系是强化学习理论中一个反复出现的主题。
  • 重点在于一方面是policy evaluation,或者说预测问题,另一方面是value function的估计问题。
  • 对于控制问题(寻找最优策略),DP、TD和蒙特卡罗方法都使用了广义策略迭代(GPI generalized policy iteration)的某种变化。这些方法的差异主要是它们对预测问题的处理方法的差异。
    -强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction

强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction

强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
相比于MC,它除了更新G之外,用加权的思想结合未来的预测值来更新,有一点像卡尔曼滤波器的思想,比如在考虑艾尔法=0和1的时候,看看是什么情况,0的时候就表示没有更新,而1的时候,退化成了MC的更新G(Returns)的方程。强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
卡尔曼滤波器

2.2 Rich Sutton: The Importance of TD Learning

强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
scalable 可扩展的
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
大概是说从大自然学到了一些启发,这种思想很在很多领域都有一些体现,强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction

2.3 The advantages of temporal difference learning

通过举一个回家的例子来比较TD和MC算法,假如你开车回家,路况天气等因素会导致你在某些路段快一些或者慢一些,你估计回家的时间,再根据一些因素不断调整预计回家的时间。
想象你开车回家了很多次,预期是30分钟能开车回家.
(elapsed 过去)
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
先看一下MC是如何更新的。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
先回忆一下G的概念,表示Returns,公式如下:
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
即从下一个时刻开始的Reward累加到最终结束的状态。
下面表示多少时间过去了,即实际的时间轴。与圆圈内表示当前估计还需要多少时间可以到家。那么两个时间段的差就是走这段时间需要的Reward,标记在直线上。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
在第一个节点,计算G0,代入公式,伽马取了1(G的话直接用Reward相加即可),那么算出来时43,而你预测花费了30分钟,由于艾尔法取了1(比较特殊,直接消掉了),更新后花费的时间是43分钟。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
在第二个节点同样计算在之后到最终的Reward加权和(伽马取1直接相加即可),算出来G1是38,那么更新后替换原来的35。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
同样将更新的23替换原来的15,以此类推最后得到了这样的结果。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
也就是说必须到这个episode的最后,才能进行更新所有的值。
然而TD不用,只需要下一个状态的预测,我们来看一下如何更新的。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
再经历了堵车后,我们估计还需要35分钟才能到家,这样花费了5分钟为代价,加上离开时候的35分钟,更新后我们预计还有40分钟到家。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
来看一下下一个状态。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
此时由于走了高速通道,这个过程花费了15分钟,而刚开始离开估计需要35分钟,离开后估计还需要15分钟(下个状态的估计),那么更新完是30分钟。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
最终更新后可以得到这样的结果。不需要等待这个episode结束后就可以实现这个更新过程。

2.4 Comparing TD and Monte Carlo

强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
初始化在C后,随机移动,我们比较一下TD和MC
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
TD会时刻更新,而MC会一个episode后才更新。
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
在迭代次数1-100后,越来越接近真实值。
看一下RMS指标(root mean square)均方根差
强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction
可以清晰的看出,在episodes比较少的时候,选择小的艾尔法,会很快收敛。

2.5 and Rich Sutton: More on the History of RL

两个大佬在聊天,真不敢信左面是右面那位的研究生导师。。。强化学习(二) 第二章 Temporal Difference Learning Methods for Prediction

2.6 Week 2 Summary

TD MC
每走一步都可以在线学习 在知道Return前,必须需要等episode结束
可以从不完整的序列中学习 只能从完整的序列学习
在环境中持续工作(非终止) 在终止的环境中工作
方差较低,有一定偏差 高方差,无偏差
收敛于 vπ (s),不一定是函数近似 良好的收敛性,即使是函数逼近
对初始值更敏感 对初始值不敏感