Dictum:
Although the world is full of suffering, it is full also of the overcoming of it. -- Helen Keller
时序差分学习(Temporal-Difference Learning, TD)结合了DP和MC方法的优点,主要有两个优势:
- 相比于DP,它不需要一个环境模型,可以直接从经验中学习
- 相比于MC,价值函数的更新不必等到交互终止
TD预测
每次访问型MC方法的价值函数更新(V_(n+1)doteq V_n + frac{W_n}{C_n}[G_n-V_n ]),可以改写为
类似地,TD学习的更新如下
对比上述两种方法,MC方法必须等到一个episode的末尾才能确定对(V(S_t))的增量,因为只有此刻(G_t)已知;而TD学习只需要等待下一个时序步长,它的目标函数为(R_{t+1}+gamma V(S_{t+1})),该方法也被称为TD(0)。
【注】它们的更新都可以看作(NewEstimateleftarrow OldEstimate+StepSize[Target-OldEstimate])的形式。同时,MC和TD更新被称为采样更新(sample updates),而DP更新被称为期望更新(expected updates);采样更新是基于采样得到的单个后继节点的样本数据,而期望更新是基于所有可能后继节点的完整分布
公式((5.2))括号中的数值是一种误差,被称为TD error,用于衡量当前时刻(t)状态(S_t)的估计值与更好的估计值(R_{t+1}+gamma V(S_{t+1}))之间的差距,TD(0)的TD error可以写成
由上可以得到,公式((5.1))中的MC error为TD error之和,推导如下
TD控制
同步策略控制
- Sarsa
Sarsa学习的是动作价值函数,即给定状态(s)以及动作(a),估计出在当前策略下所有对应的(q_pi (s,a)),MDP是可以表示为下图
Sarsa的更新定义为
该更新规则用到了五元组((S_t,A_t,R_{t+1},S_{t+1},A_{t+1}))的所有元素,因此被称为Sarsa。如果(S_{t+1})为终止状态,将(Q(S_{t+1},A_{t+1}))定义为0。Sarsa的收敛性取决于策略对(Q)的依赖程度。
- 期望Sarsa
Sarsa更新目标中的(Q(S_{t+1},A_{t+1}))是对下一个状态(S_{t+1})任取一动作(A_{t+1})估计得到的动作价值函数,会使更新存在方差。为了消除因为随机选择(A_{t+1})产生的方差,替代地使用了期望值,期望Sarsa的更新定义为
相比于Sarsa,期望Sarsa的性能稳定提升。
异步策略控制
- Q-Learning
Q-Learning是一种经典的异步策略学习算法,且在深度强化学习中使用也很广泛。它的更新为
已学的动作价值函数(Q)直接近似最优动作价值函数(q_*),与生成决策序列轨迹的策略无关。
- Double Q-Learning
上述的算法都包含最大化操作,即都会寻找当前状态的最优动作价值函数,使用相同的样本去确定最大化价值的动作并对它的价值进行估计,会产生正的最大化偏差。因此,可以将样本分成两个集合,并用它们学习两个独立的估计(Q_1(a))和(Q_2(a)),它们都是对真实价值(q(a))的估计;接着用其中一个估计确定最优动作,用另一个估计出该最优动作的价值,如(Q_1)确定最优动作(A^*=argmax_aQ(a)),然后用(Q_2)估计该动作的价值(Q_2(A^*)=Q_2ig(argmax_a Q_1(a)ig))。由于(mathbb{E}[Q_2(A^*)]=q(A^*)),所以该估计是无偏估计。
【注】尽管需要学习两个估计值,但对每个样本集合只更新一次估计值,因此,只需要两倍的内存,无需增加额外的计算量
最经典的双学习方法就是double Q-Learning,更新如下
References
Richard S. Sutton and Andrew G. Barto. Reinforcement Learning: An Introduction (Second Edition). 2018.
Csaba Szepesvári. Algorithms for Reinforcement Learning. 2009.
Course: UCL Reinforcement Learning Course (by David Silver)