目录

  • 5.1 Monte Carlo Policy Evaluation
  • 5.2 Monte Carlo Estimation of Action Values
  • 5.3 Monte Carlo Control
  • 5.4 Summary

Monte Carlo Methods
预测value functions 和 发现最优策略的学习算法。无需对环境有完全的掌控。
Monte Carlo Methods 只需要经验即可。(经验指的是与环境实时或者模拟交互中的状态、动作、奖励的序列信息。)
不需要对环境信息有先验知识。

Monte Carlo Methods 是基于平均采样的思想来解决强化学习问题。为了保证结果是有效的,我们认为Monte Carlo Methods 只适用于 episodic tasks。

we use Monte Carlo specifically for methods based on averaging complete returns.


5.1 Monte Carlo Policy Evaluation

问题描述:
如何用Monte Carlo Methods 来预测策略的 state-value function. The first-visit MC method 和 The every-visit MC method 比较。

预测给定策略下state-value function时,将从经验中获取的有关此状态的结果取平均,有效的经验越多,预测值就会越逼近其期望值。

suppose we wish to estimate Vπ(s)V^\pi(s)Vπ(s), the value of a state sss under policy π\piπ, given a set of episodes obtained by following π\piπ, and passing through sss.
假设我们要预测Vπ(s)V^\pi(s)Vπ(s)的值,即在策略π\piπ下的状态sss的值,给定依据此策略得到的一系列的遍历过状态sss的episodes.

visit: each occurrence of state sss in an episode is called a visit to sss.
The every-visit MC method: estimate Vπ(s)V^\pi(s)Vπ(s) as the average of the returns following all the visits to sss in a set of episodes.
The first-visit MC method: averages just the returns following first visit to sss.
比较:
(1).定义: The every-visit MC method 对所有出现过状态sss的episode都做平均处理;而 The first-visit MC method 只对状态sss首次出现之后的奖励做平均处理。
(2).收敛性:当 visit 数量趋于无穷时,都会收敛。
(3).The first-visit MC method 研究比较广泛。


First-visit MC method for estimating VπV^\piVπ

用二十一点(Blackjack)的例子来对Monte Carlo Methods 来进行剖析。

backup diagram:
The general idea of a backup diagram is to show the root node to be updated and to show below all the transitions and the leaf nodes whose rewards and estimated values contribute to the update.
显示更新的根节点,以及对于更新根节点有作用的所有后续的转移和子节点。

The backup diagram for Monte Carlo estimation of VπV^\piVπ

Monte Carlo Methods 与 DP algorithms 的区别:
(1).DP backup diagram 展示了根节点之后所有的可能转移,Monte Carlo backup diagram 则只展示了在此episode中出现的采样的信息。
(2).DP diagram 只展示了一步转移,MC diagram 展示了此epsisode 中所有的采样过程。
(3).DP diagram 对于每一个状态的值得估计不是独立的,MC diagram 对于状态的值得预测是独立的。(bootstrap)


5.2 Monte Carlo Estimation of Action Values

问题描述:
如何用MC 的方式来预测 action value。

当一个模型不可获得时(无法掌握所有的信息),预测 action value 比 state value 更好。原因:如果要预测state value,就必须知道此状态下每一个可采取的action的value,而模型的知识对于我们并不是完备的。
MC 的首要目标是预测Qπ(s,a)Q^\pi(s,a)Qπ(s,a)。此时 policy evaluation 是预测Qπ(s,a)Q\pi(s,a)Qπ(s,a)。
MC 的困难之处是有很多的state-action可能不会访问到。策略π\piπ稳定之后,对于某个状态而言,会倾向于选择当前较好的action,而有些action不会被选择。我们要估计所有action的值,不仅仅是当前最优的action。这个是 maintaining exploration 的问题。

exploring starts: Assumption—the first step of each episode starts at a state-action pair, and that every such pair has nonzero probability of being selected as the start.


5.3 Monte Carlo Control

问题描述:
如何将MC 预测用于控制,也就是去逼近最优策略。

1.总体思路是按照GPI的方式进行的

policy evaluation: the first-visit MC , the every-visit MC.
policy improvment:
for each s∈Ss\in Ss∈S, 选择一个具有最大Q-value值的action。
即:
π(s)=argmaxaQ(s,a)\pi(s) = arg\quad max_a Q(s,a) π(s)=argmaxa​Q(s,a)

