我在它的更新方程中没有看到任何关于为什么它需要事先了解奖励以及为什么它不能像 Q-learning 那样以在线方式进行训练的任何内容?
通常的值迭代更新规则是:
v(s)←maxa[∑r,s′p(r,s′|s,a)(r+γv(s′)]
或者它可以写成
v(s)←maxa[Ras+γ∑s′(p(s′|s,a)v(s′)]
在第一个等式中,r是一个已知的奖励值,你必须已经知道它的分布。在第二个等式中Ras是来自特定状态、动作对的预期奖励。也可以使用Rass′- 特定过渡的预期回报。这些都不是关于观察到的奖励实例。
您不能在价值迭代中直接使用观察到的奖励实例,并相信这将在长期内按预期工作,因为您需要对可能的行动采取最大的行动,而且通常不可能观察到采取所有可能行动的输出。
理论上,您可以维护一个单独的估计预期奖励表,这将是一个完整的 RL 算法,与其他单步 TD 算法没有太大区别。这将是 Q-learning 的一种中途之家,因为您仍然需要知道转换概率才能使用它。
您为策略迭代给出的方程式使用了稍微不同的奖励视图:
U(s)=R(s)+γmaxa∑s′T(s,a,s′)U(s′)
这里R(s)似乎代表“到达此状态的固定奖励”。如果你有一个完整的模型来处理状态转换,那么它就会被提供。但是你能从观察中学到它吗?是的,有一个重要的警告:该公式假设每个状态都有一个且只有一个相关的奖励值。
如果您可以安全地假设您的 MDP 具有与登陆特定状态相关的固定奖励(如果您将 MDP 构建为游戏或虚拟环境的一部分,通常可以),那么是的,您应该能够运行价值迭代,就像使用该更新规则以在线方式进行 Q-learning。该等式可以正常工作,您无需存储或估计任何有关即时奖励的信息 - 预期值和即时值将是相同的。您应该注意,这不是一个适用于所有 MDP 的完全通用的解决方案。
接下来是我不确定为什么策略会在价值迭代中改变?
策略隐式变化。价值迭代的确定性策略是采取具有最佳预期回报的行动的策略:
π(s)←argmaxa[∑r,s′p(r,s′|s,a)(r+γv(s′)]
随着您的价值观趋同,这显然会发生变化。所有最优控制算法都需要处理这个问题,这就是为什么许多人使用滚动平均值(学习率参数)来估计值,而不是真正的平均值。