zoukankan      html  css  js  c++  java
  • 增强学习笔记 第十二章 资格迹

    资格迹Eligibility Traces是RL中一项基本技术,Sarsa, Q-Learning等一切TD类方法,都可以用资格迹来提升学习效率。提升效率的方式是不用等到n-step再去更新n步前的value。

    资格迹和n-步Bootstrap一样,将MC和TD进行了统一。

    12.1 λ回报

    在第七章中我们有

    我们可以采用不同n值的任意线性组合来对参数进行更新,只要它们权和为1。

    我们定义

    对应参数的更新迭代式

     

    不同λ的值和不同的n-step值产生的效果类似:

    这是一个离线算法,因为需要一个episode执行完才能更新θ。

    执行完之后,回头在每一步观察后面各步的回报,并通过更新 heta校正对应的v/q值:

     12.2 TD(λ)算法

    根据上面的off-line算法,我们做一些改进,我们在每一步都更新参数θ,而不是等到最后一步。早更新效率通常会更好,另外也把计算量均匀地分摊了。

    这里我们引入资格迹向量,称为accmulative trace:

    TD误差为:

    迭代更新式为:

    理解上面的式子,我们把$oldsymbol e_t$展开为

    $oldsymbol e_t= ablahat v(S_t,oldsymbol heta_t)+gammalambda ablahat v(S_{t-1},oldsymbol heta_{t-1})+gamma^2lambda^2 ablahat v(S_{t-2},oldsymbol heta_{t-2})+cdots+gamma^{t-1}lambda^{t-1} ablahat v(S_1,oldsymbol heta_1)$

    然后代入至$oldsymbol heta$的迭代式中,有:

    $ heta_{t+1}= heta_t+alpha(delta_t ablahat v(S_t,oldsymbol heta_t)+gammalambdadelta_t ablahat v(S_{t-1},oldsymbol heta_{t-1})+gamma^2lambda^2delta_t ablahat v(S_{t-2},oldsymbol heta_{t-2})+cdots+gamma^{t-1}lambda^{t-1}delta_t ablahat v(S_1,oldsymbol heta_1))$

    观察式子,实际上更新了每一步的v值。并且和12.1中的式子近似,只是更新θ的时机顺序不同导致最后结果会有细微差别。

    12.3 在线观点

    我们定义h截断λ回报

    可以理解为在h就终止的λ回报。

    对每个episode,我们定义 heta_0^h$均为上一episode更新完之后的 heta值,然后计算每个截断点的$ heta_t^h$

     12.4 真在线TD(λ)

    将上一节的θ序列排成三角形:

    我们需要的只是对角线上的值。在episode中,每走一步,就计算出一排。但这样计算太繁琐了。对于线性近似,我们可以用下面的式子来简化计算:

    其中

    可以证明由此可以正确产生对角线上的θ值。

    上面的$oldsymbol e_t$我们成为dutch trace,是为了和12.2中的$oldsymbol e_t$作区分(accumulating trace)。之前对tile coding中的binnary features还出现过replacement trace,但是现在已经被dutch trace替代

    12.5 蒙特卡洛学习中的dutch trace(略)

  • 相关阅读:
    video 安卓ios系统 浏览器 全屏播放以及自动播放的问题
    echarts 雷达图的个性化设置
    AtCoder Grand Contest 015 题解
    AtCoder Grand Contest 014 题解
    bzoj 3242: [Noi2013]快餐店
    bzoj 2794: Cloakroom dp
    bzoj 4261: 建设游乐场 费用流
    uoj problem 31 猪猪侠再战括号序列
    APIO2017 游记
    CTSC2017 游记
  • 原文地址:https://www.cnblogs.com/milaohu/p/7638516.html
Copyright © 2011-2022 走看看