forward views:
『n-step TD algorithm』
compound update algorithm
『offline λ-return algorithm』 『accumulating trace』
与 truncated TD(λ) 相比更新速度慢 半梯度更新
可以统一TD和MC
和『n-step TD algorithm』的性能差不多,比他好一丢丢
backward views:
TD(λ) eligibility trace Z_t 一直在追踪那些对『recent state valuation』有贡献的权重分量==它来表示之前的状态对于达到当前状态的作用
这是一个迭代式,t时刻的z值包含了之前所有时刻的 v的变化率(梯度)比原来一般的逼近法多考虑了过往价值变化的影响
Z_t越大,说明以往V的变化率积累的比较大,那么我们就使当前的误差变大一点,使得对权重W的更新大一点
本节介绍的 TD( λ ) 对上一节的 offline λ -return 有三点提升:
· 单步更新权重向量,无需等待 episode 结束
· 计算在时间上均匀分布==每一步的计算量一样(而offline是最后一步才更新,所以最后一步计算量贼大)
· 不仅可用于 episode 问题,还适用于连续问题
相同点:可以统一TD和MC
『forward views』:
truncated TD(λ)
与offline λ -return相比更新速度快
类似于『n-step TD algorithm』
『online λ-return algorithm』 目前表现最好的TD算法!!
与offline λ -return相比
对数据的利用率更高,更新效果更好
缺点则为每次均需从头计算,复杂度高
『backward views』:
『true online TD(λ)』 true online TD(λ)算法中的资格迹叫做『dutch trace』
利用 eligibility trace 将online λ -return 算法变换为 backward view 算法。
结果:和 online λ-return 算法一样的结果,但是这个算法需要的计算量更少
扩展:replacing trace
只用于表格形式的问题或者在像tile coding中产生的特征一样的二进制特征向量的问题;replacing trace是定义在特征向量的每一个分量上的,取决于其为0或者1
dutch trace通常比replacing trace表现的更好而且有更清楚的理论解释。
accumulating traces可以用在非线性函数逼近,dutch trace无法用在非线性函数逼近
12.6 Dutch Traces in Monte Carlo Learning
尽管资格迹紧密的和TD学习算法结合在一起,但实际上他们和TD并没有关系。实际上资格迹甚至可以直接用在MC算法中。本节主要是说明资格迹和TD没关系。而且可以应用在任何的想要高效学习长期的函数估计的情形下
二Control问题:
前向视角
n-step sarsa
action-value 形式的 offline λ -return 算法:
后向视角
TD(λ) - > Sarsa(λ)
action-value 的 online λ-return
truncated版本的Sarsa(λ)算法,它在与多层ANN合用的时候能够作为一个高效的model-free的control算法。
12.8 泛化 λ , γ
好处是episodic型的任务不需要在单独提出起始状态和结束状态。结束状态变成了一个γ(s)=0并且转移到起始状态的状态。因此这种形式统一了episodic和discounted-continuing。
三off-policy
通过数学分析得出off-policy下状态值函数估计的资格迹的定义式
状态值函数估计 这个eligibility trace 结合 半梯度更新即为一般的 TD(λ) 算法
off-policy下动作值函数估计的资格迹的定义式
动作值函数估计 这个eligibility trace 结合 半梯度更新可得到更一般的 Sarsa(λ)
因为off-policy,故以上均因『致命三因素(the deadly triad)』而发散
Watkins's Q(λ) 算法不稳定
Tree-Backup(λ) 算法不稳定
以下off-policy 良好收敛
GTD(λ) :TDC 算法的 eligibility trace 形式
GQ(λ) :Gradient-TD 算法(action-value)的 eligibility trace 形式
HTD(λ) :由 GTD(λ) 和 TD(λ) 的结合算法
Emphatic TD(λ) :Emphatic TD 的 eligibility trace 形式
总结:
① 和n步算法相比,使用trace的TD方法性能大幅度提升(学习速度更快),缺点是计算量变大了(因为他需要在每个时间点对所有状态做更新),但是计算量不会非常大(因为实际中绝大多数 state 的 trace 都为 0)
②带有资格迹的TD算法,将会拥有MC算法的优势:可用在非马尔科夫的任务中,因为不自举