在强化学习中,策略迭代和价值迭代有什么区别?
据我了解,在值迭代中,您使用Bellman方程来求解最优策略,而在策略迭代中,您随机选择一个策略π,并找到该策略的收益。
我的疑问是,如果您在PI中选择随机策略π,那么即使我们选择多个随机策略,也如何保证它是最佳策略。
Answers:
让我们并排看它们。比较的关键部分突出显示。数字来自Sutton和Barto的书:强化学习:简介。
以我的经验,策略迭代比值迭代快,因为策略比值函数收敛更快。我记得这在书中也有描述。
我想这种困惑主要来自所有这些有点相似的术语,这些术语以前也使我感到困惑。
在策略迭代算法中,您从随机策略开始,然后找到该策略的价值函数(策略评估步骤),然后根据先前的价值函数找到新的(改进的)策略,依此类推。在此过程中,保证每项策略都是对先前策略的严格改进(除非它已经是最优的)。给定策略,可以使用Bellman运算符获取其值函数。
在值迭代中,从一个随机值函数开始,然后在迭代过程中找到一个新的(改进的)值函数,直到达到最佳值函数。注意,您可以轻松地从最佳值函数中得出最佳策略。该过程基于最优Bellman算子。
从某种意义上说,这两种算法共享相同的工作原理,可以将它们视为广义策略迭代的两种情况。但是,最佳Bellman算子包含一个max算子,它是非线性的,因此具有不同的特征。另外,可以在纯值迭代和纯策略迭代之间使用混合方法。
基本区别是-
在策略迭代中-您随机选择一个策略并找到与其对应的价值函数,然后根据先前的价值函数找到一个新的(改进的)策略,依此类推,这将导致最佳策略。
在值迭代中-您随机选择一个值函数,然后在迭代过程中找到一个新的(改进的)值函数,直到达到最优值函数,然后从该最优值函数中得出最优策略。
政策迭代的工作原理是“政策评估->政策改进”。
价值迭代的原则是“最优价值功能->最优政策”。