n-step Bootstrapping

本文详细介绍了n-步TD预测、Sarsa及其扩展,探讨了n-步更新在强化学习中的应用,包括off-policy学习和无重要性采样的树备份算法,以及统一的n-步Q(σ)算法,揭示了它们在更新目标和误差减少方面的特性。
摘要由CSDN通过智能技术生成

n-步 TD 预测

考虑使用策略 π \pi π 生成样本回合估计 v π v_\pi vπ,蒙特卡洛法基于从该状态直到回合结束生成的完整的奖励序列来更新每个状态
而一步 TD 法,基于下一个奖励,从一步之后的状态的价值进行引导,作为剩余价值的代理
一种中间的方法是,基于中间数量的奖励:超过一个,但少于直到结束前的所有,来完成更新
例如,两步更新法,将会基于前两个奖励以及两个时间步之后的状态的估计值,来完成更新

使用 n-步更新的方法仍是 TD 法,因为它们仍然基于之前的估计值和稍后的估计值的变化来更新之前的估计值,只不过这个 “稍后” 不仅仅是一步之后,而是 n 步之后
这种将时序差分延伸到 n 步的就叫作 n-步 TD 法

考虑对状态 S t S_t St 的估计值的更新,其作为状态-奖励序列的结果:
S t , R t + 1 , S t + 1 , R t + 2 , … , R T , S T S_t, R_{t+1}, S_{t+1}, R_{t+2}, \dots , R_T, S_T St,Rt+1,St+1,Rt+2,,RT,ST (省略动作)
我们知道,蒙特卡洛法更新 v π ( S t ) v_\pi(S_t) vπ(St) 基于完整的回报:
G t ≐ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ + γ T − t − 1 R T G_t \doteq R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots + \gamma^{T-t-1} R_T GtRt+1+γRt+2+γ2Rt+3++γTt1RT
将这个量叫作更新的目标
在蒙特卡洛法里,更新的目标是回报,而一步更新中,目标是第一次奖励加上下一个状态的估计值的折扣,我们叫作一步回报:
G t : t + 1 ≐ R t + 1 + γ V t ( S t + 1 ) G_{t:t+1} \doteq R_{t+1} + \gamma V_t (S_{t+1}) Gt:t+1Rt+1+γVt(St+1)
其中 V t : S → R V_t : \mathcal{S} \to \mathbb{R} Vt:SR 在这里是指 v π v_\pi vπ 在时间 t t t 的估计值

G t : t + 1 G_{t:t+1} Gt:t+1 的下标表示它是时间 t t t 的截断回报,使用直到时间 t + 1 t+1 t+1 的奖励,用折扣估计 γ V t ( S t + 1 ) \gamma V_t(S_{t+1}) γVt(St+1) 代替其他项: γ R t + 2 + γ 2 R t + 3 + ⋯ + γ T − t − 1 R T \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots + \gamma^{T-t-1} R_T γRt+2+γ2Rt+3++γTt1RT 的完全回报
因此,两步更新的目标是两步回报:
G t : t + 2 ≐ R t + 1 + γ R t + 2 + γ 2 V t + 1 ( S t + 2 ) G_{t:t+2} \doteq R_{t+1} + \gamma R_{t+2} + \gamma^2 V_{t+1} (S_{t+2}) Gt:t+2Rt+1+γRt+2+γ2Vt+1(St+2)
这里 γ 2 V t + 1 ( S t + 2 ) \gamma^2 V_{t+1}(S_{t+2}) γ2Vt+1(St+2) 纠正了项: γ 2 R t + 3 + γ 3 R t + 4 + ⋯ + γ T − t − 1 R T \gamma^2 R_{t+3} + \gamma^3 R_{t+4} + \cdots + \gamma^{T-t-1} R_T γ2Rt+3+γ3Rt+4++γTt1RT 的缺失

类似地,任意 n-步更新的目标是 n-步回报:
G t : t + n ≐ R t + 1 + γ R t + 2 + ⋯ + γ n − 1 R t + n + γ n V t + n − 1 ( S t + n ) G_{t:t+n} \doteq R_{t+1} + \gamma R_{t+2} + \cdots + \gamma^{n-1} R_{t+n} + \gamma^n V_{t+n-1} (S_{t+n}) Gt:t+nRt+1+γRt+2++γn1Rt+n+γnVt+n1(St+n)
对所有的 n , t n,t n,t,使: n ⩾ 1 n \geqslant 1 n1 0 ⩽ t < T − n 0 \leqslant t < T - n 0t<Tn
所有 n-步回报可以被认为是对全回报的近似,在 n-步之后被截断并对剩余缺失的项用 V t + n − 1 ( S t + n ) V_{t+n-1}(S_{t+n}) Vt+n1(St+n) 来纠正
如果 t + n ⩾ T t + n \geqslant T t+nT(n-步回报超过了终止点),那么所有缺失的项被当作为零,因此 n-步回报和原始全回报等同: ( G t : t + n ≐ G t if  t + n ⩾ T ) (G_{t:t+n} \doteq G_t \quad \text{if} \ t+n \geqslant T) (Gt:t+nGtif t+nT)

注意,对于 n > 1 n > 1 n>1 的 n-步回报,涉及到在从 t t t 转移到 t + 1 t+1 t+1 还未知的,未来的奖励和状态
在直到得到 R t + n R_{t+n} Rt+n 和计算出 V t + n − 1 V_{t+n-1} Vt+n1 之前,没有算法能够使用 n-步回报,而第一次能够计算这些是在时间点 t + n t+n t+n
因此,一个为了使用 n-步回报的自然状态-价值学习算法是:
V t + n ( S t ) ≐ V t + n − 1 ( S t ) + α [ G t : t + n − V t + n − 1 ( S t ) ]   , 0 ⩽ t < T V_{t+n}(S_t) \doteq V_{t+n-1} (S_t) + \alpha [G_{t:t+n} - V_{t+n-1} (S_t)] \ , \quad 0 \leqslant t < T Vt+n(St)Vt+n1(St)+α[Gt:t+nVt+n1(St)] ,0t<T
而所有其他状态的价值保持不变:对于所有 s ≠ S t s \not = S_t s=St,有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值