我无法理解on-policy方法(如A3C
)和off-policy方法(如DDPG
)之间的根本区别是什么。据我所知,无论行为政策如何,非政策方法都可以学习最优政策。它可以通过观察环境中的任何轨迹来学习。因此,我可以说非政策方法比政策方法更好吗?
我已阅读显示SARSA
和Q-learning
之间差异的cliff-walking example。它说Q-learning
将学习沿着悬崖行走的最佳政策,而SARSA
将学会在使用epsilon-greedy
政策时选择更安全的方式。但由于Q-learning
已经告诉我们最优政策,为什么我们不遵循该政策而不是继续探索?
另外,两种学习方法的情况是否优于另一种?在哪种情况下,人们更喜欢on-policy算法?
答案 0 :(得分:6)
正如您已经说过的,无论行为策略如何(实际上行为策略应该具有某些属性),非策略方法都可以学习最优策略,而on-policy方法要求代理按照正在学习的策略行事。
想象一下你以前存储的轨迹数据集(即元组(s,a,r,s')
形式的数据)的情况。已应用给定策略收集此数据,您无法对其进行更改。在这种情况下,这对于医疗问题很常见,您只能应用非政策性方法。
这意味着非政策方法更好?不一定。我们可以说,非政策方法在他们可能面临的问题类型方面更灵活。然而,从理论的角度来看,它们具有有时不方便的不同特性。例如,如果我们比较Q学习与SARSA算法,它们之间的关键区别是Q学习更新规则中使用的max
运算符。该算子非常非线性,这使得算法与函数逼近器的结合变得更加困难。
什么时候使用on-policy方法更好?好吧,如果您遇到连续状态空间的问题,并且您有兴趣使用线性函数近似器(例如RFB网络)。然后使用on-policy方法更稳定。您可以在Sutton和Barto的书Section off-policy bootstrapping中找到有关此主题的更多信息。