阐述、总结【动手学强化学习】章节内容的学习情况,复现并理解代码。
文章目录
一、算法背景
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=1∑Nxi.
令
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=1∑kxi,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=wk−k1(wk−xk).
同理,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=qk−k1(qk−Gk).
按定义而言 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<

最低0.47元/天 解锁文章
1311

被折叠的 条评论
为什么被折叠?



