为什么强化学习 (RL) 中的预期回报被计算为累积奖励的总和?

人工智能 强化学习 q学习 奖励 价值函数 返回
2021-11-16 06:43:31

为什么强化学习 (RL) 中的预期回报被计算为累积奖励的总和?

计算不是更有意义吗E(Rs,a)(采取行动的预期回报a在给定的状态s) 作为记录的所有奖励的平均值s并采取行动a?

在许多示例中,我看到一个状态的值计算为预期回报,计算为奖励的累积总和乘以折扣因子:

Vπ(s)=E(Rs)(状态 s 的值,如果我们遵循策略 π 等于给定状态 s 的预期回报)

所以,Vπ(s)=E(rt+1+γrt+2+(γ2)t+3+...s)=E(γkrt+k+1s)

作为R=rt+1+γrt+2+γ2rt+3,+...

如下计算状态的值是否更有意义:

Vπ(s)=(rt+1+γrt+2+(γ2)t+3,+...s)/k=E(γkrt+k+1s)/k其中 k 是总和中元素的数量,因此给了我们处于状态 s 的平均奖励。

累积和示例的参考:https ://joshgreaves.com/reinforcement-learning/understanding-rl-the-bellman-equations/

1个回答

为什么强化学习 (RL) 中的预期回报被计算为累积奖励的总和?

这就是回报的定义。

事实上,当应用折扣因子时,这应该正式称为折扣回报,而不仅仅是“回报”。通常,相同的符号用于两者 (R在你的情况下,G例如萨顿和巴托)。

还有其他变化,例如截断回报(总和到给定的时间范围)。他们都有一个共同的特点,即回报是奖励价值的总和。您无法真正改变这一点并保留正式术语“return”,这就是它的定义方式。

但是,您可以将价值函数定义为预期回报之外的东西。与其寻找标题所暗示的回报的替代定义,不如寻找替代指标来用作价值函数。

您确实继续询问计算“状态的价值”而没有提及“return”一词,但您是否知道解决此问题的方法不是使用 return,而是使用其他东西,这并不是 100% 清楚。

如下计算状态的值是否更有意义: Vπ(s)=(rt+1+γrt+2+(γ2)t+3,+...s)/k=E(γkrt+k+1s)/k其中 k 是总和中元素的数量,因此给了我们处于状态 s 的平均奖励。

对于长期运行或非偶发性问题,您的示例几乎总是会导致零,因为您正在对一个递减的几何级数求和,可能会达到非常大k,然后除以最大值k. 符号方面你也在使用k作为一个迭代器和同一个迭代器的最大值,这需要修复。

然而,这非常接近强化学习中使用的真实价值指标,称为平均奖励设置

非偶发问题的预期平均奖励值函数通常由下式给出

Vπ(s)=E[limh1hk=0hrt+k+1|st=s]

请注意,没有折扣因子,通常不可能将折扣因子与平均奖励设置结合起来。

Sutton & Barto 在Reinforcement Learning: An Introduction第 10 章第 10.4 节中指出,当在连续任务上使用函数逼近时,折扣因子不是设置的有用部分。相反,平均奖励是一种更自然的方法。修改贝尔曼方程和更新规则也没有那么不同,而且很容易。然而,许多 DQN 实现仍然使用折扣回报来解决持续的任务。那是因为有足够高的折扣系数γ,例如0.99或者0.999,那么最终结果很可能是相同的最优解——折扣因子已经从问题公式的一部分变成了解超参数。