策略提升可以将策略逼近到最优策略的理论保证:
policy improvment theorem:
Qπk(s,πk+1(s))=Qπk(s,argmaxaQπk(s,a))=maxaQπk(s,a)≥Qπk(s,πk(s))=Vπk(s)\begin{aligned} Q^{\pi_k}(s, \pi_{k+1}(s)) &= Q^{\pi_k}(s,arg max_a Q^{\pi_k}(s,a))\\ &=max_a Q^{\pi_k}(s,a)\\ &\ge Q^{\pi_k}(s,\pi_k(s))\\ &= V^{\pi_k}(s) \end{aligned} Qπk​(s,πk+1​(s))​=Qπk​(s,argmaxa​Qπk​(s,a))=maxa​Qπk​(s,a)≥Qπk​(s,πk​(s))=Vπk​(s)​

2.两个假设
为了保证Monte Carlo Method 的收敛,我们做了两个假设:
(1).policy evaluation 能够在有限步的episode中完成。(或者说我们观测到的episode 是无穷的,但是这样并不现实)
(2).每一个eposide都有exploring starts。

2.1如何去除有限步的episode 完成policy evaluation这一假设?
有两种方法:
①.在每一步的policy evaluation中都更加逼近QπkQ^{\pi_k}Qπk​

②.在进行policy improvment 之前不进行完全的 policy evaluation.
每个episode 中,观测到的奖励用于policy evaluation, 之后对于此episode 中访问过的状态都采取policy improvment 。


Monte Carlo ES: A Monte Carlo control algorithm assuming exploring starts.
去除掉假设(1)得到的算法框架。

2.2 如何去除每一个 episode 都有 exploring starts 这一假设?
有两种方法:
①.on-policy Monte Carlo Method
②.off-policy Monte Carlo Method

on-policy Monte Carlo Methods:
尝试去评估或提升当前做出决定的策略。
在 on-policy Monte Carlo Method 中,策略是 soft 的.
soft policy : $\pi(s,a) > $0, for all s∈Ss \in Ss∈S and a∈A(s)a\in A(s)a∈A(s).
具体的做法:
ϵ\epsilonϵ-greedy policy:
保持所有的动作都有被选取的概率。
nongreedy actions: ϵ∣A(s)∣\frac{\epsilon}{|A(s)|}∣A(s)∣ϵ​
greedy action: 1−ϵ+ϵ∣A(s)∣1 - \epsilon + \frac{\epsilon}{|A(s)|}1−ϵ+∣A(s)∣ϵ​

策略最优逼近原理保障:(policy improvment theorem)

Qπ(s,π′(s,a))=∑aπ(s,a)Qπ(s,a)=ϵ∣A(s)∣∑aQπ(s,a)+(1−ϵ)maxaQπ(s,a)≥ϵ∣A(s)∣∑aQπ(s,a)+(1−ϵ)∑aπ(s,a)−ϵ∣A(s)∣1−ϵQπ(s,a)(加权平均)=ϵ∣A(s)∣∑aQπ(s,a)−ϵ∣A(s)∣∑aQπ(s,a)+∑aπ(s,a)Qπ(s,a)=Vπ(s)\begin{aligned} Q^\pi(s,\pi'(s,a)) &= \sum_a \pi(s,a)Q^\pi(s,a)\\ &= \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a) + (1-\epsilon)max_aQ^\pi(s,a)\\ &\ge \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a) + (1-\epsilon)\sum_a\frac{\pi(s,a) - \frac{\epsilon}{|A(s)|}}{1-\epsilon}Q^\pi(s,a) (加权平均)\\ &= \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a) - \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a) + \sum_a\pi(s,a)Q^\pi(s,a)\\ &= V^\pi(s) \end{aligned} Qπ(s,π′(s,a))​=a∑​π(s,a)Qπ(s,a)=∣A(s)∣ϵ​a∑​Qπ(s,a)+(1−ϵ)maxa​Qπ(s,a)≥∣A(s)∣ϵ​a∑​Qπ(s,a)+(1−ϵ)a∑​1−ϵπ(s,a)−∣A(s)∣ϵ​​Qπ(s,a)(加权平均)=∣A(s)∣ϵ​a∑​Qπ(s,a)−∣A(s)∣ϵ​a∑​Qπ(s,a)+a∑​π(s,a)Qπ(s,a)=Vπ(s)​

这说明π′≥π\pi' \ge \piπ′≥π。

Vπ(s)=(1−ϵ)maxaQπ(s,a)+ϵ∣A(s)∣∑aQπ(s,a)=(1−ϵ)maxa∑s′Pss′a[Rss′a+γVπ(s′)]+ϵ∣A(s)∣∑a∑s′Pss′a[Rss′a+γVπ(s′)]\begin{aligned} V^\pi(s) &= (1-\epsilon)max_aQ^\pi(s,a) + \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a)\\ &= (1-\epsilon)max_a\sum_{s'}P_{ss'}^a[R_{ss'}^a + \gamma V^\pi(s')] + \frac{\epsilon}{|A(s)|}\sum_a\sum_{s'}P_{ss'}^a[R_{ss'}^a + \gamma V^\pi(s')] \end{aligned} Vπ(s)​=(1−ϵ)maxa​Qπ(s,a)+∣A(s)∣ϵ​a∑​Qπ(s,a)=(1−ϵ)maxa​s′∑​Pss′a​[Rss′a​+γVπ(s′)]+∣A(s)∣ϵ​a∑​s′∑​Pss′a​[Rss′a​+γVπ(s′)]​


