Q 学习与价值迭代

机器算法验证 机器学习 强化学习 q学习
2022-03-17 00:08:55

我所看到的 Q 学习(作为一种无模型算法)和价值迭代(作为一种基于模型的算法)之间的主要区别之一是,价值迭代需要一个“环境模型”,因为它结合了知识如何从一种状态转换到另一种状态(我将其理解为行动之上的政策),以及每个状态收到的奖励的知识。我也看到它说

“价值迭代工作得很好,但它有两个弱点:首先,在某些情况下可能需要很长时间才能收敛,即使基础策略没有改变”

这让我很困惑。

虽然我可以看到它需要一组给定的转换概率,但我在它的更新方程中看不到任何关于为什么它需要事先了解奖励以及为什么它不能像 Q -学习可以吗?接下来是我不确定为什么策略会在价值迭代中改变?我认为整个想法是使用价值迭代来“预测”这个特定策略将如何执行以找到该策略的最佳价值函数,然后使用策略迭代“控制”这种行为——“一个人会稍微调整以前的策略,执行值迭代,找到一个新的值函数,将其与之前的值函数进行比较,并检查它是否已经收敛。

这是一个错误的解释吗?

此处显示为值迭代给出的方程:

U(s)=R(s)+γmaxaT(s,a,s)U(s)

Q(s,a)=R(s,a)+γmaxaQ(s,a)

1个回答

我在它的更新方程中没有看到任何关于为什么它需要事先了解奖励以及为什么它不能像 Q-learning 那样以在线方式进行训练的任何内容?

通常的值迭代更新规则是:

v(s)maxa[r,sp(r,s|s,a)(r+γv(s)]

或者它可以写成

v(s)maxa[Rsa+γs(p(s|s,a)v(s)]

在第一个等式中,r是一个已知的奖励值,你必须已经知道它的分布。在第二个等式中Rsa来自特定状态、动作对的预期奖励。也可以使用Rssa- 特定过渡的预期回报。这些都不是关于观察到的奖励实例。

您不能在价值迭代中直接使用观察到的奖励实例,并相信这将在长期内按预期工作,因为您需要对可能的行动采取最大的行动,而且通常不可能观察到采取所有可能行动的输出。

理论上,您可以维护一个单独的估计预期奖励表,这将是一个完整的 RL 算法,与其他单步 TD 算法没有太大区别。这将是 Q-learning 的一种中途之家,因为您仍然需要知道转换概率才能使用它。

您为策略迭代给出的方程式使用了稍微不同的奖励视图:

U(s)=R(s)+γmaxasT(s,a,s)U(s)

这里R(s)似乎代表“到达此状态的固定奖励”。如果你有一个完整的模型来处理状态转换,那么它就会被提供。但是你能从观察中学到它吗?是的,有一个重要的警告:该公式假设每个状态都有一个且只有一个相关的奖励值。

如果您可以安全地假设您的 MDP 具有与登陆特定状态相关的固定奖励(如果您将 MDP 构建为游戏或虚拟环境的一部分,通常可以),那么是的,您应该能够运行价值迭代,就像使用该更新规则以在线方式进行 Q-learning。该等式可以正常工作,您无需存储或估计任何有关即时奖励的信息 - 预期值和即时值将是相同的。您应该注意,这不是一个适用于所有 MDP 的完全通用的解决方案。

接下来是我不确定为什么策略会在价值迭代中改变?

策略隐式变化。价值迭代的确定性策略是采取具有最佳预期回报的行动的策略:

π(s)argmaxa[r,sp(r,s|s,a)(r+γv(s)]

随着您的价值观趋同,这显然会发生变化。所有最优控制算法都需要处理这个问题,这就是为什么许多人使用滚动平均值(学习率参数)来估计值,而不是真正的平均值。