Q-learning,如何选择实际上给予最多奖励的动作?

时间:2018-06-08 05:43:19

标签: reinforcement-learning q-learning

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

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

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

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

2 个答案:

答案 0 :(得分:1)

  

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

通常在强化学习中假设我们无法重置(模拟)环境。当然,当我们正在进行模拟时,它在技术上可能是可能的,但一般来说,我们希望RL中的工作也可以扩展到模拟之外的“现实世界”问题,之后就不再可能了。

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

答案 1 :(得分:1)

  

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

鉴于您无法访问该模型,您必须使用无模型方法。你的建议基本上是一个Dynamics编程备份。请参阅David Silver的lecture notes中的幻灯片28 - 31,了解各种备份策略以迭代值函数。

但请注意,这仅适用于 预测 (即估算给定政策的价值函数),而不适用于 控制 (找出最佳政策)。 Max不会参与预测。要进行控制,您可以使用上述策略评估+贪婪策略改进来实现基于动态编制备份策略评估的策略迭代"方法。

model-free control的其他选项是SARSA [+贪婪政策改进](关于政策)和Q学习(关闭政策)。但这些是基于Q函数的方法。

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