Chapter 6 Temporal-Difference Learning
MC方法是通过考虑采样轨迹,克服了模型未知给策略估计造成的困难,但是它需要在完成一个采样轨迹后再更新策略的值估计;而之前介绍的基于DP的策略迭代和值迭代算法在每执行一步策略后就进行值函数更新。相比而言,MC方法效率低得多。主要原因是MC方法没有利用学习任务的MDP结构。
TD Learning则结合了DP和MC的思想,能做到更高效的免模型学习。
1 Policy Evaluation
MC:(是t时刻到结束的累计奖励)
simplest TD method:(是t时刻采取行动的即时奖励)
MC以(6.3)为目标,DP以(6.4)为目标。
TD error:
the Monte Carlo error can be written as a sum of TD errors:
- 优势
TD相对于DP的优势:不依赖环境模型
TD相对于MC的优势:online算法,增量实现;一般情况下比MC快
- Batch Updating
Batch Monte Carlo methods always find the estimates that minimize mean-squared error on the training set, whereas batch TD(0) always find the estimates that would be exactly correct for the maximum-likelihood model of the Markov process.
In general, batch TD(0) converges to the certainty-equivalence estimate. This helps explain why TD methods converge more quickly than Monte Carlo methods. In batch form, TD(0) is faster than Monte Carlo methods because it computes the true certainty-equivalence estimate.
2 Policy Iteration
2.1 Sarsa(on-policy)
policy iteration:
与计算state value function类似,action value function:
这个更新规则用到了,所以这个方法取名叫Sarsa。
与MC中on-policy类似,生成行为的policy和提升的policy是同一个,比如是e-greedy:
- Expected Sarsa
update rule:
2.2 Q-Learning(off-policy)
update rule:
可以看到Q-Learning直接学习
Q-Learning:
2.3 Double Q-Learning
- Maximization Bias
考虑如下的MDP:
状态B到达左边的终态有多个action,它们的reward是均值为-0.1,方差为1的正态分布。
显然A选择left的action的reward期望为-0.1,向右是0,所以不应该选择left。但是,我们的control算法更倾向于left,因为这些control算法都有一个maximization 操作,有时B会产生大于0的reward,而算法做了max操作,会让算法觉得B状态时采取left操作会有正的value。
这就是maximization bias。
- Double Q-Learning
为了避免maximization bias,我们将experience分成两个部分,用来学习两个estimates。在对action value做估计时,用其中一个决定最优的行动,另一个策略决定这个最优行动的值的估计,这样得到的估计是无偏的。这就是Double Q-Learning。更新规则如下:
update rule:
虽然我们学习了两个估计,但是每个step中,只更新其中一个估计。Double Q-Learning用了双倍的内存,但是计算次数没有变。
Double Q-Learning: