Deep learning 有人能解释清楚如何计算强化学习中的优势函数吗?

Deep learning 有人能解释清楚如何计算强化学习中的优势函数吗?,deep-learning,reinforcement-learning,Deep Learning,Reinforcement Learning,我很难理解如何获取数据来计算演员评论员设置中的优势 我知道A(s,A)=Q(s,A)-V(s)。获取状态值估计值似乎很简单,但是如果策略只输出概率,我们如何估计Q(s,a) 谢谢 Q函数取决于每个未来状态的奖励值的可用性。Q(s,a)是对新状态s'采取行动a并评估结果V(s')的值。因此,净优势将是P(a)*V(s'(a))的所有行动a的总和,其中s'(a)是从stats采取行动a所达到的状态 记住,这只是一个价值估计;这就是训练迭代证明其价值的地方。你不断迭代,直到值收敛到一个稳定的马尔可夫模

我很难理解如何获取数据来计算演员评论员设置中的优势

我知道
A(s,A)=Q(s,A)-V(s)
。获取状态值估计值似乎很简单,但是如果策略只输出概率,我们如何估计
Q(s,a)


谢谢

Q函数取决于每个未来状态的奖励值的可用性。Q(s,a)是对新状态
s'
采取行动
a
并评估结果
V(s')
的值。因此,净优势将是
P(a)*V(s'(a))
的所有行动
a
的总和,其中
s'(a)
是从stat
s
采取行动
a
所达到的状态


记住,这只是一个价值估计;这就是训练迭代证明其价值的地方。你不断迭代,直到值收敛到一个稳定的马尔可夫模型。

你应该使用批评家而不是参与者来估计Q(s,a)

请记住,在参与者-批评家设置(例如A2C)中,参与者将输出您在
s
状态下所有动作的概率分布。从这个发行版中,您将对要在环境中执行的动作
a
进行采样。然后,环境会给你一个奖励
r
,下一个状态是
s'

在执行
N
步骤后,您将使用批评家估计状态值
V(s)
,并计算优势,以指出您的行动比平均水平好多少。利用这一优势,您将更新您的策略(actor),以增加/减少在州
s
采取行动的概率
a

因此,要在这个框架中使用优势函数,您可以使用批评家来估计
Q(s,a)
,这是每对动作状态的值。然后,您可以使用以下方法估计
V(s)

你可以看看这个,看看这个,有一个更好的想法。注意,要估计
Q(s,a)
你的评论家网络应该有
|a
输出单位,而不是像
V(s)
那样只有一个。还有其他选项可以尝试作为您的优势功能

请记住,advantage函数的唯一目的是告诉您的模型在状态
s
下采取行动的概率增加/减少多少。如果它比平均水平好,你就会增加,否则你就会减少

这是一个很好的参考