为什么仅状态值不足以确定策略(没有模型)?

人工智能 强化学习 蒙特卡罗方法 无模型方法
2021-11-03 19:18:22

“如果模型不可用,那么估计动作值(状态-动作对的值)而不是状态值特别有用。使用模型,仅状态值就足以确定策略;一个人只需向前看step 并选择导致奖励和下一个状态的最佳组合的任何动作,就像我们在 DP 章节中所做的那样。但是,如果没有模型,仅状态值是不够的。必须明确估计每个动作的值,以便对建议政策有用的价值观。

上述摘录来自 Sutton 和 Barto 的强化学习,第 5.2 节——蒙特卡洛方法一章的一部分。

有人可以更详细地解释一下,为什么有必要确定每个动作的价值(即仅状态值是不够的)以在无模型设置中提出政策建议?


附言

据我所知,状态值基本上是指从一个状态开始时获得的预期回报(我们知道我们将达到一个最终状态,因为我们正在处理蒙特卡罗方法,至少在书中,仅查看偶发的 MDP)。话虽如此,为什么不能仅根据国家价值观提出政策?为什么我们需要状态-动作值?我有点困惑,如果有人能解决它,那真的很有帮助。

1个回答

为什么不可能仅根据国家价值观提出政策?为什么我们需要状态-动作值?

策略函数将状态作为参数并返回一个动作a=π(s),或者它可能会返回动作的概率分布Pr{At=a|St=s}=π(a|s).

为了合理地做到这一点,智能体需要使用它获得的知识来选择最佳动作。在基于价值的方法中,代理需要识别具有最高预期回报的操作。顺便说一句,在学习时它可能不会采取该行动,因为它已决定探索,但如果它甚至无法确定最佳行动,那么它就没有希望找到最佳策略,甚至无法执行ϵ-贪婪的动作选择,这是一种非常基本的探索方法。

如果您使用动作值估计,那么代理可以简单地选择贪婪动作:

π(s)=argmaxaQ(s,a)

如果你有状态值,那么只有知道模型分布的代理才能直接选择贪婪动作p(r,s|s,a)

π(s)=argmaxar,sp(r,s|s,a)(r+γV(s))

换句话说,要找到采取代理的最佳行动,需要提前一个时间步长,以找出在该行动之后下一个状态的分布是什么。如果代理知道的唯一值是状态值,那么这是代理可以确定任何特定操作的影响的唯一方法。

尽管这个特定方程有替代方案,但没有不使用某种形式的模型的替代方案。例如,如果您可以模拟环境,您可以模拟依次采取每个动作,并查看多次模拟运行以查看哪个选择最终得到最好的(r+γV(s))一般。这将是一种规划,也许是更复杂方法(如 MCTS)的开始。但是,该模拟一个模型 - 它需要以某种形式访问转换概率才能正确运行。

可以有一个完全独立的策略函数,与状态值函数一起训练。这是 Actor-Critic 方法的基础,该方法利用策略梯度来调整策略函数,以及基于值的方法之一,例如 TD 学习,以学习帮助计算策略更新的值函数功能。在这种情况下,您将不会单独使用基于值的方法,因此 Sutton & Barto 的那部分引用不适用。