我将如何计算某个状态和动作的最佳状态-动作值?

人工智能 强化学习 q学习 价值函数 贝尔曼方程
2021-10-28 06:17:56

我目前正在尝试学习强化学习,并从基本的 gridworld 应用程序开始。我尝试使用以下参数进行 Q-learning:

  • 学习率 = 0.1
  • 折扣系数 = 0.95
  • 勘探率 = 0.1
  • 默认奖励 = 0
  • 最终奖励(达到奖杯)= 1

在 500 集之后,我得到了以下结果:

在此处输入图像描述

我将如何计算最佳状态-动作值,例如,对于状态2,代理站立的位置和动作south

我的直觉是使用以下更新规则q功能:

Q[s,a]=Q[s,a]+α(r+γmaxaQ[s,a]Q[s,a])

但我不确定。数学对我来说没有加起来(使用更新规则时)。

我还想知道我是否应该使用备份图通过将奖励(从达到奖杯中获得)传播到相关状态来找到最佳状态-动作 q 值。

作为参考,这是我了解备份图的地方。

1个回答

您似乎对 Q 值的定义和用于获取这些 Q 值的更新规则感到困惑。

请记住,为了简单地获得给定状态-动作对的最佳 Q 值,我们可以评估

Q(s,a)=r+γmaxaQ(s,a);

其中是我们过渡到的状态(请注意,这仅在获得最佳Q 值时成立,如果我们使用随机策略,那么我们将不得不引入期望)。s

现在,这假设我们已经获得/获得了最佳 Q 值。要获得它们,我们必须使用您在问题中提到的更新规则(或任何其他学习算法)。