6 Temporal-Difference (TD) Learning

【上一节5 蒙特卡洛方法(Monte Carlo Method)
【下一节7 Multi-step Bootstrapping

Temporal-difference (TD) Learning 可以说是增强学习的中心,它集成了蒙特卡洛思想和动态编程(Dynamic Programming, DP)思想,像蒙特卡洛方法一样,TD 方法不需要环境的动态模型,直接从经验经历中学习,像 DP 方法一样,TD 方法不需要等到最终的 outcome 才更新模型,它可以基于其他估计值来更新估计值。

1 TD Prediction

TD 和 蒙特卡洛方法都使用经验来解决预测问题,给定服从规则 π \pi π 的一些经历,两种方法均可更新经历中的每一个非终止的状态 S t S_t St v π v_{\pi} vπ。粗略的说, Monte Carlo 方法要等到 return 知道之后才将其设为是 V ( S t ) V(S_t) V(St) 的目标值,一个适合非固定环境的简单的 every-visit Monte Carlo 方法为:
V ( S t ) ⇐ V ( S t ) + α [ G t − V ( S t ) ] V(S_t)\Leftarrow V(S_t)+\alpha [G_t- V(S_t)] V(St)V(St)+α[GtV(St)]

其中 G t G_t Gt 代表得是时间 t t t 之后的真实 return, α \alpha α 是固定的 step-size 参数,可以将这种方法称为是 constant- α \alpha α MC,Monte Carlo 方法必须等到 episode 结束之后才能决定 V ( S t ) V(S_t) V(St) 的增量,与 Monte Carlo 方法不同的是 TD 方法只需等到下一个 time step 即可,即在时刻 t + 1 t+1 t+1,TD 方法立刻形成一个 target 并使用观测到的 reward R t + 1 R_{t+1} Rt+1 和估计的 V ( S t + 1 ) V(S_{t+1}) V(St+1) 进行更新,最简单的 TD 方法称为是 T D ( 0 ) TD(0) TD(0),其更新方法为:

V ( S t ) ⇐ V ( S t ) + α [ R t + 1 + γ V ( S t + 1 ) − V ( S t ) ] V(S_t)\Leftarrow V(S_t)+\alpha[R_{t+1}+\gamma V(S_{t+1})- V(S_t)] V(St)V(St)+α[Rt+1+γV(St+1)V(St)]

比较上面的式子可以看出,TD 方法与Monte Carlo 方法一样,都是基于已有的估计进行更新,因此 TD 方法也是一种 bootstrapping 方法,只不过Monte Carlo 更新的目标值为 G t G_t Gt,而 TD 更新的目标值为 R t + 1 + γ V ( S t + 1 ) R_{t+1}+\gamma V(S_{t+1}) Rt+1+γV(St+1),他们俩的关系其实可以从下面的式子来更好的理解:

v π ( s ) ≐ E π [ G t ∣ S t = s ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] = E π [ R t + 1 + γ ∑ k = 0 ∞ γ k R t + k + 2 ∣ S t = s ] = E π [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s ] \begin{aligned} v_{\pi}(s) &\doteq {\Bbb E}_{\pi} [G_t|S_t=s] \\ &= {\Bbb E}_{\pi} [\sum_{k=0}^{\infty}\gamma^k R_{t+k+1}|S_t=s] \\ &= {\Bbb E}_{\pi} [R_{t+1}+\gamma\sum_{k=0}^{\infty}\gamma^k R_{t+k+2}|S_t=s] \\ &= {\Bbb E}_{\pi} [R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_t=s] \end{aligned} vπ(s)Eπ[GtSt=s]=Eπ[k=0γkRt+k+1St=s]=Eπ[Rt+1+γk=0γk

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值