逍遥自在,云水遨游。.|

climerecho

园龄:4年4个月粉丝:177关注:22

强化学习-学习笔记9 | Multi-Step-TD-Target

这篇笔记依然属于TD算法的范畴。Multi-Step-TD-Target 是对 TD算法的改进。

9. Multi-Step-TD-Target

9.1 Review Sarsa & Q-Learning

  1. Sarsa
    • 训练 动作价值函数 Qπ(s,a)
    • TD Target 是 yt=rt+γQπ(st+1,at+1)
  2. Q-Learning
    • 训练 最优动作价值函数 Q-star;
    • TD Target 是 yt=rt+γmaxaQ(st+1,a)
  3. 注意,两种算法的 TD Target 的 r 部分 都只有一个奖励 rt
  4. 如果用多个奖励,那么 RL 的效果会更好;Multi-Step-TD-Target就是基于这种考虑提出的。

在第一篇强化学习的基础概念篇中,就提到过,agent 会观测到以下这个轨迹:

image

我们之前只使用一个 transition 来记录动作、奖励,并且更新 TD-Target。一个 transition 包括(st,at,st+1,rt)只有一个奖励 rt。(如上图蓝框所示)。

这样算出来的 TD Target 就是 One Step TD Target。

其实我们也可以一次使用多个 transition 中的奖励,得到的 TD Target 就是 Multi-Step-TD-Target。如下图蓝框选择了两个 transition,同理接下来可以选后两个 transition

image

9.2 多步折扣回报

Multi-Step Return.

折扣回报公式为:Ut=Rt+γUt+1

这个式子建立了 t 时刻和 t+1 时刻的 U 的关系,为了得到多步折扣回报,我们递归使用这个式子:

Ut=Rt+γUt+1=Rt+γ(Rt+1+γUt+2)=Rt+γRt+1+γ2Ut+2

这样,我们就可以包含两个奖励,同理我们可以有三个奖励......递归下去,包含 m个奖励为:

Ut=i=0m1γiRt+i+γmUt+m

即:回报 Ut 等于 m 个奖励的加权和,再加上 γmUt+m,后面这一项称为 多步回报

现在我们推出了 多步的 Ut 的公式,进一步可以推出 多步 yt 的公式,即分别对等式两侧求期望,使随机变量具体化

  1. Sarsa 的 m-step TD target:

    yt=i=0m1γirt+i+γmQπ(st+m,at+m)

    注意:m=1 时,就是之前我们熟知的标准 TD Target。

    多步的 TD Target 效果要比 单步 好。

  2. Q-Learning 的 m-step TD target:

    yt=i=0m1γirt+i+γmmaxaQ(st+m,a)

    同样,m=1时,就是之前的TD Target。

9.3 单步 与 多步 的对比

  • 单步 TD Target 中,只使用一个奖励 rt

  • 如果用多步TD Target,则会使用多个奖励:rt,rt+1,...,rt+m1

    联想一下第二篇 价值学习 的旅途的例子,如果真实走过的路程占比越高,不考虑 “成本” 的情况下,对于旅程花费时间的估计可靠性会更高。

  • m 是一个超参数,需要手动调整,如果调的合适,效果会好很多。

x. 参考教程

本文作者:climerecho

本文链接:https://www.cnblogs.com/Roboduster/p/16456065.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   climerecho  阅读(1122)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 尚好的青春 孙燕姿
  2. 2 孙燕姿
  3. 3 克卜勒 孙燕姿
克卜勒 - 孙燕姿
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.