C/C++教程

Safe and efficient off-policy reinforcement learning(Retrace)

本文主要是介绍Safe and efficient off-policy reinforcement learning(Retrace),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


发表时间:2016(NIPS 2016)
文章要点:提出了一种新的在off-policy算法中修正behavior policy和target policy的方法:Retrace(λ)。最常见的修正当然是importance sampling,这个方式不仅用在value based方法中,在policy based方法中也最常用。除此之外,在value based 方法中还有Q(λ)和TB(λ)。这些方法的目的都是为了修正轨迹,使得虽然轨迹是从behavior policy中得到的,修正之后就可以认为是从target policy得到的,从而用来提升target policy。但是这种修正不是没有条件的,如上表所列,importance sampling的方差很高,Q(λ)需要behavior policy和target policy隔得足够近,TB(λ)即使behavior policy和target policy隔得足够近也会做不必要的修正,从而降低了收敛速度。作者综合了这几个方法的优缺点,提出了Retrace(λ),既不要求两个策略隔得足够近,同时也保证了方差较小,收敛速度较快。主要思路就是在两个策略隔得远的时候取min来控制方差,相当于方差大的π/μ就不用了。然后在两个策略隔得近的时候采用λπ/μ,充分利用轨迹。
总结:很有意思的工作,主要在于不需要两个策略隔得近这个条件了,放宽了很多限制。当然肯定也不是任意远都好,但至少保证了隔得再远效果依然会提升,即使效率会变慢。整个文章是在Q-learning的层面来提出和证明的,但是后面的IMPALA等policy based方法也用了类似的思路来做异步并行的训练(V-trace),很有启发。
疑问:大概意思明白,但是证明已经看不懂了,基础还是不行啊。需要再看看rich的eligibility trace那一章。

这篇关于Safe and efficient off-policy reinforcement learning(Retrace)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!