【动手学强化学习】part4-时序差分算法

阐述、总结【动手学强化学习】章节内容的学习情况,复现并理解代码。


一、算法背景

1.1目标

给定“黑盒”环境,求解最优policy

1.2问题

蒙特卡罗方法(Monte Carlo,MC)估计中,对于每一个q(s,a)的估计需要采样N个episode才能进行,时间效率低。
采用greedy策略,可能会在与环境交互过程中,导致某些(s,a)状态动作对永远没有在episode中出现。

1.3解决方法

  • 🌟时序差分(Temporal Difference, TD)
    MC估计的核心思想
    E [ X ] ≈ x ˉ : = 1 N ∑ i = 1 N x i . \mathbb{E}[X]\approx\bar{x}:=\frac1N\sum_{i=1}^Nx_i. E[X]xˉ:=N1i=1Nxi.

    w k + 1 = 1 k ∑ i = 1 k x i , k = 1 , 2 , … w_{k+1}=\frac{1}{k}\sum_{i=1}^{k}x_{i},\quad k=1,2,\ldots wk+1=k1i=1kxi,k=1,2,
    则可推导出:
    w k + 1 = w k − 1 k ( w k − x k ) . w_{k+1}=w_k-\frac{1}{k}(w_k-x_k). wk+1=wkk1(wkxk).
    同理,action value的定义式也为期望,那么则有:
    q k + 1 = q k − 1 k ( q k − G k ) . q_{k+1}=q_k-\frac{1}{k}(q_k-G_k). qk+1=qkk1(qkGk).
    按定义而言 G k G_k Gk 为从(s,a)出发第k次采样episode的累计奖励值。因此基于上述推导,可以采取“增量式”的思想去估计q(s,a),不必再像MC算法中需等待N个episode都采样完再估计q(s,a)值,边采样就能边估计
    Q ( s t , a t ) ← Q ( s t , a t ) + α [ r t + γ Q ( s t + 1 , a t + 1 ) − Q ( s t , a t ) ] Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha[r_t+\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t)] Q(st,at)Q(st,at)+α[rt+γQ(st+1,at+1)Q(st,at)]
    (❓这块的数学转换还有点没梳理清楚)

  • 额外说明:
    ① TD error的定义:
    r t + γ Q ( s t + 1 , a t + 1 ) − Q ( s t , a t ) r_t+\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t) rt+γQ(st+1,at+1)Q(st,a<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值