代码之家  ›  专栏  ›  技术社区  ›  Asmaa ALrubia

强化学习-贪婪方法与最优行动

  •  0
  • Asmaa ALrubia  · 技术社区  · 6 年前

    在强化学习中,为什么我们要根据贪婪的方法选择行动,而不是总是选择最佳行动?

    2 回复  |  直到 6 年前
        1
  •  1
  •   A.A.    6 年前

    我们在训练过程中使用了一种epsilon贪婪方法进行探索。这意味着,当通过训练选择某个动作时,它要么被选为Q值最高的动作,要么被某个因子(epsilon)选为随机动作。

    在这两者之间进行选择是随机的,并且基于epsilon的值。最初,我们会采取很多随机行动,这意味着我们从探索空间开始,但随着训练的进行,会采取更多具有最大q值的行动,并且我们逐渐开始较少关注具有低q值的行动。

    在测试过程中,我们使用这种epsilon贪心方法,但epsilon的值非常低,因此,相对于探索,我们更倾向于利用,更倾向于选择q值最高的动作,而不是随机动作。然而,有时仍会选择随机动作。

    所有这些都是因为我们想消除过度拟合或拟合不足的负面影响。

    使用epsilon为0(始终选择最佳操作)是一种充分利用资源的选择。例如,考虑一个迷宫游戏,其中代理当前的Q估计值收敛到最优策略,但一个网格除外,在该游戏中,代理贪婪地选择向边界移动(这是当前的最优策略),从而使其保持在同一网格中,如果代理达到任何此类状态,并且它选择最大Q动作,它将被卡在那里。然而,在其政策中保留一个小的ε因子可以让它摆脱这种状态。

        2
  •  1
  •   giac    6 年前

    如果你已经知道最好的行动是什么,就不会有太多的学习发生,对吗?:)

    贪婪是“基于策略”的学习,这意味着您正在学习最优的贪婪策略,同时使用贪婪策略进行探索。您还可以通过选择与您正在学习的策略不一致的动作来学习“脱离策略”,例如总是随机探索(与ϵ=1相同)。

    我知道一开始这可能会让人困惑,如果你只是随意移动,你怎么能学到什么?这里的关键知识是,你学习的政策不是由你如何探索来定义的,而是由你如何计算未来奖励的总和来定义的(在常规Q学习的情况下,它是Q值更新中的最大值(Q[下一个州])。

    如果你探索得足够多,这些都会起作用,如果你不尝试新的动作,代理将永远无法首先确定哪些动作是最好的。