【问题标题】:Are off-policy learning methods better than on-policy methods?off-policy 学习方法是否比 on-policy 方法更好?
【发布时间】:2017-03-06 16:36:37
【问题描述】:

我无法理解on-policy 方法(如A3C)和off-policy 方法(如DDPG)之间的根本区别是什么。据我所知,off-policy 方法可以学习最优策略,而不管行为策略如何。它可以通过观察环境中的任何轨迹来学习。因此,我可以说离策略方法比在策略方法更好吗?

我已经阅读了cliff-walking example,其中显示了SARSAQ-learning 之间的区别。它说Q-learning 将学习沿着悬崖行走的最优策略,而SARSA 将学习在使用epsilon-greedy 策略时选择更安全的方式。但是既然Q-learning已经告诉我们最优策略了,那我们为什么不按照那个策略继续探索呢?

另外,两种学习方法是否存在一种优于另一种的情况?在哪种情况下,人们会更喜欢 on-policy 算法?

【问题讨论】:

    标签: reinforcement-learning q-learning


    【解决方案1】:

    正如您已经说过的,off-policy 方法可以学习最优策略,而不管行为策略如何(实际上行为策略应该具有一些属性),而 on-policy 方法需要代理按照正在学习的策略进行操作。

    想象一下,您有一个轨迹数据集(即元组(s,a,r,s') 形式的数据)之前存储的情况。此数据是应用给定策略收集的,您无法更改它。在这种常见于医疗问题的情况下,您只能应用非策略方法。

    这意味着off-policy方法更好?不一定。可以说,off-policy 方法在他们可能面临的问题类型上更加灵活。但是,从理论的角度来看,它们具有不同的特性,有时很方便。例如,如果我们比较 Q-learning 和 SARSA 算法,它们之间的一个关键区别是 Q-learning 更新规则中使用的max 运算符。该算子是高度非线性的,这会使算法与函数逼近器的结合变得更加困难。

    什么时候最好使用 on-policy 方法?好吧,如果您面临连续状态空间的问题,并且您有兴趣使用线性函数逼近器(例如 RFB 网络)。然后使用on-policy方法更稳定。您可以在 Sutton 和 Barto 的书中的Section off-policy bootstrapping 中找到有关此主题的更多信息。

    【讨论】:

    • 谢谢!所以 Q 学习更难用线性函数来逼近,但现在 DQN 被发明出来,经验回放等技巧让它变得稳定了。那么它仍然是一个坏部分吗?
    • 体验回放其实已经很老了,但是是的,这种技巧让Q-learning更加稳定。我不能说存在“不好的部分”,只是它们具有不同的理论性质,有时这些性质在它们的实际应用中起着关键作用。目前,特别是在深度学习领域,Q-learning 可能更受欢迎和广泛使用。
    • 我们可以说on-policy 方法通常比off-policy 方法收敛得更快或更稳定吗?那么当我们想在短时间内找到一个比较好的策略时可以使用它吗?
    • 一般来说,on-policy 方法通常收敛得更快,但这并不意味着计算要求不高。此外,当与线性函数逼近器结合使用时,它们提供了更多的理论收敛特性。更具体的比较取决于所考虑的特定算法和手头的问题。
    • @DarkZero,如果您还有其他疑问,请告诉我。否则,如果答案有用,请不要忘记接受它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 2020-05-18
    • 1970-01-01
    • 2023-03-06
    相关资源
    最近更新 更多