【问题标题】:Q-learning, how about picking the action that actually gives most reward?Q-learning,如何选择实际给予最多奖励的动作?
【发布时间】:2018-06-09 21:44:30
【问题描述】:

所以在 Q 学习中,你通过 Qnew(s,a) = Q(s,a) + alpha(r + gamma*MaxQ(s',a) - Q(s,a) 来更新 Q 函数。

现在,如果我要使用相同的原理,但将 Q​​ 函数更改为 V 函数,而不是根据当前 V 函数执行动作,您实际上会执行所有动作(假设您可以重置模拟环境),然后选择最好的行动,并更新该状态的 V 函数。这会产生更好的结果吗?

当然,训练时间可能会增加,因为您实际上每次更新都执行一次所有操作,但由于您保证每次都选择最佳操作(探索时除外),它会给您一个全局最优策略最后?

这有点类似于值迭代,只是我没有也没有为问题建立模型。

【问题讨论】:

  • “这样会产生更好的结果吗?”您要解决的问题是什么,或者您要达到什么目的?从问题中不清楚!

标签: reinforcement-learning q-learning


【解决方案1】:

现在,如果我要使用相同的原理,但将 Q​​ 函数更改为 V 函数,而不是基于当前 V 函数执行动作,您实际上会执行所有动作(假设您可以重置模拟环境),并从中选择最佳动作,并更新该状态的 V 函数。这会产生更好的结果吗?

在强化学习中通常假设我们没有能力重置(模拟)环境。当然,当我们进行模拟时,这通常在技术上是可行的,但通常我们希望 RL 中的工作也可以扩展到模拟之外的“现实世界”问题,而这将不再可能。

如果您确实有这种可能性,通常建议您研究蒙特卡洛树搜索等搜索算法,而不是 Sarsa、Q-learning 等强化学习。我怀疑您的建议可能比 Q 稍微好一些- 在这种情况下确实可以学习,但像 MCTS 这样的东西会更好。

【讨论】:

  • 但是 MCTS 会学会处理新场景吗?我仍然希望 AI 能够学习如何对以前看不见的输入做出反应,因此只需向前看一步,而不是深入到全部深度来选择一个动作并更新网络
  • @AndyWei 啊,不,这很公平。 MCTS 不会“学习”策略然后将其存储以供以后立即执行,只要您想选择一个操作,就需要再次运行它。那么,您假设您确实有能力在训练期间重置环境,但在测试/部署期间不再能够重置环境?我认为您的想法在这种情况下会起作用,至少我直观地认为没有问题。不过,我不熟悉该想法的任何 100% 正式处理。
【解决方案2】:

现在,如果我要使用相同的原理,但将 Q​​ 函数更改为 V 函数,而不是根据当前 V 函数执行动作,您实际上会执行所有动作(假设您可以重置模拟环境),然后选择最好的行动,并更新该状态的 V 函数。这会产生更好的结果吗?

鉴于您无权访问模型,您必须求助于无模型方法。您的建议基本上是动态编程备份。请参阅 David Silver 的lecture notes 中的幻灯片 28 - 31,了解迭代价值函数的各种备份策略。

但请注意,这仅适用于预测(即估计给定策略的价值函数),不适用于控制(找出最佳策略)。不会有一个 Max 参与预测。做控制,可以使用上面的策略评估+贪心策略改进,得出“基于动态prog备份策略评估的策略迭代”的方法。

model-free control 的其他选项是 SARSA [+ greedy policy Improvement] (on policy) 和 Q-learning (off-policy)。不过,这些是基于 Q 函数的方法。

如果您只是想赢得比赛,而不一定对上面讨论的 RL 技术感兴趣,那么您也可以选择使用纯粹基于计划的方法(例如 Monte Carlo Tree Search)。最后可以combine planning and learning用Dyna等方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    相关资源
    最近更新 更多