《强化学习》入门C12 Eligibility Traces

888 阅读4分钟

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算法的优势:可用在非马尔科夫的任务中,因为不自举

(第五章提到MC算法可以在非马尔科夫的任务中有优势,因为它不使用自举。因为资格迹方法使得TD算法更像MC算法,因此带资格迹的TD也能够得到这种优势。如果想用TD算法的一些特性而任务又是部分非马尔科夫的,就可以选择使用资格迹形式的TD。)