策略梯度方法和基于神经网络的动作值方法有什么区别?

What is the difference between policy gradient methods and neural network-based action-value methods?

策略梯度方法和基于神经网络的动作值方法有什么区别?

我们需要区分"action selection"和"action-value estimation"。

行动价值(由Q(s, a)表示)估计包括为特定行动a计算某种"score"(通常称为"expected future reward")给定状态 s。我们只是估算这个值Q(s, a),但我们仍然不知道我们将采取什么行动。

然后,有一个动作选择,它是一个函数 f,它根据一些信息,returns 我们执行的动作。

广泛的 class 命名为 行动价值方法 是 "action selection" 方法,当给定行动价值估计(分数)时 Q,给我们一个要执行的动作。这种方法的一个例子是 epsilon-greedy 方法。这种概率为 1 - epsilon 的方法会选择动作价值得分最高的动作,概率为 epsilon(通常是一个小数字)会随机选择动作。我们使用的唯一信息是 Q 分数。

策略梯度方法执行动作选择。我们给f的信息是当前状态s和一些参数thetaf(s, theta)我们可以把这些参数theta想象成一个神经网络的权重.因此,在实践中,我们会将神经网络的权重设置为 theta 的值,将网络状态 s 作为输入,并将动作 a 作为输出。这只是策略梯度方法的一个例子。我们不需要任何状态值或动作值估计来获得策略。此外,函数 f 必须是可微的。

Actor-Critic 方法还执行动作选择。与策略梯度方法的不同之处在于函数 f 还接受动作值估计,即 Q 作为输入:f(s, theta, Q)。我们需要行动价值估计才能采取行动。

您可以在第 13 章:策略梯度方法中阅读 Sutton 和 Barto 的“强化学习:简介”中的更多差异。