马尔可夫决策过程中的时间步长是什么?

人工智能 强化学习 术语 马尔可夫决策过程 返回 时间步长
2021-11-12 01:26:28

使用折扣因子的“未来奖励的折扣总和”(或回报)γγ

γ1r1+γ2r2+γ3r2+

γ1r1+γ2r2+γ3r2+(1)

在哪里r一世ri是在一世i时间步长。

我对什么构成time-step感到困惑。说,我现在采取行动,所以我将在 1 个时间步内获得奖励。然后,我将在时间步 2 中再次采取行动,以在时间步 3 中获得第二个奖励。但是公式11暗示别的东西。

如何定义时间步长?我们可以采取行动并在一个步骤中获得奖励吗?

例子是最有帮助的。

2个回答

马尔可夫决策过程 (MDP)模型中,我们定义了一组状态 (小号S),一组动作(一个A), 奖励 (RR),以及转移概率(s's,一个). 目标是找出在每个州采取的最佳行动,即政策π.

政策

为了计算策略,我们使用贝尔曼方程

一世+1(s)=R(s)+γ最大限度一个一个(s'小号(s's,一个)一世(s'))

当开始计算值时,我们可以简单地开始:

1(s)=R(s)

为了提高这个值,我们应该考虑系统可以采取的下一个动作,并将产生新的奖励:

2(s)=R(s)+γ最大限度一个一个(s'小号(s's,一个)1(s'))

在这里你考虑到当前状态的奖励sR(s),以及可能的未来奖励的加权总和。我们用(s's,一个)给出到达状态的概率s's用行动一个.γ是一个介于01并且被称为折扣因子,因为它降低了未来奖励的重要性,因为这些是不确定的。一个经常使用的值是γ=0.95.

当使用值迭代时,这个过程一直持续到值函数已经收敛,这意味着在进行新的迭代时值函数不会发生显着变化:

一世+1(s)-一世(s)<ε,s小号,

在哪里ε是一个非常小的值。

未来奖励的折扣总和

如果您查看贝尔曼方程并迭代地执行它,您将看到:

(s)=R(s)+γ最大限度一个一个(一个一个(s's,一个)[R(s')+γ最大限度一个一个(s''小号(s''s',一个)(R(s'')+γ最大限度一个一个(s'''小号(s'''s'',一个)(s'''))])

这就像(没有转换功能):

R(s)+γR(s')+γ2R(s'')+γ3R(s''')+

总结

因此,当我们从状态s开始时,我们希望采取能够给予我们最佳总奖励的行动,不仅要考虑当前或下一个状态,还要考虑所有可能的下一个状态,直到我们达到目标。这些是您所指的时间步长,即采取的每项操作都在一个时间步长中完成。当我们学习策略时,我们会尝试考虑尽可能多的时间步骤来选择最佳操作。


如果你在互联网上搜索,你可以找到相当多的例子,例如,在CMUUC BerkeleyUW的幻灯片中。

在强化学习设置中,代理以(离散)时间步长与环境交互,在代理采取行动、接收奖励并且“系统”(环境和代理)移动到新状态后递增。

更准确地说,在时间步=0(第一个时间步),环境(包括代理)处于某种状态s=s0, 采取行动一个=一个0并接受和奖励r=r0并且环境(包括代理)移动到下一个状态s+1=s0+1=s1,这也将是环境在下一个时间步所处的状态,+1,因此记号s+1. 这里,下标指与那些“实体”(状态、动作和奖励)相关的时间步长。所以,经过一个时间步骤(或之后=0),代理将处于状态s+1新的时间步长将是+1=0+1=1. 所以,我们现在处于时间步长=1(因为我们刚刚增加了时间步长)并且代理处于状态s=s1. 然后重复前面描述的交互:代理采取行动一个=一个1, 获得奖励r=r1环境转移到状态s+1=s1+1=s2, 等等。

在您的总结中,我们只是使用表示的值对奖励进行折扣γ(通常介于01),这通常被称为“折扣因子”。该总和表示代理从时间步开始(在这种情况下)将收到的奖励的总和=1. 我们也可以r1+r2+r3+,但是,出于技术或数学的原因,我们经常“打折”奖励,也就是说,我们将它们乘以γ(提高到与将收到奖励的时间步相关的幂)。

在上面的描述中,我说过,在某个时间步,代理采取行动一个并获得奖励r. 但是,通常情况下,在时间步采取行动后获得的奖励表示为r+1. 我认为这有点令人困惑,但在概念上并没有“错误”,因为人们可能会认为在时间步执行动作的奖励仅在下一个时间步收到。(你应该习惯稍微不同的符号和术语。刚开始的时候,不容易理解,如果符号在不同来源之间不精确和一致,但你会习惯它,你对这个主题了解得越多,就像你习惯一种新语言一样)。