在强化学习中,我试图理解策略迭代和值迭代之间的区别。虽然有一些普遍的回答,但我有两个具体的问题找不到答案。
1) 我听说策略迭代是“向前工作”的,而值迭代是“向后工作”的。这是什么意思?我以为这两种方法都只是处理每个状态,然后查看它可以到达的所有其他状态,并从中计算值——要么通过对策略的动作分布进行边缘化(策略迭代),要么通过就动作值取argmax(值迭代)。那么为什么会有每种方法“移动”的“方向”概念呢?
2) 策略迭代在策略评估期间需要一个迭代过程来找到值函数——然而,值迭代只需要一步。这是为什么不同的?为什么值迭代只需一步就能收敛?
谢谢!
回答:
由@用户提供的回答是正确的且相当完整的,但是我想补充一个图形解释来说明值迭代和策略迭代之间的区别,这可能会帮助回答您问题的第二部分。
两种方法,PI和VI,都遵循基于广义策略迭代的相同工作原理。这基本上意味着它们在改进策略(这需要知道其值函数)和计算新的、改进后的策略的值函数之间交替进行。
在这个迭代过程结束时,值和策略都收敛到最优状态。
然而,人们注意到不必精确计算完整的值函数,只需一步即可实现收敛。在下图中,(b)代表策略迭代执行的操作,其中计算了完整的值函数。而(d)展示了值迭代的工作方式。
显然,这两种方法的表示都是简化的,但它突出了每个算法背后的关键思想的区别。