强化学习:Q学习

点击打开微信,马上办理ETC

如果代理人没有世界模型,也就是说,当它不知道可能的行为导致哪种状态时,基于对可能的后继状态的评估的策略显然是不可用的。在大多数现实应用中,代理商无法求助于这样的世界模型。例如,应该抓住复杂物体的机器人无法预测在抓握动作之后物体是否会被牢固地保持在其抓握中,或者它是否将保持在原位。

如果没有世界模型,则需要对状态st 执行的操作进行评估,即使该操作导致的位置仍然未知。因此,我们现在使用评估函数Qstat来表示状态及其相关动作。使用此功能,可以通过规则选择最佳操作

=

πsargmax Qsa)。10.9

一个

+ + +・・・

为了定义评估函数,我们再次使用对状态动作对的评估的逐步折扣,这种评估将在未来进一步发生,就像在第260 页的(10.1 )中一样。因此,我们要最大限度地提高室温γrt + 1 γ 2 RT + 2。因此,为了评估状态st中的动作我们定义类似于(10.4on

263 页:

 

QST,在)= 最大 RST,在)+ γRST + 1,在+ 1+ γ 2 RST + 2,在+ 2+ …)。 10.10

a t + 1t +
2……

类似于价值迭代的方法,我们将这个方程式带入一个简单的递归形式

 

QST,在)= 最大RST,在)+ γRST + 1,在+ 1+ γ 2 RST + 2,在+ 2+ …

a t + 1t +
2……

Ť

1 a t + 2

= RST,在) + γ一个+
最大RST + 1,在 + 1 + γRST + 2,在 + 2 + …

= RST,在)+ γ 最大RST + 1,在+ 1+ γ 最大RST + 2,在+ 2+ …))

a t + 1

= + + +

RST,在)γ 最大 QST 1,在
1

a t + 1

= + +

RST,在)γ 最大 QδST,在)中,在1

a t + 1

a t + 2

= +

RSAγ 最大 Qδsa)中,a)中。10.11

一个

 

那么与价值迭代相比,有什么优势呢?旧的等式只是略微重写,但事实证明这是一种新算法的正确方法。现在保存函数Q 而不是保存V,代理可以从函数δr选择其动作而不需要世界模型。然而,我们仍然没有一个可以直接学习Q的过程,也就是说,在不了解V的情况下

Qsa的递归公式,用于确定的迭代算法

Qsa可以以直接的方式导出。我们初始化表 Q SA

所有状态都是任意的,例如用零,并迭代执行

一个

Q SA = RSA+ γ 最大 Q δsa中,)。
10.12

值得注意的是,我们不知道函数rδ。我们很务实地解决这个prob- LEM通过让在其状态环境代理小号开展行动。然后,继承国显然是δsa,代理人从环境中获得奖励。第269 页的图10.11 中所示的算法实现了用于Q学习的该算法。

= =×

=

该算法实施例的应用程序10.1 257γ 0 作为示例,在图10.12 (第269 页)中示出了图 9nx 3 ny 2(即,在2 3网格中)。在第一张图片中,所有Q值都初始化为零。在第二图中,在第一动作序列之后,不等于零的四个r值变为可见的Q值。在最后一张图中,给出了学习的最优策略。下面的定理,其证明见于[Mit97],表明该算法不仅在示例中收敛,而且在一般情况下收敛。

 

 

QL EARNING()

对于所有 s ^ 小号,一

 

 

选择(例如随机)状态s

重复

选择一个动作,抓好落实获取奖励– [R和新的状态小号

Q SA = RSA+ γ 最大一个Q (一个或多个,一个)

 

直到s 是结束状态达到时间限制

直到Q 收敛

 

图片

s = s

Q SA = 0(或随机地)

重复

10.11 Q学习算法

 

图片

 

图片

 

 

图片

 

图片

 

图片

 

图片

 

图片

 

图片

图片

 

图片

学习Q ñSA)是对于Q个)经过n更新如果每个州

= =

10.12应用于 n x 3n y 2的示例的Q学习。灰色箭头标记在每张图片中执行的动作。给出了更新的 Q值。在最后一张图片,目前的政策,这也是最佳的, 显示

 

定理10.1 让确定性MDP具有有限的即时奖励

rsa)给出方程10.12 2680 γ< 1用于

 

动作对被访问无限频繁Q Ñ SA收敛到QSa)用于所有的值S和对于n →∞

