策略梯度方法和基于神经网络的 Action 值方法有什么区别?
最佳答案
我们需要区分“ Action 选择”和“ Action 值(value)估计”。
Action 值(value)(用Q(s, a)
表示)估计在于计算特定 Action 的某种“分数”(通常称为“预期 future 奖励”) a
处于给定状态s
。我们只是估计这个值Q(s, a)
,但我们仍然不知道我们将采取什么行动。
然后,有一个 Action 选择,它是一个函数f
,它根据一些信息返回我们执行的 Action 。
名为 Action 值(value)方法的大类是“ Action 选择”方法,当给出 Action 值(value)估计(分数)Q
时,它会给我们一个执行的 Action 。这种方法的一个例子是epsilon-greedy方法。此方法以 1 - epsilon
的概率选择操作值(value)得分最高的操作,并以 epsilon
的概率(通常很小)随机选择一个操作。我们使用的唯一信息是 Q 分数。
策略梯度方法执行操作选择。我们提供给f
的信息是当前状态s
和一些参数theta
:f(s, theta)
我们可以将这些参数theta
想象为神经网络的权重。因此,在实践中,我们将神经网络的权重设置为 theta
的值,将网络状态 s
作为输入并获得一个 Action a
作为输出。这只是策略梯度方法的一个示例。我们不需要任何状态值(value)或行动值(value)估计来获得政策。此外,函数f
必须是可微分的。
Actor-Critic方法还执行 Action 选择。与策略梯度方法的区别在于,函数 f
还接受 Action 值估计,即 Q
,作为输入:f(s, theta, Q)
。我们需要评估行动值(value)才能采取行动。
您可以在 Sutton 和 Barto 的“强化学习:简介”第 13 章:策略梯度方法中详细了解这些差异。
关于machine-learning - 策略梯度方法和基于神经网络的 Action 值方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50189695/