MC

Monte-Carlo Mthod

5.1Monte-Carlo Prediction

在策略 π \pi π下,通过采样实际交互片段,计算片段中状态的mean return近似值函数。

回报(return): G t = T t + 1 + γ R t + 2 + . . . + γ T − 1 R T G_t=T_{t+1}+ \gamma R_{t+2}+...+\gamma^{T-1}R_T Gt=Tt+1+γRt+2+...+γT1RT

原理: v ( s ) = G t / N ( s ) v_(s)=G_t/N(s) v(s)=Gt/N(s) N ( s ) N(s) N(s)为状态 S S S被访问次数,一般计算多个片段。

根据大数定理 v ( s ) → v p i ( s ) v(s) \rightarrow v_{pi}(s) v(s)vpi(s) N ( s ) → ∞ N(s) \rightarrow \infty N(s)

两种算法

First-visit MC,一个片段只计数某状态一次,即第一次访问到。

MC

Every-visit MC,一个片段中可能访问某状态多次,都参与计数

First-visit MC伪代码
1 ) 输 入 : 待 评 估 策 略 π 2 ) 初 始 化 : 任 意 设 置 v ( s ) ∈ R , s ∈ S R e t u r n s ( s ) ← 一 个 空 列 表 3 ) 无 退 出 循 环 : 根 据 策 略 π 产 生 的 经 验 片 段 : S 0 , A 0 , R 1 , S 1 , . . . , S T − 1 , A T − 1 , R T G ← 0 经 验 片 段 中 的 每 一 步 进 行 循 环 , t = T − 1 , T − 2 , . . . 0 : G ← γ G + R t + 1 再 次 访 问 当 前 要 计 算 回 报 的 状 态 则 退 出 此 次 循 环 , 否 则 继 续 将 G 赋 给 列 表 R e t u r n s v ( s t ) ← a v e r a g e ( R e t u r n s ( S t ) ) \begin{aligned} 1)&输入:待评估策略\pi \\ 2)&初始化:任意设置v(s)\in \mathbb{R},s \in S \\ & Returns(s) \leftarrow 一个空列表 \\ 3)&无退出循环: \\ &\qquad 根据策略\pi产生的经验片段:S_0,A_0,R_1,S_1,...,S_{T-1},A_{T-1},R_T\\ &\qquad G \leftarrow 0 \\ &\qquad 经验片段中的每一步进行循环,t=T-1,T-2,...0:\\ &\qquad \qquad G \leftarrow \gamma G+R_t+1 \\ &\qquad \qquad 再次访问当前要计算回报的状态则退出此次循环,否则继续\\ &\qquad 将G赋给列表Returns \\ &\qquad v(s_t) \leftarrow average(Returns(S_t)) \end{aligned} 1)2)3)πv(s)R,sSReturns(s)退πS0,A0,R1,S1,...,ST1,AT1,RTG0,t=T1,T2,...0:GγG+Rt+1访退GReturnsv(st)average(Returns(St))
v π v_\pi vπbackup diagram对比:

MC

5.2Monte Carlo Estimate of Action Values

​ 对于DP算法,在模型已知的情况下,只需知道state-values,就足以确定策略了,但在无模型情况下,只知道state-values是不能确定一个策略的,必须确定每个action-state值,以便于评估 q π ( s , a ) q_\pi(s,a) qπ(s,a)

方法:fist-visit,every-visit。

问题:不是所有的action-state都能访问到。

方案:exploring starts ,以非0概率选择每一个action-state作为片段起点。此方案不具有普遍适用性

5.3Monte Carlo Contral

前提:exploring starts无限个采样片段

与DP类似,采用GPI的方式将策略评估与策略改进(greedy policy)结合:

MC

π 0 → E q π 0 → I π 1 → E q π 1 → I π 2 → . . . → I π ∗ → E q ∗ \qquad \pi_0 \rightarrow^Eq_{\pi0}\rightarrow^I\pi_1\rightarrow^Eq_{\pi1}\rightarrow^I\pi2\rightarrow...\rightarrow^I\pi_*\rightarrow^Eq^* π0Eqπ0Iπ1Eqπ1Iπ2...IπEq

构建贪心策略: π ( s ) ≐ arg ⁡ max ⁡ a q ( s , a ) \pi(s)\doteq \arg \max_aq(s,a) π(s)argmaxaq(s,a) s ∈ S s \in S sS
q π k ( s , π k + 1 ( s ) ) = q π k ( s , arg ⁡ max ⁡ a q π k ( s , a ) ) = max ⁡ a q π k ( s , a ) ≥ q π k ( s , π k ( s ) ) ≥ v π k ( s ) ( 5.1 ) \begin{aligned} q_{\pi_{k}}\left(s, \pi_{k+1}(s)\right) &=q_{\pi_{k}}\left(s, \underset{a}{\arg \max } q_{\pi_{k}}(s, a)\right) \\ &=\max _{a} q_{\pi_{k}}(s, a) \\ & \geq q_{\pi_{k}}\left(s, \pi_{k}(s)\right) \\ & \geq v_{\pi_{k}}(s) \qquad \qquad \qquad \qquad \qquad (5.1) \end{aligned} qπk(s,πk+1(s))=qπk(s,aargmaxqπk(s,a))=amaxqπk(s,a)qπk(s,πk(s))vπk(s)(5.1)
MC ES 伪代码

MC

以上方法基于两个前提:1)exploring starts ,2)无限个采样片段,两个前提都不易得到。

这里对2)提出两种解决方案:

1)在每一次策略评估中都尽可能的接近 q π k q _{\pi_k} qπk,通过测量和假设来获得估计误差的边界和概率,并在每个 policy evaluation 过程中采取充分的措施来保证他们的边界充分的小。然而这种方法在实际中需要非常多的 episodes。

2)在没有完成策略评估时就进行策略改进。

5.4Monte Carlo Control without Exploring Starts

On-policy:评估、改进正在进行决策的策略。

Off-policy:评估、改进非进行决策的策略,利用的片段由其他决策产生的。
MC

5.5Off-policy Prediction via Importance Sampling

相关文章:

  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-30
  • 2022-12-23
  • 2022-12-23
  • 2021-06-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
  • 2021-08-17
  • 2022-12-23
相关资源
相似解决方案