增强学习Reinforcement Learning经典算法梳理3:TD方法

1 前言

在上一篇blog中,我们分析了蒙特卡洛方法,这个方法的一个特点就是需要运行完整个episode从而获得准确的result。但是往往很多场景下要运行完整个episode是很费时间的,因此,能不能还是沿着bellman方程的路子,估计一下result呢?并且,注意这里,依然model free。那么什么方法可以做到呢?就是TD(temporal-difference时间差分)方法。

有个名词注意一下:boostraping。所谓boostraping就是有没有通过估计的方法来引导计算。那么蒙特卡洛不使用boostraping,而TD使用boostraping。

接下来具体分析一下TD方法

2 TD与MC的不同

增强学习Reinforcement Learning经典算法梳理3:TD方法_第1张图片

MC使用准确的return来更新value,而TD则使用Bellman方程中对value的估计方法来估计value,然后将估计值作为value的目标值进行更新。

也因此,估计的目标值的设定将衍生出各种TD下的算法。

那么TD方法的优势有什么呢?

  • 每一步都可以更新,这是显然,也就是online learning,学习快
  • 可以面对没有结果的场景,应用范围广

不足之处也是显而易见的,就是因为TD target是估计值,估计是有误差的,这就会导致更新得到value是有偏差的。很难做到无偏估计。但是以此同时,TD target是每一个step进行估计的,仅最近的动作对其有影响,而MC的result则受到整个时间片中动作的影响,因此TD target的方差variance会比较低,也就是波动性小。

还是放一下David Silver的总结吧:
增强学习Reinforcement Learning经典算法梳理3:TD方法_第2张图片

那么David Silver的ppt中有三张图,很清楚的对比了MC,TD以及DP的不同:
增强学习Reinforcement Learning经典算法梳理3:TD方法_第3张图片
增强学习Reinforcement Learning经典算法梳理3:TD方法_第4张图片
增强学习Reinforcement Learning经典算法梳理3:TD方法_第5张图片

从上面可以很清楚的看到三者的不同。DP就是理想化的情况,遍历所有。MC现实一点,TD最现实,但是TD也最不准确。但是没关系,反复迭代之下,还是可以收敛的。

整个增强学习算法也都在上面的范畴里:
增强学习Reinforcement Learning经典算法梳理3:TD方法_第6张图片

3 TD算法

增强学习Reinforcement Learning经典算法梳理3:TD方法_第7张图片

这只是TD(0)的估计方式,显然可以拓展到n-step。就是讲TD-target再根据bellman方程展开。

再下来的思想,就是可以把TD(i)和TD(j)合在一起求个平均吧。

再下来就是把能算的TD(i)都算一遍,每一个给个系数,总和为1,这就是 TD(λ)

增强学习Reinforcement Learning经典算法梳理3:TD方法_第8张图片

4 SARSA算法

SARSA算法的思想很简单,就是增加一个A,下一步的A,然后据此来估计 Q(s,a)
增强学习Reinforcement Learning经典算法梳理3:TD方法_第9张图片

之所以算法称为SARSA,就是指一次更新需要用到这5个量。

5 Q-Learning算法

著名的Q-Learning。
增强学习Reinforcement Learning经典算法梳理3:TD方法_第10张图片
这里直接使用最大的Q来更新。

为什么说SARSA是on-policy而Q-Learning是off-policy呢?
因为SARSA只是对policy进行估计,而Q-Learning的Q则是通往最优。

6 Double Q-Learning

Q-Learning可能会出现对Q值过度估计的问题,Double Q-Learning可以解决这个问题:
增强学习Reinforcement Learning经典算法梳理3:TD方法_第11张图片

使用两个Q交替更新。

7 多种方法比较

增强学习Reinforcement Learning经典算法梳理3:TD方法_第12张图片

增强学习Reinforcement Learning经典算法梳理3:TD方法_第13张图片

由上面两图可以理解TD,Sarsa,和Q-Learning的算法来源,本质上都是基于Bellman方程。

可以这么理解:Bellman方程是一种理想条件的解法,而这些方法则是放弃理想准确度而形成的可实现方法。

小结

本文梳理了TD相关的几个算法。TD算法特别是 TD(λ) 方法引出了eligibility trace(翻译做资格迹 不知可否),这部分内容留待之后分析。

声明

本文的图片截取自:
1 Reinforcement Learning: An Introduction
2 Reinforcement Learning Course by David Silver

你可能感兴趣的:(Deep,Reinforcement,Learning,Reinforcement,Learning,深度增强学习DRL)