美文网首页
强化学习-蒙特卡罗之离线策略

强化学习-蒙特卡罗之离线策略

作者: 闪电侠悟空 | 来源:发表于2022-10-25 08:16 被阅读0次

Monte Carlo的原理

在DP中,值函数可以利用Bellman方程便捷的计算。V_\pi(s)=\Sigma_{a\sim \pi(s)} [R_s^a+\gamma \Sigma_{s'} P_{ss'}^a V_\pi(s')]。然而,很多model-free的情况下,不能用这个手段了,必须回到原始的值函数的定义计算,这就是蒙特卡罗方法。
V_\pi(s)=\mathop{\mathbb{E}}_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+2}+...+\gamma^k R_{t+k}+...| S_t = s]
Q_\pi(s, a)=\mathop{\mathbb{E}}_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+2}+...+\gamma^k R_{t+k}+...| S_t = s, A_t=a]

用样本均值来近似估计期望是可行的,大数定律
G_t = \Sigma_i \gamma^i r_{t+i+1}

V_\pi(s)\approx \frac{\Sigma_n G_n (s)}{N}=\frac{1}{N}(G_N+(N-1)*V_{N-1}) = V_{N-1}+\frac{1}{N} (G_N-V_{N-1})
也就是,V_{N}= V_{N-1}+\frac{1}{N} (G_N-V_{N-1})通过增量进行更新。

同理,action-value function 也可以这么近似。
Q(s,a) = Q(s,a) + \alpha (G_t- Q(s,a))

策略评估

通过上述的采样手段,完成了对\pi的评估。

策略改进

贪心策略当然是可以的,但是存在over exploit (under exploration)的问题。所以,在书中,采用\epsilon- greedy 策略。
\pi(s) = \begin{cases} 1-\epsilon + \epsilon/m & a = \arg max Q(s,a) \\ \epsilon/m & else \end{cases}
实际上,就是将delta分布与均匀分布做了一个mixture。 这种改进是否一定有效呢? 即,需要证明: V_\pi(s)\leq Q(s, a')=Q(s, \pi'(s))

根据定义有:
Q(s, \pi'(s))=\Sigma _{a} \pi'(a)Q_\pi(s,a)=\frac{\epsilon}{m}\Sigma _{a} Q_\pi(s,a)+(1-\epsilon) \max Q(s,a)
已知:
\max Q(s,a)\geq \Sigma_{a\in A} \pi_{any}(a|s)Q(s,a)
所以,choose \pi_{any}(a|s) = \frac{\pi(a|s)-\epsilon/m}{1-\epsilon},
于是:
Q(s, \pi'(s))=\frac{\epsilon}{m}\Sigma _{a} Q_\pi(s,a)+(1-\epsilon) \max Q(s,a)
Q(s, \pi'(s))\geq \frac{\epsilon}{m}\Sigma _{a} Q_\pi(s,a)+(1-\epsilon) \Sigma_{a\in A} \frac{\pi(a|s)-\epsilon/m}{1-\epsilon}Q(s,a)
Q(s, \pi'(s))\geq \Sigma_{a\in A} \pi(a|s)Q(s,a) = V_\pi(s)
证明完毕。PS:书中的证明过程是有问题的,结论不变。

On-policy & Off-policy

在线策略和离线策略,也是观测到\epsilon-greedy 产生的策略有一定的随机性,不适合做最优策略。策略评估和策略改进能否用两种策略呢?根据答案从而产生了 on-policy 和off-policy 两种方案。 On-policy (在线策略)是指两个过程中使用的是同一个策略。

离线策略 off policy

前面说了,在数据采集阶段使用的是行为策略,而要用行为策略的数据对原始策略进行改进。所以还是要谈,策略评估的问题
Q_\pi(s, a)=\mathop{\mathbb{E}}_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+2}+...+\gamma^k R_{t+k}+...| S_t = s, A_t=a] = \mathop{\mathbb{E}}_\pi G_t
根据重要性采样算法, 另外的一个分布下的采样,可以对另外一个分布的期望进行计算。
Q_\pi(s, a)= \mathop{\mathbb{E}}_\pi G_t= \mathop{\mathbb{E}}_{\pi'} \frac{\pi}{\pi'} G_t
使用重要性采样,\frac{\pi}{\pi'} 极有可能是一个很大的数,这样估算的Q_\pi(s, a) 方差会很大,从而不稳定。解决办法是利用加权重要性采样。

相关文章

网友评论

      本文标题:强化学习-蒙特卡罗之离线策略

      本文链接:https://www.haomeiwen.com/subject/zyjqoltx.html