为什么强化学习 (RL) 中的预期回报被计算为累积奖励的总和?
这就是回报的定义。
事实上,当应用折扣因子时,这应该正式称为折扣回报,而不仅仅是“回报”。通常,相同的符号用于两者 (R在你的情况下,G例如萨顿和巴托)。
还有其他变化,例如截断回报(总和到给定的时间范围)。他们都有一个共同的特点,即回报是奖励价值的总和。您无法真正改变这一点并保留正式术语“return”,这就是它的定义方式。
但是,您可以将价值函数定义为预期回报之外的东西。与其寻找标题所暗示的回报的替代定义,不如寻找替代指标来用作价值函数。
您确实继续询问计算“状态的价值”而没有提及“return”一词,但您是否知道解决此问题的方法不是使用 return,而是使用其他东西,这并不是 100% 清楚。
如下计算状态的值是否更有意义:
Vπ(s)=(rt+1+γrt+2+(γ2)t+3,+...∣s)/k=E(∑γkrt+k+1∣s)/k其中 k 是总和中元素的数量,因此给了我们处于状态 s 的平均奖励。
对于长期运行或非偶发性问题,您的示例几乎总是会导致零,因为您正在对一个递减的几何级数求和,可能会达到非常大k,然后除以最大值k. 符号方面你也在使用k作为一个迭代器和同一个迭代器的最大值,这需要修复。
然而,这非常接近强化学习中使用的真实价值指标,称为平均奖励设置。
非偶发问题的预期平均奖励值函数通常由下式给出
Vπ(s)=E[limh→∞1h∑k=0hrt+k+1|st=s]
请注意,没有折扣因子,通常不可能将折扣因子与平均奖励设置结合起来。
Sutton & Barto 在Reinforcement Learning: An Introduction第 10 章第 10.4 节中指出,当在连续任务上使用函数逼近时,折扣因子不是设置的有用部分。相反,平均奖励是一种更自然的方法。修改贝尔曼方程和更新规则也没有那么不同,而且很容易。然而,许多 DQN 实现仍然使用折扣回报来解决持续的任务。那是因为有足够高的折扣系数γ,例如0.99或者0.999,那么最终结果很可能是相同的最优解——折扣因子已经从问题公式的一部分变成了解超参数。