Skip to content
Tolshao
Go back

强化学习笔记4:无模型预测 model-free prediction

Introduction

这一章,解决的是用prediction的方法,来评估策略π\pi的问题。

对于Env来说,不是参数已知的MDP 比如元组中a、s、P的关系不确定 or 未知

Prediction -> Control Evaluation -> Optimization

蒙特卡洛法 Monte-Carlo learning

适用于MDP参数未知,回合制更新,遍历了所有状态s

MC是基于大数定律的: 当采样足够多时,就可以代表真值 N(s)>V(s)>Vπ(s) N(s)->\infty \Rightarrow V(s) -> V_\pi(s)

μk=1kj=1kxj=1k(xk+j=1k1xj)=1k(xk+(k1)μk1)=μk1+1k(xkμk1)\begin{aligned} \mu_{k} &=\frac{1}{k} \sum_{j=1}^{k} x_{j} \\ &=\frac{1}{k}\left(x_{k}+\sum_{j=1}^{k-1} x_{j}\right) \\ &=\frac{1}{k}\left(x_{k}+(k-1) \mu_{k-1}\right) \\ &=\mu_{k-1}+\frac{1}{k}\left(x_{k}-\mu_{k-1}\right) \end{aligned}

类似于PID的P 增益随着N增大,在逐步缩小 为了简化计算,改写方程,用α\alpha代替1N(st)\frac{1}{N(s_t)} 这样可以用固定步长来替代变步长1k\frac{1}{k} V(St)V(St)+α(GtV(St))V(S_t) \leftarrow V(S_t)+\alpha(G_t - V(S_t)) 可以看做是,vnew=vold+α(vtargetvold)v_{new} = v_{old} + \alpha(v_{target} - v_{old}),括号里面是误差 可以看到这里的α\alpha和机器学习里面用的学习率是一个符号

差分法Temporal-Difference learning

MC 在 episode遍历完之后,回合更新,效率低 TD 实现边走边更新

引入时间t的概念

Goal:学习vπv_{\pi} 的值,under policy π\pi

时序分析法 TD(0):

V(St)V(St)+α(Rt+1+γV(St+1)V(St))V\left(S_{t}\right) \leftarrow V\left(S_{t}\right)+\alpha\left(R_{t+1}+\gamma V\left(S_{t+1}\right)-V\left(S_{t}\right)\right)

Bootstrapping:根据episode表现来更新V值,自举(依靠自己努力获得)

与MC方法区别

项目MCTD
不完整片段学习能力
在线学习(every step)能力update until the end
loop环境学习能力无,必须terminating
收敛性好
初值敏感
偏差biaszerosome
方差variancehighlow

估计方法背后的理论

k=1Kt=1Tk(GtkV(stk))2\sum_{k=1}^{K} \sum_{t=1}^{T_{k}}\left(G_{t}^{k}-V\left(s_{t}^{k}\right)\right)^{2} P^s,sa=1N(s,a)k=1Kt=1Tk1(stk,atk,st+1k=s,a,s)\hat{\mathcal{P}}_{s, s^{\prime}}^{a} =\frac{1}{N(s, a)} \sum_{k=1}^{K} \sum_{t=1}^{T_{k}} 1\left(s_{t}^{k}, a_{t}^{k}, s_{t+1}^{k}=s, a, s^{\prime}\right) R^sa=1N(s,a)k=1Kt=1Tk1(stk,atk=s,a)rtk\hat{\mathcal{R}}_{s}^{a} =\frac{1}{N(s, a)} \sum_{k=1}^{K} \sum_{t=1}^{T_{k}} 1\left(s_{t}^{k}, a_{t}^{k}=s, a\right) r_{t}^{k}

MC-TD收敛速度对比

总结:DP、MC、TD

项目动态规划DP蒙特卡洛MC差分TD
自举Bootstrapping101
采样Sampling011

MC: 采样,一次完整经历,用实际收获更新状态预估价值

MC-深度

TD:采样,经历可不完整,用喜爱状态的预估状态价值预估收获再更新预估价值 TD-窄而浅

DP:没有采样,根据完整模型,依靠预估数据更新状态价值 DP-宽度

全尺度搜索、动态规划、MC、TD 对比

TD(λ)法

视野(深度)影响TD算法的稳定性,但是视野去多深,不知道 因此,综合不同深度的视野,加权求和,即TD(λ)(\lambda)

扩展TD(0),视野扩展到N个step,N=全过程时,变为MC

TD(N)推导 TD(N) 不同深度TD效果对比

对于某个问题来说,没有那个N值是最优的 因此,用几何加权的方法来对视野做平均

Forward 前向视角认知 TD(λ)TD(\lambda)

-w561

λ\lambda:对视野的平均 for iteration: t -> t+1 update value function

-w621

引入权重概念,前面的重要,指数衰减 -w533

Backward 反向认知TD(λ):提供了单步更新的机制

Credit assignment: 引入 Eligibility Traces:状态s的权重,是一个时间序列 当s重复出现,E值升高,不出现,指数下降 E0(s)=0E_{0}(s)=0 Et(s)=γλEt1(s)+1(St=s)E_{t}(s)=\gamma \lambda E_{t-1}(s)+\mathbf{1}\left(S_{t}=s\right)

Backward步骤:

δt=Rt+1+γV(St+1)V(St)V(s)V(s)+αδtEt(s)\begin{aligned} \delta_{t} &=R_{t+1}+\gamma V\left(S_{t+1}\right)-V\left(S_{t}\right)\\ V(s) & \leftarrow V(s)+\alpha \delta_{t} E_{t}(s) \end{aligned}

-w426

t=1TαδtEt(s)=t=1Tα(GtλV(St))1(St=s)\sum_{t=1}^{T} \alpha \delta_{t} E_{t}(s)=\sum_{t=1}^{T} \alpha\left(G_{t}^{\lambda}-V\left(S_{t}\right)\right) 1\left(S_{t}=s\right)

-w605

总结

-w627


Share this post on:

Previous Post
卷积神经网络CNN(convolutional)
Next Post
强化学习笔记3:动态规划 planning by dynamic programming(DP)