Q-learning 如何在随机环境中发挥作用?

人工智能 强化学习 q学习 环境
2021-11-02 04:07:18

Q 函数使用(当前和未来)状态来确定获得最高奖励的动作。

但是,在随机环境中,当前动作(处于当前状态)并不能确定下一个状态。

Q learning 如何处理这个问题?Q 函数是否仅在训练过程中使用,未来状态是已知的?如果是这样的话,Q函数是否还在使用?

1个回答

Q learning 如何处理这个问题?Q 函数是否仅在训练过程中使用,未来状态是已知的?如果是这样的话,Q函数是否还在使用?

博学的Q-function 不仅在训练期间使用,而且在训练之后也使用(在我们可以称为“部署”的情况下,当我们期望训练有素的代理根据它所学的内容行事时)。

但是,对未来状态的依赖只存在于训练期间,不再需要部署。

在训练期间,我们使用以下Q-学习更新规则:

Q(s,a)(1α)Q(s,a)+α(R+γmaxaQ(s,a)),

在哪里s是我们执行后达到的状态as. 在这里,red部分是我们依赖未来知识的部分s. 这在训练中可用,因为我们可以简单地选择a, 执行s, 观察s,然后才触发我们的更新步骤。


在训练之外(实际上也在训练期间),我们还依赖于我们的Q(s,)用于选择动作的功能。我们通常选择一个动作a根据a=argmaxaQ(s,a); 我们选择动作a最大化Q(s,a)在我们目前的状态s. 这里要注意的重要一点是,没有s在我们如何选择动作的描述中使用术语:我们不需要知道我们未来的状态


注意:在我的回答中,我决定按字面意思回答这个问题,即我正在解释如何Q-learning 仍然可以在所描述的设置中进行操作a对未来达到的状态没有任何影响。

在实践中,我永远不会建议实际使用Q- 在这样的环境中学习,而是参考 Neil Slater 关于上下文多臂强盗算法可能提供更好解决方案的评论。