ϵ\epsilonϵ-soft on-policy Monte Carlo control algorithm.

off-policy Monte Carlo Methods:
在介绍此方法之前,先介绍如何用不同策略下生成的episodes来评价另一个策略。
episodes are generated from a different policy, can we use episodes from π′\pi'π′ to estimate value for π\piπ ?
大多数情况下是可以的。要求是:根据策略π\piπ采取的每一个动作都要在根据策略π′\pi'π′生成的episodes中出现过。
也就是说 π(s,a)≥0⇒π′(s,a)≥0\pi(s,a) \ge 0 \Rightarrow \pi'(s,a) \ge 0π(s,a)≥0⇒π′(s,a)≥0

pi(s)p_i(s)pi​(s): the probability of that complete sequence heppening given policies π\piπ and starting from sss.
序列,概率连乘。
Ri(s)R_i(s)Ri​(s): the corresponding observed return from state sss.

根据出现的概率来给奖励加权,以得到Vπ(s)V^\pi(s)Vπ(s)的无偏估计。
V(s)=∑i=1nspi(s)pi′(s)Ri(s)∑i=1nspi(s)pi′(s)V(s) = \frac{\sum_{i=1}^{n_s}\frac{p_i(s)}{p'_i(s)}R_i(s)}{\sum_{i=1}^{n_s}\frac{p_i(s)}{p'_i(s)}}V(s)=∑i=1ns​​pi′​(s)pi​(s)​∑i=1ns​​pi′​(s)pi​(s)​Ri​(s)​
因为上述式子中pi(s)p_i(s)pi​(s)和pi′(s)p'_i(s)pi′​(s)是未知的,根据其定义可得知:
pi(st)=∏iTi(s)−1π(sk,ak)Psksk+1akp_i(s_t) = \prod_i^{T_i(s)-1}\pi(s_k,a_k)P_{s_ks_{k+1}}^{a_k}pi​(st​)=∏iTi​(s)−1​π(sk​,ak​)Psk​sk+1​ak​​
其中Ti(s)T_i(s)Ti​(s)是第 ithi^{th}ith episode 的终止态。
可以得到:
pi(st)pi′(st)=∏k=tTi(s)−1π(sk,ak)π′(sk,ak)\frac{p_i(s_t)}{p'_i(s_t)} = \prod\limits_{k=t}^{T_i(s)-1}\frac{\pi(s_k,a_k)}{\pi'(s_k,a_k)} pi′​(st​)pi​(st​)​=k=t∏Ti​(s)−1​π′(sk​,ak​)π(sk​,ak​)​
可以通过其比值来求解最终的表达式。

off-poliy Monte Carlo Control:
区别:
on-policy Monte Carlo Control:用当前评价的策略来控制。控制、评价所用的策略是一样的。
off-policy Monte CArlo Control: 将两者分离为behavior policy(to generate behavior) 和 estimation polciy(evaluated and improved)
,另外 they follow the behavior policy while learning about and improving the estimation policy.
优点:
当评价策略是最优的时候,behavior policy 仍然可以对所有可能的action进行采样。


an off-policy Monte Carlo control algorithm.

算法遇到的困难:只在每个episode 的终止处进行学习,如果非贪心的action很频繁,那学习就会很慢。

