首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Q-learning,如何选择实际给予最大奖励的行动?

Q-learning,如何选择实际给予最大奖励的行动?
EN

Stack Overflow用户
提问于 2018-06-08 13:43:19
回答 2查看 120关注 0票数 1

因此,在Q学习中,您可以通过Qnew(s,a) = Q(s,a) + alpha(r +γ*MaxQ(s‘,a) - Q(s,a) )来更新Q函数。

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

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

这有点类似于值迭代,除了我没有也没有为这个问题构建模型。

EN

回答 2

Stack Overflow用户

发布于 2018-06-08 16:18:42

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

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

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

票数 1
EN

Stack Overflow用户

发布于 2018-06-09 07:22:45

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

。这会产生更好的结果吗?

考虑到您没有访问模型的权限,您必须求助于无模型方法。你所建议的基本上是一个动态编程备份。有关迭代value函数的各种备份策略,请参阅David Silver的lecture notes中的幻灯片28 - 31。

但是,请注意,这仅适用于预测(即,估计给定策略的值函数),而不适用于控制(找出最佳策略)。不会有Max参与预测。为了进行控制,您可以使用上述策略评估+贪婪策略改进,得出“基于动态程序备份策略评估的策略迭代”方法。

model-free control的其他选项是SARSA + greedy policy improvement和Q-learning (离策略)。不过,这些都是基于Q函数的方法。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50754048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档