为什么在一步动态 MDP 中使用随机奖励?

数据挖掘 机器学习 强化学习
2021-09-27 03:03:21

我正在阅读 Sutton & Barto 于 2018 年出版的关于强化学习的书,我想知道将 MDP 的一步动态定义为

p(s',r|s,一个)=r(小号+1,R+1|小号=s,一个=一个)
在哪里小号是状态和一个当时的动作.R是奖励。

如果我们在从ss'通过采取行动一个,但这没有意义。我习惯了基于的定义p(s'|s,一个)r(s,一个,s'),这当然可以从上面的一步动力学推导出来。

显然,我错过了一些东西。任何启蒙都会非常有帮助。谢谢!

2个回答

一般来说,R+1is 是具有条件概率分布的随机变量r(R+1=r|小号=s,一个=一个). 因此,每次操作时它都可能具有不同的值一个被采取的状态s.

有些问题的奖励函数不需要任何随机性。使用预期奖励r(s,一个,s')在这种情况下更简单,因为我们不必担心奖励的分配。然而,有些问题的奖励函数确实需要随机性。例如,考虑经典的多臂老虎机问题。机器的收益通常不是确定性的。

作为 RL 的基础,我们希望 MDP 尽可能通用。我们将 MDP 中的奖励建模为随机变量,因为它为我们提供了普遍性。而且因为这样做很有用。

状态只是对环境的一种观察,在很多情况下,我们无法得到所有的变量来完全描述环境(或者可能太耗时或太耗费空间来覆盖所有事物)。想象一下你正在设计一个机器人,你不能也不需要定义一个涵盖风向、大气密度等的状态。

所以,虽然你处于相同的状态(相同只是意味着你关心的变量具有相同的值,但不是环境的所有动态),但你并不完全处于相同的环境中。

所以,我们可以说,从一个特定状态到另一个特定状态,奖励可能不同,因为状态不是环境,环境不可能永远相同,因为时间在流动