3.实现方式
(1)非递增方式:之前介绍的算法实现都是以非递增方式实现的。
(2)递增方式:当每一个瞬时奖励产生的时候立即处理,不会增加计算和内存大额额外要求。
Monte Carlo 例子和 多臂问题的区别:
Monte Carlo 例子是多状态的,而多臂问题中状态是单值的;Monte Carlo 对于奖励分布是不固定的,而多臂问题中奖励分布是固定的。

两种实现方式的目标是一致的:
Vn=∑k=1nωkRk∑k=1nωkV_n = \frac{\sum_{k=1}^n \omega_k R_k}{\sum_{k=1}^n \omega_k} Vn​=∑k=1n​ωk​∑k=1n​ωk​Rk​​
ωn(s)=pn(s)pn′(s)\omega_n(s) = \frac{p_n(s)}{p'_n(s)}ωn​(s)=pn′​(s)pn​(s)​按照之前介绍的。

递增公式是:
Vn+1=Vn+ωn+1Wn+1[Rn+1−Vn]V_{n+1} = V_n + \frac{\omega_{n+1}}{W_{n+1}}[R_{n+1} - V_n] Vn+1​=Vn​+Wn+1​ωn+1​​[Rn+1​−Vn​]
其中:
Wn+1=Wn+ωn+1W_{n+1} = W_n + \omega_{n+1}Wn+1​=Wn​+ωn+1​
V0=W0=0V_0 = W_0 = 0V0​=W0​=0

例子说明
有一个episode : s1,s2,s3,Ts_1, s_2, s_3, Ts1​,s2​,s3​,T
其中:ωn\omega_nωn​分别为 14\frac{1}{4}41​,14\frac{1}{4}41​,24\frac{2}{4}42​(ratio)
RnR_nRn​分别为 2, 2, 1.(瞬时奖励)
非递增实现方式:
直接按照目标方程来求解:
V3=14∗2+14∗2+24∗114+14+24=1.5V_3 = \frac{\frac{1}{4}*2 + \frac{1}{4}*2 + \frac{2}{4}*1}{\frac{1}{4} + \frac{1}{4} + \frac{2}{4}} = 1.5V3​=41​+41​+42​41​∗2+41​∗2+42​∗1​=1.5
递增实现方式:
按照递增公式求解:
初始: V0=0V_0 = 0V0​=0, W0=0W_0 = 0W0​=0
s1s_1s1​: v1=0+140+14[2−0]=2v_1 = 0 + \frac{\frac{1}{4}}{0 + \frac{1}{4}}[2-0] = 2v1​=0+0+41​41​​[2−0]=2
s2s_2s2​: v2=2+1414+14[2−2]=2v_2 = 2 + \frac{\frac{1}{4}}{\frac{1}{4} + \frac{1}{4}}[2- 2] = 2v2​=2+41​+41​41​​[2−2]=2
s3s_3s3​: v3=2+2412+24[2−1]=1.5v_3 = 2 + \frac{\frac{2}{4}}{\frac{1}{2} + \frac{2}{4}}[2-1] = 1.5v3​=2+21​+42​42​​[2−1]=1.5


5.4 Summary

1.MC 与 DP 比较,优点有四:
(1).可以通过直接和环境交互的方式来学习最优策略,无需对模型有完备的知识;
(2).可以用模拟的模型或者采样的模型,不需要完整的转移概率(DP 需要Pss′aP_{ss'}^aPss′a​ 和 Rss′aR_{ss'}^aRss′a​);
(3).可以只通过部分的状态信息来使用MC,不需要全部的状态信息;
(4).MC may be less harmed by violations of the Markov property, they don’t bootstrap。对于马尔科夫性质保留的较好。

bootstrap: update their value estimates on the basis of other value estimates of successor states.
依据其它状态value的信息来更新此时状态value的信息。

2.MC 的关键:保持足够的探测。
Maintaining sufficient exploration is an issue in Monte Carlo control methods.

3.解决强化学习问题的MC 的背景:
(1).收敛性不定;
(2).有效性很少在实际应用中得到验证;
(3).很简洁。

4.MC 与 DP 的不同之处:
(1).MC 采用采样经验来学习,无需掌握完备知识模型;
(2).MC 不 bootstrap, 也就是说MC 更新自己value的值不会依靠于其它value的值。


第一版第五章:Richard S. Sutton and Andrew G. Barto.《An Introduction to Reinforcement Learning》
现已有第二版

Chapter 5. Monte Carlo Methods相关推荐

  1. 强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例

    强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例 4. 蒙特卡洛方法 4.1 蒙特卡洛预测 例4.1:Blackjack(21点) 4.2 动作价值的蒙特卡洛估计 4. ...

  2. 阅读书籍:Monte Carlo Methods(第一章 Introduction to Monte CarloMethods)

    1. Introduction to Monte Carlo Methods 1.1 简介 蒙特卡洛以摩纳哥的一家赌场命名,它使用简单的随机事件来模拟复杂的概率事件,例如掷一对骰子来模拟赌场的整体商业 ...

  3. Monte Carlo Methods

    特卡罗方法方法介绍 一.概述 蒙特卡罗方法是一种计算方法.原理是通过大量随机样本,测试各种可能结果,去了解一个系统,进而得到所要计算的值. 它非常强大和灵活,又相当简单易懂,很容易实现.对于许多问题来 ...

  4. 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)

    1. 蒙特卡罗方法的基本思想 蒙特卡罗方法又叫统计模拟方法,它使用随机数(或伪随机数)来解决计算的问题,是一类重要的数值计算方法.该方法的名字来源于世界著名的赌城蒙特卡罗,而蒙特卡罗方法正是以概率为基 ...

  5. 心得复述知识体系:《强化学习》中的蒙特卡洛方法 Monte Carlo Methods in Reinforcement Learning

    前言: 刚刚读完 Sutton 的<强化学习(第二版)>第5章:蒙特卡洛方法.为了巩固本章收获,笔者将在本文中用尽量简单直白的语言复述本章的思想,各个知识点之间的关系.同时,这方便笔者日后 ...

  6. 《Introducing Monte Carlo Methods with R》第四章笔记

    误差理论,方差监测和加速收敛 引言--蒙特卡罗积分方法的基本误差理论 马尔科夫不等式 如果X仅取非负值,则对于任意a>0:P(X≥a)≤E(X)aP(X\geq a) \leq \frac{E( ...

  7. Variance Reduction Methods: a Quick Introduction to Quasi Monte Carlo——完结

    https://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/monte-carlo-methods- ...

  8. 蒙特卡罗(Monte Carlo)方法

    蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法.          一 起源 这一方法源于美国在第二次世界大战进研制原子弹的&qu ...

  9. Monte carlo

    转载 http://blog.sciencenet.cn/blog-324394-292355.html 蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数 ...

最新文章

  1. Android 布局之GridLayout
  2. 重写navigationController的push方法后,出现卡顿现象
  3. CentOS5安装Nginx1.4+PHP5.5 FastCGI
  4. C# 爬虫:疫情实时信息图
  5. 基于easyui开发Web版Activiti流程定制器详解(二)——文件列表
  6. 这个连“炒菜的油”都不放过的“吝啬”男人,却用“吝啬”创造了世界奇迹!...
  7. PyQt5 让窗口在桌面居中的办法
  8. ie6,ie7,ie8 css bug兼容解决记录
  9. 嵌入式linux内核开启键盘,- 基于嵌入式Linux内核的特殊矩阵键盘设计完整驱动控制模块方案...
  10. 计算机科学的鼻祖,现代计算机科学的鼻祖,编程界的上帝
  11. java打印出货单_送货单,出货单打印用什么软件,含操作方法
  12. 小时候玩一天的打砖块小游戏(附完整源码)
  13. 离婚协议中的几个重点
  14. matlab航电系统仿真,航空航天和国防
  15. React 中 TypeScript 和装饰器及 Hooks
  16. 医学影像:静息态fmri数据的预处理
  17. LInux:进程等待之wait() waitpid()
  18. R语言学习2.1.数值型与字符型
  19. 何为非侵入式负荷分解
  20. NPN三极管和PNP三极管的工作原理

热门文章

  1. 漫威API直接调用教程
  2. Python数据分析(全) #超长预警 #思维导图 #matplotlib #numpy #pandas
  3. html响应式布局ipad,响应式布局(Responsive design)
  4. 厉害,竟然把VSCode玩成了IDEA的效果,有点哇塞
  5. 密码库LibTomCrypt学习记录——(2.3)分组密码算法的工作模式——ECB代码示例
  6. data mapping
  7. 【Websocket 第三篇】消息推送
  8. VL53L0X 底层思路整理(1)
  9. 微信小程序:全局状态管理mobx-miniprogram、mobx-miniprogram-bindings
  10. 今天14:00 | NeurIPS 专场一 青年科学家专场