策略梯度方法和基于神经网络的动作值方法有什么区别?
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
和一些参数theta
:f(s, theta)
我们可以把这些参数theta
想象成一个神经网络的权重.因此,在实践中,我们会将神经网络的权重设置为 theta
的值,将网络状态 s
作为输入,并将动作 a
作为输出。这只是策略梯度方法的一个例子。我们不需要任何状态值或动作值估计来获得策略。此外,函数 f
必须是可微的。
Actor-Critic 方法还执行动作选择。与策略梯度方法的不同之处在于函数 f
还接受动作值估计,即 Q
作为输入:f(s, theta, Q)
。我们需要行动价值估计才能采取行动。
您可以在第 13 章:策略梯度方法中阅读 Sutton 和 Barto 的“强化学习:简介”中的更多差异。
策略梯度方法和基于神经网络的动作值方法有什么区别?
我们需要区分"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
和一些参数theta
:f(s, theta)
我们可以把这些参数theta
想象成一个神经网络的权重.因此,在实践中,我们会将神经网络的权重设置为 theta
的值,将网络状态 s
作为输入,并将动作 a
作为输出。这只是策略梯度方法的一个例子。我们不需要任何状态值或动作值估计来获得策略。此外,函数 f
必须是可微的。
Actor-Critic 方法还执行动作选择。与策略梯度方法的不同之处在于函数 f
还接受动作值估计,即 Q
作为输入:f(s, theta, Q)
。我们需要行动价值估计才能采取行动。
您可以在第 13 章:策略梯度方法中阅读 Sutton 和 Barto 的“强化学习:简介”中的更多差异。