证明由于每个州行动过渡经常无限发生,我们看看成功

具有属性的时间间隔,在每个间隔中,所有状态动作转换至少发生一次。我们现在表明,在所有条目的最大误差Q

在这些间隔的每一个中,表至少减少了因子γ。让

SA

n = 最大 | Q ñ SAQSA |

=

在表中的最大误差 Q Ñ 小号δSA。对于每个表项 Q ÑSA

我们计算它在间隔后对误差的贡献

 

| Q Ñ + 1SA QSA| = – [R + γ 最大 Q Ñ (一个或多个,一个) [R + γ 最大 Q(小号,一)

一个 一个

一个

一个

= γ 最大 Q Ñ (一个或多个,一个)最大值 Q(小号,一)

一个

γ 最大 | Q ñ S
,一)Q(小号,一) |

≤| | =

γ 最大 QNSAQSAγñ

s a

第一个不等式是正确的,因为对于任意函数fg

 

X

X

X

最大FX最大GX 最大 | fxgx |

 

并且第二个不等式是正确的,因为通过状态s的额外变化,得到的最大值不能变小。因此,已经表明n + 1

γn 。由于每个间隔中的误差在 k 之后减小了至少 γ 的因子

间隔最多为γk0,结果,0是有界的。由于每个状态被无限次访问,因此存在无限多个间隔并且n收敛于零。

根据第 269 页的定理 10.1 Q学习与学习期间选择的行为无关。这意味着对于收敛而言,代理选择的操作无关紧要,只要每个操作都经常无限执行即可。然而,收敛的速度当然取决于代理人在学习过程中所采用的路径(见第 10.7节)。

 

10.6.1非确定性环境中的Q学习

 

在许多机器人应用中,代理的环境是不确定的。这意味着环境对状态s中的动作a在两个不同时间点的反应可以导致不同的后继状态和奖励。这种非确定性马尔可夫过程由概率转移函数δsa和概率立即奖励rsa建模。要定义Q 函数,每次必须在所有可能的后继状态上计算预期值。公式(10.11

因此,第 268 页推广到

 

一个

Qstat= Ersa))+ γP s | samax Qsa),10.13

小号

小号

|

其中Pssa是通过动作a从状态s移动到后继状态s的概率。遗憾的是,如果我们按照第268 页的(10.12 )进行操作,则不能保证在非确定性情况下进行Q学习的收敛。这是因为,在通过在图的算法的外部循环连续运行10.11 页上的269,奖励和后继状态可以是相同的状态完全不同的小号和相同的作用一个。这可能导致交替序列在几个值之间来回跳跃。为了避免这种强烈的跳跃Q值,我们将旧的加权Q 值添加到第268 页的(10.12 )的右侧。这可以稳定迭代。然后学习规则读取

一个

Q ÑSA =1 αNñ
1SA+ αN RSA+ γ 最大 Q ñ
1δsa)中,)10.14

 

具有随时间变化的加权因子

1

图片

ñ

α Ñ = 1 + BS,一个)

bnsa表示动作a在状态s中执行频率

n 次迭代。对于小值亿元(即,在学习的开始)的STA-bilizing Q ñ
1SA不发挥作用,因为我们要学习过程中尽快取得进展。然而,后来, bn 变大,从而阻止了

引起过量大跳跃的顺序Q 。在整合(10.1 4)时

Q-learning,必须为所有状态动作对保存值bnsa。这可以通过延伸的表来实现Q

=

为了更好地理解(10.14),我们通过假设αnα是一个常数并将其转换如下来简化它:

一个

Q ÑSA =1 αñ
1SA+ α RSA+ γ 最大 Q ñ
1δsa)中,)

一个

= Q ñ 1SA+ α RSA+ γ 最大 Q ñ 1δsa)中,) Q ñ 1SA) 。

 

图片图片

TD -e rror

新的 Q Q ÑSA 可清楚地表示为旧 Q Ñ
1SA加上 α 倍这是相同的校正项 Q 值在这个步骤的变化。校正项称为TD误差或时间差误差,以及上述

=

改变Q值的方程是TD-Learning的一个特例,TD-Learning是一类重要的学习算法[SB98]。对于α = 1,我们获得所描述的Q学习

以上。对于α 0Q 是完全不变。因此,没有学习

地点。

 

图片


 

点击打开微信,马上办理ETC

发表评论