您会将策略迭代归类为演员-评论家强化学习方法吗?

人工智能 强化学习 定义 演员批评方法 价值迭代 政策迭代
2021-11-16 11:55:42

在强化学习中,理解价值函数方法、策略方法和行为批评方法之间差异的一种方法如下:

  • 评论家明确地为策略建模价值函数。
  • 参与者明确地为策略建模。

价值函数方法,例如 Q-learning,只跟踪价值函数,并且策略直接从该价值函数派生(例如贪婪或 epsilon-greedily)。因此,这些方法可以归类为“仅批评者”方法。

一些策略搜索/梯度方法,例如 REINFORCE,仅使用策略表示,因此,我认为这种方法可以归类为“仅参与者”方法。

当然,除了策略模型之外,许多策略搜索/梯度方法还使用价值模型。这些算法通常被称为“actor-critic”方法(众所周知的是 A2C / A3C)。

为基于模型的动态规划算法保持这种分类法的完整性,我认为价值迭代是一种仅限参与者的方法,而策略迭代是一种参与者批评方法。然而,在提到策略迭代时,没有多少人讨论演员-评论家这个词。怎么来的?

另外,我不熟悉任何基于模型/动态编程的方法,比如仅演员方法?这些存在吗?如果不是,是什么阻止了这种情况的发生?

1个回答

为基于模型的动态编程算法保持这种分类法的完整性,我认为值迭代是一种 Actor only 方法,而策略迭代是一种 Actor-Critic 方法。然而,在提到策略迭代时,没有多少人会讨论 Actor-Critic 一词。怎么来的?

策略迭代和价值迭代都是基于价值的方法。策略迭代中的策略要么是任意的,要么是从值表派生的。它没有单独建模。

要算作一个参与者,策略函数需要直接建模为状态的参数函数,而不是通过价值评估间接建模。您不能使用策略梯度方法来调整 Actor 的策略函数,除非可以根据控制状态和动作之间关系的参数导出策略函数的梯度。一个 Actor 策略可能被记为π(a|s,θ)和参数θ是什么使学习改进成为可能。

策略迭代通常会根据当前价值估计生成明确的策略。这不是可以直接操纵的表示,而是测量值的结果,并且没有可以学习的参数。因此,在策略迭代中看到的策略不能用作 Actor-Critic 或相关方法中的参与者。

另一种表述方式是,DP 中的策略和价值函数不够独立,不能被视为演员/批评者对。相反,它们都是相同度量的视图,价值函数更接近原始度量,而策略是价值函数到策略空间的映射。

另外,我不熟悉任何基于模型/动态编程的方法,比如仅演员方法?这些存在吗?如果不是,是什么阻止了这种情况的发生?

基于模型的动态规划与 Q-learning 或 SARSA 等无模型方法的主要区别在于,动态规划方法直接使用全分布模型(可以表示为p(r,s|s,a)) 来计算预期的自举回报。

原则上没有什么可以阻止您将以这种方式计算的预期回报替换为 REINFORCE 或 Actor-Critic 方法。但是,这样做可能在计算上很困难——例如,当动作空间很大时,通常会选择这些方法。

使用基于模型的期望的基本强化将特别困难,因为您需要计算每个起始状态的所有可能轨迹的期望值 - 如果您要将所有可能结果的树扩展到该程度,那么简单的树搜索算法将性能更好,然后该算法解决为一次性计划穷举树搜索。

Actor-Critic 对 Critic 使用动态编程方法应该是可行的,我希望您可以找到在某些情况下执行此操作的示例。它可能适用于某些纸牌或棋盘游戏,如果组合的动作空间和状态空间不是太大 - 它的行为有点像使用预期的 SARSA 作为评论家组件,除了也在状态转换动态上运行预期(而预期SARSA 只是将期望置于政策之上)。你也可以改变它的深度,在理论上以额外的计算为代价获得更好的估计(如果有很大的分支因子,可能会增加很多额外的计算)