7 Multi-step Bootstrapping

【上一节6 Temporal-Difference (TD) Learning
【下一节8 Planning and Learning with Tabular Methods

1、n-step TD Prediction

TD 和 蒙特卡洛方法在原理上是有一定区别的,例如利用在给定规则 π {\pi} π 下产生的样本 episodes 来估计 v π v_{\pi} vπ,蒙特卡洛方法会基于整个 episode 结束之后的 reward 来对每个状态进行更新。而 one-step TD 方法的 backup 是基于下一个reward的。有一些介于这两种方法之间的算法,会基于中间一定数量的rewards来 backup,例如,two-step backup 会基于一个状态之后两步的rewards和两步之后的估计value。对 v π v_{\pi} vπ 的n-step backups的图形化表示如下所示:

图1

使用 n-steps backups 的方法仍然是 TD 方法,因为它们都是基于之前的估计与之后的估计的偏差来更新值,只不过这里用的是n步之后的值,因此可以将它们称为是 n-step TD 方法。

我们知道,在蒙特卡洛方法中,对 v π ( S t ) v_{\pi}(S_{t}) vπ(St) 的更新是利用完整的return,即更新方程为:
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

其中T是episode的最后一个time step,从中可以看出,蒙特卡洛方法中的 target 是 return,而在one-step方法中其 target 是第一个reward加上之后状态的估计值乘上一个衰减系数,称之为 one-step return:
G t ( 1 ) ≐ R t + 1 + γ V t ( S t + 1 ) G_t^{(1)} \doteq R_{t+1} + \gamma V_{t}(S_{t+1}) Gt(1)Rt+1+γVt(St+1)
其中,KaTeX parse error: Undefined control sequence: \cal at position 6: V_t:{\̲c̲a̲l̲ ̲S}\rightarrow {… 是在时间点 t 对 v π v_{\pi} vπ的估计值,即是对 γ 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 的代替,因此对 two-step return 即为:
G t ( 2 ) ≐ R t + 1 + γ R t + 2 + γ 2 V t + 1 ( S t + 2 ) G_t^{(2)} \doteq R_{t+1} + \gamma R_{t+2} + \gamma ^2 V_{t+1}(S_{t+2}) Gt(2)Rt+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 + ⋯ + γ T − t − 1 R T \gamma^2 R_{t+3} + \cdots + \gamma^{T-t-1} R_{T} γ2Rt+3++γTt1RT 的代替,类似的我们就可以推导出任意 n-step backup的return为:
G t ( n ) ≐ R t + 1 + γ R t + 2 + ⋯ + γ n − 1 R t + n + γ n V t + n − 1 ( S t + n ) , n ≥ 1 , 0 ≤ t < T − n G_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}) , n\geq 1, 0 \leq t < T-n Gt(n)Rt+1+γRt+2++γn1Rt+n+γnVt+n1(St+n),n1,0t<Tn

注意到,对 n > 1 n>1 n>1,n-step 的 returns 包含了未来的rewards和value function,在从时刻 t 到时刻 t+1 转换的时候是未知的,只有在时刻 t+n 之后才可用,因此,对 n-step 算法来说其算法应该是:
V t + n ( S t ) ≐ V t + n − 1 ( S t ) + α [ G t ( n ) – V t + n − 1 ( S t ) ] , 0 ≤ < T V_{t+n}(S_t) \doteq V_{t+n-1}(S_t) + \alpha [G_t^{(n)} – V_{t+n-1}(S_t)], 0\leq<T Vt+n(St)Vt+n1(St)+α[Gt(n)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值